将数据从tensorboard中读出来
from tensorboard.backend.event_processing import event_accumulator
import xlsxwriter
import numpy as np
def Read_Tensorboard(path):
ea = event_accumulator.EventAccumulator(path)
ea.Reload()
print(ea.scalars.Keys())
val_dice = ea.scalars.Items("val/Dice.leakage")
val_IoU = ea.scalars.Items("val/IoU.leakage")
val_mAcc = ea.scalars.Items("val/mAcc")
learning_rate = ea.scalars.Items("learning_rate")
print(val_dice)
print(len(val_dice))
print([(i.step,i.value) for i in val_dice])
Epoch=[]
Dice=[]
IoU=[]
Acc=[]
RL=[]
for i in range(200):
print(i+1,val_dice[i].value,val_IoU[i].value,val_mAcc[i].value,learning_rate[i].value)
Epoch.append(i+1)
Dice.append(val_dice[i].value)
IoU.append(val_IoU[i].value)
Acc.append(val_mAcc[i].value)
RL.append(learning_rate[i].value)
return Epoch,Dice,IoU,Acc,RL
将数据写入excel文件当中去
def write_PR(Epoch, Dice, IoU, Acc, RL,filename):
workbook = xlsxwriter.Workbook(filename)
worksheet = workbook.add_worksheet()
worksheet.activate()
title = ['epoch','F1_score','Iou','Accuracy','learning_rate']
worksheet.write_row('A1',title)
n_row = 2
for i in range(len(Epoch)):
insertData=[Epoch[i],Dice[i],IoU[i],Acc[i],RL[i]]
row = 'A' + str(n_row)
worksheet.write_row(row, insertData)
n_row=n_row+1
workbook.close()
综合使用将tensorboard中的数据写入到excel当中去
if __name__ == '__main__':
path = r"C:\Users\Administrator\Desktop\tf_logs\events.out.tfevents.1637844270.gp-System-Product-Name.1053.0"
Epoch, Dice, IoU, Acc, RL=Read_Tensorboard(path)
print(Epoch, Dice, IoU, Acc, RL)
write_PR(Epoch, Dice, IoU, Acc, RL,'swim.xlsx')