강의영상

import torch 
import matplotlib.pyplot as plt 
torch.manual_seed(5) 
X=torch.linspace(0,1,100).reshape(100,1)
y=torch.randn(100).reshape(100,1)*0.01
plt.plot(X,y)
[<matplotlib.lines.Line2D at 0x7f6f577c6820>]

네트워크 설정, 옵티마이저, 로스

torch.manual_seed(1) # 초기가중치를 똑같이 
net=torch.nn.Sequential(
    torch.nn.Linear(in_features=1,out_features=512), 
    torch.nn.ReLU(),
    torch.nn.Linear(in_features=512,out_features=1)) 
optimizer= torch.optim.Adam(net.parameters())
loss_fn= torch.nn.MSELoss()

모형학습

for epoc in range(1000): 
    ## 1 
    yhat=net(X) 
    ## 2 
    loss=loss_fn(yhat,y) 
    ## 3 
    loss.backward()
    ## 4 
    optimizer.step()
    net.zero_grad() 
plt.plot(X,y) 
plt.plot(X,yhat.data)
[<matplotlib.lines.Line2D at 0x7f6f54ac3760>]

train / validation

X1=X[:80]
y1=y[:80]
X2=X[80:]
y2=y[80:] 
torch.manual_seed(1) 
net=torch.nn.Sequential(
    torch.nn.Linear(in_features=1,out_features=512), 
    torch.nn.ReLU(),
    torch.nn.Linear(in_features=512,out_features=1)) 
optimizer= torch.optim.Adam(net.parameters())
loss_fn= torch.nn.MSELoss()
for epoc in range(1000): 
    ## 1 
    y1hat=net(X1) 
    ## 2 
    loss=loss_fn(y1hat,y1) 
    ## 3 
    loss.backward()
    ## 4 
    optimizer.step() 
    net.zero_grad() 
plt.plot(X,y)
plt.plot(X1,net(X1).data,'--r') 
plt.plot(X2,net(X2).data,'--g') 
[<matplotlib.lines.Line2D at 0x7f6f549d9790>]

드랍아웃

X1=X[:80]
y1=y[:80]
X2=X[80:]
y2=y[80:] 
torch.manual_seed(1) 
net=torch.nn.Sequential(
    torch.nn.Linear(in_features=1,out_features=512), 
    torch.nn.ReLU(),
    torch.nn.Dropout(0.8),
    torch.nn.Linear(in_features=512,out_features=1)) 
optimizer= torch.optim.Adam(net.parameters())
loss_fn= torch.nn.MSELoss()
for epoc in range(1000): 
    ## 1 
    y1hat=net(X1) 
    ## 2 
    loss=loss_fn(y1hat,y1) 
    ## 3 
    loss.backward()
    ## 4 
    optimizer.step() 
    net.zero_grad() 
net.eval() ## 네트워크를 평가모드로 전환
plt.plot(X,y)
plt.plot(X1,net(X1).data,'--r') 
plt.plot(X2,net(X2).data,'--g') 
[<matplotlib.lines.Line2D at 0x7f6f401b5a90>]

학습과정 비교 (주의: 코드복잡함)

- 데이터 생성

torch.manual_seed(5) 
X=torch.linspace(0,1,100).reshape(100,1) 
y=torch.randn(100).reshape(100,1) 

- tr/val 분리

X_tr=X[:80]
y_tr=y[:80]
X_val=X[80:]
y_val=y[80:] 

- 네트워크, 옵티마이저, 손실함수 설정

  • 드랍아웃을 이용한 네트워트 (net2)와 그렇지 않은 네트워크 (net1)
  • 대응하는 옵티마이저 1,2 설정
  • 손실함수
torch.manual_seed(1) 
net1=torch.nn.Sequential(
    torch.nn.Linear(1,512), 
    torch.nn.ReLU(),
    torch.nn.Linear(512,1)) 
optimizer_net1 = torch.optim.Adam(net1.parameters()) 
net2=torch.nn.Sequential(
    torch.nn.Linear(1,512), 
    torch.nn.ReLU(),
    torch.nn.Dropout(0.8),
    torch.nn.Linear(512,1)) 
optimizer_net2 = torch.optim.Adam(net2.parameters())
loss_fn=torch.nn.MSELoss()
tr_loss_net1=[] 
val_loss_net1=[]
tr_loss_net2=[] 
val_loss_net2=[] 
for epoc in range(1000): 
    ## 1 
    yhat_tr_net1 = net1(X_tr) 
    ## 2 
    loss_tr = loss_fn(yhat_tr_net1, y_tr) 
    ## 3 
    loss_tr.backward() 
    ## 4 
    optimizer_net1.step()
    net1.zero_grad() 
    ## 5 기록 
    ### tr 
    tr_loss_net1.append(loss_tr.item())
    
    ### val 
    yhat_val_net1 = net1(X_val) 
    loss_val = loss_fn(yhat_val_net1,y_val) 
    val_loss_net1.append(loss_val.item())
for epoc in range(1000): 
    ## 1 
    yhat_tr_net2 = net2(X_tr) 
    ## 2 
    loss_tr = loss_fn(yhat_tr_net2, y_tr) 
    ## 3 
    loss_tr.backward() 
    ## 4 
    optimizer_net2.step()
    net2.zero_grad() 
    ## 5 기록 
    ### tr 
    net2.eval()
    tr_loss_net2.append(loss_tr.item())
    ### val 
    yhat_val_net2 = net2(X_val) 
    loss_val = loss_fn(yhat_val_net2,y_val) 
    val_loss_net2.append(loss_val.item())
    net2.train()
net2.eval() 
fig , ((ax1,ax2),(ax3,ax4)) = plt.subplots(2,2)
ax1.plot(X,y,'.');ax1.plot(X_tr,net1(X_tr).data); ax1.plot(X_val,net1(X_val).data); 
ax2.plot(X,y,'.');ax2.plot(X_tr,net2(X_tr).data); ax2.plot(X_val,net2(X_val).data); 
ax3.plot(tr_loss_net1);ax3.plot(val_loss_net1);
ax4.plot(tr_loss_net2);ax4.plot(val_loss_net2);

- 다 좋은데 코드를 짜는것이 너무 힘들다.

  • 생각해보니까 미니배치도 만들어야 함 + 미니배치를 나눈상태에서 GPU 메모리에 파라메터도 올려야함.
  • 조기종료와 같은 기능도 구현해야함 + 기타등등을 구현해야함.
  • 나중에는 학습률을 서로 다르게 돌려가며 결과도 기록해야함 $\to$ 그래야 좋은 학습률 선택가능
  • for문안에 step1~step4를 넣는것도 너무 반복작업임.
  • 등등..

- 위와 같은 것들의 특징: 머리로 상상하기는 쉽지만 실제 구현하는 것은 까다롭다.

- 사실 우리가 하고싶은것

  • 아키텍처를 설계: 데이터를 보고 맞춰서 설계해야할 때가 많음 (우리가 해야한다)
  • 손실함수: 통계학과 교수님들이 연구하심
  • 옵티마이저: 산공교수님들이 연구하심

- 제 생각

  • 기업의욕심: read-data를 분석하는 딥러닝 아키텍처 설계 $\to$ 아키텍처별로 결과를 관찰 (편하게) $\Longrightarrow$ fastai + read data
  • 학생의욕심: 그러면서도 모형이 돌아가는 원리는 아주 세밀하게 알고싶음 $\Longrightarrow$ pytorch + toy example (regression 등을 위주로)
  • 연구자의욕심: 기존의 모형을 조금 변경해서 쓰고싶음 $\Longrightarrow$ (pytorch +fastai) + any data

- tensorflow + keras vs pytorch + fastai

pytorch + fastai

- 데이터셋을 만든다.

X_tr=X[:80]
y_tr=y[:80]
X_val=X[80:]
y_val=y[80:] 
ds1=torch.utils.data.TensorDataset(X_tr,y_tr) 
ds2=torch.utils.data.TensorDataset(X_val,y_val) 

- 데이터로더를 만든다.

dl1 = torch.utils.data.DataLoader(ds1, batch_size=80) 
dl2 = torch.utils.data.DataLoader(ds2, batch_size=20) 

- 데이터로더스를 만든다.

from fastai.vision.all import * 
dls=DataLoaders(dl1,dl2) 

드랍아웃 제외버전

- 네트워크 설계 (드랍아웃 제외)

torch.manual_seed(1) 
net_fastai = torch.nn.Sequential(
    torch.nn.Linear(in_features=1, out_features=512),
    torch.nn.ReLU(),
    #torch.nn.Dropout(0.8),
    torch.nn.Linear(in_features=512, out_features=1)) 
#optimizer 
loss_fn=torch.nn.MSELoss()

- 러너오브젝트 (for문 대신돌려주는 오브젝트)

lrnr= Learner(dls,net_fastai,opt_func=Adam,loss_func=loss_fn) 

- 에폭만 설정하고 바로 학습

lrnr.fit(1000)

