Datasets documentation
CLI kullanarak bir veri seti paylaşın
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.
- Datasets'i yüklediğiniz sanal ortamda olduğunuzdan emin olun ve aşağıdaki komutu çalıştırın:
hf auth login- Hugging Face Hub kimlik bilgilerinizle oturum açın ve yeni bir veri seti deposu oluşturun:
hf repos create my-cool-dataset --type datasetBir 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 datasetDosyaları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 --helphf 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 datasetDeponun 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/trainTek 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.csvBelirli 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.csvBirden ç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=10Bir 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/mainBir 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/mainSessiz 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