1、 准备工作
一. deploy.prototxt文件
修改于train.prototxt,主要为3部分:
(1) data层 修改为input层
layer {
name: "data"
type: "Input"
top: "data"
input_param { shape: { dim: 1 dim: 7 dim: 1 dim: 1 } }
(2)删掉layer 中关于weight和bias设置部分,因为caffemodel会提供value
(3)将最后的输出层softmax改成prob
layer {
name: "prob"
type: "Softmax"
bottom: "fc3"
top: "prob"
}
二、 caffemodel 训练保存模型
三 、保存在numpy数组中的数据,npy
2、模型
caffe/python/classify.py中caffe.Classifier与classifier.predict主要用于图像识别,通过阅读python/caffe/classifier.py可知其中有一系列对图片的crop,centor等处理,不适宜直接使用处理非图片数据。
故直接使用caffe.Net 与net.foward_all 直接预测数据的标签
model_weights = 'model_iter_1000000.caffemodel'
model_file = 'deploy.prototxt'
net = caffe.Net(model_file, model_weights, caffe.TEST)
test_data = np.load('mean_data.npy')
out = net.forward_all(data=test_data)
print out[net.outputs[0]]
3、关闭caffe log输出
GLOG_minloglevel = 2 ,非永久关闭glog输出,int,默认为0(INFO), 小于这个日志级别的将不会打印
GLOG_minloglevel=2 python cc_predict/t.py
4、运行时间
pycaffe 编译时包含gpu时运行时间为3s
如果去掉gpu,即makefile中cpu only 运行时间0.01s
减少的时间应该是数据用于同步的时间