epoch train_loss valid_loss time
0 1.277156 0.491314 00:00
1 1.277145 0.455286 00:00
2 1.275104 0.444275 00:00
3 1.274429 0.465787 00:00
4 1.273436 0.507203 00:00
5 1.272421 0.548102 00:00
6 1.271840 0.561292 00:00
7 1.271377 0.549409 00:00
8 1.270855 0.530416 00:00
9 1.270437 0.520700 00:00
10 1.270176 0.526273 00:00
11 1.269935 0.543579 00:00
12 1.269655 0.562939 00:00
13 1.269411 0.571586 00:00
14 1.269217 0.563700 00:00
15 1.269018 0.543646 00:00
16 1.268787 0.521385 00:00
17 1.268563 0.505799 00:00
18 1.268362 0.500011 00:00
19 1.268159 0.501830 00:00
20 1.267941 0.506255 00:00
21 1.267730 0.506739 00:00
22 1.267540 0.499733 00:00
23 1.267353 0.487385 00:00
24 1.267163 0.474839 00:00
25 1.266981 0.466926 00:00
26 1.266814 0.465347 00:00
27 1.266648 0.468656 00:00
28 1.266480 0.473641 00:00
29 1.266316 0.476266 00:00
30 1.266156 0.474677 00:00
31 1.265996 0.469958 00:00
32 1.265833 0.465630 00:00
33 1.265673 0.464544 00:00
34 1.265514 0.467181 00:00
35 1.265355 0.472571 00:00
36 1.265194 0.477105 00:00
37 1.265037 0.478357 00:00
38 1.264880 0.475766 00:00
39 1.264724 0.471696 00:00
40 1.264569 0.469089 00:00
41 1.264416 0.469158 00:00
42 1.264262 0.471343 00:00
43 1.264108 0.472992 00:00
44 1.263955 0.471979 00:00
45 1.263801 0.468276 00:00
46 1.263646 0.463477 00:00
47 1.263491 0.460086 00:00
48 1.263336 0.458932 00:00
49 1.263181 0.459443 00:00
50 1.263025 0.459690 00:00
51 1.262869 0.457996 00:00
52 1.262714 0.454969 00:00
53 1.262558 0.451982 00:00
54 1.262402 0.450564 00:00
55 1.262247 0.450934 00:00
56 1.262090 0.451861 00:00
57 1.261933 0.451914 00:00
58 1.261776 0.450721 00:00
59 1.261619 0.448978 00:00
60 1.261461 0.447796 00:00
61 1.261303 0.448038 00:00
62 1.261144 0.448761 00:00
63 1.260986 0.449142 00:00
64 1.260826 0.448443 00:00
65 1.260667 0.446837 00:00
66 1.260507 0.445661 00:00
67 1.260347 0.445344 00:00
68 1.260187 0.445592 00:00
69 1.260026 0.445488 00:00
70 1.259866 0.444427 00:00
71 1.259705 0.442824 00:00
72 1.259543 0.441615 00:00
73 1.259382 0.441126 00:00
74 1.259220 0.441023 00:00
75 1.259058 0.440497 00:00
76 1.258896 0.439592 00:00
77 1.258733 0.438460 00:00
78 1.258569 0.437588 00:00
79 1.258405 0.437321 00:00
80 1.258241 0.437219 00:00
81 1.258077 0.436916 00:00
82 1.257912 0.435913 00:00
83 1.257747 0.435003 00:00
84 1.257582 0.434601 00:00
85 1.257416 0.434494 00:00
86 1.257249 0.434309 00:00
87 1.257081 0.433745 00:00
88 1.256913 0.432914 00:00
89 1.256744 0.432331 00:00
90 1.256575 0.432165 00:00
91 1.256406 0.432003 00:00
92 1.256236 0.431670 00:00
93 1.256065 0.430937 00:00
94 1.255894 0.430317 00:00
95 1.255723 0.429924 00:00
96 1.255550 0.429707 00:00
97 1.255377 0.429296 00:00
98 1.255203 0.428846 00:00
99 1.255029 0.428160 00:00
100 1.254854 0.427743 00:00
101 1.254679 0.427369 00:00
102 1.254504 0.426952 00:00
103 1.254328 0.426511 00:00
104 1.254151 0.426140 00:00
105 1.253973 0.425836 00:00
106 1.253796 0.425516 00:00
107 1.253617 0.425156 00:00
108 1.253438 0.424890 00:00
109 1.253259 0.424599 00:00
110 1.253079 0.424250 00:00
111 1.252898 0.423973 00:00
112 1.252717 0.423872 00:00
113 1.252535 0.423620 00:00
114 1.252353 0.423358 00:00
115 1.252170 0.422883 00:00
116 1.251987 0.422549 00:00
117 1.251803 0.422482 00:00
118 1.251619 0.422277 00:00
119 1.251435 0.421926 00:00
120 1.251249 0.421529 00:00
121 1.251063 0.421358 00:00
122 1.250877 0.421251 00:00
123 1.250690 0.421048 00:00
124 1.250502 0.420763 00:00
125 1.250314 0.420404 00:00
126 1.250125 0.420322 00:00
127 1.249936 0.420242 00:00
128 1.249746 0.420147 00:00
129 1.249556 0.419852 00:00
130 1.249366 0.419579 00:00
131 1.249175 0.419527 00:00
132 1.248984 0.419416 00:00
133 1.248792 0.419148 00:00
134 1.248599 0.418997 00:00
135 1.248406 0.418859 00:00
136 1.248212 0.418857 00:00
137 1.248018 0.418830 00:00
138 1.247823 0.418669 00:00
139 1.247628 0.418535 00:00
140 1.247432 0.418488 00:00
141 1.247236 0.418400 00:00
142 1.247040 0.418214 00:00
143 1.246843 0.417942 00:00
144 1.246645 0.417894 00:00
145 1.246448 0.417886 00:00
146 1.246250 0.417820 00:00
147 1.246051 0.417744 00:00
148 1.245852 0.417791 00:00
149 1.245651 0.417857 00:00
150 1.245451 0.417884 00:00
151 1.245250 0.417780 00:00
152 1.245049 0.417736 00:00
153 1.244848 0.417721 00:00
154 1.244646 0.417662 00:00
155 1.244443 0.417639 00:00
156 1.244240 0.417623 00:00
157 1.244037 0.417599 00:00
158 1.243833 0.417624 00:00
159 1.243629 0.417713 00:00
160 1.243424 0.417719 00:00
161 1.243219 0.417705 00:00
162 1.243013 0.417843 00:00
163 1.242807 0.417914 00:00
164 1.242601 0.417929 00:00
165 1.242394 0.417990 00:00
166 1.242187 0.418116 00:00
167 1.241980 0.418189 00:00
168 1.241772 0.418205 00:00
169 1.241564 0.418334 00:00
170 1.241355 0.418501 00:00
171 1.241146 0.418554 00:00
172 1.240937 0.418608 00:00
173 1.240727 0.418772 00:00
174 1.240517 0.418854 00:00
175 1.240307 0.418996 00:00
176 1.240097 0.419114 00:00
177 1.239886 0.419256 00:00
178 1.239675 0.419356 00:00
179 1.239463 0.419527 00:00
180 1.239251 0.419626 00:00
181 1.239039 0.419796 00:00
182 1.238827 0.419984 00:00
183 1.238615 0.420269 00:00
184 1.238402 0.420389 00:00
185 1.238188 0.420558 00:00
186 1.237974 0.420761 00:00
187 1.237759 0.420946 00:00
188 1.237545 0.421110 00:00
189 1.237331 0.421286 00:00
190 1.237115 0.421507 00:00
191 1.236900 0.421727 00:00
192 1.236684 0.421919 00:00
193 1.236467 0.422220 00:00
194 1.236251 0.422527 00:00
195 1.236034 0.422738 00:00
196 1.235817 0.422963 00:00
197 1.235600 0.423270 00:00
198 1.235382 0.423566 00:00
199 1.235164 0.423725 00:00
200 1.234946 0.423986 00:00
201 1.234727 0.424333 00:00
202 1.234508 0.424390 00:00
203 1.234289 0.424699 00:00
204 1.234070 0.425270 00:00
205 1.233850 0.425272 00:00
206 1.233630 0.425684 00:00
207 1.233410 0.426120 00:00
208 1.233190 0.426429 00:00
209 1.232970 0.426418 00:00
210 1.232749 0.427115 00:00
211 1.232528 0.427216 00:00
212 1.232306 0.427429 00:00
213 1.232085 0.427920 00:00
214 1.231864 0.428236 00:00
215 1.231642 0.428453 00:00
216 1.231421 0.428856 00:00
217 1.231198 0.429515 00:00
218 1.230976 0.429647 00:00
219 1.230753 0.430105 00:00
220 1.230530 0.430761 00:00
221 1.230307 0.430849 00:00
222 1.230084 0.431280 00:00
223 1.229861 0.431862 00:00
224 1.229637 0.432191 00:00
225 1.229413 0.432374 00:00
226 1.229189 0.433027 00:00
227 1.228966 0.433583 00:00
228 1.228741 0.433802 00:00
229 1.228517 0.434520 00:00
230 1.228293 0.435066 00:00
231 1.228068 0.435148 00:00
232 1.227843 0.435727 00:00
233 1.227618 0.436116 00:00
234 1.227393 0.435958 00:00
235 1.227168 0.436991 00:00
236 1.226943 0.437511 00:00
237 1.226718 0.438006 00:00
238 1.226493 0.438966 00:00
239 1.226267 0.439815 00:00
240 1.226041 0.439775 00:00
241 1.225815 0.440939 00:00
242 1.225590 0.440882 00:00
243 1.225363 0.440836 00:00
244 1.225137 0.441480 00:00
245 1.224910 0.441281 00:00
246 1.224684 0.442244 00:00
247 1.224457 0.442685 00:00
248 1.224231 0.443636 00:00
249 1.224004 0.444059 00:00
250 1.223777 0.444930 00:00
251 1.223551 0.445588 00:00
252 1.223324 0.446594 00:00
253 1.223097 0.446623 00:00
254 1.222870 0.447728 00:00
255 1.222642 0.447877 00:00
256 1.222415 0.448117 00:00
257 1.222188 0.449032 00:00
258 1.221961 0.449322 00:00
259 1.221733 0.449238 00:00
260 1.221505 0.451040 00:00
261 1.221278 0.450359 00:00
262 1.221051 0.452112 00:00
263 1.220824 0.452225 00:00
264 1.220597 0.453696 00:00
265 1.220369 0.454094 00:00
266 1.220141 0.454912 00:00
267 1.219914 0.455107 00:00
268 1.219687 0.455415 00:00
269 1.219459 0.455917 00:00
270 1.219232 0.456291 00:00
271 1.219005 0.457516 00:00
272 1.218778 0.458215 00:00
273 1.218550 0.459798 00:00
274 1.218323 0.460129 00:00
275 1.218096 0.461005 00:00
276 1.217869 0.460792 00:00
277 1.217642 0.461096 00:00
278 1.217414 0.460790 00:00
279 1.217186 0.462483 00:00
280 1.216958 0.462127 00:00
281 1.216730 0.466005 00:00
282 1.216504 0.464130 00:00
283 1.216277 0.469921 00:00
284 1.216050 0.463971 00:00
285 1.215824 0.471405 00:00
286 1.215599 0.463746 00:00
287 1.215374 0.471046 00:00
288 1.215147 0.466031 00:00
289 1.214920 0.469181 00:00
290 1.214693 0.471406 00:00
291 1.214465 0.469302 00:00
292 1.214239 0.475704 00:00
293 1.214013 0.471744 00:00
294 1.213787 0.475277 00:00
295 1.213560 0.475393 00:00
296 1.213333 0.472734 00:00
297 1.213107 0.477125 00:00
298 1.212881 0.474237 00:00
299 1.212655 0.477554 00:00
300 1.212428 0.477674 00:00
301 1.212203 0.478424 00:00
302 1.211978 0.481764 00:00
303 1.211752 0.479665 00:00
304 1.211527 0.483109 00:00
305 1.211300 0.481590 00:00
306 1.211075 0.482610 00:00
307 1.210849 0.484192 00:00
308 1.210624 0.482331 00:00
309 1.210399 0.487119 00:00
310 1.210175 0.483336 00:00
311 1.209951 0.488953 00:00
312 1.209726 0.486667 00:00
313 1.209502 0.489473 00:00
314 1.209278 0.490365 00:00
315 1.209055 0.488710 00:00
316 1.208831 0.493933 00:00
317 1.208609 0.488504 00:00
318 1.208385 0.495865 00:00
319 1.208164 0.490756 00:00
320 1.207942 0.495374 00:00
321 1.207719 0.495526 00:00
322 1.207496 0.493535 00:00
323 1.207274 0.500878 00:00
324 1.207053 0.492885 00:00
325 1.206832 0.502528 00:00
326 1.206610 0.497001 00:00
327 1.206388 0.499801 00:00
328 1.206167 0.504342 00:00
329 1.205946 0.498521 00:00
330 1.205726 0.507436 00:00
331 1.205506 0.502286 00:00
332 1.205286 0.504370 00:00
333 1.205066 0.506807 00:00
334 1.204845 0.502806 00:00
335 1.204626 0.508645 00:00
336 1.204406 0.505454 00:00
337 1.204187 0.507372 00:00
338 1.203967 0.511078 00:00
339 1.203748 0.508682 00:00
340 1.203528 0.515019 00:00
341 1.203309 0.511679 00:00
342 1.203090 0.515847 00:00
343 1.202872 0.514210 00:00
344 1.202654 0.513550 00:00
345 1.202437 0.517338 00:00
346 1.202219 0.513895 00:00
347 1.202002 0.518733 00:00
348 1.201786 0.517710 00:00
349 1.201569 0.519124 00:00
350 1.201353 0.523362 00:00
351 1.201136 0.521150 00:00
352 1.200921 0.526446 00:00
353 1.200706 0.522027 00:00
354 1.200491 0.526017 00:00
355 1.200276 0.522019 00:00
356 1.200061 0.525617 00:00
357 1.199846 0.524996 00:00
358 1.199632 0.526826 00:00
359 1.199418 0.530623 00:00
360 1.199204 0.529384 00:00
361 1.198991 0.534076 00:00
362 1.198778 0.529402 00:00
363 1.198565 0.536225 00:00
364 1.198352 0.531828 00:00
365 1.198140 0.536218 00:00
366 1.197927 0.537211 00:00
367 1.197714 0.535652 00:00
368 1.197502 0.542194 00:00
369 1.197290 0.534898 00:00
370 1.197079 0.546001 00:00
371 1.196868 0.534406 00:00
372 1.196657 0.546841 00:00
373 1.196448 0.538652 00:00
374 1.196237 0.543475 00:00
375 1.196027 0.545992 00:00
376 1.195816 0.540382 00:00
377 1.195607 0.551180 00:00
378 1.195398 0.543836 00:00
379 1.195188 0.549081 00:00
380 1.194979 0.552940 00:00
381 1.194771 0.546051 00:00
382 1.194563 0.556583 00:00
383 1.194356 0.547764 00:00
384 1.194149 0.554733 00:00
385 1.193941 0.554931 00:00
386 1.193734 0.551797 00:00
387 1.193528 0.559369 00:00
388 1.193321 0.554356 00:00
389 1.193116 0.557717 00:00
390 1.192910 0.559447 00:00
391 1.192706 0.555653 00:00
392 1.192500 0.563805 00:00
393 1.192295 0.556521 00:00
394 1.192092 0.564368 00:00
395 1.191887 0.561668 00:00
396 1.191683 0.560722 00:00
397 1.191478 0.567270 00:00
398 1.191274 0.559664 00:00
399 1.191071 0.569009 00:00
400 1.190868 0.563938 00:00
401 1.190666 0.567402 00:00
402 1.190463 0.573133 00:00
403 1.190261 0.566651 00:00
404 1.190060 0.576093 00:00
405 1.189860 0.567995 00:00
406 1.189659 0.571855 00:00
407 1.189458 0.574249 00:00
408 1.189258 0.569290 00:00
409 1.189058 0.579131 00:00
410 1.188859 0.572503 00:00
411 1.188658 0.578302 00:00
412 1.188460 0.576851 00:00
413 1.188261 0.573910 00:00
414 1.188061 0.581201 00:00
415 1.187863 0.573142 00:00
416 1.187665 0.583227 00:00
417 1.187467 0.580256 00:00
418 1.187269 0.582546 00:00
419 1.187071 0.586348 00:00
420 1.186874 0.579812 00:00
421 1.186677 0.589364 00:00
422 1.186480 0.580780 00:00
423 1.186284 0.589222 00:00
424 1.186088 0.587141 00:00
425 1.185891 0.589203 00:00
426 1.185696 0.591853 00:00
427 1.185501 0.588281 00:00
428 1.185305 0.593388 00:00
429 1.185110 0.589403 00:00
430 1.184916 0.595557 00:00
431 1.184721 0.592521 00:00
432 1.184529 0.601984 00:00
433 1.184336 0.594591 00:00
434 1.184142 0.605421 00:00
435 1.183950 0.596454 00:00
436 1.183757 0.604492 00:00
437 1.183564 0.599748 00:00
438 1.183372 0.601403 00:00
439 1.183180 0.605842 00:00
440 1.182988 0.603062 00:00
441 1.182797 0.611140 00:00
442 1.182606 0.604043 00:00
443 1.182416 0.611879 00:00
444 1.182226 0.604252 00:00
445 1.182036 0.611922 00:00
446 1.181846 0.607113 00:00
447 1.181655 0.612432 00:00
448 1.181467 0.613410 00:00
449 1.181278 0.613533 00:00
450 1.181088 0.619271 00:00
451 1.180901 0.614651 00:00
452 1.180712 0.623310 00:00
453 1.180524 0.613269 00:00
454 1.180337 0.624101 00:00
455 1.180150 0.612796 00:00
456 1.179964 0.625325 00:00
457 1.179777 0.617129 00:00
458 1.179590 0.625354 00:00
459 1.179404 0.621866 00:00
460 1.179218 0.624785 00:00
461 1.179033 0.626110 00:00
462 1.178848 0.625076 00:00
463 1.178664 0.628602 00:00
464 1.178480 0.628231 00:00
465 1.178295 0.629565 00:00
466 1.178110 0.634869 00:00
467 1.177927 0.628839 00:00
468 1.177743 0.639646 00:00
469 1.177561 0.628106 00:00
470 1.177379 0.642643 00:00
471 1.177198 0.626533 00:00
472 1.177018 0.645775 00:00
473 1.176837 0.630790 00:00
474 1.176656 0.645833 00:00
475 1.176476 0.639144 00:00
476 1.176294 0.642675 00:00
477 1.176114 0.644251 00:00
478 1.175933 0.639224 00:00
479 1.175753 0.646021 00:00
480 1.175574 0.638502 00:00
481 1.175395 0.648855 00:00
482 1.175216 0.641207 00:00
483 1.175039 0.651341 00:00
484 1.174861 0.647684 00:00
485 1.174683 0.652326 00:00
486 1.174505 0.653870 00:00
487 1.174329 0.649032 00:00
488 1.174153 0.655512 00:00
489 1.173977 0.649586 00:00
490 1.173801 0.654173 00:00
491 1.173624 0.652167 00:00
492 1.173448 0.655364 00:00
493 1.173273 0.656568 00:00
494 1.173098 0.658468 00:00
495 1.172923 0.660450 00:00
496 1.172747 0.658418 00:00
497 1.172574 0.664447 00:00
498 1.172400 0.655454 00:00
499 1.172228 0.666339 00:00
500 1.172055 0.654350 00:00
501 1.171883 0.667965 00:00
502 1.171710 0.660691 00:00
503 1.171538 0.666292 00:00
504 1.171365 0.669763 00:00
505 1.171193 0.661788 00:00
506 1.171022 0.676019 00:00
507 1.170852 0.656674 00:00
508 1.170684 0.678302 00:00
509 1.170515 0.661348 00:00
510 1.170346 0.669641 00:00
511 1.170176 0.674612 00:00
512 1.170005 0.663549 00:00
513 1.169838 0.679929 00:00
514 1.169668 0.670535 00:00
515 1.169498 0.671963 00:00
516 1.169330 0.680020 00:00
517 1.169162 0.665240 00:00
518 1.168995 0.679197 00:00
519 1.168829 0.670004 00:00
520 1.168662 0.674645 00:00
521 1.168495 0.675399 00:00
522 1.168327 0.675977 00:00
523 1.168159 0.680865 00:00
524 1.167992 0.681353 00:00
525 1.167827 0.680745 00:00
526 1.167661 0.685391 00:00
527 1.167495 0.679892 00:00
528 1.167331 0.687801 00:00
529 1.167167 0.679404 00:00
530 1.167005 0.689592 00:00
531 1.166840 0.682430 00:00
532 1.166679 0.689441 00:00
533 1.166516 0.686591 00:00
534 1.166354 0.690570 00:00
535 1.166191 0.690022 00:00
536 1.166030 0.688995 00:00
537 1.165868 0.695726 00:00
538 1.165707 0.692526 00:00
539 1.165547 0.702132 00:00
540 1.165386 0.699653 00:00
541 1.165227 0.706975 00:00
542 1.165067 0.704185 00:00
543 1.164908 0.705872 00:00
544 1.164748 0.704565 00:00
545 1.164590 0.697399 00:00
546 1.164433 0.709462 00:00
547 1.164274 0.692216 00:00
548 1.164118 0.717534 00:00
549 1.163962 0.695129 00:00
550 1.163807 0.712931 00:00
551 1.163651 0.705726 00:00
552 1.163493 0.702003 00:00
553 1.163336 0.710318 00:00
554 1.163179 0.698091 00:00
555 1.163025 0.711031 00:00
556 1.162869 0.706409 00:00
557 1.162713 0.713703 00:00
558 1.162558 0.719242 00:00
559 1.162403 0.711609 00:00
560 1.162249 0.724058 00:00
561 1.162096 0.712843 00:00
562 1.161943 0.721852 00:00
563 1.161789 0.718676 00:00
564 1.161636 0.721415 00:00
565 1.161484 0.720994 00:00
566 1.161332 0.720838 00:00
567 1.161180 0.723023 00:00
568 1.161029 0.721188 00:00
569 1.160877 0.723265 00:00
570 1.160725 0.724430 00:00
571 1.160574 0.727131 00:00
572 1.160422 0.727649 00:00
573 1.160273 0.728649 00:00
574 1.160122 0.727610 00:00
575 1.159973 0.728769 00:00
576 1.159824 0.731067 00:00
577 1.159676 0.734913 00:00
578 1.159526 0.735820 00:00
579 1.159379 0.737612 00:00
580 1.159229 0.735839 00:00
581 1.159080 0.735314 00:00
582 1.158932 0.733589 00:00
583 1.158784 0.735477 00:00
584 1.158638 0.732117 00:00
585 1.158491 0.737441 00:00
586 1.158345 0.734808 00:00
587 1.158200 0.743212 00:00
588 1.158056 0.740217 00:00
589 1.157910 0.746061 00:00
590 1.157764 0.745176 00:00
591 1.157619 0.745762 00:00
592 1.157475 0.744707 00:00
593 1.157332 0.742506 00:00
594 1.157188 0.748639 00:00
595 1.157044 0.740185 00:00
596 1.156901 0.757565 00:00
597 1.156759 0.736161 00:00
598 1.156619 0.771549 00:00
599 1.156482 0.735059 00:00
600 1.156345 0.769085 00:00
601 1.156207 0.750762 00:00
602 1.156066 0.744747 00:00
603 1.155928 0.774248 00:00
604 1.155791 0.742776 00:00
605 1.155653 0.764062 00:00
606 1.155515 0.768612 00:00
607 1.155378 0.745709 00:00
608 1.155242 0.772326 00:00
609 1.155105 0.762058 00:00
610 1.154967 0.749233 00:00
611 1.154831 0.768939 00:00
612 1.154693 0.753700 00:00
613 1.154555 0.754060 00:00
614 1.154418 0.769759 00:00
615 1.154282 0.756170 00:00
616 1.154146 0.766465 00:00
617 1.154011 0.772657 00:00
618 1.153876 0.769429 00:00
619 1.153741 0.771619 00:00
620 1.153608 0.770932 00:00
621 1.153476 0.768476 00:00
622 1.153342 0.770343 00:00
623 1.153209 0.768920 00:00
624 1.153077 0.772649 00:00
625 1.152945 0.773119 00:00
626 1.152812 0.771454 00:00
627 1.152680 0.778261 00:00
628 1.152548 0.776608 00:00
629 1.152418 0.773290 00:00
630 1.152286 0.780656 00:00
631 1.152156 0.775731 00:00
632 1.152025 0.779517 00:00
633 1.151896 0.778083 00:00
634 1.151767 0.775307 00:00
635 1.151638 0.782973 00:00
636 1.151511 0.772681 00:00
637 1.151383 0.786697 00:00
638 1.151256 0.781338 00:00
639 1.151129 0.779945 00:00
640 1.151001 0.796323 00:00
641 1.150876 0.779720 00:00
642 1.150750 0.793527 00:00
643 1.150625 0.792330 00:00
644 1.150499 0.773774 00:00
645 1.150375 0.800118 00:00
646 1.150253 0.781727 00:00
647 1.150127 0.789161 00:00
648 1.150002 0.807146 00:00
649 1.149879 0.785683 00:00
650 1.149758 0.801186 00:00
651 1.149637 0.799043 00:00
652 1.149514 0.784458 00:00
653 1.149392 0.804605 00:00
654 1.149269 0.793532 00:00
655 1.149148 0.788827 00:00
656 1.149027 0.810499 00:00
657 1.148907 0.784906 00:00
658 1.148789 0.797004 00:00
659 1.148669 0.808318 00:00
660 1.148550 0.790818 00:00
661 1.148430 0.807112 00:00
662 1.148311 0.807896 00:00
663 1.148192 0.793612 00:00
664 1.148074 0.814762 00:00
665 1.147955 0.803445 00:00
666 1.147837 0.797560 00:00
667 1.147718 0.811713 00:00
668 1.147601 0.799508 00:00
669 1.147484 0.799374 00:00
670 1.147368 0.814020 00:00
671 1.147251 0.808156 00:00
672 1.147136 0.812753 00:00
673 1.147021 0.819477 00:00
674 1.146906 0.804505 00:00
675 1.146790 0.817322 00:00
676 1.146675 0.806367 00:00
677 1.146561 0.804483 00:00
678 1.146447 0.817632 00:00
679 1.146334 0.804266 00:00
680 1.146220 0.818144 00:00
681 1.146108 0.816939 00:00
682 1.145994 0.809324 00:00
683 1.145882 0.824353 00:00
684 1.145771 0.814552 00:00
685 1.145658 0.812293 00:00
686 1.145546 0.823278 00:00
687 1.145435 0.812532 00:00
688 1.145323 0.817525 00:00
689 1.145211 0.820862 00:00
690 1.145103 0.814268 00:00
691 1.144992 0.826711 00:00
692 1.144881 0.825731 00:00
693 1.144772 0.825377 00:00
694 1.144664 0.831147 00:00
695 1.144554 0.825554 00:00
696 1.144444 0.822579 00:00
697 1.144335 0.827216 00:00
698 1.144226 0.818370 00:00
699 1.144118 0.824985 00:00
700 1.144011 0.827606 00:00
701 1.143903 0.825293 00:00
702 1.143797 0.824510 00:00
703 1.143687 0.831842 00:00
704 1.143579 0.819512 00:00
705 1.143472 0.831834 00:00
706 1.143366 0.830589 00:00
707 1.143260 0.823436 00:00
708 1.143155 0.841350 00:00
709 1.143051 0.821013 00:00
710 1.142948 0.841491 00:00
711 1.142844 0.833130 00:00
712 1.142738 0.830558 00:00
713 1.142634 0.839617 00:00
714 1.142530 0.829297 00:00
715 1.142426 0.832571 00:00
716 1.142321 0.838219 00:00
717 1.142219 0.824259 00:00
718 1.142117 0.849616 00:00
719 1.142013 0.829544 00:00
720 1.141912 0.837785 00:00
721 1.141808 0.839404 00:00
722 1.141706 0.824520 00:00
723 1.141604 0.850135 00:00
724 1.141504 0.831047 00:00
725 1.141403 0.846186 00:00
726 1.141299 0.846048 00:00
727 1.141198 0.837446 00:00
728 1.141097 0.848955 00:00
729 1.140998 0.837740 00:00
730 1.140897 0.840581 00:00
731 1.140797 0.843217 00:00
732 1.140696 0.836666 00:00
733 1.140596 0.849162 00:00
734 1.140497 0.838051 00:00
735 1.140396 0.845237 00:00
736 1.140297 0.843339 00:00
737 1.140200 0.846230 00:00
738 1.140100 0.844921 00:00
739 1.140002 0.848239 00:00
740 1.139903 0.843349 00:00
741 1.139805 0.852105 00:00
742 1.139708 0.842042 00:00
743 1.139609 0.856012 00:00
744 1.139512 0.842623 00:00
745 1.139416 0.848598 00:00
746 1.139319 0.849762 00:00
747 1.139220 0.843101 00:00
748 1.139124 0.856936 00:00
749 1.139028 0.850956 00:00
750 1.138933 0.857461 00:00
751 1.138837 0.850585 00:00
752 1.138741 0.859319 00:00
753 1.138645 0.847639 00:00
754 1.138551 0.863867 00:00
755 1.138455 0.844789 00:00
756 1.138359 0.864412 00:00
757 1.138262 0.849402 00:00
758 1.138168 0.854914 00:00
759 1.138074 0.858879 00:00
760 1.137979 0.853253 00:00
761 1.137886 0.868428 00:00
762 1.137792 0.849593 00:00
763 1.137699 0.869901 00:00
764 1.137607 0.850486 00:00
765 1.137514 0.863039 00:00
766 1.137419 0.854652 00:00
767 1.137325 0.856614 00:00
768 1.137231 0.861490 00:00
769 1.137138 0.855539 00:00
770 1.137045 0.865625 00:00
771 1.136952 0.858192 00:00
772 1.136857 0.865162 00:00
773 1.136762 0.862942 00:00
774 1.136669 0.863200 00:00
775 1.136577 0.866388 00:00
776 1.136485 0.860678 00:00
777 1.136392 0.864243 00:00
778 1.136300 0.855608 00:00
779 1.136209 0.864398 00:00
780 1.136120 0.860409 00:00
781 1.136030 0.872384 00:00
782 1.135939 0.862076 00:00
783 1.135848 0.874728 00:00
784 1.135755 0.861477 00:00
785 1.135663 0.874420 00:00
786 1.135571 0.861232 00:00
787 1.135479 0.870913 00:00
788 1.135388 0.868093 00:00
789 1.135296 0.875822 00:00
790 1.135203 0.873967 00:00
791 1.135110 0.871325 00:00
792 1.135015 0.876681 00:00
793 1.134925 0.859543 00:00
794 1.134835 0.879577 00:00
795 1.134743 0.864079 00:00
796 1.134653 0.892693 00:00
797 1.134563 0.860914 00:00
798 1.134474 0.892006 00:00
799 1.134385 0.854810 00:00
800 1.134295 0.877297 00:00
801 1.134205 0.867235 00:00
802 1.134112 0.863984 00:00
803 1.134019 0.879986 00:00
804 1.133928 0.861217 00:00
805 1.133838 0.876992 00:00
806 1.133745 0.869224 00:00
807 1.133653 0.869163 00:00
808 1.133562 0.874003 00:00
809 1.133471 0.865148 00:00
810 1.133381 0.873356 00:00
811 1.133292 0.863060 00:00
812 1.133201 0.868399 00:00
813 1.133111 0.864882 00:00
814 1.133021 0.867160 00:00
815 1.132932 0.865521 00:00
816 1.132843 0.873941 00:00
817 1.132755 0.860558 00:00
818 1.132668 0.879268 00:00
819 1.132582 0.852869 00:00
820 1.132495 0.872444 00:00
821 1.132408 0.855299 00:00
822 1.132323 0.862534 00:00
823 1.132236 0.872384 00:00
824 1.132149 0.853979 00:00
825 1.132063 0.873976 00:00
826 1.131977 0.853876 00:00
827 1.131892 0.866198 00:00
828 1.131807 0.870824 00:00
829 1.131720 0.854757 00:00
830 1.131633 0.873532 00:00
831 1.131549 0.853658 00:00
832 1.131464 0.869641 00:00
833 1.131376 0.863078 00:00
834 1.131289 0.861533 00:00
835 1.131203 0.870369 00:00
836 1.131117 0.859380 00:00
837 1.131034 0.858565 00:00
838 1.130949 0.868208 00:00
839 1.130866 0.854680 00:00
840 1.130783 0.874185 00:00
841 1.130700 0.859076 00:00
842 1.130616 0.863381 00:00
843 1.130533 0.857904 00:00
844 1.130450 0.857336 00:00
845 1.130367 0.860589 00:00
846 1.130286 0.871394 00:00
847 1.130202 0.852711 00:00
848 1.130119 0.870563 00:00
849 1.130038 0.847779 00:00
850 1.129956 0.860374 00:00
851 1.129876 0.857340 00:00
852 1.129794 0.850603 00:00
853 1.129714 0.864460 00:00
854 1.129635 0.854669 00:00
855 1.129553 0.858434 00:00
856 1.129472 0.864192 00:00
857 1.129392 0.849015 00:00
858 1.129312 0.867516 00:00
859 1.129233 0.842211 00:00
860 1.129155 0.862945 00:00
861 1.129078 0.853798 00:00
862 1.128999 0.858534 00:00
863 1.128921 0.859560 00:00
864 1.128842 0.857198 00:00
865 1.128763 0.857788 00:00
866 1.128684 0.856849 00:00
867 1.128606 0.854766 00:00
868 1.128528 0.859631 00:00
869 1.128451 0.860161 00:00
870 1.128372 0.853523 00:00
871 1.128294 0.858132 00:00
872 1.128217 0.848801 00:00
873 1.128139 0.858670 00:00
874 1.128064 0.853983 00:00
875 1.127988 0.858677 00:00
876 1.127911 0.857006 00:00
877 1.127835 0.849795 00:00
878 1.127759 0.854704 00:00
879 1.127682 0.848892 00:00
880 1.127607 0.855406 00:00
881 1.127532 0.850048 00:00
882 1.127455 0.848791 00:00
883 1.127379 0.853477 00:00
884 1.127305 0.840029 00:00
885 1.127230 0.868410 00:00
886 1.127156 0.831517 00:00
887 1.127086 0.881237 00:00
888 1.127015 0.835450 00:00
889 1.126945 0.856970 00:00
890 1.126871 0.860736 00:00
891 1.126796 0.829224 00:00
892 1.126725 0.863013 00:00
893 1.126655 0.850852 00:00
894 1.126581 0.837041 00:00
895 1.126509 0.864583 00:00
896 1.126438 0.842915 00:00
897 1.126366 0.838824 00:00
898 1.126293 0.864659 00:00
899 1.126220 0.842312 00:00
900 1.126149 0.850549 00:00
901 1.126076 0.860747 00:00
902 1.126004 0.835979 00:00
903 1.125931 0.847959 00:00
904 1.125860 0.851000 00:00
905 1.125789 0.836149 00:00
906 1.125719 0.850032 00:00
907 1.125648 0.847336 00:00
908 1.125576 0.837743 00:00
909 1.125505 0.852608 00:00
910 1.125436 0.846568 00:00
911 1.125366 0.840082 00:00
912 1.125297 0.852738 00:00
913 1.125231 0.839086 00:00
914 1.125161 0.844776 00:00
915 1.125091 0.853013 00:00
916 1.125024 0.843607 00:00
917 1.124954 0.843370 00:00
918 1.124885 0.851984 00:00
919 1.124818 0.830260 00:00
920 1.124753 0.848803 00:00
921 1.124686 0.848179 00:00
922 1.124618 0.836883 00:00
923 1.124550 0.853833 00:00
924 1.124483 0.839324 00:00
925 1.124419 0.841535 00:00
926 1.124353 0.842931 00:00
927 1.124289 0.841324 00:00
928 1.124222 0.846839 00:00
929 1.124154 0.843471 00:00
930 1.124089 0.840840 00:00
931 1.124022 0.841792 00:00
932 1.123956 0.837194 00:00
933 1.123891 0.837308 00:00
934 1.123827 0.844652 00:00
935 1.123760 0.842046 00:00
936 1.123690 0.852645 00:00
937 1.123624 0.837106 00:00
938 1.123557 0.836191 00:00
939 1.123491 0.839347 00:00
940 1.123427 0.828554 00:00
941 1.123361 0.846440 00:00
942 1.123297 0.841281 00:00
943 1.123232 0.845126 00:00
944 1.123168 0.840104 00:00
945 1.123103 0.833093 00:00
946 1.123038 0.829462 00:00
947 1.122975 0.839022 00:00
948 1.122910 0.827858 00:00
949 1.122847 0.844970 00:00
950 1.122783 0.829865 00:00
951 1.122721 0.845319 00:00
952 1.122656 0.830022 00:00
953 1.122593 0.832491 00:00
954 1.122528 0.837621 00:00
955 1.122462 0.820146 00:00
956 1.122397 0.844777 00:00
957 1.122334 0.825796 00:00
958 1.122272 0.832674 00:00
959 1.122209 0.835724 00:00
960 1.122144 0.825456 00:00
961 1.122078 0.841224 00:00
962 1.122014 0.825974 00:00
963 1.121951 0.840021 00:00
964 1.121888 0.831758 00:00
965 1.121823 0.819274 00:00
966 1.121762 0.837447 00:00
967 1.121698 0.819602 00:00
968 1.121633 0.839202 00:00
969 1.121570 0.825377 00:00
970 1.121507 0.825362 00:00
971 1.121445 0.832869 00:00
972 1.121384 0.808087 00:00
973 1.121323 0.836934 00:00
974 1.121263 0.815343 00:00
975 1.121203 0.829066 00:00
976 1.121140 0.831464 00:00
977 1.121077 0.821343 00:00
978 1.121016 0.826258 00:00
979 1.120953 0.824040 00:00
980 1.120890 0.817167 00:00
981 1.120829 0.835620 00:00
982 1.120770 0.811536 00:00
983 1.120709 0.825223 00:00
984 1.120647 0.814452 00:00
985 1.120587 0.812379 00:00
986 1.120528 0.823268 00:00
987 1.120465 0.808463 00:00
988 1.120403 0.828295 00:00
989 1.120343 0.814847 00:00
990 1.120281 0.814448 00:00
991 1.120219 0.820980 00:00
992 1.120160 0.804554 00:00
993 1.120100 0.824731 00:00
994 1.120041 0.805505 00:00
995 1.119982 0.818074 00:00
996 1.119921 0.816324 00:00
997 1.119859 0.806917 00:00
998 1.119800 0.816600 00:00
999 1.119738 0.805386 00:00

