我有一个正在运行的模型,构建:
model = tf.keras.Model(inputs=input_layers, outputs=outputs)
如果我尝试向输出添加一个简单的常量,则会收到一条错误消息。前任:
output = output + [tf.constant(['label1', 'label2'], dtype = tf.string)]
model = tf.keras.Model(inputs=input_layers, outputs=outputs)
Run Code Online (Sandbox Code Playgroud)
错误信息 : AttributeError: Tensor.op is meaningless when eager execution is enabled.
有没有办法将它添加到模型中,即使在训练之后或在 save() 时间。
这个想法是在服务时间将常量作为输出。
带有错误的完整网络示例:
import tensorflow as tf
import tensorflow.keras as keras
input = keras.layers.Input(shape=(2,))
hidden = keras.layers.Dense(10)(input)
output = keras.layers.Dense(3, activation='sigmoid')(hidden)
model = keras.models.Model(inputs=input, outputs=[output, tf.constant(['out1','out2','out3'], dtype=tf.string)])
Run Code Online (Sandbox Code Playgroud)
错误
in <module>
5 hidden = keras.layers.Dense(10)(input)
6 output = keras.layers.Dense(3, activation='sigmoid')(input)
----> 7 model = keras.models.Model(inputs=input, outputs=[output, tf.constant(['out1','out2','out3'], dtype=tf.string)])
/lib/python3.6/site-packages/tensorflow_core/python/keras/engine/training.py …Run Code Online (Sandbox Code Playgroud)