"..\caffe.exe" train --solver=E:/caffe/caffe-master/Build/x64/Release/lenet/lenet_solver.prototxt
>./log/lenet_mnist.log 2>&1
會在log文件下生成:lenet_mnist.log.test lenet_mnist.log.train兩個文件
2、將E:\caffe\caffe-master\tools\extra目錄下的:
plot_training_log.py.example
parse_log.py
extract_seconds.py
文件拷貝到log文件下,然後重命名plot_training_log.py.example爲plot_training_log.py
3、修改plot_training_log.py
下面修改的部分是爲了和生成的文件格式對應,如下圖
3.1 修改函數load_data,分割符號爲','
def load_data(data_file, field_idx0, field_idx1): data = [[], []] line_index = 0 with open(data_file, 'r') as f: for line in f: if line_index == 0: line_index += 1 continue line = line.strip(',') if line[0] != '#': fields = line.split(',') data[0].append(float(fields[field_idx0].strip())) data[1].append(float(fields[field_idx1].strip())) return data
3.2 修改解析的文件爲python版本
def get_log_parsing_script(): dirname = os.path.dirname(os.path.abspath(inspect.getfile( inspect.currentframe()))) return dirname + '/parse_log.py'
3.3 修改執行python解析日誌文件的程序parse_log.py
def plot_chart(chart_type, path_to_png, path_to_log_list): for path_to_log in path_to_log_list: os.system('%s %s %s %s' % ('F:/wxf/Anaconda2/python.exe', get_log_parsing_script(), path_to_log, 'E:/caffe/caffe-master/Build/x64/Release/lenet/log/')) ...
然後就ok了
4、Supported chart types:
0: Test accuracy vs. Iters
1: Test accuracy vs. Seconds
2: Test loss vs. Iters
3: Test loss vs. Seconds
4: Train learning rate vs. Iters
5: Train learning rate vs. Seconds
6: Train loss vs. Iters
7: Train loss vs. Seconds
5、執行的腳本
F:\wxf\Anaconda2\python.exe plot_training_log.py 4 save.png lenet_mnist.log
lenet_mnist_dropout.log