728x90
분류 전체보기
544

[Boostcamp 4주차] 피어세션과 학습 회고

Day - 15 피어세션 pytorch 프로젝트 구조 템플릿 리뷰 dive into deep learning을 없애고 알고리즘 스터디를 진행 Image Classification Pstages 회고 1. EDA를 수행하면서 시각화에 대한 구현 능력이 떨어진다는 것을 느꼈다. 좀 더 시각화에 대한 숙지가 필요하다. 2. 이미지 데이터의 문제로 다음과 같은 것들이 나왔다. 속이 보이는 마스크(투명한 마스크)일 경우와 사람이 얼굴이 프린트된 마스크일 경우와 같은 이미지일 경우 제대로 인식하는가 파일 포맷이 png, jpeg, jpg로 다르게 분포 이미지에 대한 라벨링이 제대로 되어있지 않는 경우가 확인 10대와 60대 데이터가 상대적으로 많이 부족, 50대가 상당히 많음 male보다 female 데이터에 편향..

Boostcamp AI Tech 2021.08.24

[Boostcamp Day-15] Image Classification - Problem Definition

Problem Definition 다음과 같이 문제에 대한 의도를 정확하게 파악하고 정의해야한다. "내가 지금 풀어야 할 문제가 무엇인가?" "이 문제의 Input과 Output은 무엇인가?" "이 솔루션은 어디서 어떻게 사용되어지는가?" Data Description File 형태, Metadata Field 소개 및 설명이 작성되어있다. 즉, "데이터 스펙 요약본"이라고 할 수 있다. Notebook 데이터 분석, 모델 학습, 테스트 셋 추론의 과정을 서버에서 연습 가능하다. Submission & Leaderboard 테스트 예측 결과물 제출과 순위를 확인 할 수 있다. Discussion 등수를 올리는 것 보다, 문제를 해결하고 싶은 마음으로 참여하는 것이 좋다. Machine Learning P..

Boostcamp AI Tech 2021.08.24

[Boostcamp Day-15] Image Classification - EDA

EDA 1. Import 필요한 라이브러리를 import import os import math import pandas as pd import numpy as np from scipy import stats from PIL import Image import matplotlib.pyplot as plt 2. Data 확인 head() 또는 sample()을 사용하여 data를 확인해본다. train = pd.read_csv("./train.csv") train.head(10) 3. 필요없는 feature 삭제 id는 데이터 분석에 관련 없는 feature이고 race는 모두 "asian"이기 때문에 drop한다. train.drop(["id", "race"], axis=1, inplace=True) #..

Boostcamp AI Tech 2021.08.24

[Boostcamp Day-15] Image Classification - Overview

Task Description Overview 카메라로 비춰진 사람 얼굴 이미지 만으로 이사람이 마스크를 쓰고 있는지, 쓰지 않았는지, 정확히 쓴 것이 맞는지 자동으로 가려낼 수 있는 시스템이 필요하다. Evaluation Description Submission 학습된 모델은 테스트 셋을 사용하여 성능을 평가한다. 노트북 파일을 참고 TBA with baseline 모델의 추론에 필요한 라이브러리를 설치 inference.py 파일을 이용하여 학습된 모델의 예측값을 산출 submission.csv 파일은다음과 같은 포맷으로 구성 되어야한다. 각 이미지들에 대해서 mask_class(ans)를 예측한 값이 콤마(,)로 구분된 형태이다. 제출 파일은 imageID, ans 형식으로 헤더를 포함하여야 한다...

Boostcamp AI Tech 2021.08.24

[Boostcamp 3주차] 피어세션과 학습 회고

Day - 11 피어세션 PyTorch 강의 1, 2, 3 리뷰 당일 학습 Q&A [필수 과제] Custom Model 개발하기 리뷰 계획 프로젝트 코드 리뷰 계획 Dive to deel learning 스터디 시간을 다음 주 월요일로 조정 notion 용량 관리 위해 스터디 정리 페이지를 github에서 관리 학습 회고 이번 주차는 PyTorch 강의가 시작되어서 기대되는 마음에 학습을 진행했지만 짧은 시간에 많은 내용을 담기엔 어려운 부분이 있어서 강의에서는 간단하게 내용을 설명해주셨다. 그리고 과제의 양을 많이 내주신 것 같다. 과제를 새벽 4시까지 진행하면서 스스로 search하면서 스터디를 하다보니 많은 것을 알게되었던 것 같다. 하지만 대충 지나간 것들도 생각나서 나중에 다시 한 번 봐야할 듯..

