Добавление тензоров по определенным измерениям с помощью Theano

Я пытаюсь понять, как использовать dimshuffle для передачи шума в четырехмерный тензор. Например, четырехмерный тензор имеет форму (num_examples, 3, 32, 32), где 3 соответствует компонентам r,g,b изображения 32*32. Я хочу добавить гауссовский шум, однако я хочу добавить один и тот же шум ко всем трем компонентам (т. е. r, g, b), и для каждого примера шум будет случайной матрицей 32 * 32.

Поэтому мне нужно добавить два тензора измерений (num_examples, 3, 32, 32) и (num_examples, 32, 32) соответственно. Я не смог понять, как использовать dimshuffle для второго тензора, чтобы его последние два измерения стали транслируемыми.


person scv    schedule 19.11.2016    source источник


Ответы (1)


Используйте 1_

x = T.tensor4() # Nx3x32x32
y = T.tensor3() # Nx32x32
z = y.dimshuffle(0, 'x', 1, 2) + x
person Kh40tiK    schedule 23.11.2016