Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用保存的模型进行TensorFlow推理_Python_Tensorflow - Fatal编程技术网

Python 使用保存的模型进行TensorFlow推理

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) 但是,上面的代码会导致以下错误 -------

我是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)
但是,上面的代码会导致以下错误

---------------------------------------------------------------------------
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,这就成功了。。。谢谢