Python/Pytorch

파이토치 기초

heheh 2022. 4. 30. 14:05
공부 링크 : 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 참고)

grad로 backward. 자세하게는 강의의 46:30부터를 참고한다.

 

 

nn / nn.functional


nn

import torch.nn as nn
  • weight 이 내부에서 자동으로 생성되어 직접 선언하지 않는다.

 

nn.functional

import torch.nn.functional as F
  • weight 을 선언하여 인자로 넣어줘야 한다. 

 

 

GPU