Red de conocimientos sobre prescripción popular - Conocimiento de las drogas - Cómo usar caffe para entrenar tu propio modelo en aprendizaje profundo

Cómo usar caffe para entrenar tu propio modelo en aprendizaje profundo

Autor: Sheng Xing

Enlace:/question/30091667/answer/47951446.

Fuente: Zhihu.

Los derechos de autor pertenecen al autor. Comuníquese con el autor para obtener autorización.

No se ha utilizado ni Matlab ni python. Si está acostumbrado a opencv, puede usar Memory_data. Consulte el ejemplo en este enlace: clasificación de imágenes en C++ usando Memory_data_param número 1443 bvlc/caffe github.

Para dar un ejemplo específico (me pregunto si el código de publicación está un poco fuera del temperamento de Zhihu), se divide en tres pasos:

El primer paso es construir un red:

Fase de enumeración p = prueba

Net & ltfloat & gtcaffe_test_net(argv[1], p

coffee_test_net. CopyTrainedLayersFrom(argv[2]);

Paso 2, construya los datos y agréguelos a la capa de entrada de la red:

//Crear datos de entrada

Vector& ltMat & gtmd _ images

Vector & ltint & gtmd _label;

//////Operaciones sobre datos de entrada

mat original = im read(" imágenes \ \ Lena _ grey . png "); // Las imágenes aleatorias no tienen ningún significado práctico y pueden ignorarse.

Mat *sub_img = new Mat

for(int I = 0;i<10;i++){

original(Range(i,i+ 28), Rango(yo, yo + 28)). copiar a(* sub _ img); // 28x28, puedes usar lenet directamente.

MD_images. push_back(* sub_img);

MD_labels(0);

}

Paso 3, realizar la operación de prueba. :

for(int I = 0;i<10;i++){

Vector constante & ltBlob & ltfloat & gt* & gt& amp results = caffe_test_net. reenviar precargado();