caffe ubuntu下ctrl+C不能保存模型

来源:互联网 发布:linux 调整根目录大小 编辑:程序博客网 时间:2024/06/16 00:11

最新在ubuntu下训练caffe模型时,保存了输出日志的同时,无法使用ctrl+C保存模型,诸多不便,采用的shell命令如下:

modelroot=...log=train-`date +%Y-%m-%d-%H-%M-%S`.log./build/tools/caffe train -solver $modelroot/solver.prototxt 2>1 | tee $log $@

查阅相关资料,
问题1,找到问题2,进而找到问题3,
出现的问题为tee命令将ctrl+c可能做了转换处理,使得caffe命令无法接收到正确的中断命令。
解决的方法有:
方法1:
不使用tee命令来保存日志,生成的日志事后需要重新命名。

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

方法2:
继续使用tee命令保存日志,使用kill命令来给caffe命令发送中断命令。

kill -s SIGINT <proc_id>

倾向于第二种方法,亲测有效。

同时,在训练时加入-SIGINT_effect snapshot导致使用ctrl+c时,caffe命令不会中断,会保存模型,之后继续训练,需要使用kill proc_id来强行关闭进程。