Глубина сцепления в Керасе - PullRequest
0 голосов
/ 25 марта 2019

Я пытаюсь сделать конкат глубины (пример реализации в StarGAN с использованием Pytorch) одного горячего вектора на входе изображения, скажем

input_img = Input(shape = (row, col, chann))
one_hot = Input(shape = (7, ))

Я наткнулся ната же проблема раньше ( это были индексы классов ), и поэтому я использовал RepeatVector + Reshape, а затем Concatenate.Но я обнаружил, что RepeatVector не совместим, когда вы хотите повторить 3D в 4D (включая batch_num).

Как мне реализовать этот метод в Keras?Я обнаружил, что Upsampling2D может сделать работу, но я не знаю, сможет ли он сохранить структуру с одним горячим вектором во время процесса дискретизации

1 Ответ

0 голосов
/ 04 апреля 2019

Я нашел идею от Как использовать функцию плитки в Keras? , которую вы можете использовать tile, но вам нужно изменить форму one_hot, чтобы иметь то же количество измерений с input_img

one_hot = Reshape((1, 1, 6))(one_hot)
one_hot = Lambda(K.tile, arguments = {'n' : (-1, row, col, 1)})(one_hot)
model_input = Concatenate()([input_img, one_hot])
...