tensorflow - 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 ,但由于元素的数量不一样,它并不成功。
解决方案
您必须用Lambda
layer 包装每个操作(或实现自定义 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)
推荐阅读
- sed - 正斜杠的 sed 命令帮助
- javascript - 用下划线循环键值对象
- http - haproxy 重写 uri 保留后端标头主机
- visual-studio - 为什么我的 MDAC 2.7 参考在 Windows 10 上不起作用?
- xml - XSLT 2.0 转换的文本输出中的空格过多
- javascript - 使用 async\await 重写基于 Promise 的代码
- java - JExcel - 在关闭 WritableWorkbook 之前修改多个单元格
- javascript - Mongoose + Nodejs 验证中此变量的行为
- regex - 正则表达式在数字旁边拿起“-”,但不在字母旁边
- r - 使用对 R 中列名的变量引用来提取数据子集