Tensorflow keras: Какая функция в tf.keras.layer может повторять массив изображений по третьим осям? - PullRequest
0 голосов
/ 22 марта 2020

В Tensorflow Keras я хочу, чтобы входное изображение было определенной формы (т.е. (input_shape[0], input_shape[1], **512**)). Когда я использую следующий код, я получаю эту ошибку: ValueError: Output tensors to a Model must be the output of a TensorFlow Layer.

input_mask = KL.Input(input_shape, name= "input_2")
x = tf.keras.backend.repeat_elements(x=input_mask, rep=512, axis=3)
_model_ = Model(inputs=input_mask, outputs=x, name='Mask_Model')

Есть ли какой-нибудь альтернативный способ? Я также использовал изменение формы, но оно не увенчалось успехом, поскольку количество элементов не одинаково.

1 Ответ

1 голос
/ 22 марта 2020

Вы должны обернуть каждую операцию слоем Lambda (или реализовать пользовательский слой ):

import tensorflow as tf

input_mask = tf.keras.layers.Input((2, 2, 3))
repeated = tf.keras.layers.Lambda(
    lambda x: tf.keras.backend.repeat_elements(x=x, rep=512, axis=3))(input_mask)
model =tf.keras.models.Model(inputs=input_mask, outputs=repeated)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...