Notice
Recent Posts
Recent Comments
Link
하루 하루
펭귄브로의 3분 딥러닝 파이토치맛 _ 3일차 본문
DNN
0. 1~3 번 epoch 만큼 반복
1. 신경망 학습하기
train (model, train_loader, optimizer)
2. 신경망 테스트하기
test_loss, test_accuracy = evaluate( model, test_loader )
3. 결과 출력하기
print('[{}] Test Loss: {:.4f}, Accuracy: {:.2f}%'.format(epoch,test_loss,test_accuracy))
신경망 학습하기
model.train ( )으로 학습 모드 설정후에 for 문으로 배치 데이터 만큼만 가져와서 신겸망을 학습한다.
우선, 입력 data와 목표 target 값을 가져와서 device로 보낸다. ( device 는 GPU 로 앞서서 설정한 상황 )
다음으로 기울기를 계산하고 해당 기울기에 대한 입력 data의 output을 계산한다.
output과 target 값의 차이를 계산하는 손실함수를 F.cross_entropy( output, target ) 으로 호출해
loss에 저장하고, loss.backward( ) 를 통해 손실함수를 미분한다.
마지막으로 optimizer.step( ) 으로 신경망의 가중치를 수정한다.
신경망 테스트하기
model.eval ( )으로 테스트 모드 설정후에 for 문으로 배치 데이터 만큼만 가져와서 신겸망을 학습한다.
우선, 입력 data와 목표 target 값을 가져와서 device로 보낸다. ( device 는 GPU 로 앞서서 설정한 상황 )
다음으로 만들어진 신경망에 입력 data를 넣어서 output을 계싼한 다음 오차를 계산한다.
오차를 계산할 때는 test_loss += F.cross_entropy(output,target, reduction='sum').item() 를 사용한다.
return 값으로 test_loss, test_accuracy
'IT > Artificial intelligence' 카테고리의 다른 글
펭귄브로의 3분 딥러닝 파이토치맛 _ 5일차 (0) | 2020.04.20 |
---|---|
펭귄브로의 3분 딥러닝 파이토치맛 _ 4일차 (0) | 2020.04.19 |
TORCH.NN (0) | 2020.04.17 |
펭귄브로의 3분 딥러닝 파이토치맛 _ 2일차 (0) | 2020.04.17 |
펭귄브로의 3분 딥러닝 파이토치맛_1일차 (0) | 2020.04.16 |
Comments