python - 如何将 Python 中的 Azure 认知服务中经过训练的分类器与 Keras 结合使用

标签 python azure tensorflow keras azure-cognitive-services

我训练了认知视觉 API 模型并将其导出(尝试了两种格式:TensorFlow 和 SavedModel)。

现在我想在 Python 脚本中加载这个导出的模型,最好使用 Keras 而不是原生 Tensorflow。我想打印出模型的 summary() 并复制图层以在自定义 Python 脚本中重新训练它。

但是,我似乎无法让它发挥作用:

使用 SavedModel 格式加载

使用以下代码:

import tensorflow as tf
loaded = tf.saved_model.load(export_dir='mydir/savedmodel')
loaded.summary()

我收到以下异常:'AutoTrackable'对象没有属性'summary',并且加载方法似乎返回了AutoTrackable,而不是模型。

使用 GraphDef

this link 获取以下代码,创建了一个 TensorFlow 特定类型,我真的不知道如何将其转换为 Keras 模型。

import tensorflow as tf
import os

graph_def = tf.compat.v1.GraphDef()
labels = []

# These are set to the default names from exported models, update as needed.
filename = 'mydir/tf/model.pb'
labels_filename = "mydir/tf/labels.txt"

# Import the TF graph
with tf.io.gfile.GFile(filename, 'rb') as f:
    graph_def.ParseFromString(f.read())
    tf.import_graph_def(graph_def, name='')

# Create a list of labels.
with open(labels_filename, 'rt') as lf:
    for l in lf:
        labels.append(l.strip())

最佳答案

TensorFlow 保存的模型格式,用于在运行时加载模型。 https://www.tensorflow.org/guide/saved_model#building_a_savedmodel

可以使用 Python 脚本导出模型,该脚本加载模型、创建签名,然后以保存的模型格式保存模型。

要在我们上传并读取它进行注册时保留它。如果您使用 ./output 将文件发送到输出,在您的 train.py 脚本中,您只需执行以下操作:

#persist the model to the local machine
tf.saved_model.save(model,'./outputs/model/')

#register the model with run object
run.register_model(model_name,'./outputs/model/')

我发现下面的链接显示我可以将估算器导出为 tf.saved_model。

https://guillaumegenthial.github.io/serving-tensorflow-estimator.html

关于python - 如何将 Python 中的 Azure 认知服务中经过训练的分类器与 Keras 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62395577/

相关文章:

python - 如何使用 pytest-cov 生成覆盖报告并打印到终端?

c# - Azure Function 对 Newtonsoft 11.0.2 和 Docker 容器的硬依赖

laravel - 自动部署到 azure linux webapp 后获取 .sh 文件的正确方法是什么?

python - 如何在一维 tensorflow 张量中省略零

tensorflow - 小批量梯度下降中 dropout 的使用困惑

python - 每 30 分钟自动重启一个 .py

python - 在蛇中用图像替换立方体

python - 如何制作字节列表?

azure - 在开发 .NET 应用程序以帮助降低 Azure 成本并优化性能时,我必须考虑哪些注意事项?

python - 我应该如何解释 sparse_categorical_crossentropy 函数的输出?