tensorflow模型转化为caffe模型并调用预测
本文一共分为三个部分首先根据tensorflow的网络结构代码写caffe的deploy.prototxt,再用python代码写XXXX.caffemodel文件,最后调用caffe模型进行预测.
根据tensorflow的网络结构代码写caffe的deploy.prototxt
写完之后可以将代码输入到这里(工具)检测写法是否正确:
验证工具
书写规则如下,我给的每一种类型的其参数是必须写的参数,如果想知道每一层更详细的参数,可以参考:caffe网络结构详解下载
Name是每一层的名字,top是经过这一层数据传向的层,bottom这一层的上一层数据
(1)输入层Input:
layer {
name: "input"
type: "Input"
top: "data"
input_param {
shape {
dim: 1
dim: 32
dim: 1
dim: 1
}
}
}
一定要指定shape层,第一个dim为batchsize也就是一次性可以处理多少个数据,第二个dim为channel,如果处理的是图像也就是图片的通道数.如果处理的是向量,这个就是向量的长度,第三个dim为图像的高度,第四个dim为图像的宽度.如果是向量则第三第四都为1.
(2)全连接层InnerProduct
layer{
name:"linear"
type:"InnerProduct"
bottom:"data"
top:"linear"
inner_product_param {
num_output: 1024
}
}
num_output是下一层向量数目
(3)BatchNorm层
layer {
bottom: "linear"
top: "bn1"
name: "bn1"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
}