如何将Tensorflow模型转换为.mlmodel?

时间:2018-12-21 15:50:00

标签: tensorflow machine-learning coreml

我想将具有以下结构的Tensorflow模型转换为.mlmodel文件以在iOS应用中使用:

cub_image_experiment/
   logdir/
       val_summaries/
       test_summaries/
       finetune/
          val_summaries/
   cmds.txt
   config_train.yaml
   config_test.yaml

我正在关注本教程:https://github.com/visipedia/tf_classification/wiki/CUB-200-Image-Classification 但是,我在理解项目结构时遇到了麻烦。哪些文件很重要?如何将所有单独的配置文件以及所有内容都转换为单个.mlmodel文件,以便可以在应用程序中使用?

我已经上网了,我所能找到的就是如何将.caffemodel转换为.mlmodel或将.pb文件转换为.mlmodel。这些都是单个文件,但是我的项目有多个文件。我找到了有关如何将tf模型转换为单个.pb文件的教程,但是,该模型的结构有所不同,并且其中不包含任何yaml文件。我的项目目前不专注于创建模型,而只是将模型集成到iOS应用中。我发现此模型对于应用程序创意很有趣,并且想知道它是否可以集成。如果有任何可以帮助我解决此类问题的教程,请告诉我。

1 个答案:

答案 0 :(得分:1)

Core ML模型没有使用任何东西。 yaml文件等仅用于训练TF模型。

您需要提供的是一个冻结图(.pb文件),然后使用tfcoreml将其转换为mlmodel。

您的项目似乎没有冻结的图形,而是检查点。有一个TF实用程序,可用于将检查点转换为冻结图,请参见https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/tools/freeze_graph.py