python - 如何加载使用 make_image_classifier 工具保存的 Tensorflow 模型
问题描述
我使用名为 make_image_classifier https://github.com/tensorflow/hub/tree/master/tensorflow_hub/tools/make_image_classifier的 Tensorflow 工具制作了一个自定义图像分类器模型
现在模型被导出到一个 .pb 文件以及 2 个文件夹、资产和变量中。
问题是如何使用此自定义模型进行预测?这些天我浏览了所有 TF 文档并尝试了许多不同的方法,但没有找到解决方案。
当他没有找到明确的信息时,有人写了它,所以他创建了一个指南,但它对我也不起作用。在“步骤 3”中,它是加载模块并使用自定义模型对图像进行分类所需的所有代码。问题是我需要知道输入和输出节点的名称,而我没有它们。我尝试使用 Netron 找到它们,但没有成功。 https://heartbeat.fritz.ai/automl-vision-edge-exporting-and-loading-tensorflow-saved-models-with-python-f4e8ce1b943a
import tensorflow as tf
export_path = '/Users/aayusharora/Aftershoot/backend/loadmodel/models/'
with tf.Session(graph=tf.Graph()) as sess:
tf.saved_model.loader.load(sess, ['serve'], export_path)
path = '/Users/aayusharora/Aftershoot/backend/sampleImage.jpg'
with open(path, "rb") as img_file:
y_pred = sess.run('tile:0', feed_dict={'normalised_input_image_tensor': [img_file.read()] })
print(y_pred)
有人可以给我一个关于如何加载保存的模型并使用它来进行预测的线索吗?
解决方案
您可以使用保存的模型重新加载:
new_model = tf.keras.models.load_model('<path-to-export-path>/my_model')
假设您将这些文件放在一起(assets
, variables
,.pb
文件),您似乎确实拥有:
ls <path-to-export-path>/my_model
my_model
assets saved_model.pb variables
new_model
应该和原版一样。要检查其架构:
new_model.summary()
推荐阅读
- sas - 如何在没有 Proc SQL 的 SAS 表中添加包含平均值的列?
- .net - 如果响应不是 SOAP 消息,即使它应该是,如何获取原始响应?
- pytest - Pytest:如何将默认导入模式设置为 importlib?
- javascript - $.post(),改变屏幕上的信息
- javascript - c2.js 散点图不使用新的 x 轴值
- c - 如何使用宏或任何其他方式连接字符串
- python - 如何创建与 SQL Server 的数据库连接并将连接错误消息发送到 Python 中的电子邮件?
- python - 无法切换到 cc 字段 iframe 并填写表格
- mysql - 数据库 SQL FRROM_UNITXTIME
- abaqus - 带约束的传热