Hub documentation
Sonraki Adımlar
Sonraki Adımlar
Bu sonraki bölümler, Hugging Face Hub'daki Git depolarından en iyi şekilde yararlanmanıza yardımcı olabilecek özellikleri ve ek bilgileri vurgular.
Depoları programatik olarak nasıl yönetilir
Hugging Face, huggingface_hub kütüphanesi aracılığıyla Python üzerinden depolara erişimi destekler. İndirme ve dosya yükleme gibi incelediğimiz işlemler, kütüphane üzerinden erişilebilir; ayrıca başka faydalı işlevler de mevcuttur!
Eğer git'i doğrudan kullanmayı tercih ediyorsanız, lütfen aşağıdaki bölümleri okuyun.
Git hakkında daha fazla bilgi edinme
Git hakkında öğrenmeye devam etmek istiyorsanız ziyaret edebileceğiniz iyi bir yer bu Git öğreticisidir. Git hakkında daha fazla arka plan bilgisi için GitHub’ın Git Kılavuzlarına göz atabilirsiniz.
Dalların nasıl kullanılacağı
Git depolarını iş birliği içinde etkili bir şekilde kullanmak ve erken aşamada kod yayınlamadan özellikler üzerinde çalışmak için branch (dal) kullanabilirsiniz. Branch'ler, “devam eden iş” kodunuzu “üretim için hazır” kodunuzdan ayırmanıza olanak tanır; bunun yanı sıra, birden fazla kişinin bir proje üzerinde çalışırken birbirlerinin katkılarıyla sık sık çelişmeden ilerlemesini sağlar. Deneylerinizi kendi branch'lerinde izole etmek ve hatta branch'leri yönetmek için ekip genelinde geçerli uygulamaları benimsemek için branch'leri kullanabilirsiniz.
Git dallanma hakkında bilgi edinmek için Learn Git Branching etkileşimli öğreticisini deneyebilirsiniz.
Etiketleri kullanma
Git, projenizdeki kilometre taşlarını kolayca not alabilmeniz için commit'leri etiketlemenize olanak tanır. Bu nedenle, Hub depolarınızdaki commit'leri işaretlemek için etiketleri kullanabilirsiniz. Etiketlerin kullanımını öğrenmek için bu DevConnected gönderisine göz atabilirsiniz.
Deponuzun geçmişindeki önemli commit’leri belirlemeyi kolaylaştırmakla kalmayıp, Git etiketlerini kullanmak aynı zamanda A/B testleri yapmanıza, belirli bir etiketteki bir depoyu klonlamanıza ve daha fazlasına olanak tanır. huggingface_hub kütüphanesi de etiketlerle çalışmayı destekler; örneğin belirli bir etiketli commit’ten dosya indirme gibi.
Bir repoyu nasıl çoğaltılır
Git geçmişini korumanız gerekip gerekmediğine bağlı olarak, bir depoyu çoğaltmanın birkaç yolu vardır.
Hub'dan çoğaltma
Herhangi bir depo sayfasının sağ üst köşesindeki üç noktaya tıklayın, ardından Bu modeli çoğalt, Bu veri setini çoğalt veya Bu Space'i çoğalt seçeneğini seçin. Xet yinelenme giderme teknolojisi sayesinde bu işlem neredeyse anında gerçekleşir. Aşağıdakilerden birini seçebilirsiniz:
- Sahip: Hesabınız veya yazma erişiminiz olan herhangi bir kuruluş.
- Depo adı: Kopyalanan deponun adı. Varsayılan olarak, kaynakla aynı adı, ad alanınız altında korur (ör.
bigscience/bloom-560mkopyalandığındayour-username/bloom-560moluşturulur). - Görünürlük: Kopyalanan deposunu herkese açık veya özel olarak belirleyebilirsiniz. Özel depolar hakkında daha fazla bilgi için buraya göz atın.
Modeller ve veri kümeleri için Git geçmişi tek bir commit'e sıkıştırılır. Spaces için tam Git geçmişi korunur. Spaces için genel değişkenler kopyalanır ancak gizli bilgiler (secrets) manuel olarak yeniden girilmelidir.
Kısıtlamalar
Bazı depolar kopyalanamaz:
- Kapalı depolar (erişim istekleri etkinleştirilmiş modeller veya veri kümeleri).
- Yazarın kopyalamayı devre dışı bıraktığı depolar.
- Bölgeler arası kopyalama desteklenmez (ör. ABD bölgesinde saklanan bir depo, AB'deki bir organizasyona kopyalanamaz).
Programatik olarak çoğaltma
Ayrıca depoları huggingface_hub kütüphanesi veya CLI ile de çoğaltabilirsiniz. Bunlar, yukarıdaki Hub düğmesiyle aynı sunucu tarafı API'sini kullanır (modeller ve veri kümeleri için Git geçmişi sıkıştırılır, Spaces için korunur).
Python kullanılarak:
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)Or CLI'yi kullanarak:
hf repos duplicate bigscience/bloom-560m
hf repos duplicate openai/gdpval --type datasetSpaces için kendi ayarlarınızı (donanım, uyku süresi, depolama, değişkenler ve gizli anahtarlar) yapılandırmaya devam etmeniz gerekecektir. Daha fazla ayrıntı için Space'inizi Yönetme kılavuzuna göz atın.
Alternatif olarak, repoyu yerel bir kopya olarak tutmak istiyorsanız, hf download komutunu çalıştırıp ardından hf upload ile farklı bir ad alanına yükleyebilirsiniz. Bu yöntem de Git geçmişini korumaz.
Git ile manuel fork oluşturma
Modeller/veri kümeleri için Git geçmişini korumanız gerekiyorsa veya sürecin üzerinde daha fazla kontrol sahibi olmak istiyorsanız (ör. kendi değişikliklerinizin üzerine yeniden tabanlama), bir depoyu Git kullanarak manuel olarak çatallayabilirsiniz.
git-xet kurulu olmalıdır. Bant genişliğinize bağlı olarak fork işlemi zaman alabilir çünkü tüm LFS dosyalarını alıp yeniden yüklemeniz gerekecektir (Xet sayesinde yeniden yükleme hızlı olacaktır).
https://huggingface.co üzerinde bir hedef depo oluşturun (ör.
me/myfork)Bunu klonlayın ve kaynak deposunu uzak (remote) olarak ekleyin:
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- Fork içeriğini üst akış geçmişinin içeriğiyle değiştirin:
git reset --hard upstream/main
- Yükle:
git push --force origin main