【onnx】将caffe模型导出的.caffemodel文件及.prototxt文件转onnx

目录

  • 1.caffe模型文件说明
  • 2.下载转换工具并配置环境
  • 3.进行转换工作

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模型的文件路径。

注意,这种转换只适用于没有自定义层的基本模型。

你可能感兴趣的:(c++,深度学习,pytorch,caffe,深度学习,人工智能)