Desenhe um diagrama do modelo de treinamento de execução em segundo plano

Se você não usa uma estrutura de modelo de treinamento visual, como placa tensora, mas ainda deseja saber o status dos indicadores durante o processo de treinamento

O código a seguir demonstra o código de visualização do treinamento em segundo plano de gan. Como usamos diretamente nohup para executar sem especificar um nome, o arquivo de log anexado por padrão é denominado nohup.out

A ideia é muito simples, use regular para combinar os dados relativos e, em seguida, desenhe

O código específico é o seguinte:

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

 

Acho que você gosta

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