我想将形状 (16,16) 的噪声添加到形状 (16,8,8,5) 的 4D 张量中。 我尝试了几种广播方法,但仍然遇到错误,但出现单例不匹配错误。如何添加这两个张量而不出现任何广播错误。
我假设您有这样的尺寸(批量大小、宽度、高度、通道)或类似尺寸。
张量中的每个元素都没有足够的噪声,因此某些元素必须共享噪声。我猜想通道维度将不得不分享他们的噪音。假设通道是 RGB(颜色)。然后,每个位置的每个图像都会有一个独特的噪点,但每个颜色通道只有一个噪点。
但是,你的噪音不适合这个(也不适合任何其他方式)。
如果我正确描述了你的情况,只需使用正确形状的噪声(16,8,8)
如果你有那种噪音,它会起作用:
import torch
tensor1 = torch.ones((16,8,8,5))
tensor2 = torch.ones((16,8,8))
# you will need to reshape noise from 16x16 to 16x8x8
result = tensor1 * tensor2.reshape(16,8,8,1) # add a last dimension for the channels
如果我的猜测不正确,请详细说明