티스토리 뷰
728x90
모델과 데이터를 준비하면, 데이터에 매개변수를 최적화하여 모델을 학습해야 한다. 그 후 검증과 테스트를 거친다.
모델 학습 과정은 반복적인 과정이며, 각 반복 단계에서 모델은 출력을 추측하고, Ground Truth 사이의 손실을 계산하여 매개변수를 최적화하는 과정을 거친다. 이는 손실함수의 도함수를 계산하여 경사하강법을 통한 방법이다. (역전파)
optimizer = torch.optim.SGD(model.parameters(), lr=learning_rate)
최적화는 각 학습 단계에서 모델의 오류를 줄이기 위해 모델 매개변수를 조정하는 과정이다. 모든 최적화 과정은 optimizer 객체에 캡슐화된다.
여기서 optimizer를 손볼 수있는 하이퍼파라미터가 epoch과 batch size, learning rate이다.
학습 단계(loop)에서 최적화는 세 단계로 이루어짐
- optimizer.zero_grad()를 호출하여 모델 매개변수의 변화도를 재설정. 기본적으로 변화도는 더해지기(add up) 때문에 중복 계산을 막기 위해 반복할 때마다 명시적으로 0으로 설정한다.
- loss.backwards()를 호출하여 예측 손실(prediction loss)을 역전파한다. PyTorch는 각 매개변수에 대한 손실의 변화도를 저장한다.
- 변화도를 계산한 뒤에는 optimizer.step()을 호출하여 역전파 단계에서 수집된 변화도로 매개변수를 조정한다.
출처: https://tutorials.pytorch.kr/beginner/basics/optimization_tutorial.html
728x90
'Skills > PyTorch' 카테고리의 다른 글
[Error] torch.cuda.is_available() return False(Try multiple versions) (0) | 2023.08.10 |
---|---|
[PyTorch] ADJUST_CONTRAST 이미지 대비 (torchvision.transforms.functional) (14) | 2023.07.27 |
[PyTorch] vutils.save_image 텐서 형태 이미지 저장하는 법 (0) | 2023.07.26 |
[PyTorch] STATE_DICT, CHECKPOINT 에 대해 (0) | 2023.07.25 |
[PyTorch] nn.Parameter() / nn.Variable() (0) | 2023.07.10 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Prompt
- 딥러닝
- 서버에다운
- 파이썬 클래스 계층 구조
- support set
- python
- vscode 자동 저장
- clip
- CNN
- 파이썬 딕셔너리
- 도커 컨테이너
- prompt learning
- stylegan
- 서버구글드라이브연동
- style transfer
- docker
- 프롬프트
- 구글드라이브서버다운
- few-shot learning
- 파이썬
- 구글드라이브연동
- 구글드라이브다운
- NLP
- 파이썬 클래스 다형성
- 도커
- cs231n
- Unsupervised learning
- 구글드라이브서버연동
- 데이터셋다운로드
- 퓨샷러닝
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함
250x250