앎을 경계하기

Machine Learning 109

[Pytorch Tutorials] Image and Video - Transfer Learning for Computer Vision Tutorial

이번 튜토리얼에서는 transfer learning(전이학습)을 사용하여 image classification용 CNN을 어떻게 학습하는지를 배운다.transfer learning의 두 가지 주요 시나리오는 다음과 같다.Finetuning the convnet랜덤 초기화 대신, imagenet 데이터셋으로 학습된 모델같이 pretrained network를 사용하여 네트워크를 초기화한다.ConvNet as fixed feature extractor마지막 fully connected layer를 제외한 모든 레이어의 weight를 고정시키고, 마지막 fully connected layer를 랜덤 weight로 새롭게 구성하고 그것만 학습시킨다.from __future__ import print_functi..

Machine Learning 2021.03.16

[Pytorch Tutorials] Image and Video - Torchvision object detection finetuning tutorial

Torchvision object detection finetuning tutorial 이 튜토리얼에선 pre-trained된 Mask R-CNN을 finetuning한다. 데이터셋은 보행자 detection, segmentation을 위한 Penn-Fudan database를 사용한다. 345개 보행자 인스턴스가 있는 170개 이미지로 구성되어있다. 데이터셋 만들기 데이터셋은 torch.utils.data.Dataset클래스를 상속해서 __len__과 __getitem__을 구현해야한다. __getitem__은 다음을 반환한다. image : height, width 사이즈의 PIL Image (width, height가 아님을 주의해야한다.) target : dictionary boxes : N개의 ..

Machine Learning 2021.03.11

DEEP LEARNING WITH PYTORCH: A 60 MINUTE BLITZ - TRAINING A CLASSIFIER

What aoubt data?일반적으로 이미지, 텍스트, 비디오, 오디오 데이터를 다룰 때 numpy array로 데이터를 읽고 torch의 tensor로 변환한다. 각 데이터마다 유용하게 사용하는 라이브러리가 존재한다.Images : Pillow, OpenCVAudio : scipy, librosaText : NLTK, SpaCy특히 vision 분야에서는 torchvision을 사용해서 유명한 데이터셋을 불러서 사용할 수 있다.torchvision.datasets, torch.utils.data.DataLoader 유명 이미지 데이터셋 중 하나인 CIFAR10을 사용해보자.CIFAR10은 RGB 컬러 32*32 사이즈 이미지의 총 10개의 카테고리로 이루어져있는 이미지 데이터셋이다. Training ..

Machine Learning 2021.03.08

DEEP LEARNING WITH PYTORCH: A 60 MINUTE BLITZ - NEURAL NETWORKS

NEURAL NETWORKSNeural Networks는 torch.nn 패키지를 사용해서 만들 수 있다.매우 유명한 Yann Lecun의 LeNet-5 CNN 구조이다.구조는 굉장히 간단하다.32*32 필기체 숫자 이미지를 넣으면 Convolution layer와 Fully Connected layer를 거쳐 최종적으로 필기체로 쓴 숫자가 무엇인지 output이 출력된다.이러한 뉴럴 네트워크 모델들이 학습이 되는 과정은 일반적으로 다음과 같다.학습가능한 파라미터들로 이뤄진 뉴럴넷을 만든다.반복적으로 입력 데이터셋을 뉴럴넷에 전달한다.정답과 예측값 간 차이, 즉 loss를 계산한다.backpropagation 과정을 통해 뉴럴넷의 파라미터들의 각 gradient를 계산한다.네트워크의 weights를 gr..

Machine Learning 2021.03.08

DEEP LEARNING WITH PYTORCH: A 60 MINUTE BLITZ - TORCH.AUTOGRAD

torch.autogradPyTorch는 자동 미분 계산을 지원한다.이번 섹션에서는 neural network 학습을 위해 어떻게 자동미분을 적용하는지 개념적으로 이해하도록 한다.Background뉴럴넷은 어떠한 입력 데이터에 대해 실행되는 연결된 함수들(신경망)의 집합이다.이러한 함수들은 weight와 bias로 구성된 parameters에 의해 정의되고, 이것들은 Tensor 형태로 저장된다.뉴럴네트워크 학습 과정은 크게 2단계로 나눌 수 있는데, forward propagation과 backward propagation이다.Forward propagationinput data를 각 함수들에 대해 통과시켜서 가장 옳은 output을 만들어내는 과정이다.Backward propagationforward..

