hf upload în Hugging Face Hub & Transformers

CLI hf: Cont, Fișiere și Cache huggingface_hub 2.3 / CLI hf (octombrie 2026)

Încarcă un fișier sau un director pe Hub, într-un model, dataset sau Space; creează repository-ul dacă nu există și poate deschide un pull request.

Sintaxă & invocare Python
hf upload REPO_ID [CALE_LOCALĂ] [CALE_ÎN_REPO] [--repo-type TIP] [--revision REV] [--include MODEL] [--exclude MODEL] [--delete MODEL] [--create-pr] [--every MINUTE]

Ce face hf upload

hf upload folosește funcțiile upload_file și upload_folder din biblioteca huggingface_hub. Forma generală este hf upload REPO_ID CALE_LOCALĂ CALE_ÎN_REPO. Fără cale locală se încarcă directorul curent. Pentru un fișier, calea din repository este opțională și ia implicit numele fișierului. Dacă repository-ul nu există, este creat automat.

Directoarele cu multe fișiere sunt împărțite în mai multe commit-uri; dacă încărcarea se întrerupe, rulezi aceeași comandă și ea continuă. În huggingface_hub 2.0, hf upload-large-folder a fost eliminat în favoarea acestui comportament al lui hf upload.

Implicit fișierele merg pe ramura main. Cu --revision alegi altă ramură (creată automat din main dacă lipsește și nu folosești --create-pr). --create-pr deschide un pull request când nu ai drept de scriere. --every creează commit-uri periodic, de exemplu pentru loguri în timpul unei antrenări. Ca la hf download, destinația poate fi un URI hf://.

Sintaxă și opțiuni

Opțiune / Parametru Descriere
REPO_ID Repository-ul țintă (de exemplu username/repo-name). Pentru o organizație scrii Organizatie/repo.
[CALE_LOCALĂ] Fișierul sau directorul de încărcat. Acceptă wildcard-uri. Implicit directorul curent.
[CALE_ÎN_REPO] Calea din repository. Implicit calea relativă a fișierului sau a directorului.
--type, --repo-type [model|dataset|space|kernel] Tipul repository-ului. Implicit model.
--revision TEXT Ramura sau referința țintă (de exemplu refs/pr/104).
--private / --no-private Creează repository-ul privat, dacă nu există deja.
--include TEXT Modele glob ale fișierelor de încărcat.
--exclude TEXT Modele glob ale fișierelor de exclus.
--delete TEXT Modele glob ale fișierelor de șters din repository în același commit.
--commit-message TEXT Titlul commit-ului.
--commit-description TEXT Descrierea commit-ului.
--create-pr / --no-create-pr Încarcă într-un pull request nou.
--every FLOAT Creează un commit la fiecare N minute, în fundal.
--token TEXT Token de acces (User Access Token) creat în huggingface.co/settings/tokens. Implicit se folosește tokenul salvat de hf auth login.
--quiet Afișează doar ultima linie (URL-ul fișierelor încărcate).

Exemple practice

Exemplul 1: Directorul curent la rădăcina repository-ului

hf upload my-cool-model . .

Rezultat

https://huggingface.co/Wauplin/my-cool-model/tree/main/

Exemplul 2: Un singur fișier

hf upload Wauplin/my-cool-model ./models/model.safetensors

Exemplul 3: Într-un dataset, în subdirectorul /train

hf upload Wauplin/my-cool-dataset ./data /train --repo-type=dataset

Exemplul 4: Sincronizarea unui Space (fără logs/, cu ștergerea fișierelor dispărute)

hf upload Wauplin/space-example --repo-type=space --exclude="/logs/*" --delete="*" --commit-message="Sync local Space with Hub"

Exemplul 5: Loguri încărcate la fiecare 10 minute

hf upload training-model logs/ --every=10

Exemplul 6: Pull request către un repository străin

hf upload bigcode/the-stack . . --repo-type dataset --create-pr

Greșeli frecvente și bune practici

  • Uiți tipul repository-ului pentru datasets și Spaces. Fără --repo-type, CLI-ul presupune un model.
  • Folosești --delete="*" fără să verifici modelele --exclude. Fișierele din repository care nu se potrivesc cu cele locale sunt șterse în commit.
  • Cauți hf upload-large-folder. A fost eliminat; hf upload împarte singur directoarele mari în commit-uri și se reia la a doua rulare.

Comenzi înrudite