【问题标题】:How to load a Tensorflow model saved with make_image_classifier tool如何加载使用 make_image_classifier 工具保存的 Tensorflow 模型
【发布时间】:2020-11-02 12:58:49
【问题描述】:

我使用名为 make_image_classifier 的 Tensorflow 工具制作了一个自定义图像分类器模型 https://github.com/tensorflow/hub/tree/master/tensorflow_hub/tools/make_image_classifier

现在模型被导出到一个 .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)

有人可以告诉我如何加载保存的模型并使用它进行预测吗?

【问题讨论】:

    标签: python tensorflow


    【解决方案1】:

    来自Save and load models | Tensorflow Core

    您可以使用保存的模型重新加载:

    new_model = tf.keras.models.load_model('<path-to-export-path>/my_model')
    

    假设您似乎拥有这些文件(assetsvariables.pb 文件):

    ls <path-to-export-path>/my_model
    
    my_model
    assets  saved_model.pb  variables
    
    

    new_model 应该和原来的一样。检查其架构:

    new_model.summary()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-12
      • 2020-05-06
      • 1970-01-01
      相关资源
      最近更新 更多