python - 在pytorch中用填充 reshape 张量

标签 python pytorch

如何通过填充将尺寸为 (30, 35, 49) 的张量 reshape 为 (30, 35, 512)

最佳答案

虽然 @nemo 的解决方案工作正常,但有一个 pytorch 内部例程 torch.nn.functional.pad ,其作用相同 - 并且具有 torch.ones(*sizes)*pad_value 的几个属性解决方案没有(即其他形式的填充,例如反射填充或复制填充......它还检查一些与渐变相关的属性):

import torch.nn.functional as F
source = torch.rand((5,10))
# now we expand to size (7, 11) by appending a row of 0s at pos 0 and pos 6, 
# and a column of 0s at pos 10
result = F.pad(input=source, pad=(0, 1, 1, 1), mode='constant', value=0)

参数的语义是:

  • input :源张量,
  • pad :长度列表2 * len(source.shape)形式(开始最后一个轴、结束最后一个轴、开始第二个到最后一个轴、结束第二个到最后一个轴、开始第三个到最后一个轴等),说明应在每个轴的开头和结尾添加多少个维度,
  • mode :'constant' , 'reflect''replicate' 。默认值:'constant'对于不同类型的填充
  • value用于恒定的填充。

关于python - 在pytorch中用填充 reshape 张量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48686945/

相关文章:

python - 关闭 python MySQL 脚本

python - 使用 Pytorch 或 Python 将包含图像的目录拆分为子文件夹

keras - 如何加载 .bin 模型文件?

python - 如何用pytorch做一个 "element by element in-place inverse"?

python - reshape numpy 数组的列表,然后 reshape 回来

python - 让 Python 的 coverage.py 收集导入它的模块的覆盖率?

python - 索引 1 处不支持的格式字符 '_' (0x5f)

python - 在 tf.nn.top_k 中加入 torch.topk 的 dim 参数

pytorch - PyTorch 中的 Tensor.size 和 Tensor.shape 有什么区别?

python插入sql错误