1.caffe模型文件说明
caffe的.prototxt文件是用来定义网络结构的文件。其中包含了网络层的类型、参数、连接关系等信息。在训练或测试深度学习模型时,需要指定这个文件作为网络结构的配置文件。
.caffemodel文件是Caffe深度学习框架中训练好的模型的二进制文件。它包含了网络的结构和权值,可以用来进行预测和特征提取。
.caffemodel文件和.prototxt文件不是重复的。.caffemodel文件包含网络结构和参数的权值,而.prototxt文件则是网络结构的文本描述。在使用Caffe框架训练模型时,需要同时使用这两种文件,二者文件名可以不同。
2.下载转换工具并配置环境
为保证环境整洁,使用anaconda:
在anaconda下载列表
中寻找合适的python版本
这里根据centos环境选择了:
Packages included in Anaconda 2021.11 for 64-bit Linux on x86_64 CPUs with Python 3.9
找到后根据日期在清华源中找到对应的版本:
对应清华源
在环境中使用wget命令进行下载:
wget https://mirrors.bfsu.edu.cn/anaconda/archive/Anaconda3-2021.11-Linux-x86_64.sh
进行安装:
bash Anaconda3-2021.11-Linux-x86_64.sh
环境快速设置,根据安装目录,运行:
/root/anaconda3/bin/conda init
创建独立的环境,并激活shell
conda create -n caffe2onnx python=3.9
conda activate caffe2onnx
下载转换用工具onnx_convert
创建目录并解压。
在caffe2onnx下安装转换工具的依赖环境:
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple/. -r /home/caffe2onnx/onnx_convert-master/requirements.txt
如果提示h5py安装失败,将requirements.txt中h5py指定版本号去掉重新安装
3.进行转换工作
根据工具转换的说明:caffe转onnx 命令:
python model_convert.py --model_path ./caffe_model --model_type caffe --output ./output.onnx
参数说明:model_path:caffe模型所在的文件夹,文件夹里需要有对应的.caffemodel文件和.prototxt文件 model_type:模型类型,此处固定为caffe output:输出onnx模型的文件路径。
注意,这种转换只适用于没有自定义层的基本模型。