❏ 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
https://put-idea.tistory.com/91
'인공지능 (기본 딥러닝) > 딥러닝 스크래치 코드' 카테고리의 다른 글
[wandB 사용법] wandb사용으로 파라미터 최적화 (4) | 2024.11.07 |
---|---|
[Huggingface Trainer, SFTTrainer, TrainingArguments 설명 및 코드] (0) | 2024.10.23 |
[Pytorch 스크래치 코드] 회귀문제 Train, Validation 함수 (1) | 2023.12.17 |
[Pytorch 스크래치 코드] 분류문제 Train, Validation 함수 (0) | 2023.12.16 |
[Pytorch 스크래치 코드] Train Test split (1) | 2023.12.10 |