¿Cómo entrenar / probar mi propio conjunto de datos en caffe?

Empecé con Caffe y el ejemplo de mnist funcionó bien.
Tengo los datos del tren y la etiqueta como data.mat . (Tengo 300 datos de entrenamiento con 30 características y las tags son (-1, +1) que se han guardado en data.mat ).

Sin embargo, no entiendo muy bien cómo puedo usar caffe para implementar mi propio conjunto de datos.

¿Hay algún tutorial paso a paso que pueda enseñarme?

¡¡¡¡Muchas gracias!!!! ¡Cualquier consejo sería apreciado!

Creo que la manera más directa de transferir datos de Matlab a caffe es a través de un archivo HDF5.

Primero, guarde sus datos en Matlab en un archivo HDF5 usando hdf5write . Supongo que sus datos de entrenamiento están almacenados en un nombre de variable X de tamaño 300 por 30 y las tags se almacenan en un vector y 300 por 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' ); 

Tenga en cuenta que los datos se guardan como una matriz 4D: la primera dimensión es el número de características, la segunda es la dimensión de la característica y las dos últimas son 1 (que no representan dimensiones espaciales). También tenga en cuenta que los nombres dados a los datos en el HDF5 son "X" y "label" : estos nombres se deben usar como los "top" blobs de la capa de datos de entrada.

¿Por qué permute ? por favor mira esta respuesta para una explicación.

También debe preparar un archivo de texto que liste los nombres de todos los archivos hdf5 que está usando (en su caso, solo my_data.h5 ). File /path/to/list/file.txt debería tener una sola línea

/path/to/my_data.h5

Ahora puede agregar una capa de datos de entrada a su 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 } } 

Para obtener más información sobre la capa de entrada hdf5, puede ver en esta respuesta .