ImageNette 데이터셋#
ImageNette 데이터셋은 ImageNet의 하위 집합으로, 소프트웨어 개발과 교육을 위해 ImageNet을 더 빠르고 사용하기 쉽게 만들고자 fast.ai에서 생성한 쉽게 구별되는 10개의 클래스로 구성되어 있습니다. 이 데이터셋은 13,394개의 컬러 이미지(훈련용 9,469개, 검증용 3,925개)를 포함하며, 텐치(tench), 잉글리시 스프링어(English springer), 카세트 플레이어, 프렌치 호른 등의 클래스를 아우르므로 전체 1,000개 클래스의 ImageNet이 요구하는 몇 시간 대신 수분 만에 image classification 모델을 훈련할 수 있습니다.
주요 특징#
- ImageNette는 텐치, 잉글리시 스프링어, 카세트 플레이어, 전기톱, 교회, 프렌치 호른, 쓰레기 수거차, 주유 펌프, 골프공, 낙하산 등 10개 클래스에 걸쳐 총 13,394장의 이미지를 포함합니다.
- 이 데이터셋은 9,469장의 학습 이미지와 3,925장의 검증 컬러 이미지(다양한 크기)로 미리 정의된 분할을 제공합니다.
- 10개의 잘 구분되는 클래스 덕분에 ImageNette는 모델 학습이 빠르고 이해하기 쉬워 이미지 분류 프로토타이핑 및 교육용으로 널리 사용됩니다.
데이터셋 구조#
ImageNette는 사전에 정의된 학습/검증 데이터 분할을 제공하며, 각 클래스는 자체 폴더에 저장되어 있습니다:
| Split | 이미지 | 클래스 |
|---|---|---|
| 학습(Train) | 9,469 | 10 |
| 검증 | 3,925 | 10 |
이미지 수는 클래스마다 다르며, 전체 ImageNet 데이터셋의 규모 없이도 빠른 학습 및 벤치마킹을 위한 현실적인 분포를 제공합니다.
응용 분야#
ImageNette 데이터셋은 Convolutional Neural Networks (CNN) 및 기타 머신러닝 알고리즘과 같은 이미지 분류 작업에서 deep learning 모델을 훈련하고 평가하는 데 널리 사용됩니다. 직관적인 형식과 잘 엄선된 클래스 덕분에 machine learning 및 computer vision 분야의 초보자와 숙련된 실무자 모두에게 유용한 리소스입니다.
사용법#
표준 이미지 크기 224x224로 100 epochs 동안 ImageNette 데이터셋에서 모델을 훈련하려면 다음 코드 스니펫을 사용할 수 있습니다. 사용 가능한 인수에 대한 자세한 내용은 모델 Training 페이지를 참조하십시오.
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n-cls.pt") # load a pretrained model (recommended for training)
# Train the model
results = model.train(data="imagenette", epochs=100, imgsz=224)샘플 이미지 및 주석#
ImageNette 데이터셋에는 다양한 객체와 장면의 컬러 이미지가 포함되어 있어 image classification 작업을 위한 다양성 있는 데이터셋을 제공합니다. 다음은 데이터셋의 이미지 예시입니다:

