Как преобразовать выход скалярного плотного слоя в матрицу, где каждый элемент равен скаляру в tenorflow 2.0? - PullRequest
1 голос
/ 09 марта 2020

Как преобразовать выход скалярного плотного слоя формы (none,1) в матрицу формы (none,nx,ny,nc), где каждый элемент матрицы равен скаляру в TensorFlow 2.0 с использованием Keras?

Фрагмент кода:

Y= tf.keras.layers.Dense(1,activation='relu')(X)
Z= Y*tf.keras.backend.ones(shape=(10,51,1))

Здесь Y имеет форму (none,1). Я хочу, чтобы Z имел форму (none,10,51,1), но я получаю форму (10,51,1). Каким-то образом размер пакета (none) теряется при умножении. Кто-нибудь может помочь?

1 Ответ

0 голосов
/ 09 марта 2020

Вы можете сделать это так:

Y = tf.keras.layers.Dense(1,activation='relu')(X)
Z = tf.keras.layers.Lambda(lambda y:
    tf.keras.backend.tile(y[:, tf.newaxis, tf.newaxis], (1, 10, 51, 1))(Y)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...