Skip to main content

Tập dữ liệu ImageNette

Phương thức ImageNette là một tập con của tập 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ó English springer, máy cassette, cưa máy, nhà thờ, kèn Pháp, xe chở rác, cột bơm xăng, bóng golf, dù.
  • Tập dữ liệu này bao gồm các hình ả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 machine learning, đặ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

Tập dữ liệu ImageNette được chia thành hai tập con:

  1. 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 mô hình machine learning. Số lượng chính xác thay đổi tùy theo từng lớp.
  2. 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à benchmark các mô hình đã huấn luyện. Một lần nữa, số lượng chính xác thay đổi 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 mô hình 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 machine learning khác. Định dạng đơn giản và các lớp được lựa chọn kỹ lưỡng của tập 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à các chuyên gia dày dạn kinh nghiệm trong lĩnh vực machine learningcomputer vision.

Sử dụng

Để huấn luyện một mô hình trên tập dữ liệu ImageNette trong 100 epoch với kích thước ảnh chuẩn là 224x224, bạn có thể sử dụng các đoạn mã sau. Để có danh sách đầy đủ các đối số khả dụng, hãy tham khảo Training của chúng tôi.

Ví dụ huấn luyện
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 mẫu và chú thích

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 vật khác nhau, cung cấp một tập dữ liệu đa dạng cho image classification. Dưới đây là một số ví dụ về hình ảnh từ tập dữ liệu:

Hình ảnh mẫu tập dữ liệu phân loại ImageNette

Ví dụ này giới thiệu 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 mô hình phân loại hình ảnh mạnh mẽ.

ImageNette160 và ImageNette320

Để tạo mẫu (prototyping) 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: ImageNette160ImageNette320. 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 xuống một chiều 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ử 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 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:

Ví dụ huấn luyện với ImageNette160
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)
Ví dụ huấn luyện với ImageNette320
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)

Các 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à có 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 nhận nó một cách thích hợp. Để biết thêm thông tin về tập dữ liệu ImageNette, hãy truy cập trang GitHub tập dữ liệu ImageNette.

Câu hỏi thường gặp (FAQ)

Tập dữ liệu ImageNette là gì?

Phương thức 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ỉ có 10 lớp dễ phân biệt như cá tench, chó English springer và kèn Pháp. Nó được tạo ra để cung cấp một tập dữ liệu dễ quản lý hơn cho việc 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à mục đích giáo dục trong machine learning và computer vision.

Làm thế nào tôi có thể sử dụng tập dữ liệu ImageNette để huấn luyện một mô hình YOLO?

Để huấn luyện một mô hình YOLO trên tập dữ liệu ImageNette trong 100 epochs, bạn có thể sử dụng các lệnh sau. Đảm bảo rằng môi trường Ultralytics YOLO đã được thiết lập.

Ví dụ huấn luyện
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 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, làm cho nó bớ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 cho Giáo dục: Lý tưởng để học và dạy những điều 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.
  • Đa năng: Được sử dụng rộng rãi để huấn luyện và benchmark các mô hình machine learning 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 mô hình và quản lý tập dữ liệu, hãy khám phá Cấu trúc bộ dữ liệu .

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 trong 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 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("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 Huấn luyện với ImageNette160 và 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áo dục người mới bắt đầu về machine learning và computer vision.
  • Phát triển phần mềm: Để tạo mẫu nhanh và phát triển các mô hình phân loại hình ảnh.
  • Nghiên cứu Deep Learning: Để đánh giá và benchmark hiệu suất của các mô hình deep learning khác nhau, đặc biệt là các mạng Convolutional Neural Networks (CNN).

Ví dụ: Kết hợp khung hình với các kết quả dự đoán trong quá trình dự đoán sử dụng Ứng dụng phần để biết các trường hợp sử dụng chi tiết.

Bình luận