Boostcamp AI Tech 2021.08.20

[Boostcamp Day-14] PyTorch - Multi_GPU, Hyperparameter, Troubleshooting

Multi-GPU Single vs. Multi GPU vs. Node(system=1대의 컴퓨터를 의미) Single Node Single GPU Single Node Multi GPU Multi Node Multi GPU Model parallel 다중 GPU에 학습을 분산하는 두 가지 방법(모델을 나누기/ 데이터를 나누기) 모델을 나누는 것은 AlexNet에서도 썼었음 모델의 병목, 파이프라인의 어려움 등으로 인해 모델 병렬화는 고난이도 과제 clsss ModelParallelResNet50(ResNet): def __init__(self, *args, **kwargs): super(ModelParallelResNet50, self).__init__(Bottleneck, [3, 4, 6, 3], n..

Boostcamp AI Tech 2021.08.20

[Boostcamp Day-13] PyTorch - Transfer learning, Tensorboard & wandb

model.save() 학습의 결과를 저장하기 위한 함수 모델 형태(architecture)와 파라미터를 저장 모델 학습 중간 과정의 저장을 통해 최선의 결과 모델을 선택 만들어진 모델을 외부 연구자와 공유하여 학습 재연성 향상 # staet_dict : 모델의 parameter를 표시 for param_tensor in model.state_dict(): print(param_tensor, "\t", model.state_dict()[param_tendor].size()) # 모델의 parameter 저장 torch.save(model.state_dict(), os.path.join(MODEL_PATH, 'model.pt')) # 같은 모델의 형태에서 parameter만 load new_model = ..

Boostcamp AI Tech 2021.08.19

[Boostcamp Day-12] PyTorch - AutoGrad & Optimizer, Dataset & Dataloader

torch.nn.Module 딥러닝을 구성하는 Layer의 base class Input, Output, Forward(순전파), Backward(역전파) 정의 학습의 대상이 되는 parameter(tensor)정의 nn.Parameter Tendor 객체의 상속 객체 nn.Module 내에 attribute가 될 때는 required_grad=True로 지정되어 학습 대상이 되는 Tensor 대부분의 layer에는 weights 값들이 지정되어 있기 때문에 우리가 직접 지정할 일은 없음 class MyLiner(nn.Module): def __init__(self, in_features, out_features, bias=True): super().__init__() self.in_features = ..

Boostcamp AI Tech 2021.08.18

[Boostcamp Day-11] PyTorch - PyTorch Basics

Tensor Tensor는 다차원 Arrays 를 표현하는 PyTorch 클래스이다. 사실상 사실상 numpy의 ndarray와 동일하며 Tensor를 생성하는 함수도 거의 동일하다. # numpy import numpy as np n_array = np.arange(10).reshape(2, 5) # pytorch import torch t_array = torch.FloatTensor(n_array) Array to Tensor Tensor 생성은 list나 nparray를 사용 가능하고 기본적으로 tensor가 가질 수 있는 data 타입은 numpy와 동일하다. # data to tensor data = [[3,5], [10,5]] x_data = torch.tensor(data) # ndarra..

Boostcamp AI Tech 2021.08.18

[Boostcamp Day-10] DL Basic - Generative Models

Learning a Generative Model 예를 들어서 강아지 이미지가 주어져있다고 하자. 그러면 다음과 같은 확률 분포 P(x)를 학습하고 싶을 수 있다. Generation : 강아지와 같은 이미지를 sampling하는 것 Density estimation : 강아지 이미지가 주어졌을 때 p(x)가 높으면 강아지, 낮으면 다른 것(anomaly detection)으로 분류할 수 있다. 또한 다음과 같이 확률 값을 얻어 낼 수 있는 모델을 "explicit model"이라고 부른다. Unsupervised representation learning : 귀, 꼬리와 같은 feature leaning을 할 수 있다. 그렇다면 이 P(x)를 어떻게 만들 수 있을까? Basic Discrete Dist..

Boostcamp AI Tech 2021.08.13
728x90