- loss들도 에폭별로 기록되어 있음

lrnr.recorder.plot_loss()

- net_fastai에도 파라메터가 업데이트 되어있음

# list(net_fastai.parameters())
  • 리스트를 확인해보면 net_fastai 의 파라메터가 알아서 GPU로 옮겨져서 학습됨.

- 플랏

net_fastai.to("cpu") 
plt.plot(X,y,'.')
plt.plot(X_tr,net_fastai(X_tr).data) 
plt.plot(X_val,net_fastai(X_val).data) 
[<matplotlib.lines.Line2D at 0x7f6e97599790>]

드랍아웃 추가버전

- 네트워크 설계 (드랍아웃 추가)

torch.manual_seed(1) 
net_fastai = torch.nn.Sequential(
    torch.nn.Linear(in_features=1, out_features=512),
    torch.nn.ReLU(),
    torch.nn.Dropout(0.8),
    torch.nn.Linear(in_features=512, out_features=1)) 
#optimizer 
loss_fn=torch.nn.MSELoss()

- 러너오브젝트 (for문 대신돌려주는 오브젝트)

lrnr= Learner(dls,net_fastai,opt_func=Adam,loss_func=loss_fn) 

- 에폭만 설정하고 바로 학습

lrnr.fit(1000)

epoch train_loss valid_loss time
0 1.585653 0.428918 00:00
1 1.552326 0.434847 00:00
2 1.568810 0.442775 00:00
3 1.543528 0.449585 00:00
4 1.562597 0.456666 00:00
5 1.523623 0.459943 00:00
6 1.506816 0.458130 00:00
7 1.510407 0.455353 00:00
8 1.532602 0.449054 00:00
9 1.528153 0.445443 00:00
10 1.518390 0.442207 00:00
11 1.508012 0.442086 00:00
12 1.498026 0.443293 00:00
13 1.502874 0.444508 00:00
14 1.502828 0.445713 00:00
15 1.496831 0.446047 00:00
16 1.483070 0.447462 00:00
17 1.496551 0.449803 00:00
18 1.482904 0.450663 00:00
19 1.471269 0.453689 00:00
20 1.467480 0.456816 00:00
21 1.457825 0.460537 00:00
22 1.450724 0.463197 00:00
23 1.445010 0.466199 00:00
24 1.441184 0.471516 00:00
25 1.436977 0.474600 00:00
26 1.431098 0.476256 00:00
27 1.423327 0.478671 00:00
28 1.416092 0.479825 00:00
29 1.414993 0.478338 00:00
30 1.421260 0.477377 00:00
31 1.413346 0.474661 00:00
32 1.417670 0.470384 00:00
33 1.412011 0.468277 00:00
34 1.414570 0.465151 00:00
35 1.416442 0.461778 00:00
36 1.410454 0.457763 00:00
37 1.405844 0.453920 00:00
38 1.405701 0.451884 00:00
39 1.405358 0.450063 00:00
40 1.402212 0.449002 00:00
41 1.403139 0.450335 00:00
42 1.403911 0.450523 00:00
43 1.397601 0.453860 00:00
44 1.399249 0.456292 00:00
45 1.395007 0.460008 00:00
46 1.391067 0.464115 00:00
47 1.387260 0.471899 00:00
48 1.390660 0.477962 00:00
49 1.391881 0.484811 00:00
50 1.390658 0.491120 00:00
51 1.390670 0.495985 00:00
52 1.391075 0.500300 00:00
53 1.392950 0.502631 00:00
54 1.394412 0.507397 00:00
55 1.393165 0.511569 00:00
56 1.392622 0.511544 00:00
57 1.388416 0.510609 00:00
58 1.389699 0.505464 00:00
59 1.388712 0.501359 00:00
60 1.390845 0.493002 00:00
61 1.389795 0.485509 00:00
62 1.388309 0.479296 00:00
63 1.385704 0.473247 00:00
64 1.381633 0.470756 00:00
65 1.379894 0.468657 00:00
66 1.377811 0.466901 00:00
67 1.373864 0.466839 00:00
68 1.373379 0.467094 00:00
69 1.373237 0.469634 00:00
70 1.371915 0.471138 00:00
71 1.374786 0.473315 00:00
72 1.375253 0.477511 00:00
73 1.373597 0.482231 00:00
74 1.370517 0.486836 00:00
75 1.368542 0.490195 00:00
76 1.366800 0.491340 00:00
77 1.365475 0.493011 00:00
78 1.364186 0.492646 00:00
79 1.362411 0.491744 00:00
80 1.363654 0.490551 00:00
81 1.364646 0.486897 00:00
82 1.363839 0.484334 00:00
83 1.360841 0.483685 00:00
84 1.357780 0.482620 00:00
85 1.354387 0.482355 00:00
86 1.354743 0.480981 00:00
87 1.352487 0.480221 00:00
88 1.350849 0.480390 00:00
89 1.347193 0.481674 00:00
90 1.348291 0.482961 00:00
91 1.348093 0.484509 00:00
92 1.349149 0.485349 00:00
93 1.347975 0.486714 00:00
94 1.348029 0.487455 00:00
95 1.347019 0.487787 00:00
96 1.347150 0.488614 00:00
97 1.346721 0.488363 00:00
98 1.346410 0.488697 00:00
99 1.344512 0.487400 00:00
100 1.342906 0.484375 00:00
101 1.342780 0.481898 00:00
102 1.341344 0.479472 00:00
103 1.341765 0.476342 00:00
104 1.342349 0.473114 00:00
105 1.340648 0.469774 00:00
106 1.338787 0.466538 00:00
107 1.337694 0.463039 00:00
108 1.336146 0.461036 00:00
109 1.335181 0.460885 00:00
110 1.335002 0.460633 00:00
111 1.333601 0.460474 00:00
112 1.332647 0.459493 00:00
113 1.332113 0.458576 00:00
114 1.331091 0.458245 00:00
115 1.331055 0.457598 00:00
116 1.329440 0.457297 00:00
117 1.329174 0.458239 00:00
118 1.328747 0.459092 00:00
119 1.328131 0.459786 00:00
120 1.327026 0.460401 00:00
121 1.324988 0.461529 00:00
122 1.325732 0.463060 00:00
123 1.324014 0.464970 00:00
124 1.324666 0.467042 00:00
125 1.323317 0.467260 00:00
126 1.321263 0.467520 00:00
127 1.321853 0.467667 00:00
128 1.319355 0.468604 00:00
129 1.318295 0.468806 00:00
130 1.319103 0.469363 00:00
131 1.318806 0.469256 00:00
132 1.319240 0.468360 00:00
133 1.319684 0.467827 00:00
134 1.319690 0.467868 00:00
135 1.318426 0.467066 00:00
136 1.318111 0.466023 00:00
137 1.319230 0.463543 00:00
138 1.319114 0.460140 00:00
139 1.317928 0.457014 00:00
140 1.317386 0.454275 00:00
141 1.317327 0.451683 00:00
142 1.314812 0.450069 00:00
143 1.314484 0.448842 00:00
144 1.314361 0.448207 00:00
145 1.312965 0.447664 00:00
146 1.312361 0.447536 00:00
147 1.310588 0.447214 00:00
148 1.311692 0.446319 00:00
149 1.309162 0.445097 00:00
150 1.308690 0.443991 00:00
151 1.309653 0.444124 00:00
152 1.308728 0.444485 00:00
153 1.309734 0.446062 00:00
154 1.309190 0.447515 00:00
155 1.310401 0.448601 00:00
156 1.310624 0.449225 00:00
157 1.311330 0.450946 00:00
158 1.311746 0.452627 00:00
159 1.311103 0.454660 00:00
160 1.310514 0.455949 00:00
161 1.311919 0.455852 00:00
162 1.312855 0.454658 00:00
163 1.313069 0.454663 00:00
164 1.311808 0.454568 00:00
165 1.310780 0.455139 00:00
166 1.310751 0.455698 00:00
167 1.310131 0.456399 00:00
168 1.310501 0.457548 00:00
169 1.308650 0.458662 00:00
170 1.307447 0.458368 00:00
171 1.306210 0.458754 00:00
172 1.306657 0.459125 00:00
173 1.305704 0.459026 00:00
174 1.305946 0.458391 00:00
175 1.305129 0.457954 00:00
176 1.305813 0.457656 00:00
177 1.304454 0.456099 00:00
178 1.304170 0.454567 00:00
179 1.303862 0.452808 00:00
180 1.303645 0.450852 00:00
181 1.304117 0.449986 00:00
182 1.306056 0.450320 00:00
183 1.306082 0.451507 00:00
184 1.306572 0.453438 00:00
185 1.307314 0.454431 00:00
186 1.307979 0.455223 00:00
187 1.308226 0.455543 00:00
188 1.307733 0.454571 00:00
189 1.306858 0.452855 00:00
190 1.306951 0.451105 00:00
191 1.307192 0.448794 00:00
192 1.306901 0.447157 00:00
193 1.306474 0.445820 00:00
194 1.306584 0.444357 00:00
195 1.305671 0.443530 00:00
196 1.305142 0.442438 00:00
197 1.305862 0.442103 00:00
198 1.305954 0.442020 00:00
199 1.306188 0.443073 00:00
200 1.305721 0.444795 00:00
201 1.304766 0.447127 00:00
202 1.304900 0.449381 00:00
203 1.304818 0.451541 00:00
204 1.303382 0.454321 00:00
205 1.303250 0.456620 00:00
206 1.301603 0.458452 00:00
207 1.300827 0.460165 00:00
208 1.300216 0.461326 00:00
209 1.299984 0.461125 00:00
210 1.299863 0.460487 00:00
211 1.299613 0.460132 00:00
212 1.298147 0.458775 00:00
213 1.297861 0.457812 00:00
214 1.297246 0.457525 00:00
215 1.297409 0.457489 00:00
216 1.296456 0.457481 00:00
217 1.295172 0.457752 00:00
218 1.294975 0.457882 00:00
219 1.295359 0.458115 00:00
220 1.295161 0.458298 00:00
221 1.295173 0.458718 00:00
222 1.294700 0.458995 00:00
223 1.294092 0.459594 00:00
224 1.294339 0.459755 00:00
225 1.294004 0.460028 00:00
226 1.293507 0.460291 00:00
227 1.293260 0.459926 00:00
228 1.293112 0.460015 00:00
229 1.293474 0.462001 00:00
230 1.293882 0.463123 00:00
231 1.293100 0.463192 00:00
232 1.294397 0.460964 00:00
233 1.293472 0.458559 00:00
234 1.292968 0.456203 00:00
235 1.291682 0.453646 00:00
236 1.290647 0.450848 00:00
237 1.290732 0.448872 00:00
238 1.291056 0.448222 00:00
239 1.291046 0.448295 00:00
240 1.290196 0.448293 00:00
241 1.290132 0.447221 00:00
242 1.290471 0.447136 00:00
243 1.290599 0.447810 00:00
244 1.291708 0.449028 00:00
245 1.291515 0.449940 00:00
246 1.292217 0.451628 00:00
247 1.292809 0.453637 00:00
248 1.291820 0.456249 00:00
249 1.290426 0.458512 00:00
250 1.289343 0.460048 00:00
251 1.289096 0.461299 00:00
252 1.288898 0.462527 00:00
253 1.288980 0.464177 00:00
254 1.289070 0.463416 00:00
255 1.290112 0.461251 00:00
256 1.288822 0.460299 00:00
257 1.288775 0.458695 00:00
258 1.288434 0.457089 00:00
259 1.287203 0.455199 00:00
260 1.287099 0.452804 00:00
261 1.287053 0.449477 00:00
262 1.286709 0.447072 00:00
263 1.286041 0.445487 00:00
264 1.285576 0.444238 00:00
265 1.284309 0.443065 00:00
266 1.283903 0.442231 00:00
267 1.283920 0.441861 00:00
268 1.283106 0.441960 00:00
269 1.283582 0.443035 00:00
270 1.282750 0.445642 00:00
271 1.283448 0.448107 00:00
272 1.282522 0.449803 00:00
273 1.281676 0.452021 00:00
274 1.281590 0.453510 00:00
275 1.282207 0.454524 00:00
276 1.281351 0.455472 00:00
277 1.281237 0.457178 00:00
278 1.282604 0.459779 00:00
279 1.281335 0.462591 00:00
280 1.280466 0.463542 00:00
281 1.281321 0.464619 00:00
282 1.280022 0.465860 00:00
283 1.279205 0.466361 00:00
284 1.278493 0.465831 00:00
285 1.278625 0.464630 00:00
286 1.277769 0.462467 00:00
287 1.278440 0.458461 00:00
288 1.277338 0.453783 00:00
289 1.276033 0.449824 00:00
290 1.276147 0.447182 00:00
291 1.277112 0.444997 00:00
292 1.277598 0.442409 00:00
293 1.278379 0.440894 00:00
294 1.278243 0.440328 00:00
295 1.277778 0.440284 00:00
296 1.279097 0.441207 00:00
297 1.279043 0.442428 00:00
298 1.279270 0.444249 00:00
299 1.278434 0.445340 00:00
300 1.278132 0.446224 00:00
301 1.277234 0.447085 00:00
302 1.275964 0.447684 00:00
303 1.274671 0.448605 00:00
304 1.275020 0.449076 00:00
305 1.273722 0.450046 00:00
306 1.274755 0.451013 00:00
307 1.275642 0.451433 00:00
308 1.275408 0.450719 00:00
309 1.273247 0.449887 00:00
310 1.272665 0.447994 00:00
311 1.273003 0.446439 00:00
312 1.273043 0.445430 00:00
313 1.273437 0.444877 00:00
314 1.273943 0.444771 00:00
315 1.274404 0.444911 00:00
316 1.275467 0.446417 00:00
317 1.276742 0.447893 00:00
318 1.276362 0.449337 00:00
319 1.275604 0.448122 00:00
320 1.276364 0.448442 00:00
321 1.276813 0.449577 00:00
322 1.276665 0.450526 00:00
323 1.277380 0.451509 00:00
324 1.276901 0.451206 00:00
325 1.276423 0.449930 00:00
326 1.275547 0.450028 00:00
327 1.275081 0.450576 00:00
328 1.274731 0.451294 00:00
329 1.273817 0.451883 00:00
330 1.273240 0.453445 00:00
331 1.274742 0.453539 00:00
332 1.274715 0.454304 00:00
333 1.275226 0.454264 00:00
334 1.274455 0.453197 00:00
335 1.275521 0.451644 00:00
336 1.275896 0.450473 00:00
337 1.275860 0.448176 00:00
338 1.276271 0.445593 00:00
339 1.276003 0.442808 00:00
340 1.275415 0.440202 00:00
341 1.276127 0.439005 00:00
342 1.275972 0.439031 00:00
343 1.276569 0.440024 00:00
344 1.276008 0.441973 00:00
345 1.275777 0.443781 00:00
346 1.276256 0.444582 00:00
347 1.277215 0.446039 00:00
348 1.276950 0.448173 00:00
349 1.277574 0.449313 00:00
350 1.278115 0.451054 00:00
351 1.277225 0.451989 00:00
352 1.276574 0.453221 00:00
353 1.275585 0.455469 00:00
354 1.274473 0.456068 00:00
355 1.274140 0.454947 00:00
356 1.274698 0.453422 00:00
357 1.275622 0.452169 00:00
358 1.274646 0.450625 00:00
359 1.274767 0.448509 00:00
360 1.273904 0.446711 00:00
361 1.273652 0.446107 00:00
362 1.274045 0.444572 00:00
363 1.273152 0.444826 00:00
364 1.273077 0.444667 00:00
365 1.273546 0.444369 00:00
366 1.273254 0.444090 00:00
367 1.272072 0.444427 00:00
368 1.272523 0.443745 00:00
369 1.272367 0.442162 00:00
370 1.271725 0.441402 00:00
371 1.272233 0.440817 00:00
372 1.272786 0.439909 00:00
373 1.271984 0.440383 00:00
374 1.271438 0.440969 00:00
375 1.272087 0.442260 00:00
376 1.272138 0.443744 00:00
377 1.272306 0.444796 00:00
378 1.272574 0.445221 00:00
379 1.271547 0.446293 00:00
380 1.272340 0.447935 00:00
381 1.273058 0.450134 00:00
382 1.271911 0.451785 00:00
383 1.272952 0.451823 00:00
384 1.273204 0.451018 00:00
385 1.273335 0.449144 00:00
386 1.273633 0.447319 00:00
387 1.272399 0.445352 00:00
388 1.273201 0.442943 00:00
389 1.273329 0.441387 00:00
390 1.272785 0.439546 00:00
391 1.272634 0.438152 00:00
392 1.273203 0.437551 00:00
393 1.272129 0.437695 00:00
394 1.272987 0.437749 00:00
395 1.273840 0.438374 00:00
396 1.274974 0.439188 00:00
397 1.274619 0.439760 00:00
398 1.274106 0.440300 00:00
399 1.275277 0.439990 00:00
400 1.274680 0.440262 00:00
401 1.273695 0.440013 00:00
402 1.273230 0.438968 00:00
403 1.274377 0.438218 00:00
404 1.273531 0.437817 00:00
405 1.273620 0.437358 00:00
406 1.274253 0.436352 00:00
407 1.273771 0.435403 00:00
408 1.274173 0.434409 00:00
409 1.273501 0.433826 00:00
410 1.272775 0.433587 00:00
411 1.272508 0.433174 00:00
412 1.272207 0.433707 00:00
413 1.272272 0.432533 00:00
414 1.270983 0.430747 00:00
415 1.272038 0.430000 00:00
416 1.272086 0.429125 00:00
417 1.272821 0.428850 00:00
418 1.275159 0.429375 00:00
419 1.275083 0.430764 00:00
420 1.275092 0.432337 00:00
421 1.275982 0.434301 00:00
422 1.277127 0.436355 00:00
423 1.276631 0.437124 00:00
424 1.277536 0.438619 00:00
425 1.278441 0.439234 00:00
426 1.278212 0.440093 00:00
427 1.277422 0.440520 00:00
428 1.277893 0.440671 00:00
429 1.277012 0.441104 00:00
430 1.277210 0.440731 00:00
431 1.277056 0.440195 00:00
432 1.277160 0.439098 00:00
433 1.275968 0.438190 00:00
434 1.276130 0.438161 00:00
435 1.276159 0.438568 00:00
436 1.276241 0.439068 00:00
437 1.276820 0.439943 00:00
438 1.277444 0.440092 00:00
439 1.278074 0.439790 00:00
440 1.277538 0.438365 00:00
441 1.277257 0.437584 00:00
442 1.277888 0.436489 00:00
443 1.278054 0.434792 00:00
444 1.278555 0.433272 00:00
445 1.279170 0.432295 00:00
446 1.278721 0.431552 00:00
447 1.278934 0.431901 00:00
448 1.277781 0.431983 00:00
449 1.277620 0.431903 00:00
450 1.276831 0.431084 00:00
451 1.278341 0.430876 00:00
452 1.278537 0.430516 00:00
453 1.278312 0.430885 00:00
454 1.277749 0.431847 00:00
455 1.277967 0.433086 00:00
456 1.279019 0.434217 00:00
457 1.278405 0.435246 00:00
458 1.276616 0.435867 00:00
459 1.276845 0.436367 00:00
460 1.276245 0.437179 00:00
461 1.276377 0.437631 00:00
462 1.275729 0.437897 00:00
463 1.275049 0.437593 00:00
464 1.274093 0.437167 00:00
465 1.274474 0.436689 00:00
466 1.273303 0.435666 00:00
467 1.273551 0.434357 00:00
468 1.273654 0.433674 00:00
469 1.272847 0.433034 00:00
470 1.272470 0.432354 00:00
471 1.273049 0.430940 00:00
472 1.273412 0.429604 00:00
473 1.274610 0.428852 00:00
474 1.276161 0.429082 00:00
475 1.275439 0.428738 00:00
476 1.274739 0.428162 00:00
477 1.274575 0.427499 00:00
478 1.275174 0.427339 00:00
479 1.275595 0.426646 00:00
480 1.276064 0.426061 00:00
481 1.276235 0.424929 00:00
482 1.275934 0.424200 00:00
483 1.276362 0.423808 00:00
484 1.276524 0.424820 00:00
485 1.276920 0.425996 00:00
486 1.276008 0.427552 00:00
487 1.274912 0.428545 00:00
488 1.274581 0.429348 00:00
489 1.274183 0.431096 00:00
490 1.273627 0.432854 00:00
491 1.273392 0.434724 00:00
492 1.273660 0.435406 00:00
493 1.273633 0.435743 00:00
494 1.273769 0.435733 00:00
495 1.273898 0.436706 00:00
496 1.274712 0.436547 00:00
497 1.274073 0.436535 00:00
498 1.274464 0.434684 00:00
499 1.275774 0.433847 00:00
500 1.275434 0.432312 00:00
501 1.276005 0.430961 00:00
502 1.276263 0.429916 00:00
503 1.276386 0.428123 00:00
504 1.276625 0.426779 00:00
505 1.276000 0.426228 00:00
506 1.276098 0.426629 00:00
507 1.275080 0.427692 00:00
508 1.276389 0.429098 00:00
509 1.276054 0.430441 00:00
510 1.276090 0.431519 00:00
511 1.277127 0.431709 00:00
512 1.275999 0.430938 00:00
513 1.275098 0.429506 00:00
514 1.274982 0.428591 00:00
515 1.275020 0.427200 00:00
516 1.275092 0.425872 00:00
517 1.275181 0.425218 00:00
518 1.274409 0.425431 00:00
519 1.273774 0.426154 00:00
520 1.273251 0.427530 00:00
521 1.273064 0.428511 00:00
522 1.272297 0.428650 00:00
523 1.273507 0.428638 00:00
524 1.274507 0.428892 00:00
525 1.273970 0.428889 00:00
526 1.273723 0.428849 00:00
527 1.272689 0.428296 00:00
528 1.272379 0.427938 00:00
529 1.272426 0.427906 00:00
530 1.273074 0.427478 00:00
531 1.274464 0.426175 00:00
532 1.273956 0.425247 00:00
533 1.273496 0.424632 00:00
534 1.275143 0.424236 00:00
535 1.274747 0.423956 00:00
536 1.274909 0.423830 00:00
537 1.275073 0.424100 00:00
538 1.274790 0.424781 00:00
539 1.275067 0.425287 00:00
540 1.275010 0.426386 00:00
541 1.274618 0.427106 00:00
542 1.275144 0.427581 00:00
543 1.274356 0.428153 00:00
544 1.273233 0.428155 00:00
545 1.273547 0.428011 00:00
546 1.274343 0.428156 00:00
547 1.274296 0.428199 00:00
548 1.274896 0.427674 00:00
549 1.274976 0.427745 00:00
550 1.275443 0.427095 00:00
551 1.274795 0.427033 00:00
552 1.274088 0.427260 00:00
553 1.273752 0.427573 00:00
554 1.274754 0.427670 00:00
555 1.275949 0.426888 00:00
556 1.274297 0.426433 00:00
557 1.275470 0.426053 00:00
558 1.274680 0.425830 00:00
559 1.274346 0.425301 00:00
560 1.273932 0.424736 00:00
561 1.274718 0.424207 00:00
562 1.275055 0.423615 00:00
563 1.275564 0.422614 00:00
564 1.274421 0.421938 00:00
565 1.274623 0.420876 00:00
566 1.275101 0.420440 00:00
567 1.274939 0.419782 00:00
568 1.277139 0.419721 00:00
569 1.276942 0.419491 00:00
570 1.277254 0.419328 00:00
571 1.277496 0.419572 00:00
572 1.277800 0.419524 00:00
573 1.278063 0.419531 00:00
574 1.278172 0.419504 00:00
575 1.277929 0.419522 00:00
576 1.278976 0.420401 00:00
577 1.278951 0.421076 00:00
578 1.278936 0.421937 00:00
579 1.278026 0.423059 00:00
580 1.277990 0.424050 00:00
581 1.276585 0.425667 00:00
582 1.277262 0.427236 00:00
583 1.277856 0.429521 00:00
584 1.277002 0.431666 00:00
585 1.276585 0.433043 00:00
586 1.275947 0.434727 00:00
587 1.276059 0.434814 00:00
588 1.275011 0.434035 00:00
589 1.275316 0.433805 00:00
590 1.273905 0.433547 00:00
591 1.274180 0.433468 00:00
592 1.273776 0.434108 00:00
593 1.273625 0.433555 00:00
594 1.273317 0.432648 00:00
595 1.273115 0.431505 00:00
596 1.273500 0.430341 00:00
597 1.272781 0.429411 00:00
598 1.272768 0.428744 00:00
599 1.273141 0.428526 00:00
600 1.273931 0.427831 00:00
601 1.275229 0.426826 00:00
602 1.274655 0.426430 00:00
603 1.272770 0.426874 00:00
604 1.272791 0.427310 00:00
605 1.271165 0.428531 00:00
606 1.271338 0.429936 00:00
607 1.271789 0.431701 00:00
608 1.271045 0.433470 00:00
609 1.270696 0.436342 00:00
610 1.270494 0.440009 00:00
611 1.270100 0.443815 00:00
612 1.271096 0.448296 00:00
613 1.271580 0.451146 00:00
614 1.271622 0.452940 00:00
615 1.270776 0.454178 00:00
616 1.271864 0.454249 00:00
617 1.272289 0.453211 00:00
618 1.271519 0.450951 00:00
619 1.271598 0.448288 00:00
620 1.271333 0.446460 00:00
621 1.272216 0.444449 00:00
622 1.272854 0.442452 00:00
623 1.272062 0.440141 00:00
624 1.271588 0.437873 00:00
625 1.272496 0.434874 00:00
626 1.271760 0.432556 00:00
627 1.270994 0.429463 00:00
628 1.271371 0.426620 00:00
629 1.270853 0.423774 00:00
630 1.271135 0.421211 00:00
631 1.271780 0.418900 00:00
632 1.273019 0.417591 00:00
633 1.273753 0.416858 00:00
634 1.273858 0.416354 00:00
635 1.274122 0.416114 00:00
636 1.273795 0.415861 00:00
637 1.273036 0.415816 00:00
638 1.272659 0.415706 00:00
639 1.272024 0.416092 00:00
640 1.271669 0.416561 00:00
641 1.272170 0.417270 00:00
642 1.271865 0.418099 00:00
643 1.271565 0.418794 00:00
644 1.271142 0.419647 00:00
645 1.270977 0.420059 00:00
646 1.271979 0.420416 00:00
647 1.271217 0.420808 00:00
648 1.271259 0.420767 00:00
649 1.272616 0.421066 00:00
650 1.272668 0.421125 00:00
651 1.271993 0.421768 00:00
652 1.272138 0.422897 00:00
653 1.271592 0.424054 00:00
654 1.272083 0.424093 00:00
655 1.272030 0.423063 00:00
656 1.272285 0.422795 00:00
657 1.271673 0.422893 00:00
658 1.273349 0.423128 00:00
659 1.272597 0.423218 00:00
660 1.273699 0.422960 00:00
661 1.273885 0.422069 00:00
662 1.273517 0.421062 00:00
663 1.273089 0.420342 00:00
664 1.272442 0.419972 00:00
665 1.271361 0.419623 00:00
666 1.271217 0.419438 00:00
667 1.269993 0.418890 00:00
668 1.269655 0.418299 00:00
669 1.269194 0.417920 00:00
670 1.268759 0.417905 00:00
671 1.268955 0.418348 00:00
672 1.268707 0.418749 00:00
673 1.268654 0.419811 00:00
674 1.268233 0.421045 00:00
675 1.267636 0.422275 00:00
676 1.266986 0.423477 00:00
677 1.267742 0.424165 00:00
678 1.268641 0.425028 00:00
679 1.269050 0.425611 00:00
680 1.269403 0.426467 00:00
681 1.269091 0.427412 00:00
682 1.267687 0.427905 00:00
683 1.267508 0.428243 00:00
684 1.267759 0.428193 00:00
685 1.268438 0.427318 00:00
686 1.268508 0.426198 00:00
687 1.268796 0.424193 00:00
688 1.270079 0.422683 00:00
689 1.269907 0.421311 00:00
690 1.270103 0.420022 00:00
691 1.270363 0.418645 00:00
692 1.270039 0.417788 00:00
693 1.268653 0.417462 00:00
694 1.269908 0.417718 00:00
695 1.270578 0.418532 00:00
696 1.272404 0.419070 00:00
697 1.272347 0.419774 00:00
698 1.272877 0.420794 00:00
699 1.272881 0.422011 00:00
700 1.273312 0.422206 00:00
701 1.273033 0.422188 00:00
702 1.273083 0.421894 00:00
703 1.273080 0.421378 00:00
704 1.272576 0.420984 00:00
705 1.272601 0.421140 00:00
706 1.273961 0.420833 00:00
707 1.273515 0.420523 00:00
708 1.274026 0.420280 00:00
709 1.274152 0.420168 00:00
710 1.274102 0.420034 00:00
711 1.274381 0.419448 00:00
712 1.273970 0.419314 00:00
713 1.273785 0.419432 00:00
714 1.273130 0.420306 00:00
715 1.272942 0.421600 00:00
716 1.271915 0.422970 00:00
717 1.272500 0.424144 00:00
718 1.273117 0.424586 00:00
719 1.272259 0.424356 00:00
720 1.272185 0.424843 00:00
721 1.271772 0.425027 00:00
722 1.272063 0.424572 00:00
723 1.272277 0.424014 00:00
724 1.272755 0.423677 00:00
725 1.273820 0.423826 00:00
726 1.272688 0.423843 00:00
727 1.272453 0.423943 00:00
728 1.272389 0.423767 00:00
729 1.273391 0.422945 00:00
730 1.274099 0.421896 00:00
731 1.273512 0.421346 00:00
732 1.273110 0.420953 00:00
733 1.272611 0.420504 00:00
734 1.272441 0.420577 00:00
735 1.271951 0.420622 00:00
736 1.272573 0.420336 00:00
737 1.273750 0.420125 00:00
738 1.273916 0.420273 00:00
739 1.273587 0.420420 00:00
740 1.272597 0.420556 00:00
741 1.271311 0.420938 00:00
742 1.271327 0.421636 00:00
743 1.271217 0.422211 00:00
744 1.270743 0.422670 00:00
745 1.269524 0.423153 00:00
746 1.269111 0.424199 00:00
747 1.268074 0.425692 00:00
748 1.267374 0.427448 00:00
749 1.267113 0.429417 00:00
750 1.267896 0.430464 00:00
751 1.268472 0.431497 00:00
752 1.268011 0.432597 00:00
753 1.269007 0.433072 00:00
754 1.269112 0.433196 00:00
755 1.269770 0.432484 00:00
756 1.268727 0.431110 00:00
757 1.268470 0.429870 00:00
758 1.269278 0.428116 00:00
759 1.271361 0.426084 00:00
760 1.271295 0.423985 00:00
761 1.271353 0.422090 00:00
762 1.271455 0.420591 00:00
763 1.271541 0.419276 00:00
764 1.270986 0.418833 00:00
765 1.270825 0.418824 00:00
766 1.271915 0.419237 00:00
767 1.272922 0.419968 00:00
768 1.272471 0.420297 00:00
769 1.271821 0.420603 00:00
770 1.271629 0.420768 00:00
771 1.271662 0.421128 00:00
772 1.271456 0.420679 00:00
773 1.272750 0.420017 00:00
774 1.272356 0.419447 00:00
775 1.271295 0.418807 00:00
776 1.270830 0.418076 00:00
777 1.270880 0.417508 00:00
778 1.271060 0.416982 00:00
779 1.271104 0.416521 00:00
780 1.271205 0.416082 00:00
781 1.271225 0.415755 00:00
782 1.271719 0.415308 00:00
783 1.271368 0.415058 00:00
784 1.271442 0.415001 00:00
785 1.271936 0.415055 00:00
786 1.271050 0.415188 00:00
787 1.270609 0.415531 00:00
788 1.270226 0.416277 00:00
789 1.270020 0.417182 00:00
790 1.269789 0.418029 00:00
791 1.270137 0.419041 00:00
792 1.270787 0.419907 00:00
793 1.270613 0.420784 00:00
794 1.270307 0.421787 00:00
795 1.269954 0.422248 00:00
796 1.269829 0.422456 00:00
797 1.270144 0.422551 00:00
798 1.270793 0.423193 00:00
799 1.271784 0.423621 00:00
800 1.271582 0.424397 00:00
801 1.271562 0.424124 00:00
802 1.270906 0.423450 00:00
803 1.272054 0.422543 00:00
804 1.271724 0.421719 00:00
805 1.271206 0.421711 00:00
806 1.270157 0.421347 00:00
807 1.268690 0.421744 00:00
808 1.269302 0.422830 00:00
809 1.269266 0.424024 00:00
810 1.268813 0.424388 00:00
811 1.269285 0.424709 00:00
812 1.269601 0.425397 00:00
813 1.269884 0.425630 00:00
814 1.269699 0.426112 00:00
815 1.269061 0.426136 00:00
816 1.268275 0.425682 00:00
817 1.268811 0.425237 00:00
818 1.267624 0.424938 00:00
819 1.267843 0.424417 00:00
820 1.267787 0.423493 00:00
821 1.268056 0.422811 00:00
822 1.268793 0.422338 00:00
823 1.269565 0.421562 00:00
824 1.269217 0.421185 00:00
825 1.268815 0.421531 00:00
826 1.268254 0.421782 00:00
827 1.267708 0.422387 00:00
828 1.267267 0.422830 00:00
829 1.267699 0.423381 00:00
830 1.268082 0.424316 00:00
831 1.269389 0.424898 00:00
832 1.270597 0.425325 00:00
833 1.270172 0.425304 00:00
834 1.271292 0.424949 00:00
835 1.272409 0.425245 00:00
836 1.272232 0.425594 00:00
837 1.272535 0.426534 00:00
838 1.272956 0.427575 00:00
839 1.271954 0.429451 00:00
840 1.272637 0.431023 00:00
841 1.273308 0.432484 00:00
842 1.274460 0.433855 00:00
843 1.274670 0.434733 00:00
844 1.274493 0.434891 00:00
845 1.273065 0.434844 00:00
846 1.273523 0.433179 00:00
847 1.273709 0.431525 00:00
848 1.272139 0.430383 00:00
849 1.271468 0.429011 00:00
850 1.272084 0.427564 00:00
851 1.271823 0.426059 00:00
852 1.272588 0.424455 00:00
853 1.272524 0.423188 00:00
854 1.273265 0.422436 00:00
855 1.272757 0.421354 00:00
856 1.271702 0.420359 00:00
857 1.272387 0.419776 00:00
858 1.273033 0.419270 00:00
859 1.273170 0.419229 00:00
860 1.272661 0.419336 00:00
861 1.271850 0.419764 00:00
862 1.271725 0.420668 00:00
863 1.272077 0.421613 00:00
864 1.271688 0.422072 00:00
865 1.272325 0.422564 00:00
866 1.272381 0.422797 00:00
867 1.273450 0.423622 00:00
868 1.273376 0.424079 00:00
869 1.273843 0.424435 00:00
870 1.273430 0.424200 00:00
871 1.273257 0.424379 00:00
872 1.272924 0.423945 00:00
873 1.272440 0.423741 00:00
874 1.271832 0.424008 00:00
875 1.271346 0.424027 00:00
876 1.270279 0.424191 00:00
877 1.271330 0.424767 00:00
878 1.272347 0.424582 00:00
879 1.271782 0.424495 00:00
880 1.270341 0.423923 00:00
881 1.270595 0.423531 00:00
882 1.270957 0.423210 00:00
883 1.270394 0.422807 00:00
884 1.270517 0.422459 00:00
885 1.271277 0.422543 00:00
886 1.272307 0.422034 00:00
887 1.272899 0.420725 00:00
888 1.271770 0.419568 00:00
889 1.271013 0.419065 00:00
890 1.271375 0.418563 00:00
891 1.271399 0.417978 00:00
892 1.269894 0.417693 00:00
893 1.269401 0.417770 00:00
894 1.270070 0.418011 00:00
895 1.271703 0.418210 00:00
896 1.270701 0.417986 00:00
897 1.270333 0.418393 00:00
898 1.270212 0.418955 00:00
899 1.269930 0.419543 00:00
900 1.269447 0.420885 00:00
901 1.269472 0.422435 00:00
902 1.270327 0.424117 00:00
903 1.269371 0.425407 00:00
904 1.269742 0.427297 00:00
905 1.269597 0.428427 00:00
906 1.269879 0.428448 00:00
907 1.268686 0.427980 00:00
908 1.268300 0.427277 00:00
909 1.268517 0.426578 00:00
910 1.270159 0.425584 00:00
911 1.269550 0.424793 00:00
912 1.269740 0.423792 00:00
913 1.269372 0.422663 00:00
914 1.270665 0.421337 00:00
915 1.271434 0.419985 00:00
916 1.271421 0.418839 00:00
917 1.270465 0.418105 00:00
918 1.269036 0.417136 00:00
919 1.267547 0.416472 00:00
920 1.266729 0.416265 00:00
921 1.267774 0.416307 00:00
922 1.267467 0.416354 00:00
923 1.266899 0.416285 00:00
924 1.266400 0.416102 00:00
925 1.266270 0.416197 00:00
926 1.267540 0.416471 00:00
927 1.267549 0.416598 00:00
928 1.267579 0.417045 00:00
929 1.267099 0.417216 00:00
930 1.267423 0.417131 00:00
931 1.266348 0.417050 00:00
932 1.266774 0.416642 00:00
933 1.267326 0.416432 00:00
934 1.268196 0.416297 00:00
935 1.268687 0.416261 00:00
936 1.268104 0.416380 00:00
937 1.267747 0.416236 00:00
938 1.267965 0.416246 00:00
939 1.267852 0.416088 00:00
940 1.267749 0.416140 00:00
941 1.267872 0.415994 00:00
942 1.268932 0.415794 00:00
943 1.268650 0.415612 00:00
944 1.268238 0.415426 00:00
945 1.268917 0.415220 00:00
946 1.269694 0.415236 00:00
947 1.268451 0.415348 00:00
948 1.269323 0.415505 00:00
949 1.269393 0.415677 00:00
950 1.269968 0.415693 00:00
951 1.270348 0.415737 00:00
952 1.269088 0.415885 00:00
953 1.269453 0.416111 00:00
954 1.268461 0.416437 00:00
955 1.268772 0.416775 00:00
956 1.267800 0.416897 00:00
957 1.267764 0.416881 00:00
958 1.267281 0.416874 00:00
959 1.267384 0.416768 00:00
960 1.265235 0.416502 00:00
961 1.264060 0.415914 00:00
962 1.264244 0.415704 00:00
963 1.264464 0.415380 00:00
964 1.264683 0.414916 00:00
965 1.263351 0.414535 00:00
966 1.262699 0.414396 00:00
967 1.263175 0.414138 00:00
968 1.264636 0.414032 00:00
969 1.265427 0.414129 00:00
970 1.263703 0.414361 00:00
971 1.264736 0.414615 00:00
972 1.265115 0.414957 00:00
973 1.265979 0.415205 00:00
974 1.265494 0.415441 00:00
975 1.264690 0.415604 00:00
976 1.263579 0.415683 00:00
977 1.263605 0.415899 00:00
978 1.264619 0.415924 00:00
979 1.264595 0.416032 00:00
980 1.263995 0.416174 00:00
981 1.265043 0.416207 00:00
982 1.264780 0.416322 00:00
983 1.264264 0.416483 00:00
984 1.264869 0.416668 00:00
985 1.265409 0.417176 00:00
986 1.265599 0.417357 00:00
987 1.265436 0.417462 00:00
988 1.266293 0.417758 00:00
989 1.264438 0.417809 00:00
990 1.264117 0.418057 00:00
991 1.263802 0.417804 00:00
992 1.264000 0.417707 00:00
993 1.264081 0.417715 00:00
994 1.264172 0.417634 00:00
995 1.265378 0.417668 00:00
996 1.265913 0.417539 00:00
997 1.266175 0.417496 00:00
998 1.265986 0.417067 00:00
999 1.266017 0.416893 00:00

