深度学习中如何用caffe训练自己的模型

作者:盛兴

链接:/question/30091667/答案/47951446。

来源:知乎。

版权归作者所有,授权请联系作者。

Matlab和python都没用过。如果习惯opencv,可以用memory_data。请参考此链接中的例子:c++图像分类用memory _ data _ param问题# 1443 bvlc/caffe github。

举个具体的例子(不知道发帖代码是不是有点脱离Zhihu气质?),总* * *分为三步:

第一步是构建一个网络:

枚举阶段p =测试;

Net & ltfloat & gtcaffe_test_net(argv[1],p);

咖啡_测试_网。CopyTrainedLayersFrom(argv[2]);

步骤2,构造数据并将其添加到网络输入层:

//创建输入数据

向量& ltMat & gtmd _ images

向量& ltint & gtmd _标签;

///////对输入数据的操作

mat original = im read(" images \ \ Lena _ gray . png ");//随便的图片没有实际意义,可以忽略。

Mat *sub_img =新Mat;

for(int I = 0;我& lt10;i++){

原(Range(i,i + 28),Range(i,i + 28))。copy to(* sub _ img);// 28x28,可以直接用lenet。

MD _ images . push _ back(* sub _ img);

MD _ labels . push _ back(0);

}

步骤3,执行测试操作:

for(int I = 0;我& lt10;i++){

常量向量& ltBlob & ltfloat & gt* & gt& amp结果= caffe_test_net。forward prefilled();