我正在使用本机运行tensorflow。我有一个重新训练的Inception V3图。我使用GitHub回购示例测试了我自己以外的模型是否可以正常工作,并且运行良好。当我尝试使用自己的模型时,出现错误:“检查您的GraphDef解释二进制文件是否与您的GraphDef生成二进制文件最新”
Dev Info {Python 3.5,react-Native 0.59,tensorflow 2.0.0a0,protobuf 3.7.1}从我所看到的,我试图在旧版本的tensorflow上训练我的模型,(我使用的是1.13.1 ,我尝试了1.8.0)。我听说我的tensorflow和protobuf版本可能太高,无法解释我的.pb文件。但是,这没有用,我收到了完全相同的错误。
这是识别码: 异步享图片(){
try {
const tfImageRecognition = new TfImageRecognition({
model:require('./assets/retrained_graph.pb'),
labels: require('./assets/retrained_labels.txt')
})
const results = await tfImageRecognition.recognize({
image: this.image
})
答案 0 :(得分:2)
在我的docker容器(运行tensorflow服务)上,我有:
TensorFlow ModelServer: 2.1.0-rc1
TensorFlow Library: 2.1.0
问题与用于导出protobuf模型的本地tensorflow版本有关。我知道,如果使用tf版本1.14.0、2.1.0和2.2.0导出h5模型,则在执行推理时会出现此问题。您可以尝试使用大于1.15.0且小于1.8.0的tf版本。我认为这是因为某些tensorflow版本在导出时不支持特定图层。
要更改您的本地张量流版本,您可以
pip install tensorflow==1.15.0