- loss들도 에폭별로 기록되어 있음

lrnr.recorder.plot_loss()

- net_fastai에도 파라메터가 업데이트 되어있음

 
  • 리스트를 확인해보면 net_fastai 의 파라메터가 알아서 GPU로 옮겨져서 학습됨.

- 플랏

net_fastai.to("cpu") 
plt.plot(X,y,'.')
plt.plot(X_tr,net_fastai(X_tr).data) 
plt.plot(X_val,net_fastai(X_val).data) 
[<matplotlib.lines.Line2D at 0x7f6e94e31640>]

CPU vs GPU 시간비교

import time 

CPU (512)

torch.manual_seed(5) 
X=torch.linspace(0,1,100).reshape(100,1)
y=torch.randn(100).reshape(100,1)*0.01
torch.manual_seed(1) # 초기가중치를 똑같이 
net=torch.nn.Sequential(
    torch.nn.Linear(in_features=1,out_features=512), 
    torch.nn.ReLU(),
    torch.nn.Linear(in_features=512,out_features=1)) 
optimizer= torch.optim.Adam(net.parameters())
loss_fn= torch.nn.MSELoss()
t1=time.time()
for epoc in range(1000): 
    ## 1 
    yhat=net(X) 
    ## 2 
    loss=loss_fn(yhat,y) 
    ## 3 
    loss.backward()
    ## 4 
    optimizer.step()
    net.zero_grad() 
