我试图了解如何使用dimshuffle
将噪声传播到4维张量。例如,四维张量的形状为(num_examples, 3, 32, 32)
,其中3对应于32 * 32图像的r,g,b分量。我想添加高斯噪声,但是我想对所有三个分量(即r,g,b)添加相同的噪声,对于每个示例,噪声将是一个随机的32 * 32矩阵。
所以我必须分别添加两个尺寸为(num_examples, 3, 32, 32)
和(num_examples, 32, 32)
的张量。我无法弄清楚如何在第二张量上使用dimshuffle
以便其最后两个维度可广播。
使用dimshuffle
x = T.tensor4() # Nx3x32x32
y = T.tensor3() # Nx32x32
z = y.dimshuffle(0, 'x', 1, 2) + x