728x90
torch를 활용하여 학습에 필요한 오픈소스 이미지 데이터 셋을 사이트에 방문하지 않고 다운하기
1. 옥스퍼드-IIIT 펫(Oxford-IIIT Pet) 데이터셋
Visual Geometry Group - University of Oxford
www.robots.ox.ac.uk
- 총 이미지 개수는 7,349장
- 카테고리: 총 37종의 개와 고양이 품종 (개 25종, 고양이 12종)
- 클래스당 이미지 수: 각 품종별로 약 200장 내외로 구성
- Train Set과 Test Set로 나뉘어 제공
2. 가상환경에서 설치
들어가기에 앞서, 가상환경에서 작업하면 좋으니 가상환경 만들어서 실행!
가상환경(Virtual Environment) 생성하기/삭제하기/복제하기
1. 가상환경 컴퓨터 환경을 여러 개로 분리하는 것1) 가상환경이 필요한 이유라이브러리를 설치하다보면 '버전 충돌'문제가 발생하기 때문.가상환경이 없다면 라이브러리 버전을 매번 설치/삭제
hello-heehee.tistory.com
GPU가 있다면 GPU사용이 가능한 torch로 설치해야 한다.
# CPU 사용시 기존 라이브러리 설치처럼 동일하게 설치
pip install torch torchvision torchaudito
# GPU 사용시
# 기존 설치된 라이브러리가 있다면 삭제
pip uninstall torch torchvision torchaudio -y
# CUDA 지원 PyTorch 설치
# 1660 Super 기준으로 설치 (이외 GPU는 CUDA 버전 찾아보고 설치하는 것을 권장)
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
import torch
print(torch.cuda.is_available()) #True 시 GPU 사용 가능
print(torch.cuda.get_device_name(0)) #그래픽카드 이름 출력
3. Oxford-IIIT Pet 데이터셋 다운하기
Oxford-Pet 데이터 셋 다운로드 전에, 이미지 사이즈도 사용자가 정할 수 있음.
Resize 에 원하는 이미지 사이즈를 넣으면, 해당 사이즈로 다운로드 됨.
#1660 Super VRAM 6GB 환경을 위해 이미지 크기를 128x128로 줄여서 가볍게 만듦
transform = transforms.Compose(
[
transforms.Resize((128, 128)),
transforms.ToTensor(),
transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225]),
]
)
Oxford-Pet 데이터 셋 다운.
OxfordIIITPet — Torchvision main documentation
Shortcuts
docs.pytorch.org
# 현재 디렉토리에서 'data'라는 폴더에 저장
# download=False 로 하면 다운로드를 하지 않고, 'data' 폴더에서 자동으로 Oxford-pet 데이터셋을 사용함.
# 데이터셋이 이미 저장되어 있다면 download=True여도 다시 다운로드 안하고 폴더에 있는 것 사용
dataset = datasets.OxfordIIITPet(
root="./data", download=True, split="trainval", transform=transform
)
다운로드 후 자동으로 압축을 풀고 이미지를 저장하는데 시간이 꽤 소요된다........... 딴짓하는 것 추천...
그리고 공식사이트에서는 이미지가 7349 장이랬는데 torch로 다운하고 나니까 7393장이다...............
728x90
'DeepLearning > 딥러닝 기초' 카테고리의 다른 글
| [딥러닝 기초] Sparse Data 희소 데이터 (2) | 2024.12.14 |
|---|---|
| [딥러닝 기초] 경사하강법 Gradient Descent (4) | 2024.12.13 |
| [딥러닝 기초] 신경망의 기본 구조 (2) | 2024.12.12 |
| [딥러닝 기초] 활성 함수(Activation Function) 정의 및 종류 (2) | 2024.12.05 |
| [딥러닝 기초] 손실 함수(Loss function) 정의 및 유형 별 종류 (4) | 2024.12.04 |