t2=time.time()    
t2-t1
0.6667273044586182

GPU (512)

torch.manual_seed(5) 
X=torch.linspace(0,1,100).reshape(100,1)
y=torch.randn(100).reshape(100,1)*0.01
torch.manual_seed(1) # 초기가중치를 똑같이 
net=torch.nn.Sequential(
    torch.nn.Linear(in_features=1,out_features=512), 
    torch.nn.ReLU(),
    torch.nn.Linear(in_features=512,out_features=1)) 
net.to("cuda:0")
X=X.to("cuda:0")
y=y.to("cuda:0")
optimizer= torch.optim.Adam(net.parameters())
loss_fn= torch.nn.MSELoss()
t1=time.time()
for epoc in range(1000): 
    ## 1 
    yhat=net(X) 
    ## 2 
    loss=loss_fn(yhat,y) 
    ## 3 
    loss.backward()
    ## 4 
    optimizer.step()
    net.zero_grad() 
t2=time.time()    
t2-t1
2.074880838394165

- ?? CPU가 더 빠르다!!

CPU (20480)

torch.manual_seed(5) 
X=torch.linspace(0,1,100).reshape(100,1)
y=torch.randn(100).reshape(100,1)*0.01
torch.manual_seed(1) # 초기가중치를 똑같이 
net=torch.nn.Sequential(
    torch.nn.Linear(in_features=1,out_features=20480), 
    torch.nn.ReLU(),
    torch.nn.Linear(in_features=20480,out_features=1)) 
