2016-05-25 1 views
2

Предположим, у меня есть обученная модель caffe (файл весов и файл с описанием сети) и изображение, которое я хочу классифицировать с использованием этой сети (простая передача вперед , затем получите выходные значения последнего слоя), предположим, что изображение имеет правильные размеры для первого слоя сети.Caffe - изображение с обратной связью с использованием подготовленной caffemodel из оболочки

Я видел учебники, которые делают это с помощью Matlab или Python.

Есть ли способ сделать это с самим Caffe из оболочки? (Без использования привязок на другом языке)

Благодаря

+1

Вы пытались использовать исполняемый файл caffe.bin в папке build/tools /, работающей в режиме 'test'. Какой еще вариант вы ожидаете, чем результат запуска этого исполняемого файла? –

ответ

0

Вы можете позвонить $CAFFE_ROOT/python/classify.py из оболочки для классификации изображения:

~$ python $CAFFE_ROOT/python/classify.py \ 
     --model_def /path/to/deploy.prototxt \ 
     --pretrained_model /path/to/weights.caffemodel \ 
     --gpu \ 
     /path/to/image.jpg /path/to/output 

Есть еще некоторые дополнительные параметры для этого питона скрипта, вам могут понадобиться установите некоторые из них.

1

Вы можете сделать это следующим образом:

./build/tools/extract_features.bin 
models/bvlc_reference_caffenet/bvlc_reference_caffenet.caffemodel 
examples/_temp/imagenet_val.prototxt fc7 examples/_temp/features 10 leveldb 

Вместо «FC7» вы можете указать имя или даже несколько имен слоев, которые вы хотите вывод. Также проверьте эти ссылки для получения более подробной информации: https://github.com/BVLC/caffe/blob/master/tools/extract_features.cpp#L36-L45, http://caffe.berkeleyvision.org/gathered/examples/feature_extraction.html

Смежные вопросы