Hub documentation
Langkah Selanjutnya
Langkah Selanjutnya
Bagian-bagian berikut menyoroti fitur dan informasi tambahan yang mungkin berguna untuk memaksimalkan penggunaan repositori Git di Hugging Face Hub.
Cara mengelola repositori secara programatik
Hugging Face mendukung akses repositori dengan Python melalui library huggingface_hub. Operasi yang telah kita jelajahi, seperti mengunduh repositori dan mengunggah file, tersedia melalui library ini, serta fungsi-fungsi berguna lainnya!
Jika Anda lebih memilih menggunakan git secara langsung, silakan baca bagian di bawah.
Mempelajari lebih lanjut tentang Git
Tempat yang bagus untuk dikunjungi jika Anda ingin terus belajar tentang Git adalah tutorial Git ini. Untuk latar belakang yang lebih banyak tentang Git, Anda dapat melihat Panduan Git GitHub.
Cara menggunakan cabang
Untuk menggunakan repositori Git secara kolaboratif secara efektif dan bekerja pada fitur tanpa merilis kode yang belum matang, Anda dapat menggunakan branch. Branch memungkinkan Anda memisahkan kode “work in progress” dari kode yang “siap produksi”, dengan keuntungan tambahan berupa kemampuan beberapa orang untuk bekerja pada satu proyek tanpa sering mengalami konflik dengan kontribusi satu sama lain. Anda dapat menggunakan branch untuk mengisolasi eksperimen di branch mereka sendiri, dan bahkan mengadopsi praktik tim untuk mengelola branch.
Untuk mempelajari tentang percabangan Git, Anda dapat mencoba tutorial interaktif Learn Git Branching.
Menggunakan tag
Git memungkinkan Anda untuk membuat tag pada commit sehingga Anda dapat dengan mudah menandai tonggak penting dalam proyek Anda. Dengan demikian, Anda dapat menggunakan tag untuk menandai commit di repositori Hub Anda! Untuk mempelajari cara menggunakan tag, Anda dapat mengunjungi postingan DevConnected ini.
Selain memudahkan identifikasi commit penting dalam riwayat repo Anda, penggunaan tag Git juga memungkinkan Anda melakukan pengujian A/B, mengklon repositori pada tag tertentu, dan masih banyak lagi! Perpustakaan huggingface_hub juga mendukung kerja dengan tag, seperti menunduh file dari commit bertag tertentu.
Cara menduplikasi repositori
Ada beberapa cara untuk menduplikasi repositori, tergantung pada apakah Anda perlu mempertahankan riwayat Git.
Menduplikasi dari Hub
Klik tiga titik di pojok kanan atas halaman repositori mana pun, lalu pilih Duplicate this model, Duplicate this dataset, atau Duplicate this Space. Operasi ini hampir seketika, berkat penggunaan Xet deduplication technology. Anda akan dapat memilih:
- Pemilik: Akun Anda atau organisasi mana pun yang memiliki akses tulis.
- Nama repository: Nama dari repository yang diduplikasi. Secara default, nama ini tetap sama dengan sumber, di bawah namespace Anda (misalnya, menduplikasi
bigscience/bloom-560makan membuatyour-username/bloom-560m). - Visibilitas: Anda dapat memilih untuk membuat repositori duplikat menjadi publik atau privat. Baca lebih lanjut tentang repositori privat di sini.
Untuk model dan dataset, riwayat Git dipadatkan menjadi satu commit. Untuk Spaces, riwayat Git penuh dipertahankan. Variabel publik disalin untuk Spaces, tetapi rahasia harus dimasukkan ulang secara manual.
Batasan
Beberapa repositori tidak dapat diduplikasi:
- Repositori bergerbang (model atau dataset dengan permintaan akses yang diaktifkan).
- Repositori di mana penulis telah menonaktifkan duplikasi.
- Duplikasi lintas wilayah tidak didukung (misalnya, repositori yang disimpan di wilayah AS tidak dapat diduplikasi ke organisasi di wilayah UE).
Menduplikasi secara programatik
Anda juga dapat menduplikasi repositori menggunakan pustaka huggingface_hub atau CLI. Keduanya menggunakan API sisi server yang sama dengan tombol Hub di atas (riwayat Git diratakan untuk model dan dataset, dipertahankan untuk Spaces).
Menggunakan Python:
from huggingface_hub import duplicate_repo
duplicate_repo("bigscience/bloom-560m", private=False)
duplicate_repo("openai/gdpval", repo_type="dataset")
duplicate_repo("multimodalart/dreambooth-training", repo_type="space", private=False)Atau menggunakan CLI:
hf repos duplicate bigscience/bloom-560m
hf repos duplicate openai/gdpval --type datasetUntuk Spaces, Anda masih perlu mengatur konfigurasi Anda sendiri (perangkat keras, waktu tidur, penyimpanan, variabel, dan rahasia). Lihat panduan Kelola Spaces Anda untuk detail lebih lanjut.
Sebagai alternatif, jika Anda ingin menyimpan salinan lokal dari repo, Anda dapat menggunakan hf download diikuti oleh hf upload ke namespace yang berbeda. Ini juga tidak akan mempertahankan riwayat Git.
Membuat fork secara manual dengan Git
Jika Anda perlu mempertahankan riwayat Git untuk model/himpunan data, atau ingin kendali lebih besar atas prosesnya (misalnya, melakukan rebasing di atas perubahan Anda sendiri), Anda dapat membuat fork repositori secara manual menggunakan Git.
Anda perlu menginstal git-xet. Proses forking dapat memakan waktu tergantung pada bandwidth Anda karena Anda harus mengambil dan mengunggah ulang semua file LFS (meskipun pengunggahan ulang akan cepat berkat Xet).
Buat repositori tujuan (misalnya
me/myfork) di https://hf.526339.xyzKloning dan tambahkan repo sumber sebagai remote:
git clone git@hf.co:me/myfork
cd myfork
git xet install
git remote add upstream git@hf.co:friend/upstream
git fetch upstream
git lfs fetch --all upstream- Ganti isi fork dengan riwayat upstream:
git reset --hard upstream/main
- Push:
git push --force origin main