공부 링크 : https://www.youtube.com/watch?v=C1P7PaIeKvU
Tensor와 연산
a.함수_
- _가 뒤에 붙으면, 함수 결과가 'a=' 없이 자동으로 a에 저장
Autograd
자동미분. 역전파를 위한 미분값을 자동으로 계산
class : Function 클래스
grad
- 레이어에 대한 미분값 저장
grad_fn
- 어떤 함수에 대해 미분 계산(역전파 실행)을 했는지 저장
requires_grad
- =True 로 설정하면 해당 텐서의 연산 추적 시작
backward()
- 계산 완료 후 호출하면, 자동으로 gradient를 계산하며 grad에 누적됨
- 배열을 인자로 넣게되면, backward 시 해당 배열 포함
detach()
- 기록 추적을 중단시킴. 연산 기록으로 부터 분리
with torch.no_grad():
- 이거로 감싸면 gradient의 업데이트를 하지 않음.
- gradient는 X , requires_grad O 이기에 학습 가능한 매개변수를 같는 모델을 evaluate할 때 유용
backward 후 미분의 결과 (x.grad 참고)
nn / nn.functional
nn
import torch.nn as nn
- weight 이 내부에서 자동으로 생성되어 직접 선언하지 않는다.
nn.functional
import torch.nn.functional as F
- weight 을 선언하여 인자로 넣어줘야 한다.
GPU