我想将具有以下结构的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应用程序中。我发现这个模型对于一个应用程序想法很有趣,想知道它是否可以被集成。如果有任何可能帮助我解决此类问题的教程,请告诉我。
回答:
这些东西都不会被Core ML模型使用。yaml文件等仅用于训练TF模型。
您只需提供一个冻结图(一个.pb文件),然后使用tfcoreml将其转换为.mlmodel文件。
看起来您的项目没有冻结图,而是有检查点。有一个TF工具可以用来将检查点转换为冻结图,请参见https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/tools/freeze_graph.py