如何正确使用 tf-coreml?

Posted

技术标签:

【中文标题】如何正确使用 tf-coreml?【英文标题】:How to use tf-coreml correctly? 【发布时间】:2019-10-28 09:39:38 【问题描述】:

我想将 tensorflow 模型 (https://github.com/vanhuyz/CycleGAN-TensorFlow) 转换为 coreml 模型,以便能够在 ios 上导入。

我知道要执行转换,使用这段代码就足够了:

import tfcoreml as tf_converter

tf_converter.convert(tf_model_path = 'my_model.pb', 
                     mlmodel_path = 'my_model.mlmodel', 
                     output_feature_names = ['softmax:0'])

但我不知道在第三个参数“output_feature_names”中放什么。有什么想法吗?

【问题讨论】:

【参考方案1】:

如果您使用Netron 打开 .pb 文件并一直滚动到底部,您会看到最后一层是 EncodeJpeg,因此输出特征名称将是 EncodeJpeg:0

但是,Core ML 没有“encode jpeg”操作,因此您无法转换整个图形。您需要找到 Core ML 仍然支持的最后一个张量。

我会尝试output_feature_names=["G_7/output/Tanh:0"],但很可能图中还有其他无法转换的东西。

【讨论】:

ValueError: Graph 有循环。 这意味着您无法将此模型转换为 Core ML 2。但是,Core ML 3 将支持这些东西,因此您可以尝试使用 coremltools 3.0(目前仍处于测试阶段)。跨度> 关于如何做或寻找什么工具的任何想法? 查看github.com/tf-coreml/tf-coreml 的文档——它解释了如何安装测试版。

以上是关于如何正确使用 tf-coreml?的主要内容,如果未能解决你的问题,请参考以下文章

如何正确使用 Composer 安装 Laravel 扩展包

如何正确使用 Composer 安装 Laravel 扩展包

如何正确使用 Composer 安装 Laravel 扩展包

如何正确强制正确使用类方法?

如何正确使用 Composer 安装 Laravel 扩展包

如何正确关闭MongoDB