首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何向tf.keras.Model.predict提供多个输入?

如何向tf.keras.Model.predict提供多个输入?
EN

Stack Overflow用户
提问于 2022-03-10 17:05:12
回答 1查看 745关注 0票数 0

给出这个简单的tensorflow玩具模型

代码语言:javascript
运行
复制
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)

我可以使用定义的输入调用它的输出,因此如下所示:

代码语言:javascript
运行
复制
model({"a":2,"b":3})

给出输出:

代码语言:javascript
运行
复制
<tf.Tensor: shape=(), dtype=float32, numpy=5.0>

但是调用预测函数:

代码语言:javascript
运行
复制
model.predict({"a":2,"b":3})

给出以下错误:

代码语言:javascript
运行
复制
ValueError: Failed to find data adapter that can handle input: (<class 'dict'> containing {"<class 'str'>"} keys and {"<class 'int'>"} values), <class 'NoneType'>

那么,当我的模型有多个输入时,如何正确地调用预测函数,就像在本例中那样?

EN

回答 1

Stack Overflow用户

发布于 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。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71428068

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档