020基于安全帽检测训练集编写Excel
一、
需要把YOLOv3训练的结果的各个值记录到Excel中,实现python脚本如下:
import re,xlwt
f = open("epoch.txt")
lines = f.readlines()
#新建工作簿
workbook = xlwt.Workbook(encoding='utf-8')
#新建sheet
sheet1 = workbook.add_sheet("测试表格")
#第1行第1列数据
sheet1.write(0,0,"loss")
#第1行第2列数据
sheet1.write(0,1,"yolo_layer_1_loss")
sheet1.write(0,2,"yolo_layer_2_loss")
sheet1.write(0,3,"yolo_layer_3_loss")
sheet1.write(0,4,"val_loss")
sheet1.write(0,5,"val_yolo_layer_1_loss")
sheet1.write(0,6,"val_yolo_layer_2_loss")
sheet1.write(0,7,"val_yolo_layer_3_loss")
lineNumber = 1
for line in lines:
# print(line)
values = re.findall(r"loss:\s+(\d+\.\d+)\s+\-\s+yolo_layer_1_loss: (\d+\.\d+)\s+\-\s+yolo_layer_2_loss: (\d+\.\d+)\s+\-\s+yolo_layer_3_loss: (\d+\.\d+)\s+\-\s+val_loss: (\d+\.\d+)\s+\-\s+val_yolo_layer_1_loss: (\d+\.\d+)\s+\-\s+val_yolo_layer_2_loss: (\d+\.\d+)\s+\-\s+val_yolo_layer_3_loss: (\d+\.\d+)",line)
if len(values) >= 1:
print(values)
sheet1.write(lineNumber, 0, values[0][0])
sheet1.write(lineNumber, 1, values[0][1])
sheet1.write(lineNumber, 2, values[0][2])
sheet1.write(lineNumber, 3, values[0][3])
sheet1.write(lineNumber, 4, values[0][4])
sheet1.write(lineNumber, 5, values[0][5])
sheet1.write(lineNumber, 6, values[0][6])
sheet1.write(lineNumber, 7, values[0][7])
lineNumber = lineNumber+1
f.close()
workbook.save("test.xls")
效果如下:


浙公网安备 33010602011771号