# Görüntü sınıflandırma

Görüntü sınıflandırma veri setleri, bir modelin tüm bir görüntüyü sınıflandırması için eğitilmesinde kullanılır. Tehlike altındaki yaban hayatı türlerini tanımlama veya tıbbi görüntülerde hastalık taraması yapma gibi bu veri setleri tarafından mümkün kılınan çok çeşitli uygulamalar vardır. Bu kılavuz, bir görüntü sınıflandırma veri setine dönüşümler (transformations) uygulamayı size gösterecektir.

Başlamadan önce, `albumentations` ve `cv2` kütüphanelerinin güncel sürümlerinin yüklü olduğundan emin olun:

```bash
pip install -U albumentations opencv-python
```

Bu kılavuz, yaprak görüntüsüne dayanarak fasulye bitkisi hastalığının türünü belirlemek için [Beans](https://huggingface.co/datasets/beans) veri setini kullanır.

Veri setini yükleyin ve bir örneğe göz atın:

```py
>>> 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}
```

Veri seti üç alana sahiptir:

* `image`: bir PIL görüntü nesnesi.
* `image_file_path`: görüntü dosyasının yolu.
* `labels`: görüntünün etiketi veya kategorisi.

Ardından bir görüntüye göz atın:

    

Şimdi `albumentations` ile bazı artırma (augmentation) işlemleri uygulayın. Görseli rastgele kırpacak, yatay olarak çevirecek ve parlaklığını ayarlayacaksınız.

```py
>>> 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),
... ])
```

Görsellere dönüşümü uygulamak için bir fonksiyon oluşturun:

```py
>>> def transforms(examples):
...     examples["pixel_values"] = [
...         transform(image=np.array(image))["image"] for image in examples["image"]
...     ]
... 
...     return examples
```

Dizinin toplu verilerine (batch) dönüşümü anlık olarak uygulamak ve daha az disk alanı tüketmek için [set_transform()](/docs/datasets/v5.2.0/tr/package_reference/main_classes#datasets.Dataset.set_transform) fonksiyonunu kullanın:

```py
>>> dataset.set_transform(transforms)
```

Dönüşümün çalıştığını, ilk örneğin `pixel_values` dizinine indeksleyerek doğrulayabilirsiniz:

```py
>>> import numpy as np
>>> import matplotlib.pyplot as plt

>>> img = dataset["train"][0]["pixel_values"]
>>> plt.imshow(img)
```

    
    

> [!TIP]
> Bir görüntü sınıflandırma veri setini nasıl işleyeceğinizi öğrendiğinize göre, şimdi [bir görüntü sınıflandırma modelini nasıl eğiteceğinizi](https://colab.research.google.com/github/huggingface/notebooks/blob/main/examples/image_classification.ipynb) ve çıkarım için nasıl kullanacağınızı öğrenin.

