資料集文件
影像分類
立即開始
教學課程
操作指南
總覽
一般用法
載入流程串流與 PyTorch 搭配使用與 TensorFlow 搭配使用與 NumPy 搭配使用與 JAX 搭配使用與 Pandas 搭配使用與 Polars 搭配使用與 PyArrow 搭配使用與 Spark 搭配使用快取管理雲端儲存搜尋索引命令列介面 (CLI)疑難排解
音訊 (Audio)
視覺
文字
表格式
資料集儲存庫
概念指南
參考
加入 Hugging Face 社群
並獲得增強的文件體驗
開始使用
影像分類
影像分類資料集用於訓練模型,將整張影像進行分類。這些資料集能實現多種應用,例如辨識瀕危野生動物物種,或在醫學影像中篩檢疾病。本指南將向您展示如何對影像分類資料集套用轉換處理。
開始之前,請確保您已安裝最新版本的 albumentations 和 cv2
pip install -U albumentations opencv-python
本指南使用 Beans 資料集,根據葉片影像來辨識豆類植物的疾病類型。
載入資料集並查看範例
>>> from datasets import load_dataset
>>> dataset = load_dataset("AI-Lab-Makerere/beans")
>>> dataset["train"][10]
{'image': <PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=500x500 at 0x7F8D2F4D7A10>,
'image_file_path': '/root/.cache/huggingface/datasets/downloads/extracted/b0a21163f78769a2cf11f58dfc767fb458fc7cea5c05dccc0144a2c0f0bc1292/train/angular_leaf_spot/angular_leaf_spot_train.204.jpg',
'labels': 0}該資料集包含三個欄位
image:PIL 影像物件。image_file_path:影像檔案的路徑。labels:影像的標籤或類別。
接著,查看一張影像

現在使用 albumentations 套用一些增強功能。您將隨機裁切影像、進行水平翻轉,並調整其亮度。
>>> import cv2
>>> import albumentations
>>> import numpy as np
>>> transform = albumentations.Compose([
... albumentations.RandomCrop(width=256, height=256),
... albumentations.HorizontalFlip(p=0.5),
... albumentations.RandomBrightnessContrast(p=0.2),
... ])建立一個函數,將轉換套用到影像上
>>> def transforms(examples):
... examples["pixel_values"] = [
... transform(image=np.array(image))["image"] for image in examples["image"]
... ]
...
... return examples使用 set_transform() 函數,在資料集批次處理時即時 (on-the-fly) 套用轉換,以節省硬碟空間。
>>> dataset.set_transform(transforms)您可以透過索引第一個範例的 pixel_values 來驗證轉換是否成功
>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>> img = dataset["train"][0]["pixel_values"]
>>> plt.imshow(img)

在 GitHub 上更新既然您已經知道如何處理用於影像分類的資料集,請學習如何訓練影像分類模型並將其用於推論。