我的目标是使用英特尔 OpenVINO 优化器推断 tensorflow slim 模型。使用开放的 vino 文档和幻灯片进行推理,使用tf slim 文档进行模型训练。
这是一个多类分类问题。我从头开始训练了 tf slim mobilnet_v2 模型(使用 sript train_image_classifier.py)。在测试集上对训练模型的评估给出了相对较好的结果(使用脚本 eval_image_classifier.py):
评估/准确度[0.8017]评估/召回_5[0.9993]
但是,没有保存单个.ckpt
文件(即使在 train_image_classifier.py 运行结束时有类似“model.ckpt is saved to checkpoint_dir”之类的消息),而是有 3 个文件(.ckpt-180000.data-00000-of-00001
, .ckpt-180000.index
, .ckpt-180000.meta
)。
OpenVINO 模型优化器需要一个检查点文件。
根据文档,我使用以下参数调用mo_tf.py :
python mo_tf.py --input_model D:/model/mobilenet_v2_224.pb --input_checkpoint D:/model/model.ckpt-180000 -b 1
它给出了错误(如果通过 --input_checkpoint D:/model/model.ckpt 则相同):
[ ERROR ] The value for command line parameter "input_checkpoint" must be existing file/directory, but "D:/model/model.ckpt-180000" does not exist.
错误信息很清楚,磁盘上没有这样的文件。但据我所知,大多数 tf 实用程序在后台将 .ckpt-????.meta 转换为 .ckpt。
试图打电话:
python mo_tf.py --input_model D:/model/mobilenet_v2_224.pb --input_meta_graph D:/model/model.ckpt-180000.meta -b 1
原因:
[ ERROR ] Unknown configuration of input model parameters
对我来说,将图形转换为 OpenVINO 中间表示的方式并不重要,只需要达到该结果即可。
非常感谢。
编辑
我设法在 tf slim 模型的冻结图上运行 OpenVINO 模型优化器。但是我仍然不知道为什么我之前的尝试(基于文档)失败了。