TensorFlow Android Camera Demo使用Inception5h model进行实时图像识别,从而提供卓越的性能。因为我没有成功地重新训练5小时,所以我用了InceptionV3 model但在图像识别方面没有那么快。所以我回到了开始的时候,试图重新训练(或转移学习)5小时学习模式。我试过修改retrain.py但它显然是为v3模型编写的。5H模型不包含以“pool_3/_reforme:0”、“decodeJPEG/contents:0”或“resizeblinear:0”开头的张量。还有其他的区别。
我是机器学习和TensorFlow的新手,所以我非常感谢在我必须做的事情上有明确的步骤。
谢谢您!

最佳答案

看起来retrain.py脚本和tutorial刚刚更新,可以与mobilenet架构一起工作。
所以这就解决了你问题的第一部分,它实际上不是5h激励,但它在移动设备上运行良好,精度比5h激励好得多。
要在android示例中运行它,您仍然需要更新these settings
我认为你应该可以复制the settings determined for the mobilenet you choose, from the retrain script并且你可能没事。
如果您想使用一个不同的网络,它没有retrain.py中的设置,那么我能想到的确定它们的最简单的方法是使用tensorboard探索图形。
所以如果你真的想使用inception 5h,你可以下载并解压它:

curl -O https://storage.googleapis.com/download.tensorflow.org/models/inception5h.zip
unzip -d inception5h inception5h.zip

然后从Tensorflow for Poets: 2 codelabrepo抓取这个简单的脚本,将graph.pb文件转换为tensorboard可以使用的东西:
curl -O https://raw.githubusercontent.com/googlecodelabs/tensorflow-for-poets-2/master/scripts/graph_pb2tb.py

并在graph.pb上运行:
mkdir tb_graph
python graph_pb2tb.py tb/inception5h inception5h/tensorflow_inception_graph.pb

open it in tensorboard
tensorboard --logdir tb_graph

然后,在图中搜索并找到需要填充自己的model_infodict的节点的名称可能相对简单。
我想这是您想要设置为您的bottleneck_tensor的节点:
android - 从TensorFlow Android Camera Demo重新训练Inception5h模型-LMLPHP

10-04 14:09