Dessinez un diagramme du modèle de formation à l'exécution en arrière-plan

Si vous n'utilisez pas de cadre de modèle d'entraînement visuel tel qu'un tableau tensoriel, mais que vous souhaitez tout de même connaître l'état des indicateurs pendant le processus d'entraînement

Le code suivant illustre le code de visualisation de l'entraînement en arrière-plan de gan. Étant donné que nous utilisons directement nohup pour s'exécuter sans spécifier de nom, le fichier journal ajouté par défaut est nommé nohup.out

L'idée est très simple, utilisez regular pour faire correspondre les données relatives, puis dessinez

Le code spécifique est le suivant:

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()

 

Je suppose que tu aimes

Origine blog.csdn.net/zhou_438/article/details/111568040
conseillé
Classement