시작은 미약하였으나 , 그 끝은 창대하리라

[Pytorch 스크래치 코드] Evaluation 코드 본문

인공지능/딥러닝 스크래치 코드

[Pytorch 스크래치 코드] Evaluation 코드

애플파ol 2023. 12. 28. 15:45

❏ Evaluation code 

✓ train, validation 을 통한 early stopping을 수행하였으면 나온 모델을 통해 실제 예측을 수행해야하는 마지막 단계에 도달한다. 

    이를 위해 아래와 같이 코드를 적용하면 된다. 

 


### Evaluation code ###
###                 ###

# 예측값 저장하는 빈 리스트
all_predictions = []

# 모델을 평가모드로 설정.
model.eval()
for inputs in test_dataloader:
    with torch.no_grad():
        inputs=inputs[0].float()
        x = inputs.to(device)
        outputs = model(x)
        max_values, max_indices = torch.max(outputs, 1) # 각 행마다 가장 큰 값을 찾아서 반환함.
        
        # 예측 결과 저장
        all_predictions.extend(max_indices.cpu().numpy()) 
        
print('저장된 파일 길이 확인: ',len(all_predictions))

✓ 기타 : DataLoader에서 batch_size가 1이나 32, 64 여도  " torch.max(  ,dim=1) "  을 수행함으로 잘 작동함. 

 

 

 

✓ inputs에 [0]을 취해주지 않으면 리스트로 나오기때문에 model에 못들어감. 

 

 

✓ Train, Validation 코드 참고.

https://put-idea.tistory.com/90

 

[Pytorch 스크래치 코드] 분류문제 Train, Validation 함수

✓ pytorch 에서는 Train 과 Validation 과정을 코드를 통해 수행한다. ✓ 이를 위해 스크래치 코드를 작성해보았다. (분류 문제임) ✓ 회귀는 train에서 loss, accuracy 처리법이 상이함. ❏ 분류 문제 Train, Ev

put-idea.tistory.com

https://put-idea.tistory.com/91

 

[Pytorch 스크래치 코드] 회귀문제 Train, Validation 함수

※ (23.12.17기준) -> 코드 동작 100퍼센트 확인 못해봄. ✓ pytorch 에서는 Train 과 evaluation 과정을 코드를 통해 수행한다. ✓ 이를 위해 스크래치 코드를 작성해보았다. (회귀 문제임) ✓ 분류는 train에

put-idea.tistory.com

 

Comments