[英]Error while trying to predict on SavedModel using tensorflow 2
我正在尝试使用以下代码对保存的模型进行预测
features = np.ones((20, 40, 3), dtype=np.float32)
features = tf.convert_to_tensor(value, dtype=tf.float32)
imported_model = tf.saved_model.load(export_dir=os.path.join(os.path.join(model_path, directory)))
import_fn = imported_model.signatures["serving_default"]
import_fn(features)
使用 Tensorflow 2 运行时出现以下错误。当我使用saved_model_cli 时,模型预测工作正常。
tensorflow.python.framework.errors_impl.InvalidArgumentError: In[0] is not a matrix. Instead it has shape [20,40,3]
[[node dense/BiasAdd (defined at model_manager.py:54) ]] [Op:__inference_pruned_318590]
保存的cli命令如下
saved_model_cli run --dir ./model_dir --tag_set serve --signature_def serving_default --input_exprs 'input=np.ones((20, 40, 3), dtype=np.float32)'
InvalidArgumentError通常是由输入中的数据类型不匹配引起的。
根据您的错误“ In[0] 不是矩阵。相反,它具有形状 [20,40,3] ”。
您可以尝试操作输入数据以正确匹配模型最初训练的输入类型和形状。 与Python IDE相比,您还可以检查当您使用saved_model_cli时模型如何处理您的输入。 当您使用使用 saved_model_cli 时正在完成的 Python IDE 时,您可能会遗漏一些预处理步骤。
您可以在此链接中阅读更多有关使用Saved_Model 格式用法的信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.