섬지
공대생 섬인지
섬지
전체 방문자
오늘
어제
  • 분류 전체보기 (17)
    • Logical (1)
    • Computer Science (4)
      • python (1)
      • C (0)
      • DataStructure (3)
    • Machine Learning (0)
    • Deep Learning (10)
      • Review (2)
      • Pytorch (2)
      • Computer Vision (4)
    • Environment (1)
      • Colab (0)
      • Linux (1)
    • Etc (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 코딩
  • YOLO
  • 파이썬
  • UNET
  • 머신러닝
  • YOLOv5
  • Python
  • C언어
  • 딥러닝
  • 컴퓨터비전
  • torchvision
  • wandb
  • Detection
  • pytorch
  • 파이토치
  • 자료구조
  • MLOps
  • 물체탐지
  • 논문리뷰
  • 디퓨전

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
섬지

공대생 섬인지

[Pytorch] ImageFolder로 쉽게 Image Dataset 만들기
Deep Learning/Pytorch

[Pytorch] ImageFolder로 쉽게 Image Dataset 만들기

2022. 7. 14. 23:38

이미지를 Input으로 하는 네트워크를 구축하고자 할 때 유용하게 사용할 수 있는 torchvision의 Image Folder 클래스를 소개한다.

 

 

ImageFolder를 이용하면 이미지들이 각 class에 해당하는 폴더에 각각 나누어져 있을 때 이를 dataset 형태로 쉽게 불러올 수 있다.

예시를 위해 kaggle에서 제공하는 Medical MNIST 데이터를 살펴보겠다.

 

 

Medical MNIST는 다음과 같은 2차원 medical 이미지들이 총 6개의 class로 나뉘어져 있는 형태이다.

 

 

각 class의 이미지들은 위와 같이 class 이름으로 된 폴더에 나뉘어져 있다. 이를 ImageFolder를 이용해 데이터셋 형태로 만들어 보자.

우선 ImageFolder의 파라미터를 살펴보면 다음과 같다.

 

가장 중요한 파라미터는 이미지 파일의 경로를 알려주는 root이다. class별 폴더가 저장되어 있는 경로를 넣어 주면 된다.

이미지 처리를 위해서는 transform, target_transform (label도 같이 transform되어야 할 경우에 이용)을 사용한다.

이외에 이미지 로드 방식을 결정하는 loader, valid한 파일인지를 검사하는 is_valid_file 파라미터도 존재한다.

 

이미지를 불러오고 transform을 적용한 뒤 dataset으로 만드는 예시는 다음과 같다.

 

from torchvision import transforms
from torchvision.datasets import ImageFolder

# transform 정의 : Resize 후 Tensor 형태로
transform = transforms.Compose([
                                transforms.Resize((150, 150)),
                                transforms.ToTensor(),
])

data = ImageFolder(root = "./datasets/medMNIST", # 폴더의 root 경로 넣어주기
                   transform = transforms.ToTensor())

 

생성한 데이터셋은 바로 DataLoader를 통해 불러들일 수 있다!

'Deep Learning > Pytorch' 카테고리의 다른 글

[Pytorch] Dataset 정의  (0) 2022.09.08
    'Deep Learning/Pytorch' 카테고리의 다른 글
    • [Pytorch] Dataset 정의
    섬지
    섬지
    Ewha MBE, Yonsei CSE, 인공지능하기싫다

    티스토리툴바