[pytorch] nn.Dropout inplace 역할은 무엇일까? [ic]nn.Dropout(p=0.2)[/ic] 확률을 의미하는 p인자는 익숙한 사람이 많다. 하지만 [ic]nn.Dropuout(p=0.2, inplace=True)[/ic]와 같이 [ic]inplace[/ic]가 붙어 있는걸 보는 순간 불편하다. 이번 포스팅에서는 [ic]inplace= True[/ic]일때와 [ic]False[/ic]일때 어떤 차이가 있는지 알아보자. 이 글과 읽으면 좋은글 [pytorch] transforms.Compose 사용 방법 [pytorch] ImageFolder 사용 방법 [pytorch] model.eval() vs torch.no_grad() 차이 1) [ic]inplace=False[/ic] 인경우 import torch import torch.nn as nn to.. 머신러닝,딥러닝/딥러닝 2022. 12. 23. [pytorch] model.eval() vs torch.no_grad() 차이 model.eval(), torch.no_grad() 둘다 train할때 사용 되지 않는다는점에서 공통점이 있다. 이 때문에 막연히 비슷한 기능을 한다고 착각하기 쉽다. 이번 포스팅에선 둘의 기능 차이에 대해 알아보자. 1) model.eval() nn.Module 클래스 메소드다. 이 친구는 training할때 유용한 기능(dropout, batch-normalization)을 작동하지 않게 해준다. 참고로 dropout은 오버피팅을 방지하고 batch-normalization은 generalization을 향상시켜준다. 이 기능을 inference할때 쓰게 된다면 오히려 성능이 하락된다. 2) torch.no_grad() 요즘엔 torch_no_grad() 대신 torch.inference_mode(.. 머신러닝,딥러닝/딥러닝 2022. 12. 21. [pytorch] ImageFolder 사용 방법 대용량 이미지 데이터를 데이터셋으로 관리하는데 편리한 모듈이 있다. 그 주인공은 Pytorch 에서 제공하는 ImageFolder다. 이 글을 읽기 전 선수 지식 포스팅 transforms.Compose 사용 방법 1) torchvision 설치 pip install torchvision ImageFolder는 기본 torch가 아니라 torchvision을 통해 제공된다. 2) 모듈 import from torchvision.datasets import ImageFolder 3) 사용 예제 예제 데이터구조 data 디렉토리를 기준으로 test, train 그 하위로 pizza, steak, sushi 디렉토리로 구성되어있다. ImageFolder를 사용하기 위해 기본적인 디렉토리 골격을 지켜줘야 한다... 머신러닝,딥러닝/딥러닝 2022. 12. 21. [pytorch] transforms.Compose 사용 방법 방대한 데이터 이미지를 한번에 변형 시킬 필요가 자주 있다. 이때 일일이 수작업으로 이미지를 변환한다면 리소스 낭비가 이만저만이 아닐거다. 이에 대한 해결책으로 torchvision.transforms.Compose 소개하고자 한다. 이번 포스팅은 transforms.Compose 사용방법과 이미지가 어떻게 변화되는지 눈으로 확인해볼거다. 1) 필요한 모듈 import from torchvision import transforms 2) transforms.Compose 정의 IMG_TRANSFORM = transforms.Compose([ transforms.Resize(size=(64, 64)), transforms.RandomHorizontalFlip(p=0.5), transforms.ToTensor.. 머신러닝,딥러닝/딥러닝 2022. 12. 21. AutoEncoder(오토인코더) 예제 코드 import torch from torchvision import transforms, datasets BATCH_SIZE = 64 trainset = datasets.FashionMNIST( root = './data/FASHIONMNIST/', # 저장할 공간 train = True, # 학습 여부 download = True, # downlaod 여부 transform = transforms.ToTensor() # Tensor로 타입 변환 ) trainloader = torch.utils.data.DataLoader( dataset = trainset, batch_size = BATCH_SIZE, shuffle = True, num_workers = 2 ) from torch import nn, o.. 머신러닝,딥러닝/딥러닝 2022. 12. 19. [opencv] jupyter notebook에서 영상 실행 방법(with ipywidgets) 일반적으로 영상을 실행시킬때 opencv 자체에서 제공하는 gui window를 통해 영상을 확인합니다. 문제는 쥬피터 노트북 상에선 해당방법으로 영상을 실행하면 커널이 shut down 되는 현상이 발생됩니다. 이번 포스팅에서는 ipywidgets 라이브러리를 통해 jupyter notebook 상에서도 영상을 실행하는 방법에 대해 알아보겠습니다. 1) ipywidgets 설치 !pip install ipywidgets 2) 예제 코드 (1) 방법1 필요한 모듈 import import cv2 from ipywidgets import Image from IPython.display import display Image() 클래스를 객체를 생성합니다. 이 객체는 추후 video file에서 읽은 vide.. 머신러닝,딥러닝/opencv 2022. 12. 19. [파이썬 opencv] 오픈 cv에서 selectroi 사용하는 방법 이미지에서 특정 영역을 지정하고 그 영역의 좌표값을 추출하는 데 사용되는 selectroi 에 대해 알아보겠습니다. 1. 기본 세팅 img = cv2.imread('lenna.jpg', cv2.IMREAD_COLOR) x, y, w, h = cv2.selectROI(windowName='roi', img=img) 여기서 windowName 인자는 윈도우 창 이름을 지정하는 부분입니다. img 는 어떤 이미지를 사용할지 적용해주는 부분이고요. 아래와 같이 특정 영역을 선택해주면 x, y, w, h 값을 리턴 받게 됩니다. x, y, w, h 값을 그림으로 도식화하면 아래와 같습니다. x, y는 사각형 좌상단 좌표, w, h는 사각형의 width, height를 의미합니다. 2. 추가 세팅 1) showCr.. 머신러닝,딥러닝/opencv 2022. 12. 9. [파이썬 opencv] 오픈cv 를 통해 비디오(영상) 출력하는 방법 이번 포스팅에서는 opencv를 통해 영상 파일과 실시간 캠 영상을 출력하는 방법에 대해 알아보겠습니다. 1. 주요 클래스 및 함수 소개 1) 카메라 객체 생성 VideoCapture 라는 클래스를 통해 캠 영상과 이미 완성되어 있는 영상파일을 출력할 수 있습니다. (1) 실시간 캠영상 VideoCapture 클래스 인자로 0부터 시작하는 정수 값을 넣습니다. 일반적으로 0은 컴퓨터의 기본 카메라인데요. 카메라가 두 개라면 하나는 0 다른 하나는 1로 설정을 합니다. 둘 중 어느 카메라가 할당될지는 상황에 따라 다를 수 있음으로 체크할 필요가 있습니다. (2) 영상 파일 앞서 정수를 넣었던 것과는 달리 영상파일 경로를 인자로 넣어주면 됩니다. 일반적으로 VideoCapure 을 통해 생성한 객체는 cap.. 머신러닝,딥러닝/opencv 2022. 12. 2. mmdetection 사용법(설치 및 기본 세팅) | inference 방법 이번 포스팅에서는 mmdetection 설치와 pretrained 모델을 이용하여 inference 하는 법에 대해 알아보겠습니다. 1. 라이브러리 설치 1) mmcv 설치 mmdetection을 설치하기 전 mmcv설치가 선행되어야 합니다. 설치방법은 매번 업데이트 되니 기존 방법이 deprecated 될 수 있습니다. 문제가 발생시 공식문서 설치방법을 확인하시길 바랍니다. 1. github 2. documentation * 예제는 코랩(colab)을 기준으로 작성되었습니다. openmim 을 먼서 설치합니다. 완료 후 mim install 을 사용할 수 있는데요. mim install 을 통해 mmcv-full 패키지 를 설치해줍니다. 2) mmdetection 파일 설치 mmdetection git.. 머신러닝,딥러닝/computer vision 2022. 12. 1. ultralytics yolov5 사용법 완벽 정리 yolov5 모델을 손쉽게 학습(train) 및 추론(inference) 할 수 있는 방법이 뭐가 있을까요? 바로 ultralytics yolov5 를 사용하는 것입니다. 이번 포스팅에서는 ultralytics yolov5 를 통해 학습 및 추론 하는 방법에 대해 알아보겠습니다. 1. 기본 세팅 1) 파일 설치 github 주소 : https://github.com/ultralytics/yolov5 깃헙 주소를 클론 하고 필요한 라이브러리를 다운로드 해줍니다. 2) 데이터 셋 (1) 디렉토리 구성 맞추기 ultralytics가 데이터를 읽고 사용하기 위한 고유 규칙이 있습니다. data라는 가장 큰 디렉토리를 기준으로 위와 같이 트리 형식을 갖춰야 합니다. images 와 labels 가 같은 디렉토리 .. 머신러닝,딥러닝/computer vision 2022. 11. 28. yolo 무료 이미지 라벨링 툴 labelimg 사용법 욜로를 학습시킬 데이터 라벨링을 하고 싶은데, 어떤 툴을 사용할지 고민이신가요? 이번 포스팅에서는 object detection 이미지 라벨링 툴 중 대표 격인 labelimg에 대해서 알아보고자 합니다. 프로그램 자체가 가볍고, 단축키로 빠르게 작업이 가능하기에 개인적으로 애용하는 툴입니다. 1. 설치 방법 1) git clone을 통해 깃헙 파일 가져오기 https://github.com/heartexlabs/labelImg 해당 주소를 git clone을 하고 난 뒤 설치하고자 하는 경로에 git clone 주소 명령어를 적어줍니다. 다운이 완료되면 다운 받은 디렉토리에 들어갑니다. 2) 필요한 라이브러리 설치 (1) pyqt 다운로드 (2) lxml 다운로드 (3) pyrcc5 명령어 입력 (4).. 머신러닝,딥러닝/computer vision 2022. 11. 23. python 딥러닝 폴더 구조 쉽게 나누는 방법(with splitfolders) 데이터가 train, validation, test로 구분이 되어 있어야 보다 손쉽게 작업이 가능할 텐데요. 문제는 이러한 형태로 데이터셋이 구성되어 있지 않을 때가 많다는 것입니다. 이럴 경우 직접 수동으로 폴더 구조를 수정할 수 있지만 데이터가 코랩과 같은 클라우드에 있을 경우 상당히 번거로워 지죠. 이러한 문제를 해결하기 위한 툴로 splitfolders라는 툴을 소개하고자 합니다. 사용법을 설명하기 앞서 예제 데이터 셋에 대한 설명부터 하겠습니다. 1. 기본 데이터셋 설명 1) 예제 데이터 셋(https://www.kaggle.com/datasets/arunrk7/surface-crack-detection) 준비 캐글에서 다운로드한 파일을 코랩에 저장합니다. 압축된 상태 그대로 사용할 것이고, 코.. 머신러닝,딥러닝/딥러닝 2022. 11. 15. 이전 1 2 3 4 5 다음