Tập dữ liệu ImageNette
Tập dữ liệu ImageNette là một tập con của tập dữ liệu ImageNet lớn hơn, nhưng chỉ bao gồm 10 lớp dễ phân biệt. Nó được tạo ra để cung cấp một phiên bản ImageNet nhanh hơn, dễ sử dụng hơn cho mục đích phát triển phần mềm và giáo dục.
Các tính năng chính
- ImageNette chứa hình ảnh từ 10 lớp khác nhau như cá tench, chó English springer, máy cassette, cưa máy, nhà thờ, kèn cor Pháp, xe chở rác, cột bơm xăng, bóng golf, dù.
- Tập dữ liệu bao gồm các hình ảnh màu với kích thước đa dạng.
- ImageNette được sử dụng rộng rãi để huấn luyện và kiểm thử trong lĩnh vực học máy, đặc biệt là cho các tác vụ phân loại hình ảnh.
Cấu trúc tập dữ liệu
Tập dữ liệu ImageNette được chia thành hai tập con:
- Tập huấn luyện (Training Set): Tập con này chứa hàng nghìn hình ảnh được sử dụng để huấn luyện các model học máy. Số lượng chính xác khác nhau tùy theo từng lớp.
- Tập xác thực (Validation Set): Tập con này bao gồm hàng trăm hình ảnh được sử dụng để xác thực và đánh giá các model đã huấn luyện. Tương tự, số lượng chính xác khác nhau tùy theo từng lớp.
Ứng dụng
Tập dữ liệu ImageNette được sử dụng rộng rãi để huấn luyện và đánh giá các model deep learning trong các tác vụ phân loại hình ảnh, chẳng hạn như Convolutional Neural Networks (CNN), và nhiều thuật toán học máy khác. Định dạng đơn giản và các lớp được chọn lọc kỹ lưỡng của tập dữ liệu này biến nó thành một tài nguyên hữu ích cho cả người mới bắt đầu và các chuyên gia trong lĩnh vực học máy và thị giác máy tính.
Cách sử dụng
Để huấn luyện một model trên tập dữ liệu ImageNette trong 100 epoch với kích thước hình ảnh tiêu chuẩn là 224x224, bạn có thể sử dụng các đoạn mã sau. Để có danh sách đầy đủ các tham số khả dụng, hãy tham khảo trang Training của model.
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)Hình ảnh và chú thích mẫu
Tập dữ liệu ImageNette chứa các hình ảnh màu của nhiều đối tượng và cảnh quan khác nhau, cung cấp một tập dữ liệu đa dạng cho các tác vụ phân loại hình ảnh. Dưới đây là một số ví dụ về hình ảnh từ tập dữ liệu:

Ví dụ này minh họa sự đa dạng và độ phức tạp của các hình ảnh trong tập dữ liệu ImageNette, làm nổi bật tầm quan trọng của một tập dữ liệu đa dạng để huấn luyện các model phân loại hình ảnh mạnh mẽ.
ImageNette160 và ImageNette320
Để tạo mẫu và huấn luyện nhanh hơn, tập dữ liệu ImageNette cũng có sẵn ở hai kích thước giảm thiểu: ImageNette160 và ImageNette320. Các tập dữ liệu này duy trì cùng các lớp và cấu trúc như tập dữ liệu ImageNette đầy đủ, nhưng các hình ảnh đã được thay đổi kích thước về độ phân giải nhỏ hơn. Do đó, các phiên bản này của tập dữ liệu đặc biệt hữu ích cho việc kiểm thử model sơ bộ hoặc khi nguồn lực tính toán bị hạn chế.
Để sử dụng các tập dữ liệu này, chỉ cần thay thế 'imagenette' bằng 'imagenette160' hoặc 'imagenette320' trong lệnh huấn luyện. Các đoạn mã sau minh họa điều này:
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)Những phiên bản nhỏ hơn của tập dữ liệu này cho phép lặp lại nhanh chóng trong quá trình phát triển trong khi vẫn cung cấp các tác vụ phân loại hình ảnh thực tế và giá trị.
Trích dẫn và Ghi nhận
Nếu bạn sử dụng tập dữ liệu ImageNette trong nghiên cứu hoặc công việc phát triển của mình, vui lòng ghi nguồn phù hợp. Để biết thêm thông tin về tập dữ liệu ImageNette, hãy truy cập trang GitHub của tập dữ liệu ImageNette.
Câu hỏi thường gặp (FAQ)
Tập dữ liệu ImageNette là gì?
Tập dữ liệu ImageNette là một tập con đơn giản hóa của tập dữ liệu ImageNet lớn hơn, chỉ bao gồm 10 lớp dễ phân biệt như cá tench, chó English springer và kèn cor Pháp. Nó được tạo ra để cung cấp một tập dữ liệu dễ quản lý hơn nhằm huấn luyện và đánh giá hiệu quả các model phân loại hình ảnh. Tập dữ liệu này đặc biệt hữu ích cho việc phát triển phần mềm nhanh và các mục đích giáo dục trong học máy và thị giác máy tính.
Làm thế nào để tôi có thể sử dụng tập dữ liệu ImageNette để huấn luyện một model YOLO?
Để huấn luyện một model YOLO trên tập dữ liệu ImageNette trong 100 epoch, bạn có thể sử dụng các lệnh sau. Hãy đảm bảo rằng môi trường Ultralytics YOLO đã được thiết lập.
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)Để biết thêm chi tiết, hãy xem trang tài liệu Training.
Tại sao tôi nên sử dụng ImageNette cho các tác vụ phân loại hình ảnh?
Tập dữ liệu ImageNette có lợi thế vì một số lý do:
- Nhanh và Đơn giản: Nó chỉ chứa 10 lớp, giúp giảm độ phức tạp và tiết kiệm thời gian so với các tập dữ liệu lớn hơn.
- Sử dụng trong Giáo dục: Lý tưởng để học và dạy những kiến thức cơ bản về phân loại hình ảnh vì nó yêu cầu ít năng lượng tính toán và thời gian hơn.
- Tính đa năng: Được sử dụng rộng rãi để huấn luyện và đánh giá các model học máy khác nhau, đặc biệt là trong phân loại hình ảnh.
Để biết thêm chi tiết về huấn luyện model và quản lý tập dữ liệu, hãy khám phá phần Dataset Structure.
Tập dữ liệu ImageNette có thể được sử dụng với các kích thước hình ảnh khác nhau không?
Có, tập dữ liệu ImageNette cũng có sẵn ở hai phiên bản đã thay đổi kích thước: ImageNette160 và ImageNette320. Các phiên bản này giúp tạo mẫu nhanh hơn và đặc biệt hữu ích khi nguồn lực tính toán bị hạn chế.
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)Để biết thêm thông tin, hãy tham khảo Training with ImageNette160 and ImageNette320.
Một số ứng dụng thực tế của tập dữ liệu ImageNette là gì?
Tập dữ liệu ImageNette được sử dụng rộng rãi trong:
- Môi trường Giáo dục: Để giảng dạy cho người mới bắt đầu về học máy và thị giác máy tính.
- Phát triển Phần mềm: Để tạo mẫu nhanh và phát triển các model phân loại hình ảnh.
- Nghiên cứu Deep Learning: Để đánh giá và đo lường hiệu suất của các model deep learning khác nhau, đặc biệt là Convolutional Neural Networks (CNN).
Khám phá phần Applications để biết các trường hợp sử dụng chi tiết.