目录
第一步:扩充tensor1的维度,无填充(注意标号从0开始)
参考:记录一个Tensor操作——扩充维度+复制 - 知乎 (zhihu.com)
两个维度不一样的tensor
比如一个tensor1.shape = [16,10]
tensor2.shape = [16,3,50,50,10]
如何实现这两个维度不一样的tensor相加:
第一步:扩充tensor1的维度,无填充(注意标号从0开始)
tensor1 = tensor1.unsqueeze(1) tensor1 = tensor1.unsqueeze(2) tensor1 = tensor1.unsqueeze(3)
第二步:在相应的维度复制,1表示无操作
tensor1 = tensor1.repeat(1, 1, 1, 50, 1) tensor1 = tensor1.repeat(1, 1, 50, 1, 1) tensor1 = tensor1.repeat(1, 3, 1, 1, 1)
通过这两步,tensor1.shape = [16,3,50,50,10]
第三步:相加
out = tensor1 + tensor2