欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

caffe与tensorflow之间模型转换

程序员文章站 2024-03-15 12:48:47
...

一.caffe转换为tensorflow

1.下载模型转换代码:

git clone https://github.com/ethereon/caffe-tensorflow

caffe-tensorflow模型转换文件为convert.py,可以将caffe的模型定义文件.prototxt和训练好的模型分别转换为tensorflow类,和tensorflow模型文件.

2.举个例子
将examples/minist目录下的lenet.prototxt和训练好的caffe模lenet_iter_10000.caffemodel,
转换为tensorflow下的网络结构lenet.py和模型lenet.npy

步骤

  • a) 安装caffe和tensorflow共存环境,
    敲黑板啦,要按顺序安装!
#创建caffe和tensorflow的虚拟环境,并进入环境
conda create -n caffe-tf python=3.6
source activate caffe-tf

#安装caffe-gpu
conda install caffe-gpu

#默认安装的protobuf的版本是3.6,降低protobuf的版本为3.2,这样,caffe和tensorflow才能不冲突
conda install protobuf=3.2

#安装tensorflow-gpu
conda install tensorflow-gpu

#检查是否安装成功
python
import caffe
import tensorflow
  • b)环境安装好,接下来就执行下面命令,开始模型转换吧
python convert.py --def_path examples/mnist/lenet.prototxt --caffemodel examples/mnist/lenet_iter_10000.caffemodel --data-output-path lenet.npy --code-output-path lenet.py

二.tensorflow转换为caffe

1.下载模型转换代码

git clone https://github.com/abner2015/tensorflow2caffemodel.git

2 准备网络配置文件和模型
已有:网络参数配置prototxt文件 和训练好的tf model
目标:caffe mdoel

其中prototxt:"./tensorflow2caffemodel/VGG_ILSVRC_16_layers_deploy.prototxt"
tf model:wget http://download.tensorflow.org/models/vgg_16_2016_08_28.tar.gz

3 修改tf2caffe.py脚本

#注释掉 import cv2

#依据需要,修改下面路径
checkpoint_path = "./vgg_16.ckpt" #已知
cf_prototxt = "./VGG_ILSVRC_16_layers_deploy.prototxt" #已知
cf_model = "./vgg16.caffemodel" #输出

#添加主函数
if __name__ == '__main__':
    tf2caffe(cheakpoint_path, cf_prototxt, cf_model)

4 运行

python tf2caffe.py

参考链接:
https://blog.csdn.net/zhaoyoulin2016/article/details/81304634
https://blog.csdn.net/primezpy/article/details/78819249
https://blog.csdn.net/u011961856/article/details/77937128