gpt4 book ai didi

python - 如何管理在某些维度上具有可变长度的torch.Tensor?

转载 作者:太空宇宙 更新时间:2023-11-03 20:49:31 25 4
gpt4 key购买 nike

我现在正在编写一个自定义优化器,并且第一维中的偏差长度不确定,因为最后一批没有足够的数据来构建批处理。因此,使用固定batch_size的权重初始化不满足最后一个批处理和固定长度权重之间的torch.add

bias = torch.randn(batch_size,units)
batch_data = generator(path)
# for example
weights.shape # is (128,256)
# but the last batch has only 50 samples.
out = sigmoid(x*weights+bias) # where the length of first dimension is not mathed.

所以,我想知道是否可以创建一个张量,其中某些维度的长度可以是可变的,例如可变长度列表。

最佳答案

为什么你希望偏差取决于批量大小?在测试时,您是否总是使用完全相同大小的批处理来测试您的网络?如果是这样,小批量的意义是什么?

如果你仍然坚持使用较小的批量,你可以忽略bias的“未使用”条目:

out = sigmoid(x * weights[:x.size(0), ...] + bias[:x.size(0), ...])

关于python - 如何管理在某些维度上具有可变长度的torch.Tensor?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56362508/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com