【问题标题】:How to deploy custom tensorflow model to web?如何将自定义张量流模型部署到 Web?
【发布时间】:2022-01-13 20:58:29
【问题描述】:

所以我面临部署我的自定义手语识别模型的问题。我将带有 exporter_main_v2.py 的 my_ssd_mobnet 转换为 saved_model.pb,然后我尝试使用带有此代码的 tensorflowjs 转换器:

from tensorflow import keras
import tensorflowjs as tfjs

def importModel(modelPath):
    model = tf.keras.models.load_model(modelPath)
    tfjs.converters.save_tf_model(model, "tfjsmodel")

importModel("saved_model")
#importModel("modelDirectory")

然后我收到这样的错误.. ValueError:无法从此 SavedModel 创建 Keras 模型。此 SavedModel 是使用 tf.saved_model.save 创建的,缺少 Keras 元数据。请调用 model.savetf.keras.models.save_model 保存您的 Keras 模型。

最后我决定将我的模型转换为 h5,但是.. 我不知道如何。 如何将 my_ssd_mobnet 模型转换为 h5? 谢谢!

【问题讨论】:

    标签: tensorflow protocol-buffers tensorflow.js


    【解决方案1】:

    首先,如果您使用“exporter_main_v2.py”脚本导出模型,您将只能获得 tensorflow 模型中的模型格式。这种导出方式主要用于对训练好的模型进行推理。因此,您的代码中的主要问题是您正在尝试使用该 tf.keras.models.load_model() 函数导入“keras 模型”。您必须使用 tf.keras.models.save_model() 函数来导出/保存模型,而不是使用“exporter_main_v2.py”。

    我还给你一个简单的视频解释链接,为你澄清一些事情

    https://www.youtube.com/watch?v=Lx7OCFXPG8o

    观看视频后,您可能想查看以下 colab 笔记本

    https://colab.research.google.com/github/tensorflow/examples/blob/master/courses/udacity_intro_to_tensorflow_for_deep_learning/l07c01_saving_and_loading_models.ipynb

    这是 Udacity 提供的关于 tensorflow 培训课程介绍的资料。这对您理解 tensorflow 模型文件和 keras 模型文件之间的区别应该非常有帮助。

    祝你有美好的一天。

    编辑:

    HDF5 格式 Keras 提供了一种使用 HDF5 标准的基本保存格式。

    创建并训练一个新的模型实例。 模型 = 创建模型() model.fit(train_images, train_labels, epochs=5)

    将整个模型保存到 HDF5 文件中。 '.h5' 扩展名表示模型应保存为 HDF5。 model.save('my_model.h5')

    在调用model.save函数时,需要在文件名后添加'.h5'扩展名,这样模型就会以h5格式保存。

    【讨论】:

    • 感谢您的回复,我发现您所说的一切都非常有用,但是..如何将我的模型转换为 h5?有什么想法吗?
    • 调用model.save函数时,需要在文件名后加上'.h5'扩展名,这样模型会被保存为h5
    猜你喜欢
    • 2019-06-19
    • 2018-06-20
    • 2019-05-07
    • 1970-01-01
    • 2023-01-13
    • 1970-01-01
    • 2015-08-02
    • 2019-06-18
    • 1970-01-01
    相关资源
    最近更新 更多