# Görsel verilerini işleyin

Bu kılavuz, görüntü veri setlerini işleme için belirli yöntemleri gösterir. Şunları öğrenin:

- Görsel veri setiyle [map()](/docs/datasets/v5.2.0/tr/package_reference/main_classes#datasets.Dataset.map) kullanın.
- Bir veri setine [set_transform()](/docs/datasets/v5.2.0/tr/package_reference/main_classes#datasets.Dataset.set_transform) ile veri artırma (data augmentation) uygulamaları uygulayın.

Herhangi bir veri seti türünü işleme sürecine dair bir kılavuz için genel süreç kılavuzuna göz atın.

## Harita

[map()](/docs/datasets/v5.2.0/tr/package_reference/main_classes#datasets.Dataset.map) fonksiyonu, tüm bir veri setine dönüştürme uygulamak için kullanılabilir.

Örneğin, temel bir [`Resize`](https://pytorch.org/vision/stable/generated/torchvision.transforms.Resize.html) fonksiyonu oluşturun:

```py
>>> def transforms(examples):
...     examples["pixel_values"] = [image.convert("RGB").resize((100,100)) for image in examples["image"]]
...     return examples
```

Şimdi tüm veri setini yeniden boyutlandırmak için [map()](/docs/datasets/v5.2.0/tr/package_reference/main_classes#datasets.Dataset.map) fonksiyonunu kullanın ve örneklerin toplu olarak kabul edilerek sürecin hızlandırılması için `batched=True` ayarını yapın. Dönüşüm, önbelleğe alınabilir bir `PIL.Image` nesnesi olarak `pixel_values` döndürür:

```py
>>> dataset = dataset.map(transforms, remove_columns=["image"], batched=True)
>>> dataset[0]
{'label': 6,
 'pixel_values': <PIL.PngImagePlugin.PngImageFile image mode=RGB size=100x100 at 0x7F058237BB10>}
```

Önbellek dosyası, aynı dönüştürmeyi iki kez çalıştırmak zorunda kalmadığınız için zaman kazandırır. [map()](/docs/datasets/v5.2.0/tr/package_reference/main_classes#datasets.Dataset.map) fonksiyonu, eğitim başına yalnızca bir kez çalıştırılan işlemler için -örneğin bir görüntüyü yeniden boyutlandırmak- en uygun olandır; veri artırma gibi her çağda (epoch) çalıştırılan işlemler için kullanılmamalıdır.

[map()](/docs/datasets/v5.2.0/tr/package_reference/main_classes#datasets.Dataset.map) biraz bellek kullanır, ancak aşağıdaki parametrelerle bellek gereksinimini azaltabilirsiniz:

- [`batch_size`](./package_reference/main_classes#datasets.DatasetDict.map.batch_size), dönüştürme fonksiyonuna yapılan tek bir çağrıda işlenen örnek sayısını belirler.
- [`writer_batch_size`](./package_reference/main_classes#datasets.DatasetDict.map.writer_batch_size), depolanmadan önce bellekte tutulan işlenmiş örneklerin sayısını belirler.

Her iki parametre değeri de varsayılan olarak 1000'dir; bu, görseller saklıyorsanız maliyetli olabilir. [map()](/docs/datasets/v5.2.0/tr/package_reference/main_classes#datasets.Dataset.map) kullandığınızda daha az bellek kullanmak için bu değerleri düşürün.

## Dönüşümleri uygula

🤗 Datasets, herhangi bir kütüphaneden veya paketten veri artırma işlemlerini veri setinize uygular. Dönüşümler, [set_transform()](/docs/datasets/v5.2.0/tr/package_reference/main_classes#datasets.Dataset.set_transform) ile veri topluluklarına anlık olarak uygulanabilir; bu, daha az disk alanı tüketir.

> [!TIP]
> Aşağıdaki örnek [torchvision](https://pytorch.org/vision/stable/index.html) kullanır, ancak [Albumentations](https://albumentations.ai/docs/), [Kornia](https://kornia.readthedocs.io/en/latest/) ve [imgaug](https://imgaug.readthedocs.io/en/latest/) gibi diğer veri artırma kütüphanelerini de kullanabilirsiniz.

Örneğin, bir görüntünün renk özelliklerini rastgele değiştirmek istiyorsanız:

```py
>>> from torchvision.transforms import Compose, ColorJitter, ToTensor

>>> jitter = Compose(
...     [
...          ColorJitter(brightness=0.25, contrast=0.25, saturation=0.25, hue=0.7),
...          ToTensor(),
...     ]
... )
```

`ColorJitter` dönüşümünü uygulamak için bir fonksiyon oluşturun:

```py
>>> def transforms(examples):
...     examples["pixel_values"] = [jitter(image.convert("RGB")) for image in examples["image"]]
...     return examples
```

Dönüşümü [set_transform()](/docs/datasets/v5.2.0/tr/package_reference/main_classes#datasets.Dataset.set_transform) işleviyle uygulayın:

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