이 예시는 ImageNette 데이터셋에 포함된 이미지의 다양성과 복잡성을 보여주며, 강력한 이미지 분류 모델을 학습하기 위한 데이터셋 다양성의 중요성을 강조합니다.
ImageNette160 및 ImageNette320#
더 빠른 프로토타이핑과 훈련을 위해 ImageNette는 ImageNette160과 ImageNette320이라는 두 가지 축소 크기로도 제공됩니다. 이 데이터셋들은 전체 ImageNette와 동일한 클래스와 구조를 유지하지만, 이미지가 더 작은 최대 모서리 길 리로 크기가 조정됩니다. 이는 예비 모델 테스트용으로나 연산 리소스가 제한될 때 특히 유용합니다.
이 데이터셋들을 사용하려면 훈련 명령어에서 단순히 imagenette을 imagenette160 또는 imagenette320로 바꾸기만 하면 됩니다. 다음 코드 스니펫은 이를 보여줍니다:
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n-cls.pt") # load a pretrained model (recommended for training)
# Train the model with ImageNette160
results = model.train(data="imagenette160", epochs=100, imgsz=160)from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n-cls.pt") # load a pretrained model (recommended for training)
# Train the model with ImageNette320
results = model.train(data="imagenette320", epochs=100, imgsz=320)데이터셋의 이러한 소형 버전은 현실적인 이미지 분류 작업을 제공하는 동시에 개발 중 빠른 반복을 가능하게 합니다. 또한 Ultralytics Platform을 사용하여 클라우드에서 분류 데이터셋을 관리하고 훈련을 실행할 수 있습니다.
인용 및 감사의 글#
연구나 개발 작업에서 ImageNette 데이터셋을 사용하는 경우 적절한 인정을 표해주시기 바랍니다. ImageNette에 대한 자세한 내용은 ImageNette dataset GitHub page를 방문하십시오.
machine learning 및 computer vision 연구 커뮤니티를 위한 귀중한 리소스인 ImageNette를 만들고 유지 관리해 준 fast.ai 팀에 감사를 표합니다.
FAQ#
ImageNette dataset은 텐치, 잉글리시 스프링어, 프렌치 호른과 같이 쉽게 구별되는 10개의 클래스를 가진 ImageNet의 단순화된 하위 집합입니다. 이 데이터셋은 13,394개의 이미지(훈련용 9,469개, 검증용 3,925개)를 포함하며, 이미지 분류 모델의 효율적인 훈련과 평가를 위한 더 관리하기 쉬운 데이터셋을 제공하기 위해 fast.ai에 의해 만들어졌습니다. 이는 machine learning 및 컴퓨터 비전 분야의 신속한 소프트웨어 개발 및 교육 목적에 특히 유용합니다.
ImageNette는 텐치, 잉글리시 스프링어, 카세트 플레이어, 전기톱, 교회, 프렌치 호른, 쓰레기 수거차, 주유 펌프, 골프공, 낙하산 등 10개 클래스에 걸쳐 총 13,394장의 이미지(학습용 9,469장, 검증용 3,925장)를 포함합니다. 각 클래스는 Ultralytics에서 사용하는 표준 분류 레이아웃에 따라 자체 폴더에 저장됩니다.
ImageNette에서 100 epochs 동안 YOLO 모델을 훈련하려면 다음 명령어를 사용하십시오. Ultralytics YOLO 환경이 설정되어 있는지 확인하십시오.
훈련 예제from ultralytics import YOLO # Load a model model = YOLO("yolo26n-cls.pt") # load a pretrained model (recommended for training) # Train the model results = model.train(data="imagenette", epochs=100, imgsz=224)자세한 내용은 Training 문서 페이지를 참조하십시오.
ImageNette 데이터셋은 다음과 같은 이유로 유리합니다:
- 빠르고 간편함: 단 10개의 클래스와 약 13,000장의 이미지만 포함되어 있어 전체 ImageNet보다 학습이 훨씬 덜 복잡하고 시간이 적게 소요됩니다.
- 교육적 활용: 더 적은 컴퓨팅 파워와 시간이 소요되므로 이미지 분류의 기초를 배우고 가르치는 데 이상적입니다.
- 다용성: 이미지 분류 모델, 특히 Convolutional Neural Networks (CNN)을 훈련하고 벤치마킹하는 데 널리 사용됩니다.
모델 훈련 및 데이터셋 관리에 대한 자세한 내용은 Dataset Structure 섹션을 살펴보십시오.
네, ImageNette는 이미지의 최대 가장자리 길이를 줄인 ImageNette160 및 ImageNette320 두 가지 조정 버전으로도 제공됩니다. 이 버전들은 빠른 프로토타이핑에 도움이 되며 특히 컴퓨팅 자원이 제한적인 경우 유용합니다.
ImageNette160을 사용한 학습 예시from ultralytics import YOLO # Load a model model = YOLO("yolo26n-cls.pt") # Train the model with ImageNette160 results = model.train(data="imagenette160", epochs=100, imgsz=160)자세한 내용은 Training with ImageNette160 and ImageNette320을 참조하십시오.
ImageNette 데이터셋은 다음과 같은 분야에서 광범위하게 사용됩니다:
- 교육 환경: 초보자에게 머신러닝과 computer vision의 기본 사항을 가르치기 위함입니다.
- 소프트웨어 개발: 이미지 분류 모델의 신속한 프로토타이핑 및 개발에 사용합니다.
- 딥러닝 연구: 다양한 딥러닝 모델, 특히 Convolutional Neural Networks (CNN)의 성능을 평가하고 벤치마킹하기 위함입니다.
상세한 사용 사례는 Applications 섹션을 살펴보십시오.