Machine Learning 2021.03.05

DEEP LEARNING WITH PYTORCH: A 60 MINUTE BLITZ - TENSORS

What is PyTorch? PyTorch는 파이썬 기반 패키지로 GPU나 다른 가속장치를 사용하기 위해 NumPy를 대체할 수 있고, neural networks 구현을 위한 자동 미분 라이브러리를 제공한다. Goal of this tutorial PyTorch의 텐서 라이브러리와 neural network를 이해한다. 이미지를 분류하기 위해 작은 neural network를 학습시켜본다. Requirements https://pytorch.org/get-started/locally/ 자신의 OS, 쿠다 버전 등 컴퓨터 사양에 맞는 파이토치 설치 conda install pytorch torchvision torchaudio cudatoolkit=10.2 -c pytorch Tensors Tensor..

Machine Learning 2021.03.04

파이썬 데이터분석 실무 테크닉 100 - 5장

05장 회원 탈퇴를 예측하는 테크닉 10¶ 앞장에서 소개한 클러스터링을 통한 행동 분석은 사용방법에 따라 많은 가능성이 있는 기술이다. 행동 패턴을 분석할 수 있으면 어떤 고객이 탈퇴할지와 같은 예측도 어느정도 정확하게 할 수 있다. 탈퇴 방지를 하기 위해 미리 정책을 준비하는 것도 가능하다. Decision Tree라고 부르는 지도학습의 분류 알고리즘을 이용하여 탈퇴를 예측하는 흐름을 배운다. In [1]: import pandas as pd # Load Dataset folder_p = '/content/drive/MyDrive/파이썬데이터분석실무테크닉100/pyda100/5장/' customer = pd.read_csv(folder_p+'customer_join...

DATASET - Semantic Segmentation

Semantic Segmentation(계속 업데이트 중) 1. Cityscapes URL - https://www.cityscapes-dataset.com/ Cityscapes는 도시 길거리의 의미론적 이해를 위한 대용량 데이터셋입니다. 이 데이터셋은 semantic, instance-wise, dense pixel annotation된 라벨을 제공합니다. 라벨링은 8개 카테고리(평지, 사람, 차량, 건축물, 객체, 자연, 하늘, void)로 그룹화된 30개 클래스로 구성되어 있습니다. 5000개의 fine label 이미지들과 20000 coarse label 이미지들로 구성되어 있습니다. 이미지들은 여러 날짜, 좋은 날씨에서 50개의 도시에서 촬영되었습니다. 원래는 비디오로 녹화된 데이터였는데 각 ..

Machine Learning 2021.02.05

DATASET - Image Classification

Image Classification(계속 업데이트 중) 1. ImageNet URL - http://image-net.org/download WordNet 계층구조를 따른 14,197,122 장의 supervised learning(labeled) 데이터셋입니다. ImageNet Large Scale Visual Recognition Challenge(ILSVRC) 대회에서 Image classification과 Object Detection 성능평가 데이터셋으로 사용되었습니다. 라벨링된 Train 데이터와 라벨링되지 않은 Test 데이터셋 전부 공개된 데이터셋입니다. ILSVRC annotations는 두개의 범주 중 하나에 속합니다. (1)이미지 안에 객체 클래스가 존재하는지 아닌지에 대한 Bina..

Machine Learning 2021.02.05

[VISION 논문 읽기] simple copy-paste is a strong data augmentation method for instance segmentation

두 장의 이미지에서 한 장을 source, 나머지 한 장을 target으로 하여 source 이미지 내 객체들의 부분 집합을 선택해 target 이미지에 붙여넣음으로써 어렵고, 새로운 이미지 데이터셋을 만들 수 있다. 코드 이식성이 좋아서 쉽게 다른 모델을 사용할 때 data augmentation 적용할 수 있으며 여러 실험을 진행해본 결과, (object detection, instance segmentation, semantic segmentation, self-supervised learning ...)성능 또한 우수함. 데이터가 적은 상황에서 데이터 효율성을 끌어올릴 수 있다. YOUTUBE : youtu.be/jPWHdj2caC8