[이론 정리] pytorch를 쉽게 사용할 수 있는 Tool(Pytorch Lightning)

2023. 3. 20. 20:46AI/이론 정리

 

💯 pytorch를 상위레벨에서 사용할 수 있도록 하는 Tool 두 가지

  1. Fast ai: pytorch를 쉽게 사용하도록 해주는 라이브러리
  2. Pytorch lightning: 연구자들이 pytorch를 쉽게 사용할 수 있도록 하는 파이썬 라이브러리

참고) Fastai 노트북 상당히 잘 나와있음 코드가 좋다. course22p2 12번까지 이해해보면 좋다.

⚡ pytorch LIghtning에 대하여

⚡ 사용방법

Lightning module class 안에만 넣으면 됨 알아서 연결해서 train 시켜줌 (기존 함수 오버라이딩해줌)

⚡ 연구에서 사용하는 이유

  1. lightning이 조금 더 low level로 구현이 가능하기 때문
  2. 최대 장점 병렬 학습하는데 좋음
  3. Wandb 쓰는게 편함
  4. Fast ai는 한줄로 학습이 가능하도록 만들어진 코드. 감싸져 있기 때문에 low level에서 컨트롤하기 어려움

⚡ 특징

  1. log 툴인 텐서보드, 완다비 사용 가능
  2. TPU 사용 가능
  3. To_device, reset_grad 필요 없음

⚡ 알아두면 좋은 것

  1. Trainer 인자 fast_dev_run=True batch 한번 돌며 에러가 없는지 확인, gpus: gpu 사용개수
  2. Train은 shuffle true validation은 shuffle false
  3. Trainer.add_argument()으로 설정하면 CLI에서 조절 가능