深度学习中如何用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();