- 在caffe框架下,对训练好的log0文件用Python中正则表达式进行匹配,提取出每一次显示的accuracy,并对其进行在Spyder中运用pyplot进行画图。
- 代码
这是拿训练数据为3000000个进行绘图的代码。每10000次显示一次,总共有300个值,我们每10个值取一次进行画图即对数据进行可视化。
import re
import string
import matplotlib.pyplot as plt
import numpy as np
if __name__=='__main__':
file=open('/home/cheam/caffe_3/log.txt','r')
display=[]
List=[]
max_iter=[]
for line in file:
m=re.search('accuracy',line)
if m:
n=re.search('[0]\.[0-9]+',line)
if n is not None:
List.append(n.group())
dis=re.match('display',line)
if dis:
d=re.search('[0-9]+',line)
if d is not None:
display.append(d.group())
max=re.match('max_iter',line)
if max:
x=re.search('[0-9]+',line)
if x is not None:
max_iter.append(x.group())
file.close()
display[0]=int(display[0])
max_iter[0]=int(max_iter[0])
max_iter[0]=max_iter[0]/display[0]
display[0]=display[0]/display[0]
count=np.linspace(10,max_iter[0],30)
accuracy=[]
for i in range(0,300):
if i%10==0:
accuracy.append(float(List[i]))
plt.plot(count,accuracy,'b*')
plt.plot(count,accuracy,'r')
plt.xlabel('count')
plt.ylabel('accuracy')
plt.title('Accuracy')
plt.legend()
plt.show()
- 绘制好的图
这是选择了其中30个点进行绘制后的图