Boostcamper's 주간정리 (3)

최현진·2021년 8월 20일
0

boostcamp

목록 보기
12/20

2021/08/13

주간 정리

강의 복습

PyTorch Basics

  • Tensor: PyTorch의 자료구조, numpy의 ndarry와 비슷하게 사용할 수 있음(생성, 연산)

  • torch.nn: ML/DL에 필요한 여러가지 operation 및 객체 지원. 쉽게 model을 생성할 수 있지만 document를 통해 공부할 필요가 있었다.

  • AutoGrad: PyTorch의 핵심. 자동 미분을 지원해줘 역전파 함수에서 사용함

  • PyTorch Template: jupyter notebook 환경에서 평생 개발할 수는 없으므로 template을 보고 구조를 파악

  • torch.utils.Dataset: 데이터에 따라 형태를 정의할 수 있음. 데이터 생성방법은 종류에 따라 다르며 __ini__ 함수에서 정의, __len__ 에서는 길이, __getItem__에서는 반환

Model save
긴 시간동안 학습을 해야하는 경우 모델을 학습 중간에 저장해야하는 상황이 발생할 수 있다. 또는 만들어진 모델을 사용해야할 경우 모델을 저장해야한다.

모델을 저장할때 loss, metric, epoch, optimizer, parameter 등을 저장한다.

Transfer learning
torchvision이나 HuggingFace에서 제공하는 다양한 pre-trained 모델을 사용할 수 있다. pre-trained된 모델은 대용량 데이터셋으로 잘 학습된 모델이며 일부분만 나의 데이터셋에 맞게 변경해 학습을 한다.

Monitoring tools
학습 과정을 기록하거나 시각적으로 표현해야하는 경우에는 다양한 도구를 사용해서 기록할 수 있다.

  • Tensorboard
  • wandb

Multi-GPU
torch 에서는 데이터 학습을 병렬적으로 처리할 수 있도록 다양한 기능을 지원함
Single Node Mulit GPU 환경에서 주로 사용 (1대의 컴퓨터에 여러장의 GPU)

  • Data parallel: 데이터를 나눠 GPU에 각각 할당하고 결과를 받아 평균을 내어 사용할 수 있는 방법
  • Model parallel: 모델을 나누어 여러개의 GPU에 할당하는 방법 (.to('cuda:0'), .to('cuda:1'))

Hyperparameter Tuning
사람이 지정해야 하는 Hyperparameter(learning rate, optimizer,...)의 최적값을 찾을 때 여러가지 도구를 사용할 수 있다.

하지만 가장 확실한 방법은 model을 바꾸거나 data를 바꾸는것이다.

  • Ray

과제 수행과정 /결과물

Torch
PyTorch가 지원하는 다양한 모듈의 document를 보면서 low한 level에서 어떤식으로 forward, backward가 동작하는지 알 수 있었다. tensor를 조작하는 다양한 함수의 document를 보면서 tensor를 조작해보는 경험이었다. 무엇보다 과제 퀄리티가 너무 높아서 과제만으로 많은 도움이 되었다.

Dataset, DataLoader
torch가 지원하는 Dataset, DataLoader를 통해 쉽게 데이터를 정의하고 전처리를 할 수 있는데 직접 구현해 보면서 어떤식으로 동작하는지 학습했다. custom할 수 있는 방법도 학습했는데 정말 나중에 큰 도움이 될 것 같다.

Transfer learning
pre-trained된 모델을 가져다 나의 data에 맞춰 사용하는 법을 학습했다. 그리고 hyperpatameter를 찾기위해 ray를 사용해 봤다.


피어세션

이번주 처음으로 각자 맡은 논문을 읽고 리뷰 및 구현을 해보는 시간을 가졌다. 조원 모두 시간이 부족했지만 굉장히 퀄리티 높은 자료를 준비해주셔서 많은 공부가 되었다. 논문을 조사하는 동안 많은 공부가 되었다.


학습회고

이번주 여러 캠퍼님들의 이야기, 멘토님, 마스터님의 이야기를 듣고 domain을 선택하는데 많은 도움이 되었다. 그리고 진로에 대한 이야기도 많이 했는데 점차 구체적인 진로가 정해지는것 같아 걱정되기도 하고 자극이 되기도 한다. 과제는 정말 퀄리티가 너무 높아서 과제 수행만 해도 많은 공부가 되는것 같았다.


2주차 TIL

profile
Boostcamper!

0개의 댓글