어떻게 python 을 통 해 loss 곡선 을 그 리 는 방법

2374 단어 pythonloss곡선.
1.먼저 python 그림 의 가방 을 가 져 와 txt 파일 을 읽 습 니 다.제 가 현재 두 개의 모델 훈련 결과 가 있 는 records.txt 파일 을 가정 합 니 다.

import numpy as np
import matplotlib.pyplot as plt
import pylab as pl
from mpl_toolkits.axes_grid1.inset_locator import inset_axes
data1_loss =np.loadtxt("valid_RCSCA_records.txt") 
data2_loss = np.loadtxt("valid_SCRCA_records.txt") 
2.내 데이터 의 첫 번 째 열 은 훈련 걸음 수,두 번 째 열의 loss 이기 때문에 해당 열의 데 이 터 를 그림 의 x 와 y 로 추출 합 니 다.

x = data1_loss[:,0]
y = data1_loss[:,1]
x1 = data2_loss[:,0]
y1 = data2_loss[:,1]
3.먼저 그림 을 만 든 다음 에 이 그림 에 작은 그림 을 추가 하고 작은 그림 은 일부 확 대 된 곡선 을 나타 낸다.

fig = plt.figure(figsize = (7,5))    #figsize      `
ax1 = fig.add_subplot(1, 1, 1) # ax1      `
4.전체적인 loss 곡선 을 그립 니 다.

pl.plot(x,y,'g-',label=u'Dense_Unet(block layer=5)')`
# ‘'g‘'  “green”,          ,“-”         ,     ,label         ,           u,       ,      ,          。
p2 = pl.plot(x1, y1,'r-', label = u'RCSCA_Net')
pl.legend()
#    
p3 = pl.plot(x2,y2, 'b-', label = u'SCRCA_Net')
pl.legend()
pl.xlabel(u'iters')
pl.ylabel(u'loss')
plt.title('Compare loss for different models in training')
그림 과 같이 곡선 을 그립 니 다.

5.확 대 된 부분 곡선 보이 기

# plot the box
tx0 = 0
tx1 = 10000
#             
ty0 = 0.000
ty1 = 0.12
#             
sx = [tx0,tx1,tx1,tx0,tx0]
sy = [ty0,ty0,ty1,ty1,ty0]
pl.plot(sx,sy,"purple")
axins = inset_axes(ax1, width=1.5, height=1.5, loc='right')
#loc          ,   "lower left,lower right,upper right,upper left,upper #,center,center left,right,center right,lower center,center"
axins.plot(x1,y1 , color='red', ls='-')
axins.plot(x2,y2 , color='blue', ls='-')
axins.axis([0,20000,0.000,0.12])
plt.savefig("train_results_loss.png")
pl.show
#pl.show()   

이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기