optimizer= torch.optim.Adam(net.parameters())
loss_fn= torch.nn.MSELoss()
t1=time.time()
for epoc in range(1000): 
    ## 1 
    yhat=net(X) 
    ## 2 
    loss=loss_fn(yhat,y) 
    ## 3 
    loss.backward()
    ## 4 
    optimizer.step()
    net.zero_grad() 
t2=time.time()    
t2-t1
3.695246696472168

GPU (20480)

torch.manual_seed(5) 
X=torch.linspace(0,1,100).reshape(100,1)
y=torch.randn(100).reshape(100,1)*0.01
torch.manual_seed(1) # 초기가중치를 똑같이 
net=torch.nn.Sequential(
    torch.nn.Linear(in_features=1,out_features=20480), 
    torch.nn.ReLU(),
    torch.nn.Linear(in_features=20480,out_features=1)) 
net.to("cuda:0")
X=X.to("cuda:0")
y=y.to("cuda:0")
optimizer= torch.optim.Adam(net.parameters())
loss_fn= torch.nn.MSELoss()
t1=time.time()
for epoc in range(1000): 
    ## 1 
    yhat=net(X) 
    ## 2 
    loss=loss_fn(yhat,y) 
    ## 3 
    loss.backward()
    ## 4 
    optimizer.step()
    net.zero_grad() 
