NotImplementedError Traceback (most recent call last)
Cell In[19], line 1
----> 1 mlmodel = ct.convert(model, convert_to="mlmodel", source="tensorflow")
File ~/anaconda3/lib/python3.11/site-packages/coremltools/converters/_converters_entry.py:551, in convert(model, source, inputs, outputs, classifier_config, minimum_deployment_target, convert_to, compute_precision, skip_model_load, compute_units, package_dir, debug, pass_pipeline)
539 exact_target = _determine_target(convert_to, minimum_deployment_target)
540 _validate_conversion_arguments(
541 model,
542 exact_source,
(...)
549 minimum_deployment_target,
550 )
--> 551 need_fp16_cast_pass = _need_fp16_cast_pass(compute_precision, exact_target)
553 if pass_pipeline is None:
554 pass_pipeline = PassPipeline()
File ~/anaconda3/lib/python3.11/site-packages/coremltools/converters/_converters_entry.py:624, in _need_fp16_cast_pass(compute_precision, convert_to)
620 def _need_fp16_cast_pass(
621 compute_precision: Optional[Union[precision, FP16ComputePrecision]], convert_to: Text
622 ) -> bool:
623 if convert_to not in ("mlprogram", "neuralnetwork", "milinternal", "milpython"):
--> 624 raise NotImplementedError(f"Backend converter {convert_to} not implemented")
626 if compute_precision is None:
627 return convert_to != "neuralnetwork"
NotImplementedError: Backend converter mlmodel not implemented
不知道这个错误意味着什么。我正在尝试将我使用 Tensorflow 构建的 CNN 模型转换为 coreml 模型,但我不断收到上述错误。
mlmodel = ct.convert(model, convert_to="mlmodel", source="tensorflow")
这是从保存的 .h5 文件导入模型后完成的。
由于错误表示作为 covert_to 参数,您应该使用以下“mlprogram”、“neuralnetwork”、“milinternal”、“milpython”之一。您需要阅读每种格式并选择一种适合您的情况。
以下是手册的参考:
mlprogram
- 是 Core ML 程序格式。从此返回的对象保存的模型可在 iOS15、macOS12、watchOS8 和 tvOS15 上执行。
neuralnetwork
- 是原始的 Core ML 格式。从此返回的对象保存的模型可以在 iOS13/macOS10.15/watchOS6/tvOS13 及更高版本上执行,也可以在 iOS14/macOS11/watchOS7/tvOS14 及更高版本上执行,具体取决于模型中使用的层。
milinternal
- 返回 MIL 程序对象。 MIL 程序主要用于调试和检查。