このブログはアフィリエイト広告を利用しています

Uncategorized

ultralyticsのyolo export format=coremlでRuntimeError: BlobWriter not loadedになる問題の対処方法

2024-08-02

ultralyticsが提供するYOLOv8はPyTorch形式ですが、これをiPhoneなどで使えるようにyolo export model=yolov8n.pt format=coremlしたらRuntimeError: BlobWriter not loadedになってしまいやした。ということでこのエラーの解消方法についてサクッと解説。

yolo export model=yolov8n.pt format=coreml

... 省略 ...

  File "/Users/jimaru/miniforge3/envs/jupyter/lib/python3.12/site-packages/coremltools/converters/mil/backend/mil/load.py", line 400, in export
    raise RuntimeError("BlobWriter not loaded")
RuntimeError: BlobWriter not loaded

結論は、Pythonのバージョンを最新より1つ前にダウングレードすると解決します。coremltoolsがなかなか最新のPythonに対応してくれないことが原因のようです。

RuntimeError: BlobWriter not loaded during converting model "Lykon/DreamShaper" #186ではPython3.11からPython3.10にダウングレードして解決したと言われていますが、時が進んだ現在は最新のPythonバージョンは3.12で、Python3.12からPython3.11にダウングレードすることで解決しました。

一応、ケンヂまるがminiforge上に構築したyolo export model=yolov8n.pt format=coremlが動作する環境の構築手順を紹介しておきます。

conda create -n yolo
conda activate yolo
conda install python=3.11 ultralytics pytorch torchvision

PyTorch形式のyolov8n.ptをCoreML形式に変換してyolov8n.mlpackageが生成されれば成功です。

yolo export model=yolov8n.pt format=coreml
# → yolov8n.mlpackage が生成される

-Uncategorized

© 2024 ヂまるBlog