# Video Veri Seti

Bu kılavuz, veri seti deponuzu video dosyalarıyla nasıl yapılandıracağınızı gösterecektir.

Desteklenen bir yapıya ve [dosya biçimlerine](./datasets-adding#file-formats) sahip bir veri setinin Hub'daki sayfasında otomatik olarak bir Dataset Viewer bulunur.

Videolarınızla ilgili ek bilgiler - nesne tespiti için altyazılar veya sınırlayıcı kutular gibi - bu bilgileri bir meta veri dosyasına (`metadata.csv`/`metadata.jsonl`/`metadata.parquet`) dahil etmeniz koşuluyla otomatik olarak yüklenir.

Alternatif olarak, videolar [WebDataset](https://github.com/webdataset/webdataset) biçimini izleyen Parquet dosyalarında veya TAR arşivlerinde olabilir.

## Yalnızca videolar

Veri setiniz yalnızca videolar içeren tek bir sütundan oluşuyorsa, video dosyalarınızı kök dizinde saklayabilirsiniz:

```
my_dataset_repository/
├── 1.mp4
├── 2.mp4
├── 3.mp4
└── 4.mp4
```

veya bir alt dizinde:

```
my_dataset_repository/
└── videos
    ├── 1.mp4
    ├── 2.mp4
    ├── 3.mp4
    └── 4.mp4
```

Aynı anda MP4, MOV ve AVI dahil olmak üzere birden fazla [biçim](./datasets-adding#file-formats) desteklenir.

```
my_dataset_repository/
└── videos
    ├── 1.mp4
    ├── 2.mov
    └── 3.avi
```

Birden fazla bölümünüz varsa, videolarınızı buna uygun adlandırılmış dizinlere koyabilirsiniz:

```
my_dataset_repository/
├── train
│   ├── 1.mp4
│   └── 2.mp4
└── test
    ├── 3.mp4
    └── 4.mp4
```

Daha fazla bilgi ve bölümlere göre verileri düzenlemenin diğer yolları için [Dosya adları ve bölümler](./datasets-file-names-and-splits) bölümüne bakın.

## Ek sütunlar

Veri setiniz hakkında dahil etmek istediğiniz ek bilgiler varsa, örneğin metin açıklamaları veya sınırlayıcı kutular, bunları depolamanıza `metadata.csv` dosyası olarak ekleyin. Bu sayede [video üretimi](https://huggingface.co/tasks/text-to-video) veya [nesne algılama](https://huggingface.co/tasks/object-detection) gibi farklı bilgisayarlı görme görevleri için veri setlerini hızla oluşturabilirsiniz.

```
my_dataset_repository/
└── train
    ├── 1.mp4
    ├── 2.mp4
    ├── 3.mp4
    ├── 4.mp4
    └── metadata.csv
```

`metadata.csv` dosyanız, video dosyalarını metadata ile ilişkilendiren bir `file_name` sütunu içermelidir:

```csv
file_name,text
1.mp4,an animation of a green pokemon with red eyes
2.mp4,a short video of a green and yellow toy with a red nose
3.mp4,a red and white ball shows an angry look on its face
4.mp4,a cartoon ball is smiling
```

Ayrıca [JSONL](https://jsonlines.org/) dosyası olan `metadata.jsonl` dosyasını da kullanabilirsiniz:

```jsonl
{"file_name": "1.mp4","text": "an animation of a green pokemon with red eyes"}
{"file_name": "2.mp4","text": "a short video of a green and yellow toy with a red nose"}
{"file_name": "3.mp4","text": "a red and white ball shows an angry look on its face"}
{"file_name": "4.mp4","text": "a cartoon ball is smiling"}
```

Ve daha büyük veri kümeleri için veya gelişmiş veri alma özellikleriyle ilgileniyorsanız, [Parquet](https://parquet.apache.org/) dosyası olan `metadata.parquet` dosyasını kullanabilirsiniz.

## Göreceli yollar

Metadata dosyası, bağlı olduğu videolarla aynı dizinde veya herhangi bir üst dizinde bulunmalıdır, bu örnekteki gibi:

```
my_dataset_repository/
└── train
    ├── videos
    │   ├── 1.mp4
    │   ├── 2.mp4
    │   ├── 3.mp4
    │   └── 4.mp4
    └── metadata.csv
```

Bu durumda, `file_name` sütunu yalnızca dosya adı değil, videolara giden tam göreli bir yol olmalıdır:

```csv
file_name,text
videos/1.mp4,an animation of a green pokemon with red eyes
videos/2.mp4,a short video of a green and yellow toy with a red nose
videos/3.mp4,a red and white ball shows an angry look on its face
videos/4.mp4,a cartoon ball is smiling
```

Metadata dosyaları, videoların bulunduğu dizinin alt dizinlerine yerleştirilemez.

Daha genel olarak, `file_name` veya `*_file_name` adlı herhangi bir sütun, videolara giden tam göreli yolu içermelidir.

## Video sınıflandırma

Video sınıflandırma veri kümeleri için basit bir yapılandırma da kullanabilirsiniz: video sınıflarını adlandırmak için dizinleri kullanın. Video dosyalarınızı aşağıdaki gibi bir dizin yapısında saklayın:

```
my_dataset_repository/
├── green
│   ├── 1.mp4
│   └── 2.mp4
└── red
    ├── 3.mp4
    └── 4.mp4
```

Bu yapıyla oluşturulan veri seti iki sütun içerir: `video` ve `label` (değerler `green` ve `red`).

Birden fazla split de sağlayabilirsiniz. Bunu yapmak için veri seti dizininizin aşağıdaki yapıya sahip olması gerekir (daha fazla bilgi için [Dosya adları ve splitler](./datasets-file-names-and-splits) bölümüne bakın):

```
my_dataset_repository/
├── test
│   ├── green
│   │   └── 2.mp4
│   └── red
│       └── 4.mp4
└── train
    ├── green
    │   └── 1.mp4
    └── red
        └── 3.mp4
```

`label` sütununun bu otomatik eklenmesini [YAML yapılandırmasında](./datasets-manual-configuration) devre dışı bırakabilirsiniz. Dizin adlarınızın özel bir anlamı yoksa, README başlığına `drop_labels: true` ayarlayın:

```yaml
configs:
  - config_name: default  # Name of the dataset subset, if applicable.
    drop_labels: true
```

## Büyük ölçekli veri setleri

### WebDataset biçimi

[WebDataset](./datasets-webdataset) biçimi, büyük ölçekli video veri kümeleri için uygundur. Videoları ve bunların meta verilerini içeren TAR arşivlerinden oluşur ve akış için optimize edilmiştir. Çok sayıda videoya sahipseniz ve büyük ölçekli eğitim için akış veri yükleyicileri almak istiyorsanız faydalıdır.

```
my_dataset_repository/
├── train-0000.tar
├── train-0001.tar
├── ...
└── train-1023.tar
```

WebDataset TAR arşivi oluşturmak için, arşivlenecek videoları ve meta veri dosyalarını içeren bir dizin oluşturun ve TAR arşivini örneğin `tar` komutunu kullanarak oluşturun. Arşiv başına tipik boyut genellikle 1 GB civarındadır. Her video ve meta veri çiftinin aynı dosya önekinin paylaşıldığından emin olun, örneğin:

```
train-0000/
├── 000.mp4
├── 000.json
├── 001.mp4
├── 001.json
├── ...
├── 999.mp4
└── 999.json
```

Kullanıcı kolaylığı ve [Dataset Viewer](./data-studio)'ın etkinleştirilebilmesi için Hub'da barındırılan her veri setinin 5GB'a kadar otomatik olarak Parquet biçimine dönüştürüldüğünü unutmayın. Videolar oldukça büyük olabileceğinden, dönüştürülen Parquet verisinde videoların URL'leri, video baytları kendileri olmadan saklanır. Bunun hakkında daha fazla bilgi için [Parquet format](./data-studio#access-the-parquet-files) belgelerine göz atın.

