【发布时间】:2015-12-06 21:20:17
【问题描述】:
我想使用 Caffe 库来提取图像特征,但我遇到了性能问题。我只能使用CPU模式。有人告诉我,Caffe 支持批处理模式,其中处理一张图像所需的平均时间要慢得多。
我正在调用以下方法:
const vector<Blob<Dtype>*>&
Net::Forward(const vector<Blob<Dtype>* > & bottom, Dtype* loss = NULL);
我放入一个大小为 1 的向量,其中包含以下尺寸的单个 blob -(数量:10,通道:3,宽度:227,高度:227)。它表示以与官方 python 包装器相同的方式过采样的单个图像。
这有效并给出了正确的结果。但是,它太慢了。
每当我尝试发送包含多个 blob(相同尺寸)的向量时,我都会收到以下错误:
F0910 16:10:14.848492 15615 blob.cpp:355] 试图复制不同大小的 blob。
检查失败堆栈跟踪:
如何让 Caffe 批量处理我的图片?
【问题讨论】:
-
如果你输入一个带有
num=10的blob,你得到的输出大小是多少?Net::Forward是否会为您平均 10 个输入的特征?? -
不,输出 blob 的大小为 10 x 4096。然后我自己平均这些值。
标签: c++ neural-network deep-learning caffe