Datasets documentation
Bagikan dataset menggunakan CLI
Bagikan dataset menggunakan CLI
Di Hugging Face, kami memiliki misi untuk mendemokratisasi Machine Learning yang baik dan kami percaya pada nilai open source. Itulah mengapa kami merancang 🤗 Datasets agar siapa pun dapat membagikan dataset kepada komunitas ML yang lebih luas. Saat ini, terdapat ribuan dataset dalam lebih dari 100 bahasa di Hugging Face Hub, dan tim Hugging Face selalu menyambut kontribusi baru!
Repositori dataset menawarkan fitur-fitur seperti:
- Hosting dataset gratis
- Versi dataset
- Riwayat commit dan diff
- Metadata untuk kemudahan penemuan
- Kartu dataset untuk dokumentasi, lisensi, keterbatasan, dan sebagainya.
- Penampil Dataset
Panduan ini akan menunjukkan cara membagikan folder atau repositori dataset yang dapat dengan mudah diakses oleh siapa pun.
Tambahkan dataset
Anda dapat membagikan dataset Anda kepada komunitas melalui repositori dataset di Hugging Face Hub. Dataset tersebut juga dapat bersifat privat jika Anda ingin mengontrol siapa yang memiliki akses ke dalamnya.
Dalam repositori dataset, Anda dapat menyimpan semua file data Anda dan mengonfigurasi dataset Anda untuk menentukan file mana yang masuk ke split mana.
Format berikut didukung: CSV, TSV, JSON, JSON lines, teks, Parquet, Arrow, SQLite, WebDataset.
Banyak jenis file terkompresi juga didukung: GZ, BZ2, LZ4, LZMA, atau ZSTD.
Sebagai contoh, dataset Anda dapat terdiri dari file .json.gz.
Saat memuat dataset dari Hub, semua file dalam format yang didukung akan dimuat, mengikuti struktur repositori.
Untuk informasi lebih lanjut tentang cara memuat dataset dari Hub, lihat tutorial memuat dataset dari Hub.
Buat repositori
Berbagi dataset komunitas mengharuskan Anda membuat akun di hf.co jika Anda belum memilikinya. Anda dapat langsung membuat repo dataset baru dari akun Anda di Hugging Face Hub, tetapi panduan ini akan menunjukkan cara mengunggah dataset dari terminal.
- Pastikan Anda berada di lingkungan virtual tempat Anda menginstal Datasets, lalu jalankan perintah berikut:
hf auth login- Login menggunakan kredensial Hugging Face Hub Anda, dan buat repositori dataset baru:
hf repos create my-cool-dataset --type datasetTambahkan awalan nama organisasi ke nama repositori untuk membuatnya di bawah organisasi tersebut:
hf repos create your-org-name/my-cool-dataset --type datasetSiapkan file Anda
Periksa direktori Anda untuk memastikan bahwa satu-satunya file yang Anda unggah adalah:
Berkas data dari dataset
Kartu dataset
README.md
hf upload
Gunakan perintah hf upload untuk mengunggah file ke Hub secara langsung. Secara internal, perintah ini menggunakan helper upload_file dan upload_folder yang sama seperti yang dijelaskan dalam Panduan unggah. Pada contoh di bawah, kami akan membahas kasus penggunaan yang paling umum. Untuk daftar lengkap opsi yang tersedia, Anda dapat menjalankan:
>>> hf upload --helpUntuk informasi yang lebih umum tentang hf, Anda dapat melihat panduan CLI.
Unggah seluruh folder
Penggunaan default untuk perintah ini adalah:
# Usage: hf upload [dataset_repo_id] [local_path] [path_in_repo] --repo-type datasetUntuk mengunggah direktori saat ini di akar repo, gunakan:
>>> hf upload my-cool-dataset . . --repo-type dataset
https://huggingface.co/datasets/Wauplin/my-cool-dataset/tree/main/Jika repo belum ada, repo tersebut akan dibuat secara otomatis.
Anda juga dapat mengunggah folder tertentu:
>>> hf upload my-cool-dataset ./data . --repo-type dataset
https://huggingface.co/datasetsWauplin/my-cool-dataset/tree/main/Terakhir, Anda dapat mengunggah folder ke tujuan tertentu di repo:
>>> hf upload my-cool-dataset ./path/to/curated/data /data/train --repo-type dataset
https://huggingface.co/datasetsWauplin/my-cool-dataset/tree/main/data/trainUnggah satu file
Anda juga dapat mengunggah satu file dengan mengatur local_path agar menunjuk ke file di mesin Anda. Jika demikian, path_in_repo bersifat opsional dan akan secara default menggunakan nama file lokal Anda:
>>> hf upload Wauplin/my-cool-dataset ./files/train.csv --repo-type dataset
https://huggingface.co/datasetsWauplin/my-cool-dataset/blob/main/train.csvJika Anda ingin mengunggah satu file ke direktori tertentu, atur path_in_repo sesuai:
>>> 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.csvUnggah beberapa file
Untuk mengunggah beberapa file dari sebuah folder sekaligus tanpa mengunggah seluruh folder, gunakan pola --include dan --exclude. Hal ini juga dapat dikombinasikan dengan opsi --delete untuk menghapus file di repo saat mengunggah file baru. Pada contoh di bawah, kami menyinkronkan Space lokal dengan menghapus file jarak jauh dan mengunggah semua file CSV:
# 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"
...Unggah ke organisasi
Untuk mengunggah konten ke repositori yang dimiliki oleh organisasi alih-alih repositori pribadi, Anda harus secara eksplisit menentukannya di repo_id:
>>> hf upload MyCoolOrganization/my-cool-dataset . . --repo-type dataset
https://huggingface.co/datasetsMyCoolOrganization/my-cool-dataset/tree/main/Unggah ke revisi tertentu
Secara default, file diunggah ke cabang main. Jika Anda ingin mengunggah file ke cabang atau referensi lain, gunakan opsi --revision:
# Upload files to a PR
hf upload bigcode/the-stack . . --repo-type dataset --revision refs/pr/104
...Catatan: jika revision tidak ada dan --create-pr tidak disetel, sebuah branch akan dibuat secara otomatis dari branch main.
Unggah dan buat PR
Jika Anda tidak memiliki izin untuk mendorong ke repositori, Anda harus membuka PR dan memberi tahu para penulis tentang perubahan yang ingin Anda buat. Hal ini dapat dilakukan dengan mengatur opsi --create-pr:
# 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/Unggah pada interval yang teratur
Dalam beberapa kasus, Anda mungkin ingin mendorong pembaruan rutin ke sebuah repo. Misalnya, ini berguna jika dataset Anda terus bertambah seiring waktu dan Anda ingin mengunggah folder data setiap 10 menit. Anda dapat melakukan ini menggunakan opsi --every:
# Upload new logs every 10 minutes
hf upload my-cool-dynamic-dataset data/ --every=10Tentukan pesan commit
Gunakan --commit-message dan --commit-description untuk mengatur pesan dan deskripsi kustom untuk commit Anda, bukan yang default
>>> 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/mainTentukan token
Untuk mengunggah file, Anda harus menggunakan token. Secara default, token yang disimpan secara lokal (menggunakan hf auth login) akan digunakan. Jika Anda ingin melakukan autentikasi secara eksplisit, gunakan opsi --token:
>>> hf upload Wauplin/my-cool-dataset ./data . --repo-type dataset --token=hf_****
...
https://huggingface.co/datasetsWauplin/my-cool-data/tree/mainMode senyap
Secara default, perintah hf upload akan bersifat detail. Perintah ini akan mencetak detail seperti pesan peringatan, informasi tentang file yang diunggah, dan bilah progres. Jika Anda ingin membisukan semua itu, gunakan opsi --quiet. Hanya baris terakhir (yaitu URL ke file yang diunggah) yang dicetak. Hal ini dapat berguna jika Anda ingin meneruskan output ke perintah lain dalam sebuah skrip.
>>> hf upload Wauplin/my-cool-dataset ./data . --repo-type dataset --quiet
https://huggingface.co/datasets/Wauplin/my-cool-dataset/tree/mainNikmati!
Selamat, dataset Anda kini telah diunggah ke Hugging Face Hub di mana siapa pun dapat memuatnya dalam satu baris kode! 🥳
dataset = load_dataset("Wauplin/my-cool-dataset")Jika dataset Anda didukung, dataset tersebut juga harus memiliki Dataset Viewer agar semua orang dapat menjelajahi konten dataset.
Terakhir, jangan lupa memperkaya kartu dataset untuk mendokumentasikan dataset Anda dan membuatnya mudah ditemukan! Lihat panduan Membuat kartu dataset untuk mempelajari lebih lanjut.
Update on GitHub