TensorFlow转CoreML模型报错:Backend converter mlmodel未实现
解决CoreML转换时的NotImplementedError错误
错误原因
你使用的convert_to="mlmodel"参数无效。CoreMLTools的convert函数中,convert_to参数的合法取值为mlprogram、neuralnetwork、milinternal、milpython,并不包含mlmodel,因此触发了"Backend converter mlmodel not implemented"的报错。
解决方法
方法一:移除无效的
convert_to参数
默认情况下,ct.convert()转换后的结果就是CoreML模型对象,直接保存即可生成.mlmodel文件,无需指定convert_to="mlmodel"。修正后的代码:mlmodel = ct.convert(model, source="tensorflow") # 保存模型到本地 mlmodel.save("your_cnn_model.mlmodel")方法二:指定合法的模型格式类型
若需要明确指定模型底层格式(比如兼容旧版iOS或启用新特性),可选择以下合法值:mlprogram:CoreML 3及以上版本推荐格式,支持更多现代模型特性neuralnetwork:旧版格式,兼容iOS 11及以上系统
示例代码(以mlprogram为例):
mlmodel = ct.convert(model, convert_to="mlprogram", source="tensorflow") mlmodel.save("your_cnn_model.mlmodel")
内容的提问来源于stack exchange,提问作者Aakash Kothari
相关产品推荐
相关产品推荐

