Guide de lecture localisé
huggingface-zerogpuObjectif, utilisation et source
Démonstrations d'IA et calculs GPU avec Gradio Spaces et Hugging Face Spaces ZeroGPU. À utiliser lors de l'écriture ou de la révision de code utilisant ces technologies.@spaces.GPU, configurationpython_versionourequirements.txtpour un espace ZeroGPU, ou pour gérer les contraintes de code spécifiques à ZeroGPU — isolation des processus basée sur la sérialisation,gr.Statesémantique au-delà de la frontière entre travailleurs, nontorch.compile(utiliser AoTI à la place), compilations CUDA uniquement (sansnvcc(à la compilation ou à l'exécution), dimensionnement large vs très large et fonctions appelables à durée dynamique. Veillez à utiliser cette compétence chaque fois que l'utilisateur mentionne ZeroGPU.@spaces.GPU, ou lespacespackage Python, ou rencontre des erreurs de code spécifiques à ZeroGPU commePicklingErrorde l'autre côté de la frontière des travailleurs,illegal duration, ouflash-attnÉchecs de la création de roues — même lorsque l'utilisateur ne demande pas explicitement d'aide au codage ZeroGPU. Déclencher surimport spacesou@spaces.GPUen code.
Source récupérée:
- Dépôt source
- huggingface/skills
- SKILL.md
skills/huggingface-zerogpu/SKILL.md- Étoiles du dépôt
- 11,241
- Mise à jour du dépôt
- 2026-10-30
- Catégories de capacités
- Développement
- Dernière collecte
Licence : Apache-2.0
Les extraits de flux de travail sont des outils de lecture et non des instructions exécutables de Codez. Aucune compétence tierce n'a été utilisée pour générer cette page.
Les passages relatifs à l'objectif et au flux de travail ci-dessous constituent le contenu original, organisé et traduit pour la lecture. Ils sont distincts de l'analyse éditoriale de Codez, qui est étiquetée séparément.
À quoi sert cette compétence ?
Démonstrations d'IA et calculs GPU avec Gradio Spaces et Hugging Face Spaces ZeroGPU. À utiliser lors de l'écriture ou de la révision de code utilisant ces technologies.@spaces.GPU, configurationpython_versionourequirements.txtpour un espace ZeroGPU, ou pour gérer les contraintes de code spécifiques à ZeroGPU — isolation des processus basée sur la sérialisation,gr.Statesémantique au-delà de la frontière entre travailleurs, nontorch.compile(utiliser AoTI à la place), compilations CUDA uniquement (sansnvcc(à la compilation ou à l'exécution), dimensionnement large vs très large et fonctions appelables à durée dynamique. Veillez à utiliser cette compétence chaque fois que l'utilisateur mentionne ZeroGPU.@spaces.GPU, ou lespacespackage Python, ou rencontre des erreurs de code spécifiques à ZeroGPU commePicklingErrorde l'autre côté de la frontière des travailleurs,illegal duration, ouflash-attnÉchecs de la création de roues — même lorsque l'utilisateur ne demande pas explicitement d'aide au codage ZeroGPU. Déclencher surimport spacesou@spaces.GPUen code.
Comment fonctionne le flux de travail en amont
Isolation du procédé et décapage
@spaces.GPULes fonctions décorées s'exécutent dans un processus distinct géré par le planificateur ZeroGPU. Les arguments et les valeurs de retour franchissent la limite du processus via la sérialisation pickle. Seuls les objets sérialisables peuvent être passés en paramètre ou retournés. L'ouverture de descripteurs de fichiers, de connexions à des bases de données, de verrous, de lambdas et de fermetures sur un état non sérialisable lèvera une exception.PicklingErrorNe renvoyez PAS directement les tenseurs CUDA. La désérialisation d'un tenseur CUDA dans le processus principal déclenche…torch.cuda._lazy_init(), que ZeroGPU bloque. Convertissez d'abord en CPU : retourtensor.cpu()outensor.cpu().numpy()Les tenseurs CPU, les tableaux numpy, les images PIL et les objets Python simples fonctionnent parfaitement.
Visage étreignant ZeroGPU
Règles et modèles pour les démonstrations d'apprentissage automatique sur Hugging Face Spaces avec du matériel ZeroGPU. Couverture@spaces.GPU, le réglage de la durée et des quotas, l'isolation des processus, le modèle de disponibilité CUDA, la sécurité de la concurrence et les contraintes de compilation CUDA.
Portée
Cette compétence est destinée aux espaces du SDK Gradio utilisant du matériel ZeroGPU. Les espaces Docker et statiques ne peuvent pas être planifiés sur ZeroGPU, et les applications Streamlit s'exécutent désormais en tant qu'espaces Docker ; cette compétence s'applique donc uniquement à Gradio. Pour le codage Gradio en général (composants, mises en page, écouteurs d'événements), consultez la documentation.huggingface-gradioCe dépôt contient des informations sur les compétences nécessaires. La documentation officielle de ZeroGPU se trouve à l'adresse suivante :https://huggingface.co/docs/hub/spaces-zerogpu— Veuillez vous y référer pour connaître le GPU sous-jacent actuel, les listes de versions d'exécution et les seuils de niveau, qui évoluent tous au fil du temps.
import spaces
import torch
from transformers import pipeline
pipe = pipeline("text-generation", model="...", device="cuda")
@spaces.GPU
def generate(prompt: str) -> str:
return pipe(prompt, max_new_tokens=100)[0]["generated_text"]Configuration requise
Ne pas épinglerspacesdansrequirements.txt
La plateforme spatiale s'appuie sur ses propresspacesversion. Une broche conflictuelle dansrequirements.txtprovoque l'échec de la résolution pip lors de la compilation. > Règle : Ne pas inclurespacesdansrequirements.txt.
Limites et contrôles de qualité
Contraintes de compilation CUDA
HF Spaces crée des images Docker dans un environnement utilisant uniquement le processeur. Sur ZeroGPU, la phase de construction ne comporte aucunenvccparce que l'image de base estpython:3.13(utilisation des espaces GPU dédiés)nvidia/cuda:*-devel-*et avoirnvcc(au moment de la compilation). Un paquet dépendant de CUDA dont la seule distribution est sdist — par exemple, bareflash-attn— ne peut donc pas être installé viarequirements.txtSur ZeroGPU. Seuls les roues pré-compilées fonctionnent. L'environnement d'exécution ZeroGPU possèdenvccdisponible, monté à partir d'une image de développement CUDA à/cuda-imagedepuis2025-07(Ajouté initialement pour la prise en charge d'AoTI). C'est ce qui faittorch.export/ Flux de travail AoTI possibles à l'intérieur@spaces.GPUappels.
Commencez par un essai sans danger
- Vérifiez l'hôte pris en charge et les instructions d'installation du dépôt. Conservez le répertoire Skill ainsi que ses scripts, ressources et documentation référencés ;SKILL.mdSeul, il peut omettre les dépendances.
- Indiquez à l'agent vos paramètres d'entrée réels, le résultat souhaité et les critères d'acceptation. La syntaxe d'appel et les outils disponibles dépendent du système hôte ; ce site ne propose pas de commande d'installation universelle.
- Testez le flux de travail source dans un projet temporaire ou sur une copie. Avant d'autoriser les opérations qui modifient des fichiers, des services distants ou des ressources facturables, examinez-les attentivement.
- Vérifiez la conformité du résultat avec les contrôles qualité sources et vos propres exigences. Un déclenchement réussi ou un nombre élevé d'étoiles dans le dépôt ne garantissent pas un résultat correct.
Pour en savoir plus, consultez la source.
- Visage étreignant ZeroGPU
- Portée
- Matériel
- Modèle de base
- Modèle de disponibilité CUDA
- L'idiome de sélection de périphérique fonctionne toujours
- Le chargement anticipé est le bon comportement par défaut.
- Développement local : Installez simplement
spaces - Anti-motif
- Faites plutôt ceci.
- Durée et quota
- Durée dynamique pour les charges de travail variables
- Isolation du procédé et décapage
gr.Statesémantique de part et d'autre de la frontière- Concurrence
- Granularité des appels
- Contraintes de compilation CUDA
- Exemple de mise en cache
python_versionépingle dans les métadonnées du fichier README- Ne pas épingler
spacesdansrequirements.txt - Épingle
torchpour correspondre aux étiquettes de roue
Compétences connexes
Traduction et étendue
Ce guide de lecture sélectionne des passages de l'amont épingléSKILL.mdCette traduction est assistée. Elle ne constitue pas un manuel complet et ne garantit pas une compatibilité testée. Veuillez lire le document original et les fichiers auxquels il fait référence avant utilisation.
Cette introduction fait référence à la version épinglée ci-dessous ; l’activité actuelle du dépôt et la durée de la collecte sont indiquées séparément.
- Source épinglée
- Lire l'original ↗
- Source récupérée
- Commit source
fabc634a893f62ad5c2039830397efa35fa62715- Source SHA-256
829659aec34224970fe7ed619729fdc7849fc5dd696e2000256c3ee0b517eff7