【发布时间】:2020-01-01 05:31:00
【问题描述】:
我一直在使用 AutoML Vision Edge 完成一些图像分类任务,在以 TFLite 格式导出模型时效果很好。但是,我只是尝试导出 saved_model.pb 文件并使用 Tensorflow 2.0 运行它,似乎遇到了一些问题。
代码sn-p:
import numpy as np
import tensorflow as tf
import cv2
from tensorflow import keras
my_model = tf.keras.models.load_model('saved_model')
print(my_model)
print(my_model.summary())
'saved_model' 是包含我下载的 saved_model.pb 文件的目录。这是我所看到的:
2019-10-18 23:29:08.801647: I tensorflow/core/platform/cpu_feature_guard.cc:142] 您的 CPU 支持未编译此 TensorFlow 二进制文件以使用的指令:AVX2 FMA 2019-10-18 23:29:08.829017:我 tensorflow/compiler/xla/service/service.cc:168] XLA 服务 0x7ffc2d717510 在平台主机上执行计算。设备: 2019-10-18 23:29:08.829038:I tensorflow/compiler/xla/service/service.cc:175] StreamExecutor 设备(0):主机,默认版本 回溯(最近一次通话最后): 文件“classify_in_out_tf2.py”,第 81 行,在 打印(my_model.summary()) AttributeError: 'AutoTrackable' 对象没有属性 'summary'
我不确定是我导出模型的方式有问题,还是我的代码加载模型有问题,或者这些模型是否与 Tensorflow 2.0 不兼容,或者某些组合。
任何帮助将不胜感激!
【问题讨论】:
-
为了确定,您是使用升级脚本 [1] 还是手动进行了更改? [1]:tensorflow.org/guide/upgrade
-
@Gurkomal 该模型是使用 Google 的 AutoML 工具生成的,并根据此文档导出为保存的模型:cloud.google.com/vision/automl/docs/export-edge 我对 TF 2 升级过程并不完全熟悉...你知道吗如果可以简单地升级导出的保存模型,还是需要更新实际的模型代码?
-
fwiw,我联系了 AutoML 团队,他们说该服务并非旨在导出在当前设置的 docker 容器之外工作的已保存模型。如果有人知道如何获取导出的保存模型并将其修改为在 docker 容器之外工作,那将非常有帮助。谢谢!
标签: python tensorflow google-cloud-automl