我的目标是推断tensorflow苗条模型与英特尔OpenVINO优化器。推理采用开酒馆和幻灯片,训练模型采用tf苗条医生。
这是一个多类别的分类问题。我从零开始训练tf超薄的mobilnet_v2模型(使用sript train_image_classifier.py)。在测试集上对经过训练的模型进行评估,首先给出了比较好的结果(使用脚本eval_image_classifier.py)
eval/Accuracy0.8017 eval/Recall_50.9993
但是,没有保存单个.ckpt文件(即使在train_image_classifier.py运行结束时有一条类似于"model.ckpt保存到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它给出了错误(相同的pass _检查点D:/model/model.input):
[ 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瘦模型的冻结图上运行了OpenVINO模型优化器。然而,我仍然不知道为什么我以前的尝试(基于文档)失败了。
发布于 2019-01-16 03:58:14
您可以尝试将模型转换为冻结格式(.pb),然后使用OpenVINO转换模型。
..ckpt meta有图解。不带变量值的计算图结构。你可以在张紧板上观察到。
..ckpt数据具有变量值,没有骨架或结构。要恢复模型,我们需要元文件和数据文件。
.pb文件保存整个图(meta+data)
根据OpenVINO的文档:
当用Python*代码定义网络时,您必须创建一个推理图文件。通常,图形是以允许模型训练的形式构建的。这意味着所有可训练的参数都表示为图中的变量。若要将该图形与模型优化器一起使用,应将其冻结。https://software.intel.com/en-us/articles/OpenVINO-Using-TensorFlow
OpenVINO通过转换以冻结形式传递的加权图来优化模型。
https://stackoverflow.com/questions/54018696
复制相似问题