caffe 到 onnx 的 libcaffeconverter 导入错误

Posted

技术标签:

【中文标题】caffe 到 onnx 的 libcaffeconverter 导入错误【英文标题】:libcaffeconverter import error for caffe to onnx 【发布时间】:2020-12-11 00:21:45 【问题描述】:

问题描述


我正在关注https://github.com/onnx/onnx-docker/blob/master/onnx-ecosystem/converter_scripts/caffe_coreml_onnx.ipynb 上的 caffe to onnx 教程,但遇到了这个错误: ImportError:无法从“coremltools”导入名称“libcaffeconverter”

经过进一步调查,我意识到 coremltools 目录中没有 libcaffeconverter。

系统信息


操作系统平台和分发:Windows 10 x64 ONNX 版本:1.7.0 Python版本:3.7.7 Protobuf 版本:3.13.0 Visual Studio 版本(如果适用):2017 版本 15.9.28307.1234

复制说明


创建一个新环境并运行“pip install coremltools==4.0b3”

在https://github.com/onnx/onnx-docker/blob/master/onnx-ecosystem/converter_scripts/caffe_coreml_onnx.ipynb运行代码

运行:

导入 coremltools coremltools.converters.caffe.convert(无)

预期行为


我希望代码根据代码中指定的 caffe 文件创建并保存一个 onnx 文件

【问题讨论】:

【参考方案1】:

TL;DR:切换到 python 3.6

与 OP 一样,问题出在 import coremltools coremltools.converters.caffe.convert(None),产生 `ImportError: cannot import name 'libcaffeconverter' 这可以通过在 python 3.6 中使用虚拟环境来避免

解决方法:

    在终端中使用您选择的包管理器创建一个 python 3.6 环境: conda create -n <your env name here> python=3.6 anaconda 要么 virtualenv --python=/usr/bin/python3.6

    激活虚拟环境 conda activate <your env name here>(或等价点)

    导航到您的项目目录并运行您的文件 python <your script here>.py

现在它应该按计划工作了

【讨论】:

以上是关于caffe 到 onnx 的 libcaffeconverter 导入错误的主要内容,如果未能解决你的问题,请参考以下文章

pytorch转caffe2 之 onnx转caffe2报错的解决方法

开发 | 新版PyTorch发布在即,融合Caffe2ONNX

融合 Caffe2ONNX 的新版 PyTorch 发布在即,能否赶超 TensorFlow?

PyTorch专栏(十三):使用ONNX将模型转移至Caffe2和移动端

Yolov8从pytorch到caffe 训练模型并转换到caffemodel

ONNX简介