将模型从 tensorflow 转换为 Coreml (4.0) 时出现实例归一化错误
Posted
技术标签:
【中文标题】将模型从 tensorflow 转换为 Coreml (4.0) 时出现实例归一化错误【英文标题】:Instance Normalization Error while converting model from tensorflow to Coreml (4.0) 【发布时间】:2021-04-30 08:07:45 【问题描述】:我尝试将我的模型从 Tensorflow 转换为 Coreml,但出现以下错误。不能将实例规范化层转换为 CoreML 吗?有什么解决方法需要克服吗?
ValueError Traceback(最近一次调用最后一次) 在 () 6 7 模型 = ct.convert( ----> 8 tf_keras_model )
6 帧 /usr/local/lib/python3.6/dist-packages/coremltools/converters/mil/mil/block.py 在 remove_ops(self, existing_ops) 700 +“由操作 使用” 701) --> 702 引发 ValueError(msg.format(op.name, i, v.name, child_op_names)) 703 # 检查输出 Var 不是块的输出 704 如果 v 在 self._outputs 中:
ValueError:无法删除操作 'Generator/StatefulPartitionedCall/StatefulPartitionedCall/encoder_down_resblock_0/instance_norm_0/Shape',在 id 0 处具有活动输出:'Generator/StatefulPartitionedCall/StatefulPartitionedCall/encoder_down_resblock_0/instance_norm_0/Shape'由操作使用 ['Generator/StatefulPartitionedCall/ StatefulPartitionedCall/encoder_down_resblock_0/instance_norm_0/strided_slice'] 搜索堆栈溢出
【问题讨论】:
【参考方案1】:我改用 keras-contrib,它工作正常。请参阅下面的问题及其解决方案。它仍然对 tensorflow_addons 开放。
https://github.com/apple/coremltools/issues/1007
【讨论】:
以上是关于将模型从 tensorflow 转换为 Coreml (4.0) 时出现实例归一化错误的主要内容,如果未能解决你的问题,请参考以下文章
将模型从 tensorflow 转换为 Coreml (4.0) 时出现实例归一化错误
如何将 CoreML 模型转换为 TensorFlow 模型?
面临从 tensorflow core 转换为 tensorflow lite 的问题
从 TensorFlow 转换的 CoreML 模型无法在 Xcode 中使用