Dibujar un diagrama del modelo de entrenamiento de ejecución en segundo plano

Si no utiliza un marco de modelo de entrenamiento visual como el tablero tensor, pero aún desea conocer el estado de los indicadores durante el proceso de entrenamiento

El siguiente código demuestra el código de visualización del entrenamiento en segundo plano de gan. Debido a que usamos directamente nohup para ejecutar sin especificar un nombre, el archivo de registro adjunto por defecto se llama nohup.out

La idea es muy simple, use regular para hacer coincidir los datos relativos y luego dibuje

El código específico es el siguiente:

import re
import matplotlib.pyplot as plt

#read log data
_data = open('nohup.out').read()
#get g_loss data
g_loss_data=re.findall("g_loss: \d+.\d+",_data)
g_loss_s=[eval(i.replace('g_loss: ',''))for i in g_loss_data]
#get d_loss data
d_loss_data=re.findall("d_loss: \d+.\d+",_data)
d_loss_s=[eval(i.replace('d_loss: ',''))for i in d_loss_data]
#get spend time data
time_data=re.findall("time: \d+.\d+",_data)
time_s=[eval(i.replace('time: ',''))for i in time_data]
x=[i+1 for i  in range(len(g_loss_s))]

plt.figure()
plt.subplot(3,1,1)
plt.xlabel("epoch") 
plt.ylabel("g_loss") 
plt.plot(x,g_loss_s)

plt.subplot(3,1,2)
plt.xlabel("epoch") 
plt.ylabel("d_loss") 
plt.plot(x,d_loss_s)

plt.subplot(3,1,3)
plt.xlabel("epoch") 
plt.ylabel("time") 
plt.plot(x,time_s)

plt.tight_layout()
plt.show()

 

Supongo que te gusta

Origin blog.csdn.net/zhou_438/article/details/111568040
Recomendado
Clasificación