t2=time.time()    
t2-t1
2.2188520431518555

CPU (204800)

torch.manual_seed(5) 
X=torch.linspace(0,1,100).reshape(100,1)
y=torch.randn(100).reshape(100,1)*0.01
torch.manual_seed(1) # 초기가중치를 똑같이 
net=torch.nn.Sequential(
    torch.nn.Linear(in_features=1,out_features=204800), 
    torch.nn.ReLU(),
    torch.nn.Linear(in_features=204800,out_features=1)) 
optimizer= torch.optim.Adam(net.parameters())
loss_fn= torch.nn.MSELoss()
t1=time.time()
for epoc in range(1000): 
    ## 1 
    yhat=net(X) 
    ## 2 
    loss=loss_fn(yhat,y) 
    ## 3 
    loss.backward()
    ## 4 
    optimizer.step()
    net.zero_grad() 
t2=time.time()    
t2-t1
62.97744035720825

GPU (204800)

torch.manual_seed(5) 
X=torch.linspace(0,1,100).reshape(100,1)
y=torch.randn(100).reshape(100,1)*0.01
torch.manual_seed(1) # 초기가중치를 똑같이 
net=torch.nn.Sequential(
    torch.nn.Linear(in_features=1,out_features=204800), 
    torch.nn.ReLU(),
    torch.nn.Linear(in_features=204800,out_features=1)) 
