tutorial software caffe2 machine-learning neural-network deep-learning caffe

machine-learning - software - pytorch



Entrenamiento de Caffe sin pruebas (2)

La documentación de Caffe es algo escasa en detalles. Lo que finalmente me dijeron es esta solución contraintuitiva:

En su solver.prototxt, tome las líneas para test_iter y test_interval

test_iter: 1000 test_interval: 1000

y simplemente omítales. Si desea evitar la prueba al principio, debe agregar una línea como @shai sugirió :

test_initialization: false

Estoy usando Caffe para entrenar a AlexNet en una base de datos de imágenes conocida. Estoy evaluando y quiero excluir una fase de prueba.

Aquí está el solver.prototxt para AlexNet:

net: "models/bvlc_alexnet/train_val.prototxt" test_iter: 1000 test_interval: 1000 base_lr: 0.01 lr_policy: "step" gamma: 0.1 stepsize: 100000 display: 20 max_iter: 450000 momentum: 0.9 weight_decay: 0.0005 snapshot: 10000 snapshot_prefix: "models/bvlc_alexnet/caffe_alexnet_train" solver_mode: GPU

Aunque nunca encontré un documento definitivo que detallara todas las opciones de prototxt, los comentarios dentro de los tutoriales de Caffe indican que este " test_interval " representa el número de iteraciones después del cual probamos la red entrenada.

Pensé que podría establecerlo en cero para desactivar las pruebas. Nop.

F1124 14:42:54.691428 18772 solver.cpp:140] Check failed: param_.test_interval() > 0 (0 vs. 0) *** Check failure stack trace: ***

Así que establecí el test_interval en un millón, pero aún así, por supuesto, Caffe prueba la red en la iteración cero.

I1124 14:59:12.787899 18905 solver.cpp:340] Iteration 0, Testing net (#0) I1124 14:59:15.698724 18905 solver.cpp:408] Test net output #0: accuracy = 0.003

¿Cómo desactivo las pruebas durante el entrenamiento?


Usted tiene una bandera para eso también. Añadir

test_initialization: false

Para su ''solver.prototxt'' y ha terminado;)