Buckets:
| # Installation | |
| Diffusers nécessite Python 3.10+ et est testé avec PyTorch 2.6+. Installez [PyTorch](https://pytorch.org/get-started/locally/) en fonction de votre système et de votre configuration. | |
| Créez un [environnement virtuel](https://packaging.python.org/guides/installing-using-pip-and-virtual-environments/) pour une gestion plus aisée des projets distincts et pour éviter les problèmes de compatibilité entre les dépendances. Utilisez [uv](https://docs.astral.sh/uv/), un gestionnaire de paquets et de projets Python basé sur Rust, pour créer un environnement virtuel et installer Diffusers. | |
| ```bash | |
| uv venv my-env | |
| source my-env/bin/activate | |
| ``` | |
| Installez Diffusers à l'aide de l'une des méthodes suivantes. | |
| ```bash | |
| uv pip install diffusers["torch"] transformers | |
| ``` | |
| Pour installer Diffusers avec PyTorch sur des appareils NVIDIA Spark (tels qu'un ordinateur portable RTX Spark) exécutant ARM64, installez PyTorch à partir de l'index PyPI de NVIDIA. Ces appareils nécessitent les versions ARM64 de PyTorch fournies par NVIDIA, qui ne sont pas disponibles sur l'index PyPI par défaut ni sur l'index standard des roues PyTorch. | |
| Exécutez la commande ci-dessous pour vérifier si votre système détecte un GPU NVIDIA. | |
| ```bash | |
| nvidia-smi | |
| ``` | |
| Installez PyTorch depuis l'index PyPI de NVIDIA, puis installez Diffusers. | |
| ```bash | |
| uv pip install torch --index-url https://pypi.nvidia.com | |
| uv pip install diffusers | |
| ``` | |
| ```bash | |
| conda install -c conda-forge diffusers | |
| ``` | |
| Une installation depuis la source installe la version `main` au lieu de la dernière version `stable`. La version `main` est utile pour rester à jour avec les dernières modifications, mais elle n'est pas toujours stable. Si vous rencontrez un problème, ouvrez un [Issue](https://github.com/huggingface/diffusers/issues/new/choose) et nous essaierons de le résoudre dans les plus brefs délais. | |
| Vérifiez que [Accelerate](https://huggingface.co/docs/accelerate/index) est installé. | |
| ```bash | |
| uv pip install accelerate | |
| ``` | |
| Installez Diffusers à partir du code source avec la commande ci-dessous. | |
| ```bash | |
| uv pip install git+https://github.com/huggingface/diffusers | |
| ``` | |
| Installez les extras lorsque vous en avez besoin. `diffusers["torch"]` installe PyTorch et Accelerate. D’autres extras couvrent les backends de quantification, l’entraînement et la documentation. Consultez [`setup.py`](https://github.com/huggingface/diffusers/blob/main/setup.py) pour la liste complète. | |
| ## Appareils | |
| Diffusers fonctionne sur tout accélérateur pris en charge par PyTorch. Les exemples tout au long de la documentation utilisent `"cuda"` car c'est la configuration la plus courante, mais rien n'est spécifique à CUDA. Remplacez la chaîne de caractères du dispositif par celle correspondant à votre matériel, par exemple `"xpu"` pour les GPU Intel, `"mps"` pour la puce Apple, ou `"cpu"`. | |
| ```py | |
| device = "cuda" # or "mps", "xpu", "cpu" | |
| pipeline.to(device) | |
| ``` | |
| Pour sélectionner l'appareil à l'exécution plutôt que de le coder en dur, utilisez [torch.accelerator](https://docs.pytorch.org/docs/stable/accelerator.html). | |
| ```py | |
| import torch | |
| device = torch.accelerator.current_accelerator().type if torch.accelerator.is_available() else "cpu" | |
| ``` | |
| ## Installation modifiable | |
| Une installation en mode éditable est recommandée pour les flux de travail de développement ou si vous utilisez la version `main` du code source. Un lien spécial est créé entre le dépôt cloné et les chemins de la bibliothèque Python. Cela évite de réinstaller le paquet après chaque modification. | |
| Clonez le dépôt et installez Diffusers à l'aide des commandes suivantes. | |
| ```bash | |
| git clone https://github.com/huggingface/diffusers.git | |
| cd diffusers | |
| uv pip install -e ".[torch]" | |
| ``` | |
| > [!WARNING] | |
| > Vous devez conserver le dossier `diffusers` si vous souhaitez continuer à utiliser la bibliothèque avec l'installation en mode éditable. | |
| Mettez à jour votre dépôt cloné vers la dernière version de Diffusers avec la commande ci-dessous. | |
| ```bash | |
| cd ~/diffusers/ | |
| git pull | |
| ``` | |
| ## Cache | |
| Les poids et fichiers du modèle sont téléchargés depuis le Hub vers un cache, généralement situé dans votre répertoire personnel. Modifiez l’emplacement du cache à l’aide des variables d’environnement [HF_HOME](https://huggingface.co/docs/huggingface_hub/package_reference/environment_variables#hfhome) ou [HF_HUB_CACHE](https://huggingface.co/docs/huggingface_hub/package_reference/environment_variables#hfhubcache), ou en configurant le paramètre `cache_dir` dans des méthodes telles que [from_pretrained()](/docs/diffusers/main/fr/api/pipelines/overview#diffusers.DiffusionPipeline.from_pretrained). | |
| ```bash | |
| export HF_HOME="/path/to/your/cache" | |
| export HF_HUB_CACHE="/path/to/your/hub/cache" | |
| ``` | |
| ```py | |
| from diffusers import DiffusionPipeline | |
| pipeline = DiffusionPipeline.from_pretrained( | |
| "black-forest-labs/FLUX.1-dev", | |
| cache_dir="/path/to/your/cache" | |
| ) | |
| ``` | |
| Les fichiers en cache vous permettent d’utiliser Diffusers hors ligne. Définissez la variable d’environnement [HF_HUB_OFFLINE](https://huggingface.co/docs/huggingface_hub/package_reference/environment_variables#hfhuboffline) sur `1` pour empêcher Diffusers de se connecter à Internet. | |
| ```shell | |
| export HF_HUB_OFFLINE=1 | |
| ``` | |
| Pour plus de détails sur la gestion et le nettoyage du cache, consultez le guide [Comprendre la mise en cache](https://huggingface.co/docs/huggingface_hub/guides/manage-cache). | |
| ### Partager des fichiers entre les dépôts | |
| Le cache conserve une seule copie d’un fichier, même lorsque plusieurs dépôts du Hub le contiennent. De nombreuses pipelines utilisent le même encodeur de texte, comme T5. Si le dépôt d’une seconde pipeline contient les mêmes fichiers d’encodeur de texte que ceux que vous avez déjà téléchargés, [from_pretrained()](/docs/diffusers/main/fr/api/pipelines/overview#diffusers.DiffusionPipeline.from_pretrained) utilise la copie présente sur le disque au lieu de la télécharger à nouveau. Diffusers exige `huggingface_hub>=1.32.0`, qui active le partage de fichiers par défaut. | |
| Le cache associe les fichiers à leur hachage [Xet](https://huggingface.co/docs/hub/xet/index), et non au nom du dépôt ou du modèle. Un point de contrôle fractionné est associé fraction par fraction, de sorte que les fractions qui correspondent sont partagées, même si les autres diffèrent. | |
| Un fichier est partagé uniquement si toutes ces conditions sont remplies : | |
| - Les deux dépôts stockent le fichier avec Xet. | |
| - Les deux téléchargements utilisent le même répertoire de cache, défini par `HF_HUB_CACHE` ou `cache_dir`. | |
| - Le système de fichiers prend en charge les liens symboliques. | |
| - Les fichiers sont identiques octet par octet. Convertir en un autre dtype, enregistrer dans un autre format ou répartitionner modifie l'empreinte. | |
| > [!NOTE] | |
| > Les fichiers téléchargés avec une version antérieure de `huggingface_hub` ne sont pas partagés avec les nouveaux téléchargements. Seuls les fichiers téléchargés avec la version 1.32.0 ou ultérieure sont ajoutés au magasin partagé. | |
| Le partage de fichiers réduit le temps de téléchargement et l’espace disque, mais pas la mémoire. Pour utiliser un modèle chargé dans plusieurs pipelines, consultez [Réutilisation de modèles dans plusieurs pipelines](./using-diffusers/loading#reusing-models-in-multiple-pipelines). | |
| Pour désactiver le partage de fichiers, définissez `HF_HUB_DISABLE_SHARED_BLOBS=1`. Le chargement fonctionne toujours et chaque dépôt conserve sa propre copie. | |
| ```shell | |
| export HF_HUB_DISABLE_SHARED_BLOBS=1 | |
| ``` | |
| ## Journalisation de la télémétrie | |
| Diffusers collecte des informations de télémétrie lors des requêtes [from_pretrained()](/docs/diffusers/main/fr/api/pipelines/overview#diffusers.DiffusionPipeline.from_pretrained). Les données collectées incluent la version de Diffusers et de PyTorch, la classe de modèle ou de pipeline demandée, ainsi que le chemin vers un point de contrôle préentraîné s’il est hébergé sur le Hub. | |
| Ces données d’utilisation nous aident à déboguer les problèmes et à prioriser les nouvelles fonctionnalités. La télémétrie n’est envoyée que lors du chargement de modèles et de pipelines depuis le Hub, et elle n’est pas collectée si vous chargez des fichiers locaux. | |
| Désactivez la collecte de télémétrie avec la variable d’environnement [HF_HUB_DISABLE_TELEMETRY](https://huggingface.co/docs/huggingface_hub/package_reference/environment_variables#hfhubdisabletelemetry). | |
| ```bash | |
| export HF_HUB_DISABLE_TELEMETRY=1 | |
| ``` | |
| ```bash | |
| set HF_HUB_DISABLE_TELEMETRY=1 | |
| ``` | |
Xet Storage Details
- Size:
- 8.68 kB
- Xet hash:
- 3510e62eb3e816f43d2e569531636a3ef1da2dd323c5860441722b72a0badcb0
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.