분류 전체보기
-
4. Parallel & Hyperparameter Tuning & TroubleshootingAI/3주차 2021. 8. 20. 17:48
Model Parallel & Data Parallel 모델 나누기 / 데이터 나누기 모델 병렬화는 병목, 파이프라인의 어려움으로 인해 어렵다 데이터 병렬화는 데이터를 나눠 GPU에 할당하고, 결과를 평균낸다. mimibatch 수식과 유사하지만, 여러 GPU에서 병렬적으로 실행 DataParallel - 데이터를 분배한 후 평균을 취함. GPU 사용 불균형 문제 발생(한곳에서 평균을 내주기 때문에), Batch 사이즈 감소 DistributedDataParallel 각 CPU마다 프로세스를 생성하여 개별 GPU에 할당(개별적으로 평균 계산) PIN memory: DRAM에 데이터를 바로 올림 Hyperparameter Tuning 모델이 학습하지 않는 값을 사람이 지정 (lr, 모델의 크기, optim..
-
3. 시각화에서 텍스트 / Loading & Monitoring with PytorchAI/3주차 2021. 8. 19. 17:20
Title: 가장 큰 주제 Label: 축 Tick Label: 축에 눈금을 사용 Legend: 범례 Annotation: 이 외 시각화에 대한 설명 model.save() 학습의 결과를 저장 모델의 형태와 파라미터를 저장 중간 과정 저장을 통해 최선의 결과모델 선택 결과의 재연성 state_dict: 모델의 파라미터를 ordered dict 형태로 저장 torch.save(model.state_dict(), os.path.join(PATH, "model.pth")) checkpoints 학습의 중간 결과를 저장 epoch, loss, metric을 지속적으로 확인 저장 학습을 중단하였다가 다시 진행하기 위해 필요 Freezing pretrain 된 모델의 파라미터 일부를 고정 다양한 freezing 기..
-
2. Dataset & DataloaderAI/3주차 2021. 8. 19. 11:35
Dataset: getitem에서 map-style을 통해 데이터를 어떻게 반환할지 정해줌 데이터 형태에 따라 함수를 다르게 정의 데이터 생성 시점에 모든 처리를 할 필요는 없다 transforms: 이미지 전처리, augmentation Dataloader: 이를 이용하여 모델에 데이터가 들어감 Data의 batch를 만들어줌 https://subinium.github.io/pytorch-dataloader/ [Pytorch] DataLoader parameter별 용도 pytorch reference 문서를 다 외우면 얼마나 편할까!! subinium.github.io
-
1. PytorchAI/3주차 2021. 8. 17. 17:35
Pytorch vs Tensorflow Pytorch: Define by run (Dynamic Computation Graph) -> debug 시 편함 Tensorflow: Define and run Define and Run은 코드를 직접 돌리는 환경인 세션을 만들고, placeholder를 선언하고 이것으로 계산 그래프를 만들고(Define), 코드를 실행하는 시점에 데이터를 넣어 실행하는(Run) 방식. 이는 계산 그래프를 명확히 보여주면서 실행시점에 데이터만 바꿔줘도 되는 유연함을 장점으로 갖지만, 그 자체로 비직관적이다. 그래서 딥러닝 프레임워크 중 난이도가 가장 높은 편이다. 두 프레임워크 모두 계산 그래프를 정의하고 자동으로 그래디언트를 계산하는 기능이 있다. 하지만 Tensorflow의..
-
6. Generative ModelsAI/2주차 2021. 8. 13. 15:22
만약 강아지들의 이미지가 주어지고, 그로부터 probability p(x)를 학습한다면 Generation: $ x_{new} $ ~ $ p(x), x_{new} $ 는 강아지 같아야 한다(sampling) Density Estimation(anomaly detection): x가 강아지 처럼 생겼다면 p(x)가 크고, 강아지처럼 생기지 않았다면 작아야한다. Unsupervised representation learning: 강아지들이 공통적으로 가지는 특징에 대해 배운다 (feature learning), e.g., ears, tail, etc p(x)는 어떻게 만드는가?? 만약 RGB distribution을 만든다고 해보자. 하나의 픽셀의 색은 256 * 256 * 256 가지의 색을 만들 수 있다..
-
4. ConvolutionAI/2주차 2021. 8. 11. 17:10
파라미터 갯수 계산하기 (Padding (1), Stride (1), 3 X 3 Kernel) 3 * 3 * 128의 convolution 필터를 이용하여 계산하면 1개의 채널을 가진 output이 나오고, 64개의 채널이 필요하기 때문에 3 * 3 * 128 * 64 = 73,728의 파라미터가 필요하다. 1 * 1 convolution Dimension 축소 파라미터 감소 bottleneck architecture AlexNet 8 layer ReLU 2 GPU VGGNet 3 X 3 convolution filters GoogLeNet Inception Block: 파라미터 개수를 줄임 ResNet Skip Connection Bottleneck Architecture DenseNet Additi..
-
3. OptimizationAI/2주차 2021. 8. 10. 13:31
Generalization 많은 경우에 일반화 성능을 높이는 것이 중요하다. Overfitting vs Underfitting Overfitting: 학습 오류가 테스트 오류보다 매우 작을 때 과적합이 일어났다고 한다. Underfitting: 모델이 너무 간단하여 학습 오류가 줄어들지 않는 것 Cross Validation 특정 데이터에 대해 과적합이 일어나는 것을 막기 위해서 모든 train data를 validation에 사용. 하이퍼 파라미터를 정할 때 유용하다. Bias-Variance tradeoff Cost를 최소화 한다는 것은 bias, variance, noise를 줄이는 것과 같으며, bias와 variance에는 반비례 관계가 일반적으로 존재한다. Bootstrapping Any te..