如何用c++调用caffe训练的人群计数模型

 我来答
笑喘是病得抽
2017-07-18 · TA获得超过925个赞
知道大有可为答主
回答量:2140
采纳率:98%
帮助的人:2240万
展开全部
第一步,构造网络:
enum Phase p = TEST;
Net<float> caffe_test_net(argv[1],p);
caffe_test_net.CopyTrainedLayersFrom(argv[2]);

第二步,构造数据并加入到网络输入层:
//create the input data
vector<Mat> md_images;
vector<int> 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<float>*>& result = caffe_test_net.ForwardPrefilled();
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式