net.to("cuda:0")
X=X.to("cuda:0")
y=y.to("cuda:0")
optimizer= torch.optim.Adam(net.parameters())
loss_fn= torch.nn.MSELoss()
t1=time.time()
for epoc in range(1000): 
    ## 1 
    yhat=net(X) 
    ## 2 
    loss=loss_fn(yhat,y) 
    ## 3 
    loss.backward()
    ## 4 
    optimizer.step()
    net.zero_grad() 
t2=time.time()    
t2-t1
2.404008626937866

숙제

- 현재 작업하고 있는 컴퓨터에서 아래코드를 실행후 시간을 출력하여 스샷제출

CPU (512)

torch.manual_seed(5) 
X=torch.linspace(0,1,100).reshape(100,1)
y=torch.randn(100).reshape(100,1)*0.01
torch.manual_seed(1) # 초기가중치를 똑같이 
net=torch.nn.Sequential(
    torch.nn.Linear(in_features=1,out_features=512), 
    torch.nn.ReLU(),
    torch.nn.Linear(in_features=512,out_features=1)) 
optimizer= torch.optim.Adam(net.parameters())
loss_fn= torch.nn.MSELoss()
t1=time.time()
for epoc in range(1000): 
    ## 1 
    yhat=net(X) 
    ## 2 
    loss=loss_fn(yhat,y) 
    ## 3 
    loss.backward()
    ## 4 
    optimizer.step()
    net.zero_grad() 
t2=time.time()    
t2-t1
0.6667273044586182