Tensorflow .pb 文件到 coreml 模型:'Unsupported Ops of type: AddV2'

Posted

技术标签:

【中文标题】Tensorflow .pb 文件到 coreml 模型:\'Unsupported Ops of type: AddV2\'【英文标题】:Tensorflow .pb file to coreml model: 'Unsupported Ops of type: AddV2'Tensorflow .pb 文件到 coreml 模型:'Unsupported Ops of type: AddV2' 【发布时间】:2020-04-03 14:48:32 【问题描述】:

我正在尝试将通过重新训练 mobilenet 架构获得的 tensorflow 模型(.pb 文件)转换为 coreml 模型。 最初,我有 tensorflow 1.14.0 一切正常。但是当我将 tensorflow 升级到 2.0.0 并重新训练模型时,因为 弃用 python 正在添加“AddV2”操作而不是“Add”。因此,我在转换过程中遇到错误

不支持的操作类型:AddV2

对此我能做些什么?我是否必须更改操作或调整转换代码以支持 操作。

【问题讨论】:

如果您查看 tfcoreml 1.1.0 的发行说明,似乎他们在那里添加了对 TensorFlow 2.x 和 AddV2 的支持等等。 不,不是! github.com/tf-coreml/tf-coreml/blob/master/tfcoreml/…我在我的系统中手动添加了 【参考方案1】:

虽然 tfcoreml==1.1.0 说它添加了 AddV2 操作来支持 tf 2.0.0,但它没有。

https://github.com/tf-coreml/tf-coreml/releases/tag/1.1.0

证明:

https://github.com/tf-coreml/tf-coreml/blob/master/tfcoreml/_ops_to_layers.py

这可以通过在上面的脚本中添加 AddV2 来解决。

【讨论】:

以上是关于Tensorflow .pb 文件到 coreml 模型:'Unsupported Ops of type: AddV2'的主要内容,如果未能解决你的问题,请参考以下文章

Swift 在移动端使用CoreML

该模型在 Tensorflow 到 CoreML 模型中没有有效的图像类型输入特征

如何在 TensorFlow、Keras 或 PyTorch 中部署 CoreML 模型?

修改 tensorflow savedmodel pb 文件以使用自定义操作进行推理

保存tensorflow模型为pb文件

转换TensorFlow 的PB 模型到 UFF格式