Bộ dữ liệu ImageNette
Bộ dữ liệu ImageNette là một tập hợp con của bộ dữ liệu ImageNet lớn hơn, nhưng nó 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 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ó săn English Springer, máy cassette, cưa máy, nhà thờ, kèn French horn, xe chở rác, máy bơm xăng, bóng golf, dù.
- Bộ dữ liệu bao gồm các ảnh màu với nhiều kích thước khác nhau.
- 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 bộ dữ liệu
Bộ dữ liệu ImageNette được chia thành hai tập hợp con:
- Tập Huấn Luyện: Tập hợp con này chứa hàng nghìn hình ảnh được sử dụng để huấn luyện các mô hình học máy. Số lượng chính xác khác nhau tùy theo từng lớp.
- Tập Dữ Liệu Kiểm Định (Validation Set): Tập hợp con này bao gồm hàng trăm ảnh được sử dụng để kiểm định và đánh giá các mô hình đã huấn luyện. Số lượng chính xác khác nhau tùy theo từng lớp.
Các ứng dụng
Bộ dữ liệu ImageNette được sử dụng rộng rãi để huấn luyện và đánh giá các mô hình học sâu trong các tác vụ phân loại hình ảnh, chẳng hạn như Mạng nơ-ron tích chập (CNN) và các thuật toán học máy khác. Định dạng đơn giản và các lớp được lựa chọn kỹ càng của bộ dữ liệu làm cho nó trở thành một nguồn tài nguyên tiện dụng cho cả người mới bắt đầu và người có kinh nghiệm 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 mô hình trên bộ dữ liệu ImageNette trong 100 epochs với kích thước ảnh tiêu chuẩn 224x224, bạn có thể sử dụng các đoạn mã sau. Để có danh sách đầy đủ các đối số có sẵn, hãy tham khảo trang Huấn luyện của mô hình.
Ví dụ huấn luyện
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n-cls.pt") # load a pretrained model (recommended for training)
# Train the model
results = model.train(data="imagenette", epochs=100, imgsz=224)
# Start training from a pretrained *.pt model
yolo classify train data=imagenette model=yolo11n-cls.pt epochs=100 imgsz=224
Ảnh và Chú thích mẫu
Bộ dữ liệu ImageNette chứa các hình ảnh màu của các đối tượng và cảnh khác nhau, cung cấp một bộ 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 vài ví dụ về hình ảnh từ bộ dữ liệu:
Ví dụ này thể hiện sự đa dạng và phức tạp của hình ảnh trong bộ dữ liệu ImageNette, làm nổi bật tầm quan trọng của một bộ dữ liệu đa dạng để huấn luyện các mô hình phân loại ảnh mạnh mẽ.
ImageNette160 và ImageNette320
Để tạo mẫu và đào tạo nhanh hơn, bộ dữ liệu ImageNette cũng có sẵn ở hai kích thước giảm: ImageNette160 và ImageNette320. Các bộ dữ liệu này duy trì các lớp và cấu trúc giống như bộ dữ liệu ImageNette đầy đủ, nhưng các hình ảnh được thay đổi kích thước thành một kích thước nhỏ hơn. Do đó, các phiên bản bộ dữ liệu này đặc biệt hữu ích cho việc kiểm tra mô hình sơ bộ hoặc khi tài nguyên tính toán bị hạn chế.
Để sử dụng các bộ 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 đây minh họa điều này:
Ví dụ Huấn luyện với ImageNette160
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n-cls.pt") # load a pretrained model (recommended for training)
# Train the model with ImageNette160
results = model.train(data="imagenette160", epochs=100, imgsz=160)
# Start training from a pretrained *.pt model with ImageNette160
yolo classify train data=imagenette160 model=yolo11n-cls.pt epochs=100 imgsz=160
Ví dụ Huấn luyện với ImageNette320
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n-cls.pt") # load a pretrained model (recommended for training)
# Train the model with ImageNette320
results = model.train(data="imagenette320", epochs=100, imgsz=320)
# Start training from a pretrained *.pt model with ImageNette320
yolo classify train data=imagenette320 model=yolo11n-cls.pt epochs=100 imgsz=320
Các phiên bản nhỏ hơn của bộ dữ liệu này cho phép lặp lại nhanh chóng trong quá trình phát triển, đồng thời vẫn cung cấp các tác vụ phân loại hình ảnh có giá trị và thực tế.
Trích dẫn và Lời cảm ơn
Nếu bạn sử dụng bộ dữ liệu ImageNette trong công việc nghiên cứu hoặc phát triển của mình, vui lòng ghi nhận nó một cách thích hợp. Để biết thêm thông tin về bộ dữ liệu ImageNette, hãy truy cập trang GitHub của bộ dữ liệu ImageNette.
Câu hỏi thường gặp
Bộ dữ liệu ImageNette là gì?
Tập dữ liệu ImageNette dataset là một tập hợp con đơn giản hóa của tập dữ liệu ImageNet dataset lớn hơn, chỉ có 10 lớp dễ phân biệt như cá tench, chó English Springer và kèn French horn. Nó được tạo ra để cung cấp một tập dữ liệu dễ quản lý hơn để huấn luyện và đánh giá hiệu quả các mô hình 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 chóng và cho mục đích giáo dục trong machine learning và thị giác máy tính.
Làm thế nào để sử dụng bộ dữ liệu ImageNette để huấn luyện mô hình YOLO?
Để huấn luyện một mô hình YOLO trên bộ dữ liệu ImageNette trong 100 epochs, bạn có thể sử dụng các lệnh sau. Đảm bảo đã thiết lập môi trường Ultralytics YOLO.
Ví dụ huấn luyện
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n-cls.pt") # load a pretrained model (recommended for training)
# Train the model
results = model.train(data="imagenette", epochs=100, imgsz=224)
# Start training from a pretrained *.pt model
yolo classify train data=imagenette model=yolo11n-cls.pt epochs=100 imgsz=224
Để biết thêm chi tiết, hãy xem trang tài liệu Huấn luyện.
Tại sao tôi nên sử dụng ImageNette cho các tác vụ phân loại hình ảnh?
Bộ dữ liệu ImageNette có lợi thế vì một số lý do:
- Nhanh chóng và Đơn giản: Nó chỉ chứa 10 lớp, làm cho nó ít phức tạp và tốn thời gian hơn 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 các kiến thức cơ bản về phân loại hình ảnh vì nó đòi hỏi ít sức mạnh tính toán và thời gian hơn.
- Tính Đa Dụng: Được sử dụng rộng rãi để huấn luyện và đánh giá các mô hình học máy khác nhau, đặc biệt là trong phân loại ảnh.
Để biết thêm chi tiết về huấn luyện mô hình và quản lý bộ dữ liệu, hãy khám phá phần Cấu trúc Bộ dữ liệu.
Bộ 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ó, bộ dữ liệu ImageNette cũng có sẵn trong hai phiên bản được 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 tài nguyên tính toán bị hạn chế.
Ví dụ Huấn luyện với ImageNette160
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n-cls.pt")
# Train the model with ImageNette160
results = model.train(data="imagenette160", epochs=100, imgsz=160)
# Start training from a pretrained *.pt model with ImageNette160
yolo classify train data=imagenette160 model=yolo11n-cls.pt epochs=100 imgsz=160
Để biết thêm thông tin, hãy tham khảo Đào tạo với ImageNette160 và ImageNette320.
Một số ứng dụng thực tế của bộ dữ liệu ImageNette là gì?
Bộ dữ liệu ImageNette được sử dụng rộng rãi trong:
- Môi trường giáo dục: Để giáo dục người mới bắt đầu về máy học và thị giác máy tính.
- Phát triển phần mềm: Để tạo mẫu và phát triển nhanh các mô hình phân loại hình ảnh.
- Nghiên Cứu Học Sâu: Để đánh giá và so sánh hiệu suất của các mô hình học sâu khác nhau, đặc biệt là Mạng Nơ-ron Tích chập (CNN).
Khám phá phần Ứng dụng để biết các trường hợp sử dụng chi tiết.