如何在没有通道分裂的情况下为caffe编写图像批量分类?

时间:2016-05-31 13:37:33

标签: machine-learning computer-vision deep-learning caffe

对于图像批量分类,我使用了此问题的代码Modifying the Caffe C++ prediction code for multiple inputs。但是我注意到由于某种原因分割图像通道的功能。

我认为它适用于通常的CNN架构,但它适用于Siamese架构吗?我猜不是,因为在C ++分类中它无法正常工作。

有人可以解释一下,我应该如何改变暹罗体系结构的代码(通过通道分割图像并将这些通道分配给不同的层,这就是重点),或者至少输入的内存存储是如何工作的,以便自己弄清楚?

Blob<float>* input_layer = net_->input_blobs()[0];

1 个答案:

答案 0 :(得分:0)

想出来,问题出在Classifier::Preprocess

中的opencv函数中
cv::split(img[i], channels);

因为仅当cv::Mat中包含的img形成为带有频道的2D图像时,它才有效。如果,就我的情况而言,如果形成了其他方式,(channels, width, height)(width, height, channels) cv::split等尺寸将不会按预期分割cv::Mat,所以我已经用其他实现取代了这一步。