Datasets documentation

CLI kullanarak bir veri seti paylaşın

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v4.8.4).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

CLI kullanarak bir veri seti paylaşın

Hugging Face'ta iyi Makine Öğrenimini demokratikleştirmek için çalışıyoruz ve açık kaynak kodunun değerine inanıyoruz. Bu nedenle, 🤗 Datasets'i herkesin bir veri setini daha geniş ML topluluğuyla paylaşabilmesi için tasarladık. Hugging Face Hub'da şu anda 100'den fazla dilde binlerce veri seti bulunuyor ve Hugging Face ekibi her zaman yeni katkıları memnuniyetle karşılıyor!

Veri seti depoları şu özellikleri sunar:

  • Ücretsiz veri seti barındırma
  • Veri seti sürümleme
  • Commit geçmişi ve diff'ler
  • Keşfedilebilirlik için meta veriler
  • Belgelendirme, lisanslama, kısıtlamalar vb. için veri seti kartları
  • Veri Seti Görüntüleyici

Bu kılavuz, herkesin kolayca erişebileceği bir veri seti klasörü veya deposunu nasıl paylaşacağınızı gösterecektir.

Bir veri seti ekleyin

Veri setinizi Hugging Face Hub'daki bir veri seti deposu aracılığıyla toplulukla paylaşabilirsiniz. Erişimi kimlerin yapacağını kontrol etmek isterseniz, veri seti özel de olabilir.

Bir veri seti deposunda, tüm veri dosyalarınızı barındırabilir ve hangi dosyanın hangi bölüme gideceğini tanımlamak için veri setinizi yapılandırabilirsiniz. Desteklenen biçimler şunlardır: CSV, TSV, JSON, JSON satırları, metin, Parquet, Arrow, SQLite, WebDataset. Birçok türde sıkıştırılmış dosya biçimi de desteklenir: GZ, BZ2, LZ4, LZMA veya ZSTD. Örneğin, veri setiniz .json.gz dosyalarından oluşabilir.

Hub'dan bir veri seti yüklenirken, depo yapısına uygun olarak desteklenen biçimlerdeki tüm dosyalar yüklenir.

Hub'dan bir veri seti yüklemekle ilgili daha fazla bilgi için Hub'dan bir veri seti yükleme eğitimine göz atın.

Depoyu oluşturun

Bir topluluk veri seti paylaşmak için henüz bir hesabınız yoksa hf.co üzerinde bir hesap oluşturmanız gerekir. Hugging Face Hub'daki hesabınızdan doğrudan bir yeni veri seti deposu oluşturabilirsiniz, ancak bu kılavuz size bir veri setini terminalden nasıl yükleyeceğinizi gösterecektir.

  1. Datasets'i yüklediğiniz sanal ortamda olduğunuzdan emin olun ve aşağıdaki komutu çalıştırın:
hf auth login
  1. Hugging Face Hub kimlik bilgilerinizle oturum açın ve yeni bir veri seti deposu oluşturun:
hf repos create my-cool-dataset --type dataset

Bir organizasyon altında oluşturmak için depo adının başına organizasyon adını ekleyin:

hf repos create your-org-name/my-cool-dataset --type dataset

Dosyalarınızı hazırlayın

Yüklediğiniz dosyaların yalnızca şunlar olduğundan emin olmak için dizininizi kontrol edin:

  • Veri setinin veri dosyaları

  • Veri seti kartı README.md

hf upload

Dosyaları Hub'a doğrudan yüklemek için hf upload komutunu kullanın. İçeride, Yükleme kılavuzu'nda açıklanan aynı upload_file ve upload_folder yardımcı işlevlerini kullanır. Aşağıdaki örneklerde en yaygın kullanım senaryoelerini ele alacağız. Kullanılabilir tüm seçeneklerin listesi için şunu çalıştırabilirsiniz:

>>> hf upload --help

hf hakkında daha genel bilgi için CLI kılavuzunu kontrol edebilirsiniz.

Bir klasörün tamamını yükle

Bu komutun varsayılan kullanımı şudur:

# Usage:  hf upload [dataset_repo_id] [local_path] [path_in_repo] --repo-type dataset

Deponun kökünde mevcut dizini yüklemek için şunu kullanın:

>>> hf upload my-cool-dataset . . --repo-type dataset
https://huggingface.co/datasets/Wauplin/my-cool-dataset/tree/main/

Depo henüz yoksa otomatik olarak oluşturulur.

Belirli bir klasörü de yükleyebilirsiniz:

>>> hf upload my-cool-dataset ./data . --repo-type dataset
https://huggingface.co/datasetsWauplin/my-cool-dataset/tree/main/

Son olarak, bir klasörü depodaki belirli bir hedefe yükleyebilirsiniz:

>>> hf upload my-cool-dataset ./path/to/curated/data /data/train --repo-type dataset
https://huggingface.co/datasetsWauplin/my-cool-dataset/tree/main/data/train

Tek bir dosya yükle

local_path parametresini makinenizdeki bir dosyaya işaret edecek şekilde ayarlayarak tek bir dosya da yükleyebilirsiniz. Bu durumda path_in_repo isteğe bağlıdır ve yerel dosyanızın adıyla varsayılan olarak doldurulur:

