我正在使用一个名为caffe的卷积神经网络框架,它在控制台中的输出由Google-glog提供。但是,当我尝试使用以下命令将输出保存到文件时:
sh train_imagenet.sh | tee output.txt
或
sh train_imagenet.sh > output.txt
我得到一个void文件,输出不保存到文件中。所以我想知道如何检索此输出。 提前谢谢。
答案 0 :(得分:5)
在FLAGS_alsologtostderr = 1;
中使用main()
。
有关详细信息,请查看地质学doc中的Setting Flags
部分。
答案 1 :(得分:4)
我也在使用Caffe。你可以尝试
sh train_imagenet.sh 2>&1 | tee output.txt
你也可以在tee中添加选项-i来忽略Ctrl-C(它将SIGINT信号传递给train_imagenet.sh而不是tee)
sh train_imagenet.sh 2>&1 | tee -i output.txt
BTW,glog默认会将日志消息写入日志文件。日志文件提供比stdout和stderr更好的严重性级别分隔。
除非另有说明,否则glog会写入文件名“/ tmp /< program name>。< hostname>。< user name> .log。< severity level>。< date>。< time> < PID>”中 (例如,“/ tmp / hello_world.example.com.hamaji.log.INFO.20080709-222411.10474”)。
默认情况下,除日志文件外,glog还将严重级别为ERROR或FATAL的日志消息复制到标准错误(stderr)。
日志文件的位置可以通过环境变量GLOG_log_dir
或命令行标志log_dir
设置(如果安装了gflags)。有关详细信息,请参阅https://godoc.org/github.com/golang/glog。