caffe与tensorflow之间模型转换
一.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
上一篇: Base64与File之间的相互转化
下一篇: 筛法求素数
推荐阅读
-
caffe与tensorflow之间模型转换
-
深度学习PyTorch,TensorFlow中GPU利用率较低,CPU利用率很低,且模型训练速度很慢的问题总结与分析
-
Tensorflow使用slim工具(vgg16模型)实现图像分类与分割
-
XML与对象之间的互相转换
-
利用反射实现MapStr、MapObj与bean之间的转换
-
Java基本类型与byte数组之间相互转换方法
-
Java基本类型与byte数组之间相互转换方法
-
explode,implode逗号与数组之间的转换
-
Java 和 Javascript 的 Date 与 .Net 的 DateTime 之间的相互转换
-
Java中字符串与byte数组之间的相互转换