【发布时间】:2018-07-24 20:03:22
【问题描述】:
我正在尝试将 tf.keras.layers.Lambda 函数的输出用作 tf.keras 模型中的最后一层,但 tf 将 lambda 层的输出解释为张量(而不是层)目的。
错误是:“ValueError: Output tensors to a Model must be the output of a TensorFlow Layer (因此保存过去的层元数据)。找到:Tensor("Discriminator/mullayer/mul:0", shape=( 2, 2), dtype=float32)"
下面附上代码
from tensorflow.contrib.keras import layers, models
#lots of stuff up here, all working fine...
logits = layers.Dense(1, name=name+'fc')(x)# x works fine
mullayer = layers.Lambda(lambda x: x * self.alphaVal,name = "mullayer")
test = tf.constant([1.0],shape = (2,2))
testOut = mullayer(test)
outputs = [logits, testOut]
self.disc = models.Model(inputs=inp, outputs=outputs)
'self.alphaVal' 不是 keras 变量,只是一个浮点数,我怀疑这可能是问题的一部分。如果是,那么 keras 的后端 K 在 tf.keras 中的等价物是什么?
谢谢
【问题讨论】:
标签: python tensorflow keras