Режим пакетной обработки в кафе

Я хотел бы использовать библиотеку Caffe для извлечения функций изображений, но у меня проблемы с производительностью. Я могу использовать только режим процессора. Мне сказали, что Caffe поддерживает режим пакетной обработки, в котором среднее время обработки одного изображения значительно медленнее.

Я вызываю следующий метод:

const vector<Blob<Dtype>*>&
Net::Forward(const vector<Blob<Dtype>* > & bottom, Dtype* loss = NULL);

и я добавляю вектор размера 1, содержащий один блоб следующих размеров — (число: 10, каналы: 3, ширина: 227, высота: 227). Он представляет отдельное изображение с передискретизацией так же, как в официальной оболочке Python.

Это работает и дает правильные результаты. Это, однако, слишком медленно.

Всякий раз, когда я пытаюсь отправить вектор, содержащий более одного большого двоичного объекта (одинакового размера), я получаю следующую ошибку:

F0910 16: 10: 14.848492 15615 blob.cpp: 355] Попытка скопировать BLOB-объекты разных размеров.
Проверьте трассировку стека сбоев:

Как заставить Caffe обрабатывать мои изображения в серии?

1

Решение

Если вы хотите кормить большими партиями, вам нужен первый (и единственный) шарик в bottom иметь num>10, Кормление сгустка с num=20 так же, как питание двух входов с oversample=10, Вам, конечно, придется выполнить усреднение вручную в соответствии с oversampling ты используешь.

Кроме того, вы можете изменить первое входное измерение в вашем deploy.prototxt файл от 10 до большего значения (в зависимости от объема памяти вашего компьютера)

2

Другие решения


По вопросам рекламы ammmcru@yandex.ru
Adblock
detector