2015-12-13 1 views
2

Я начал с Caffe, и пример mnist прошел хорошо.
У меня есть данные поезда и метки как data.mat. (У меня есть 300 учебных данных с 30 функциями и ярлыками (-1, +1), которые сохранены в data.mat).Как тренировать/тестировать собственный набор данных в кофе?

Однако я не совсем понимаю, как я могу использовать caffe для реализации моего собственного набора данных?

Есть ли пошаговое руководство, которое может научить меня?

Большое спасибо !!!! Любой совет будет принят во внимание!

ответ

2

Я думаю, что самый прямой способ передачи данных из Matlab в caffe - через файл HDF5.

Прежде всего, сохраните свои данные в Matlab в файле HDF5, используя hdf5write. Я предполагаю, что ваши данные тренировки сохраняются в имени переменной X размера 300-по-30 и метки сохраняются в y на 300-на-1 вектор:

hdf5write('my_data.h5', '/X', 
    single(permute(reshape(X,[300, 30, 1, 1]),[4:-1:1]))); 
hdf5write('my_data.h5', '/label', 
    single(permute(reshape(y,[300, 1, 1, 1]),[4:-1:1])), 
    'WriteMode', 'append'); 

Обратите внимание, что данные хранятся в 4D array: первое измерение - это количество функций, второе - измерение функции, а последние два - 1 (без пространственных измерений). Также обратите внимание, что имена, данные для данных в HDF5, равны "X" и "label" - эти имена должны использоваться как кадры "top" уровня входных данных.

Почему permute? посмотрите пожалуйста this answer для объяснения.

Вам также необходимо подготовить текстовый файл с указанием всех файлов hdf5, которые вы используете (в вашем случае только my_data.h5). Файл /path/to/list/file.txt должен иметь одну линию

/path/to/my_data.h5

Теперь можно добавить слой ввода данных к train_val.prototxt

layer { 
    type: "HDF5Data" 
    name: "data" 
    top: "X"  # note: same name as in HDF5 
    top: "label" # 
    hdf5_data_param { 
    source: "/path/to/list/file.txt" 
    batch_size: 20 
    } 
    include { phase: TRAIN } 
} 

Для получения более подробной информации относительно уровня ввода hdf5, вы можете увидеть в this answer.

+0

Вам удалось запустить тренировку сети на MATLAB с помощью Caffe? – Royi

+0

@Drazick извините, но я не смешиваю Matlab и caffe. Интерфейс Python намного лучше – Shai

+0

Я видел, как вы ответили на множество проблемных пользователей MATLAB, поэтому я думал, что у вас есть опыт. Кажется, что интерфейс MATLAB глючит. У меня что-то работает над Command Line, но сбой MATLAB. – Royi

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

  • Нет связанных вопросов^_^