네이버 부스트캠프/LEVEL-1

    [부스트캠프][P-stage][WK05] P-stage level1 결산 및 개인회고

    프로젝트 목표 Special Mission을 최대한 다 하기 Jupyter에서 벗어나 Python IDLE 환경에 익숙해지기 Git을 활용한 협업에 익숙해지기 등수가 높으면 좋지만 기초를 탄탄히하고 되도록 많은 실험하기 나는 내 학습목표를 달성하기 위해 무엇을 어떻게 했는가? 개인 학습 1주차 EDA, Dataset 및 Augmentation transform, 모델 구현 및 Fine-tuning 시도, Feature Extraction 시도 , 다양한 기법을 적용한 training 코드 작성, Tensorboard 사용 등 Special Mission 수행 첫 주차 베이스라인 코드 공개 전 Jupyter를 활용한 resnet18, efficientnet 등 다양한 모델 실험 및 제출 albumentat..

    [부스트캠프][P-stage][WK04 / Day5] Image Classification 5

    1. 금일 목표 k-fold cross validation 구현 Test Time Augmentation을 구현 Tensorboard, wandb 이용 2. 진행사항 1) k-fold cross validation 구현 k-fold cross validation은 데이터를 k개로 나눠서 각 덩어리를 한 번씩 validation set으로 설정하여 총 k번 모델을 학습, 검증하는 방법입니다. 각 fold의 모델을 앙상블하는데 사용되기도 합니다. def crossvalid(model=None,criterion=None,optimizer=None,dataset=None,k_fold=5): train_score = pd.Series() val_score = pd.Series() total_size = len(d..

    [부스트캠프][P-stage][WK04 / Day4] Image Classification 4

    1. 금일 목표 체크포인트 모델 저장 F1-score Metric 을 구현 or 코드 Gradient Accumulation을 적용 다양한 스케쥴러 적용 및 비교 Label smoothing, Focal Loss, F1 Loss 등 활용 위 사항별 성능 비교 2. 진행사항 1) 체크포인트 모델 저장 if epoch_val_loss < best_val_loss: print("New best model for val loss! saving the model..") torch.save(model.state_dict(), os.path.join(f'{path}/{epoch:03}_loss_{epoch_val_loss:4.2}.pt')) best_val_loss = epoch_val_loss if epoch_va..

    [부스트캠프][P-stage][WK04 / Day3] Image Classification 3

    1. 금일 목표 transform 방식 변경 및 모델 바꿔보기 제출 1회 이상, 스코어 올리기 Special mission 모델 구현 Pretrained Model 사용해보기 2. 진행사항 1) transform 방식 변경 transformations['train'] = Compose([ Resize(img_size[0], img_size[1], p=1.0), HorizontalFlip(p=0.5), ShiftScaleRotate(p=0.5), HueSaturationValue(hue_shift_limit=0.2, sat_shift_limit=0.2, val_shift_limit=0.2, p=0.5), RandomBrightnessContrast(brightness_limit=(-0.1, 0.1), co..

    [부스트캠프][P-stage][WK04 / Day2] Image Classification 2

    1. 금일 목표 1회 이상 제출 이미지와 해당하는 클래스 Label (18개의 클래스 중 하나)을 생성할 수 있는 Pytorch Dataset Class를 직접 생성 albumentation 라이브러리의 여러 transform 기법을 적용 2. 진행사항 1) 1회 이상 제출 처참하다... 보완해야 할 부분이 많다. 2) 이미지와 해당하는 클래스 Label (18개의 클래스 중 하나)을 생성할 수 있는 Pytorch Dataset Class를 직접 생성 class TrainDataset(Dataset): def __init__(self, img_paths, transform): self.df = pd.read_csv(os.path.join(img_paths, 'train.csv')) self.img_pat..

    [부스트캠프][P-stage][WK04 / Day1] Image Classification 1

    1. 금일 목표 문제 정의 및 컴피티션 내용 정리 데이터 labeling 및 EDA 2. 진행사항 1) 문제 정의 및 컴피티션 내용 정리 코로나 시국에 공공장소에서 모든 사람들의 올바른 마스크 착용 상태를 검사하기 위해 카메라로 비춰진 사람 얼굴 이미지 만으로 이 사람이 마스크를 쓰고 있는지, 쓰지 않았는지, 정확히 쓴 것이 맞는지 자동으로 가려낼 수 있는 시스템을 개발하는 것을 목적으로 진행되는 컴피티션입니다. 위와 같이 마스크 착용여부, 성별, 나이를 기준으로 총 18개의 클래스가 있습니다. Evaluation Metric 2) 데이터 labeling 및 EDA # 폴더 내부 모든 이미지의 경로 가져오기 def find_path(self, df,image_dir): file_path = [] for ..

    [부스트캠프][WK03 / Day14] PyTorch 활용하기

    1. 강의 내용 Multi-GPU 학습 (최성철 교수님) 1) 개념정리 Multi-GPU는 1개의 GPU가 아닌 여러개의 GPU를 말합니다. Node(system)은 1대의 컴퓨터를 이야기하고 GPU는 Node안에 속합니다. 다중 GPU에 학습을 분산하는 두 가지 방법으로는 모델을 나누기 & 데이터를 나누기가 있습니다. 2) Model parallel 모델을 나누는 것은 생각보다 예전부터 썼음 (alexnet) 모델의 병목, 파이프라인의 어려움 등으로 인해 모델 병렬화는 고난이도 과제 위 그림은 alexnet으로, 위 아래의 구조가 교차되는 지점이 각 GPU간의 병렬적인 처리를 지원하기 위해 적용한 것 입니다. 위 그림에서 첫번째 그림을 보면 GPU간에 번갈아가며 작업이 진행되기 때문에 파이프라인이 만들..

    [부스트캠프][WK03 / Day13] PyTorch 구조 학습하기 2

    1. 강의 내용 모델 불러오기 (최성철 교수님) 1) model.save() 학습의 결과를 저장하기 위한 함수 모델 형태(architecture)와 파라미터를 저장 모델 학습 중간 과정의 저장을 통해 최선의 결과모델을 선택 만들어진 모델을 외부 연구자와 공유하여 학습 재연성 향상 # state_dict: 모델의 파라메터를 표시 print("Model's state_dict:") for param_tensor in model.state_dict(): print(param_tensor, "\t", model.state_dict()[param_tensor].size()) # 모델의 파라메터를 저장 torch.save(model.state_dict(), os.path.join(MODEL_PATH, "model...