Подтвердить что ты не робот

Руководство по convert_imageset.cpp

Я относительно не знаком с машинным обучением /python/ubuntu.

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

У меня есть необходимые текстовые файлы ввода.

Мой вопрос: может ли кто-нибудь предоставить пошаговое руководство о том, как использовать convert_imageset.cpp в терминале ubuntu?

Спасибо

4b9b3361

Ответ 1

Краткое руководство к Caffe convert_imageset

Build

Первое, что вам нужно сделать - это создать инструменты caffe и caffe (convert_imageset - один из этих инструментов).
После установки caffe и make ING убедитесь, что вы запустили make tools.
Убедитесь, что в $CAFFE_ROOT/build/tools создан двоичный файл convert_imageset.

Подготовьте свои данные

Изображения: поместите все изображения в папку (я назову ее здесь /path/to/jpegs/).
Ярлыки: создайте текстовый файл (например, /path/to/labels/train.txt) с линией на входное изображение. Например:

img_0000.jpeg 1
img_0001.jpeg 0
img_0002.jpeg 0

В этом примере первое изображение помечено 1, а остальные два - 0.

Преобразование набора данных

Запустите двоичный файл в оболочке

~$ GLOG_logtostderr=1 $CAFFE_ROOT/build/tools/convert_imageset \
    --resize_height=200 --resize_width=200 --shuffle  \
    /path/to/jpegs/ \
    /path/to/labels/train.txt \
    /path/to/lmdb/train_lmdb

Объяснение командной строки:

  • Флаг
  • GLOG_logtostderr установлен до 1 перед вызовом convert_imageset указывает механизм регистрации для перенаправления сообщений журнала на stderr.
  • --resize_height и --resize_width изменить размер всех входных изображений одного размера 200x200.
  • --shuffle случайным образом изменяет порядок изображений и не сохраняет порядок в файле /path/to/labels/train.txt.
  • Ниже приведен путь к папке с изображениями, текстовому файлу меток и имени вывода. Обратите внимание, что имя выхода не должно существовать до вызова convert_imageset, иначе вы получите сообщение об ошибке.

Другие флаги, которые могут быть полезны:

  • --backend - позволяет выбирать между набором данных lmdb или levelDB.
  • --gray - преобразовать все изображения в шкалу серого.
  • --encoded и --encoded_type - сохранить данные изображения в кодированной (jpg/png) сжатой форме в базе данных.
  • --help - показывает некоторую помощь, см. все соответствующие флаги в разделе "Флаги" из инструментов /convert _imageset.cpp

Вы можете проверить $CAFFE_ROOT/examples/imagenet/convert_imagenet.sh например, как использовать convert_imageset.