>>> hf upload Wauplin/my-cool-dataset ./files/train.csv --repo-type dataset
https://huggingface.co/datasetsWauplin/my-cool-dataset/blob/main/train.csv

Belirli bir dizine tek bir dosya yüklemek istiyorsanız, path_in_repo parametresini buna göre ayarlayın:

>>> hf upload Wauplin/my-cool-dataset ./files/train.csv /data/train.csv --repo-type dataset
https://huggingface.co/datasetsWauplin/my-cool-dataset/blob/main/data/train.csv

Birden çok dosya yükle

Bir klasörden tüm klasörü yüklemek yerine birden fazla dosyayı tek seferde yüklemek için --include ve --exclude desenlerini kullanın. Yeni dosyaları yüklerken depodaki dosyaları silmek için --delete seçeneğiyle de birleştirilebilir. Aşağıdaki örnekte, uzak dosyaları silerek ve tüm CSV dosyalarını yükleyerek yerel Space'i eşitliyoruz:

# Sync local Space with Hub (upload new CSV files, delete removed files)
>>> hf upload Wauplin/my-cool-dataset --repo-type dataset --include="/data/*.csv" --delete="*" --commit-message="Sync local dataset with Hub"
...

Bir organizasyona yükle

Kişisel bir depo yerine bir organizasyona ait bir depoya içerik yüklemek için bunu repo_id içinde açıkça belirtmeniz gerekir:

>>> hf upload MyCoolOrganization/my-cool-dataset . . --repo-type dataset
https://huggingface.co/datasetsMyCoolOrganization/my-cool-dataset/tree/main/

Belirli bir revizyona yükle

Varsayılan olarak dosyalar main dalına yüklenir. Dosyaları başka bir dala veya referansa yüklemek istiyorsanız --revision seçeneğini kullanın:

# Upload files to a PR
hf upload bigcode/the-stack . . --repo-type dataset --revision refs/pr/104
...

Not: revision mevcut değilse ve --create-pr ayarlanmamışsa, main dalından otomatik olarak bir dal oluşturulur.

Yükle ve PR oluştur

Bir depoya gönderme izniniz yoksa, bir PR açmanız ve yapmak istediğiniz değişikliklerden yazarları haberdar etmeniz gerekir. Bunu --create-pr seçeneğini ayarlayarak yapabilirsiniz:

# Create a PR and upload the files to it
>>> hf upload bigcode/the-stack --repo-type dataset --revision refs/pr/104 --create-pr . .
https://huggingface.co/datasets/bigcode/the-stack/blob/refs%2Fpr%2F104/

Düzenli aralıklarla yükle

Bazı durumlarda, bir repoya düzenli güncellemeler göndermek isteyebilirsiniz. Örneğin, veri setiniz zamanla büyüyorsa ve veri klasörünü her 10 dakikada bir yüklemek istiyorsanız bu işe yarar. Bunu --every seçeneğini kullanarak yapabilirsiniz:

# Upload new logs every 10 minutes
hf upload my-cool-dynamic-dataset data/ --every=10

Bir commit mesajı belirtin

Varsayılan mesaj yerine commit'iniz için özel bir mesaj ve açıklama belirlemek için --commit-message ve --commit-description kullanın

>>> hf upload Wauplin/my-cool-dataset ./data . --repo-type dataset --commit-message="Version 2" --commit-description="Train size: 4321. Check Dataset Viewer for more details."
...
https://huggingface.co/datasetsWauplin/my-cool-dataset/tree/main

Bir belirteç belirtin

Dosyaları yüklemek için bir jeton kullanmanız gerekir. Varsayılan olarak, yerel olarak kaydedilen jeton (hf auth login kullanılarak) kullanılır. Açık kimlik doğrulaması yapmak isterseniz --token seçeneğini kullanın:

>>> hf upload Wauplin/my-cool-dataset ./data . --repo-type dataset --token=hf_****
...
https://huggingface.co/datasetsWauplin/my-cool-data/tree/main

Sessiz mod

Varsayılan olarak hf upload komutu ayrıntılıdır. Uyarı mesajları, yüklenen dosyalarla ilgili bilgiler ve ilerleme çubukları gibi ayrıntıları görüntüler. Tüm bunları sessize almak isterseniz --quiet seçeneğini kullanın. Yalnızca son satır (yani yüklenen dosyalara giden URL) görüntülenir. Çıktıyı bir betikte başka bir komuta iletmek istediğinizde bu işe yarayabilir.

>>> hf upload Wauplin/my-cool-dataset ./data . --repo-type dataset --quiet
https://huggingface.co/datasets/Wauplin/my-cool-dataset/tree/main

İyi eğlenceler!

Tebrikler, veri setiniz artık Hugging Face Hub'a yüklendi ve herkes onu tek satır kodla yükleyebilir! 🥳

dataset = load_dataset("Wauplin/my-cool-dataset")

Veri setiniz destekleniyorsa, herkesin veri seti içeriğini inceleyebilmesi için bir Dataset Viewer da bulunmalıdır.

Son olarak, veri setinizi belgelemek ve keşfedilebilir kılmak için veri seti kartını zenginleştirmeyi unutmayın! Daha fazla bilgi için Veri seti kartı oluşturma rehberine göz atın.

Update on GitHub