caffe神经网络加入训练日志和画出loss曲线

1、记录训练日志
在训练过程中的命令中加入一行参数 ,实现Log日志的记录
其中目录改成自己项目的目录,这样训练结束之后,会在Log文件夹中生成每次训练的Log日志
#!/bin/bash
GLOG_logtostderr=0 GLOG_log_dir=fine-grained/Log/ caffe.bin train --solver fine-grained/solver.prototxt --weights fine-grained/bvlc_googlenet.caffemodel

2 画图
把生成的日志重命名为log.txt,用jupyter notebook画图,代码如下
import os
import sys
import numpy as np
import matplotlib.pyplot as plt
import math
import re
import pylab
from pylab import figure, show, legend
from mpl_toolkits.axes_grid1 import host_subplot

#read the log file
fp = open(‘log.txt’, ‘r’)

train_iterations = []
train_loss = []
test_iterations = []
test_accuracy = []

for ln in fp:
#get train_iterations and train_loss
if ‘] Iteration ’ in ln and ‘lr = ’ in ln:
arr = re.findall(r’ion \b\d+\b,’,ln)
train_iterations.append(int(arr[0].strip(’,’)[4:]))
if ‘iters),’ in ln and ‘loss = ’ in ln:
train_loss.append(float(ln.strip().split(’ = ‘)[-1]))
#get test_iteraitions
if ‘] Iteration’ in ln and ‘Testing net (#0)’ in ln:
arr = re.findall(r’ion \b\d+\b,’,ln)
test_iterations.append(int(arr[0].strip(’,’)[4:]))
#get test_accuracy
if ‘#8:’ in ln and ‘loss3/top-5’ in ln:
test_accuracy.append(float(ln.strip().split(’ = ')[-1]))
fp.close()

host = host_subplot(111)
plt.subplots_adjust(right=0.8) # ajust the right boundary of the plot window
par1 = host.twinx()
#set labels
host.set_xlabel(“iterations”)
host.set_ylabel(“log loss”)
par1.set_ylabel(“validation accuracy”)

#plot curves
p1, = host.plot(train_iterations, train_loss, label=“training log loss”)
p2, = par1.plot(test_iterations, test_accuracy, label=“validation accuracy”)

#set location of the legend,
#1->rightup corner, 2->leftup corner, 3->leftdown corner
#4->rightdown corner, 5->rightmid …
host.legend(loc=5)

#set label color
host.axis[“left”].label.set_color(p1.get_color())
par1.axis[“right”].label.set_color(p2.get_color())

#set the range of x axis of host and y axis of par1
host.set_xlim([-200, 5200])
par1.set_ylim([-0.1, 1.1])

plt.draw()
plt.show()
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值