Machine learning 如何为caffe编写无通道分割的图像批量分类?

Machine learning 如何为caffe编写无通道分割的图像批量分类?,machine-learning,computer-vision,deep-learning,caffe,Machine Learning,Computer Vision,Deep Learning,Caffe,对于图像批量分类,我使用了这个问题中的代码。但我注意到,由于某种原因,这个函数会分割图像的通道 我想它适用于通常的CNN架构,但它适用于暹罗架构吗?我猜不是,因为在C++分类中它不能正常工作。 有人能解释一下,我应该如何更改暹罗体系结构的代码(按通道分割图像,并将这些通道分配到不同的层,这就是重点),或者至少我应该如何更改输入的内存存储,以自己解决这个问题 Blob<float>* input_layer = net_->input_blobs()[0]; Blob*inpu

对于图像批量分类,我使用了这个问题中的代码。但我注意到,由于某种原因,这个函数会分割图像的通道

我想它适用于通常的CNN架构,但它适用于暹罗架构吗?我猜不是,因为在C++分类中它不能正常工作。 有人能解释一下,我应该如何更改暹罗体系结构的代码(按通道分割图像,并将这些通道分配到不同的层,这就是重点),或者至少我应该如何更改输入的内存存储,以自己解决这个问题

Blob<float>* input_layer = net_->input_blobs()[0];
Blob*input\u layer=net\u->input\u Blob()[0];

解决了这个问题,问题出在
分类器::预处理中的opencv函数中

cv::split(img[i], channels);

因为只有当
img
中包含的
cv::Mat
被形成为具有通道的二维图像时,它才起作用。如果像我的情况一样,它是以其他方式形成的,具有
(通道,宽度,高度)
(宽度,高度,通道)
cv::split
将不会像您期望的那样拆分
cv::Mat
,因此我用其他实现方式替换了此步骤。

解决了这个问题,问题出在
分类器::预处理中的opencv函数中

cv::split(img[i], channels);
因为只有当
img
中包含的
cv::Mat
被形成为具有通道的二维图像时,它才起作用。如果像我的情况一样,它是以其他方式形成的,具有
(通道,宽度,高度)
(宽度,高度,通道)
cv::split
将不会像您期望的那样拆分
cv::Mat
,因此我将此步骤替换为其他实现