直接上代码然后注释,很容易理解:
# 先声明列表
losslist = []
#打开文件然后将数据读入lines
with open ('VGG_VOC0712_SSD_300x300.log') as lines:
flag = 0
for line in lines: # 一行一行的来
wordlist = line.split() #按照空格将每一行都分开放进woedline列表
for word in wordlist: #遍历列表中的每个单词
if(flag == 2):
flag = 0
losslist.append(float(word)) #将loss后面的数字放进losslist中,并转换成float类型的
if(flag == 1):
flag = 2
if(word == 'loss'):
flag = 1
print(losslist)
注意如果想画loss下降的图,一定将loss的值读出来之后转化成 float 类型的,不然画图会出现当做string处理的情况。