2016-02-16 12 views
5

Quando sto premendo CTRL + C nel terminale, il caffè smette di allenarsi ma non crea istantanee. Come sistemarlo? mio risolutore:Caffe non crea istantanee su SIGINT

net: "course-work/testing/model.prototxt" 
test_iter: 200 
test_interval: 500 

base_lr: 0.001 
momentum: 0.9 
weight_decay: 0.005 
lr_policy: "fixed" 

display: 50 
max_iter: 60000 

snapshot: 5000 
snapshot_format: HDF5 
snapshot_prefix: "course-work/testing/by_solver_lr0" 
snapshot_after_train: true 

solver_mode: CPU 

script Bash:

TOOLS=./build/tools 
NET_DIR=course-work/testing 

$TOOLS/caffe train \ 
    --solver=$NET_DIR/solver_lr0.prototxt 2>&1 | tee $NET_DIR/1.log 
+0

Ho avuto problemi con l'acquisizione di immagini in HDF5, provare invece l'esecuzione di snapshot su BINARYPROTO. – Shai

+1

@Shai È strano, ma quando invio SIGINT direttamente tramite 'kill -s SIGINT ', caffe fa un'istantanea. 'CTRL + C' ancora non funziona. – 0x1337

+1

è possibile che a causa della pipeline 'tee' il segnale proveniente dalla tastiera sia in qualche modo diretto a un processo diverso? – Shai

risposta

6

reindirizzare l'output del caffe attraverso tee e tubi potrebbe alterare il modo in cui le maniglie del sistema operativo e dei segnali trasferimenti ai processi. Prova a evitare | tee per assicurarti che il numero SIGINT raggiunga il caffè.

Nota che caffe tool ha due bandiere

DEFINE_string(sigint_effect, "stop", 
      "Optional; action to take when a SIGINT signal is received: " 
       "snapshot, stop or none."); 
DEFINE_string(sighup_effect, "snapshot", 
      "Optional; action to take when a SIGHUP signal is received: " 
      "snapshot, stop or none."); 

Questi flag possono aiutare a definire il comportamento di caffe su SIGINT e SIGHUP.

+0

Qual è un modo alternativo per registrare l'output? – shaunakde

+0

@shaunakde Io di solito uso 'screen' e reindirizza al file in primo piano – Shai

1

Un buon modo per accedere uscita caffe è

GLOG_log_dir=/path/to/log/dir $CAFFE_ROOT/bin/caffe.bin train 
—solver=/path/to/solver.prototxt 

Questo fa la registrazione dal vivo della produzione caffe e SIGINT raggiunge sicuramente caffe.

+0

E come risolve il problema? Che cosa significa ** GLOG_log_dir **? – caffeine

+0

Caffe utilizza Google Logging Library (GLOG), GLOG_log_dir specifica la directory per i file di registro. – curio1729