在VS2013中打开caffe源代码,都能编译成功,下一步应该怎么训练模型

 我来答
坦率且完满丶夜鹰7273
2017-09-20 · 超过51用户采纳过TA的回答
知道小有建树答主
回答量:201
采纳率:0%
帮助的人:57.9万
展开全部
作者:圣行
链接:
来源:知乎
著作权归作者所有,转载请联系作者获得授权。

matlab 和python没有用过。如果是习惯用opencv的话,可以使用memory_data,请参考这个链接里的例子:C++ Image Classification with memory_data_param · Issue #1443 · BVLC/caffe · GitHub

给一个具体点的例子吧(不知道贴代码是不是有点不合知乎气质?),总共分三步:
第一步,构造网络:
enum Phase p = TEST;
Net caffe_test_net(argv[1],p);
caffe_test_net.CopyTrainedLayersFrom(argv[2]);

第二步,构造数据并加入到网络输入层:
//create the input data
vector md_images;
vector md_labels;
//////operations for the input data
Mat original = imread("images\\lena_gray.png"); //随便的图片,没有实用意义,可忽略

Mat *sub_img = new Mat;
for (int i = 0; i < 10; i++){
original(Range(i, i + 28), Range(i, i + 28)).copyTo(*sub_img); // 28x28,可以直接用lenet
md_images.push_back(*sub_img);
md_labels.push_back(0);
}

第三步,执行test操作:
for (int i = 0; i < 10; i++){
const vector<Blob*>& result = caffe_test_net.ForwardPrefilled();
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式