Python 使用保存的模型进行TensorFlow推理
我是TensorFlow 2.3.1的新手,正在尝试弄清楚推理是如何完成的。加载保存的模型后,我想传递一个只有一个张量的张量,以确保模型输出我们期望的结果。例如Python 使用保存的模型进行TensorFlow推理,python,tensorflow,Python,Tensorflow,我是TensorFlow 2.3.1的新手,正在尝试弄清楚推理是如何完成的。加载保存的模型后,我想传递一个只有一个张量的张量,以确保模型输出我们期望的结果。例如 import tensorflow as tf resnet18_tf = tf.saved_model.load("resnet18.tf") x_tf = tf.ones((1,3,224,224), tf.float32) resnet18_tf(x_tf) 但是,上面的代码会导致以下错误 -------
import tensorflow as tf
resnet18_tf = tf.saved_model.load("resnet18.tf")
x_tf = tf.ones((1,3,224,224), tf.float32)
resnet18_tf(x_tf)
但是,上面的代码会导致以下错误
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-34-33fa05a7412b> in <module>
4 x_tf = tf.ones((1,3,224,224), tf.float32)
5
----> 6 resnet18_tf(x_tf)
ValueError: Could not find matching function to call loaded from the SavedModel. Got:
Positional arguments (1 total):
* Tensor("None_0:0", shape=(1, 3, 224, 224), dtype=float32)
Keyword arguments: {}
Expected these arguments to match one of the following 1 option(s):
Option 1:
Positional arguments (0 total):
*
Keyword arguments: {'input': TensorSpec(shape=(1, 3, 224, 224), dtype=tf.float32, name='input')}
---------------------------------------------------------------------------
ValueError回溯(最近一次调用上次)
在里面
4 x_tf=tf.one((1,3224224),tf.float32)
5.
---->6 resnet18_tf(x_tf)
ValueError:找不到要从SavedModel加载的调用的匹配函数。得到了:
位置参数(共1个):
*张量(“None_0:0”,形状=(1,3,224,224),数据类型=float32)
关键字参数:{}
这些参数应与以下1个选项之一匹配:
备选案文1:
位置参数(共0个):
*
关键字参数:{'input':TensorSpec(shape=(1,3,224,224),dtype=tf.float32,name='input')}
我很确定这个形状是正确的,但我很难解释这个错误信息。如何进行TensorSpec输入以解决此错误?错误消息
Expected these arguments to match one of the following 1 option(s):
Option 1:
Positional arguments (0 total):
*
Keyword arguments: {'input': TensorSpec(shape=(1, 3, 224, 224), dtype=tf.float32, name='input')}
表明函数需要关键字参数,而不需要位置参数。字典表明关键字是input
将tensorflow导入为tf
resnet18\u tf=tf.saved\u model.load(“resnet18.tf”)
x_tf=tf.one((1,3224224),tf.float32)
resnet18_tf(输入=x_tf)
是否可以尝试将其作为关键字参数传递resnet18_-tf(input=x_-tf)
Wow,这就成功了。。。谢谢