给出这个简单的tensorflow玩具模型
import tensorflow as tf
inputs = {
"a":tf.keras.Input(shape=(), name="input_a"),
"b":tf.keras.Input(shape=(), name="input_b")
}
outputs = tf.keras.layers.Add()([inputs["a"], inputs["b"]])
model = tf.keras.Model(inputs=inputs, outputs=outputs)
我可以使用定义的输入调用它的输出,因此如下所示:
model({"a":2,"b":3})
给出输出:
<tf.Tensor: shape=(), dtype=float32, numpy=5.0>
但是调用预测函数:
model.predict({"a":2,"b":3})
给出以下错误:
ValueError: Failed to find data adapter that can handle input: (<class 'dict'> containing {"<class 'str'>"} keys and {"<class 'int'>"} values), <class 'NoneType'>
那么,当我的模型有多个输入时,如何正确地调用预测函数,就像在本例中那样?
发布于 2022-03-17 10:02:03
predict
方法似乎可以处理一批numpy数组的字典,这是可行的:model.predict({'a': np.full((1,), 3), 'b': np.full((1,), 2)})
并输出<tf.Tensor: shape=(1,), dtype=float32, numpy=array([5.], dtype=float32)>
在本例中,批处理大小等于1。
https://stackoverflow.com/questions/71428068
复制相似问题