부스트캠프 AI Tech 4기 - [2주차] About Transfer Learning and Hyper Parameter Tuning + 회고
2022. 9. 30. 14:55
네이버 부스트캠프 AI Tech 4기/Level 1
출처가 명시되어 있지 않은 모든 이미지의 지식재산권은 재단법인 네이버커넥트에 귀속됩니다. Date: 22.09.30 Transfer Learning Transfer Learning이란 real world의 문제를 다룰 때, 양질의 데이터를 충분히 수집하는 일은 쉽지 않다. 이에, 적은 데이터로도 좋은 모델을 만들기 위한 다양한 방법론이 제시되었고, 그 중 하나가 바로 Transfer Learning이다. 이는 Source Task에서 학습된 지식을 Target Task에 전이하는 방법론을 의미한다. Source Task와 Target Task의 Label 유무에 따라 다양한 방법론이 적용될 수 있다. Fine-Tuning 이번 과제에서는 Fine-Tuning에 대해 다루었다. Source Task에 맞춰..
부스트캠프 AI Tech 4기 - [2주차] About Dataset and DataLoader
2022. 9. 30. 11:32
네이버 부스트캠프 AI Tech 4기/Level 1
출처가 명시되어 있지 않은 모든 이미지의 지식재산권은 재단법인 네이버커넥트에 귀속됩니다. Date: 22.09.30 Dataset과 친해지기 torch.utils.data.Dataset(*args, **kwds) PyTorch의 Dataset은 map-style dataset과 iterable-style dataset으로 구분된다. 과제에서는 map-style dataset만을 다룬다. 아래에 나오는 모든 내용은 map-style dataset에 대한 내용이다. Dataset의 역할은 말 그대로 Dataset이다. csv, json 등의 형태의 파일을 읽어와, 모델에 feeding 할 수 있는 tensor 형태로 바꿔준다. 물론 모델에 데이터를 먹이는 건 DataLoader가 한다. 모든 subclass..
부스트캠프 AI Tech 4기 - [2주차] About Tensor and Module
2022. 9. 29. 14:53
네이버 부스트캠프 AI Tech 4기/Level 1
출처가 명시되어 있지 않은 모든 이미지의 지식재산권은 재단법인 네이버커넥트에 귀속됩니다. Date: 22.09.29 Tensor와 친해지기 torch.Tensor vs torch.tensor class / function => naming convention에서도 알 수 있다. torch.Tensor tensor를 입력하면 입력받은 데이터의 메모리 공간 사용 (원래 값 수정 시 똑같이 수정됨) list, numpy를 입력하면 새롭게 복사하여 사용 (원래 값 수정해도 수정 안됨) int 입력 시 float로 변환 torch.tensor 뭘 입력하든 새롭게 복사하여 사용 (원래 값 수정해도 수정 안됨) int 입력하면 int로 받음 Arithmetic Operation with Tensor torch.add..
부스트캠프 AI Tech 4기 - [2주차] Pytorch 4 + 회고
2022. 9. 29. 13:47
네이버 부스트캠프 AI Tech 4기/Level 1
출처가 명시되어 있지 않은 모든 이미지의 지식재산권은 재단법인 네이버커넥트에 귀속됩니다. Date: 22.09.29 [ Multi-GPU 학습 ] Model Parallel vs Data Parallel Multi GPU 환경을 이용하여 학습하는 방식은 2가지이다. 모델을 분산 (Model Parallel) 데이터를 분산 (Data Parallel) 사실, Model Parallel은 예전부터 사용되었다. (AlexNet이 나온게 벌써 10년 전이다...) Example of Model Pararlle : 첫 번째 모델은 cuda 0, 두 번째 모델은 cuda 1에 할당. cuda 0에서 첫번째 모델의 output이 계산되면 그 값을 cuda 1로 옮겨 두 번째 모델의 input으로 사용 사실, 이렇게 ..
부스트캠프 AI Tech 4기 - [2주차] Pytorch 3 + 회고
2022. 9. 29. 13:21
네이버 부스트캠프 AI Tech 4기/Level 1
출처가 명시되어 있지 않은 모든 이미지의 지식재산권은 재단법인 네이버커넥트에 귀속됩니다. [ PyTorch Model Save & Load] model.save() 학습의 결과를 저장하기 위한 함수. 모델의 architecture와 parameter를 저장한다. 학습 중 그 과정을 저장함으로써 최선의 결과 모델을 선택함. checkpoints 학습 중간의 결과를 저장함. earlystopping 기법에 사용된다. loss와 metric값을 지속적으로 확인하며 저장한다. Transfer Learning Pretrained model을 사용한다. 다른 데이터셋으로 학습한 모델을 현재의 데이터에 적용한다. 일반적으로 대용량 데이터셋으로 만들어진 모델의 성능이 높다. (특정 데이터에 편향되지 않아서?) 현재의 ..
부스트캠프 AI Tech 4기 - [2주차] Pytorch 2 + 회고
2022. 9. 29. 13:18
네이버 부스트캠프 AI Tech 4기/Level 1
출처가 명시되어 있지 않은 모든 이미지의 지식재산권은 재단법인 네이버커넥트에 귀속됩니다. [ PyTorch Module] Torch.nn.Module Layer를 구성하는 base class이다. input, output, forward, backward를 정의한다. 학습의 대상이 되는 parameter(tensor)를 정의한다. Torch.nn.Parameter Tensor 객체의 상속 객체 nn.Module 내에서 attribute가 될 때는 required_grad = True로 지정되어 학습의 대상이 된다. -> Module 내에 학습에 이용할 attribute를 만들 때는 tensor를 nn.Parameter로 감싸주어야 한다. Backward Layer에 있는 Parameter들의 미분 수행 ..