首页 > 解决方案 > Tensorflow keras:tf.keras.layer 中的哪个函数可以在第三个轴上重复图像的数组?

问题描述

在 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')

有没有替代方法? 我也使用了 reshape ,但由于元素的数量不一样,它并不成功。

标签: tensorflowkeras

解决方案


您必须用Lambdalayer 包装每个操作(或实现自定义 layer):

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)

推荐阅读