尝试使用张量流 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)'


慕娘9325324
浏览 60回答 1
1回答

慕少森

无效参数错误通常是由输入中的数据类型不匹配引起的。基于你的错误“In[0]不是一个矩阵。相反,它具有形状[20,40,3]”。您可以尝试操作输入数据,以正确匹配最初训练模型的输入类型和形状。您还可以检查与 Python IDE 相比,使用saved_model_cli时模型如何处理您的输入。由于您在使用 Python IDE 时可能会错过一些预处理步骤,而在使用saved_model_cli。您可以在此链接中阅读有关使用Saved_Model格式用法的更多信息。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python