【发布时间】:2018-05-31 07:26:57
【问题描述】:
我正在尝试在 keras 模型中进行 tensorflow 操作,但我对机制以及 Lambda 层对 tf 张量的作用感到非常困惑。
所以这行得通:
a = keras.layers.Input(shape=[1, 2], dtype='float', name='a')
s= keras.layers.Lambda(lambda x: tf.transpose(tf.transpose(x)))(a)
model = keras.models.Model(inputs=a, outputs=s)
但这不起作用:
a = keras.layers.Input(shape=[1, 2], dtype='float', name='a')
s = tf.transpose(tf.transpose(a))
s = keras.layers.Lambda(lambda x: x)(s)
model = keras.models.Model(inputs=a, outputs=s)
它说:
AttributeError: 'Tensor' object has no attribute '_keras_history'
那么是否总是需要将 tf 操作打包在一个层中?
问题 2(为什么我提出了上一个问题):我们是否必须打包一个自定义层才能在 keras 中进行矩阵乘法?
谢谢。
【问题讨论】:
标签: python tensorflow keras matrix-multiplication attributeerror