# AutoPipeline

Le `AutoPipeline` est conçu pour faciliter le chargement d'un point de contrôle pour une tâche donnée, sans avoir besoin de connaître la classe de pipeline spécifique. En fonction de la tâche, le `AutoPipeline` récupère automatiquement la classe de pipeline correcte à partir du fichier `model_index.json` du point de contrôle.

> [!TIP]
> Consultez le tutoriel [AutoPipeline](../../tutorials/autopipeline) pour apprendre à utiliser cette API !

## AutoPipelineForText2Image[[diffusers.AutoPipelineForText2Image]]

#### diffusers.AutoPipelineForText2Image[[diffusers.AutoPipelineForText2Image]]

```python
diffusers.AutoPipelineForText2Image(*args, **kwargs)
```

[Source](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/auto_pipeline.py#L378)

[AutoPipelineForText2Image](/docs/diffusers/main/fr/api/pipelines/auto_pipeline#diffusers.AutoPipelineForText2Image) est une classe de pipeline générique qui instancie une classe de pipeline texte-vers-image. La classe de pipeline sous-jacente spécifique est sélectionnée automatiquement à partir des méthodes [from_pretrained()](/docs/diffusers/main/fr/api/pipelines/auto_pipeline#diffusers.AutoPipelineForText2Image.from_pretrained) ou [from_pipe()](/docs/diffusers/main/fr/api/pipelines/auto_pipeline#diffusers.AutoPipelineForText2Image.from_pipe).

Cette classe ne peut pas être instanciée à l'aide de `__init__()` (lève une erreur).

Attributs de classe :

- **config_name** (`str`) -- Le nom du fichier de configuration qui stocke les noms de classe et de module de tous les composants du pipeline de diffusion.

#### from_pretrained[[diffusers.AutoPipelineForText2Image.from_pretrained]]

```python
from_pretrained(pretrained_model_or_path, **kwargs)
```

[Source](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/auto_pipeline.py#L403)

**Paramètres :**

pretrained_model_or_path (`str` ou `os.PathLike`, *facultatif*) : Peut être : - Une chaîne de caractères, l'*identifiant du dépôt* (par exemple `CompVis/ldm-text2im-large-256`) d'un pipeline pré-entraîné hébergé sur le Hub. - Un chemin vers un *dossier* (par exemple `./my_pipeline_directory/`) contenant les poids du pipeline enregistrés à l'aide de [save_pretrained()](/docs/diffusers/main/fr/api/pipelines/overview#diffusers.DiffusionPipeline.save_pretrained).

dtype (`torch.dtype`, *facultatif*) : Remplace le `torch.dtype` par défaut et charge le modèle avec un autre dtype.

force_download (`bool`, *facultatif*, par défaut `False`) : Indique s'il faut forcer le (re)téléchargement des poids du modèle et des fichiers de configuration, en ignorant les versions mises en cache si elles existent.

cache_dir (`str | os.PathLike`, *facultatif*) : Chemin vers un répertoire où la configuration d'un modèle pré-entraîné téléchargé est mise en cache si le cache standard n'est pas utilisé.

proxies (`dict[str, str]`, *facultatif*) : Un dictionnaire de serveurs proxy à utiliser par protocole ou point de terminaison, par exemple, `{'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}`. Les proxys sont utilisés pour chaque requête.

output_loading_info(`bool`, *facultatif*, valeur par défaut `False`) : Indique s'il faut également retourner un dictionnaire contenant les clés manquantes, les clés inattendues et les messages d'erreur.

local_files_only (`bool`, *facultatif*, par défaut `False`) : Indique s'il faut charger uniquement les poids et les fichiers de configuration du modèle locaux. Si défini sur `True`, le modèle ne sera pas téléchargé depuis le Hub.

token (`str` ou *bool*, *facultatif*) : Le jeton à utiliser comme autorisation bearer HTTP pour les fichiers distants. Si `True`, le jeton généré par `diffusers-cli login` (stocké dans `~/.huggingface`) est utilisé.

revision (`str`, *facultatif*, par défaut `"main"`) : La version spécifique du modèle à utiliser. Il peut s'agir d'un nom de branche, d'un nom de tag, d'un identifiant de commit ou de tout identifiant autorisé par Git.

custom_revision (`str`, *facultatif*, par défaut `"main"`) : La version spécifique du modèle à utiliser. Il peut s'agir d'un nom de branche, d'un nom de tag ou d'un identifiant de commit, similaire à `revision` lors du chargement d'un pipeline personnalisé depuis le Hub. Il peut s'agir d'une version de 🤗 Diffusers lors du chargement d'un pipeline personnalisé depuis GitHub, sinon il est par défaut `"main"` lors du chargement depuis le Hub.

mirror (`str`, *facultatif*) : Source miroir pour résoudre les problèmes d’accessibilité lors du téléchargement d’un modèle en Chine. Nous ne garantissons ni la réactivité ni la sécurité de la source ; veuillez consulter le site miroir pour plus d’informations.

device_map (`str` ou `dict[str, int | str | torch.device]`, *facultatif*) : Une carte qui spécifie l’emplacement de chaque sous-module. Il n’est pas nécessaire de la définir pour chaque nom de paramètre/buffer ; dès qu’un nom de module est inclus, tous ses sous-modules seront envoyés sur le même appareil. Définissez `device_map="auto"` pour que 🤗 Accelerate calcule automatiquement la `device_map` la plus optimisée. Pour plus d’informations sur chaque option, consultez [concevoir une carte d’appareils](https://hf.co/docs/accelerate/main/en/usage_guides/big_modeling#designing-a-device-map).

max_memory (`Dict`, *facultatif*) : Un identifiant de dictionnaire de périphérique pour la mémoire maximale. Par défaut, la valeur est la mémoire maximale disponible pour chaque GPU et la RAM CPU disponible si non définie.

offload_folder (`str` ou `os.PathLike`, *facultatif*) : Le chemin pour décharger les poids si device_map contient la valeur `"disk"`.

offload_state_dict (`bool`, *facultatif*) : Si `True`, décharge temporairement le dictionnaire d'état CPU sur le disque dur pour éviter d'épuiser la RAM CPU si le poids du dictionnaire d'état CPU + le plus grand fragment du point de contrôle ne tient pas. La valeur par défaut est `True` lorsqu'il y a une décharge sur disque.

low_cpu_mem_usage (`bool`, *facultatif*, par défaut `True` si la version de torch est >= 1.9.0, sinon `False`) : Accélère le chargement du modèle en ne chargeant que les poids préentraînés et sans initialiser les poids. Cela tente également de ne pas utiliser plus de 1 fois la taille du modèle en mémoire CPU (y compris la mémoire de pointe) lors du chargement du modèle. Pris en charge uniquement pour PyTorch >= 1.9.0. Si vous utilisez une version plus ancienne de PyTorch, définir cet argument sur `True` déclenchera une erreur.

use_safetensors (`bool`, *facultatif*, valeur par défaut `None`) : Si défini sur `None`, les poids safetensors sont téléchargés s'ils sont disponibles **et** si la bibliothèque safetensors est installée. Si défini sur `True`, le modèle est chargé de force à partir des poids safetensors. Si défini sur `False`, les poids safetensors ne sont pas chargés.

kwargs (reste du dictionnaire des arguments par mot-clé, *facultatif*) : peut être utilisé pour écraser les variables de chargement et de sauvegarde (les composants du pipeline de la classe de pipeline spécifique). Les composants écrasés sont transmis directement à la méthode `__init__` des pipelines. Voir l’exemple ci-dessous pour plus d’informations.

variant (`str`, *facultatif*) : Charge les poids depuis un nom de fichier de variante spécifié, tel que `"fp16"` ou `"ema"`.

Instancie un pipeline de diffusion Pytorch texte-vers-image à partir de poids de pipeline pré-entraînés.

La méthode from_pretrained() s’occupe de renvoyer l’instance de la classe de pipeline correcte en :
1. Détecter la classe de pipeline de pretrained_model_or_path en fonction de la propriété _class_name de son objet de configuration
2. Trouver le pipeline texte-vers-image lié à la classe de pipeline en utilisant l’association de motifs sur le nom de la classe de pipeline.

Si un argument `controlnet` est transmis, un objet [StableDiffusionControlNetPipeline](/docs/diffusers/main/fr/api/pipelines/controlnet#diffusers.StableDiffusionControlNetPipeline) sera instancié.

Le pipeline est défini en mode évaluation (`model.eval()`) par défaut.

Si vous obtenez le message d’erreur ci-dessous, vous devez affiner les poids pour votre tâche en aval :

```
Some weights of UNet2DConditionModel were not initialized from the model checkpoint at stable-diffusion-v1-5/stable-diffusion-v1-5 and are newly initialized because the shapes did not match:
- conv_in.weight: found shape torch.Size([320, 4, 3, 3]) in the checkpoint and torch.Size([320, 9, 3, 3]) in the model instantiated
You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference.
```

> [!TIP] > Pour utiliser des modèles privés ou [gated](https://huggingface.co/docs/hub/models-gated#gated-models), connectez-vous
avec `hf > auth login`.

Exemples :

```py
>>> from diffusers import AutoPipelineForText2Image

>>> pipeline = AutoPipelineForText2Image.from_pretrained("stable-diffusion-v1-5/stable-diffusion-v1-5")
>>> image = pipeline(prompt).images[0]
```

#### from_pipe[[diffusers.AutoPipelineForText2Image.from_pipe]]

```python
from_pipe(pipeline, **kwargs)
```

[Source](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/auto_pipeline.py#L559)

**Paramètres :**

pipeline (`DiffusionPipeline`) : un objet `DiffusionPipeline` instancié

Instancie un pipeline de diffusion Pytorch texte-vers-image à partir d'une autre classe de pipeline de diffusion déjà instanciée.

La méthode from_pipe() s’occupe de renvoyer l’instance de la classe de pipeline correcte en trouvant le pipeline texte-vers-image lié à la classe de pipeline à l’aide d’une correspondance de motifs sur le nom de la classe de pipeline.

Tous les modules contenus dans le pipeline seront utilisés pour initialiser le nouveau pipeline sans allouer de mémoire supplémentaire.

Le pipeline est défini en mode évaluation (`model.eval()`) par défaut.

```py
>>> from diffusers import AutoPipelineForText2Image, AutoPipelineForImage2Image

>>> pipe_i2i = AutoPipelineForImage2Image.from_pretrained(
...     "stable-diffusion-v1-5/stable-diffusion-v1-5", requires_safety_checker=False
... )

>>> pipe_t2i = AutoPipelineForText2Image.from_pipe(pipe_i2i)
>>> image = pipe_t2i(prompt).images[0]
```

## AutoPipelineForImage2Image[[diffusers.AutoPipelineForImage2Image]]

#### diffusers.AutoPipelineForImage2Image[[diffusers.AutoPipelineForImage2Image]]

```python
diffusers.AutoPipelineForImage2Image(*args, **kwargs)
```

[Source](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/auto_pipeline.py#L676)

[AutoPipelineForImage2Image](/docs/diffusers/main/fr/api/pipelines/auto_pipeline#diffusers.AutoPipelineForImage2Image) est une classe de pipeline générique qui instancie une classe de pipeline image-vers-image. La classe de pipeline sous-jacente spécifique est sélectionnée automatiquement à partir des méthodes [from_pretrained()](/docs/diffusers/main/fr/api/pipelines/auto_pipeline#diffusers.AutoPipelineForImage2Image.from_pretrained) ou [from_pipe()](/docs/diffusers/main/fr/api/pipelines/auto_pipeline#diffusers.AutoPipelineForImage2Image.from_pipe).

Cette classe ne peut pas être instanciée à l'aide de `__init__()` (lève une erreur).

Attributs de classe :

- **config_name** (`str`) -- Le nom du fichier de configuration qui stocke les noms de classe et de module de tous les composants du pipeline de diffusion.

#### from_pretrained[[diffusers.AutoPipelineForImage2Image.from_pretrained]]

```python
from_pretrained(pretrained_model_or_path, **kwargs)
```

[Source](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/auto_pipeline.py#L701)

**Paramètres :**

pretrained_model_or_path (`str` ou `os.PathLike`, *facultatif*) : Peut être : - Une chaîne de caractères, l'*identifiant du dépôt* (par exemple `CompVis/ldm-text2im-large-256`) d'un pipeline pré-entraîné hébergé sur le Hub. - Un chemin vers un *dossier* (par exemple `./my_pipeline_directory/`) contenant les poids du pipeline enregistrés à l'aide de [save_pretrained()](/docs/diffusers/main/fr/api/pipelines/overview#diffusers.DiffusionPipeline.save_pretrained).

dtype (`str` ou `torch.dtype`, *facultatif*) : Remplace le `torch.dtype` par défaut et charge le modèle avec un autre dtype.

force_download (`bool`, *facultatif*, par défaut `False`) : Indique s'il faut forcer le (re)téléchargement des poids du modèle et des fichiers de configuration, en ignorant les versions mises en cache si elles existent.

cache_dir (`str | os.PathLike`, *facultatif*) : Chemin vers un répertoire où la configuration d'un modèle pré-entraîné téléchargé est mise en cache si le cache standard n'est pas utilisé.

proxies (`dict[str, str]`, *facultatif*) : Un dictionnaire de serveurs proxy à utiliser par protocole ou point de terminaison, par exemple, `{'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}`. Les proxys sont utilisés pour chaque requête.

output_loading_info(`bool`, *facultatif*, valeur par défaut `False`) : Indique s'il faut également retourner un dictionnaire contenant les clés manquantes, les clés inattendues et les messages d'erreur.

local_files_only (`bool`, *facultatif*, par défaut `False`) : Indique s'il faut charger uniquement les poids et les fichiers de configuration du modèle locaux. Si défini sur `True`, le modèle ne sera pas téléchargé depuis le Hub.

token (`str` ou *bool*, *facultatif*) : Le jeton à utiliser comme autorisation bearer HTTP pour les fichiers distants. Si `True`, le jeton généré par `diffusers-cli login` (stocké dans `~/.huggingface`) est utilisé.

revision (`str`, *facultatif*, par défaut `"main"`) : La version spécifique du modèle à utiliser. Il peut s'agir d'un nom de branche, d'un nom de tag, d'un identifiant de commit ou de tout identifiant autorisé par Git.

custom_revision (`str`, *facultatif*, par défaut `"main"`) : La version spécifique du modèle à utiliser. Il peut s'agir d'un nom de branche, d'un nom de tag ou d'un identifiant de commit, similaire à `revision` lors du chargement d'un pipeline personnalisé depuis le Hub. Il peut s'agir d'une version de 🤗 Diffusers lors du chargement d'un pipeline personnalisé depuis GitHub, sinon il est par défaut `"main"` lors du chargement depuis le Hub.

mirror (`str`, *facultatif*) : Source miroir pour résoudre les problèmes d’accessibilité lors du téléchargement d’un modèle en Chine. Nous ne garantissons ni la réactivité ni la sécurité de la source ; veuillez consulter le site miroir pour plus d’informations.

device_map (`str` ou `dict[str, int | str | torch.device]`, *facultatif*) : Une carte qui spécifie l’emplacement de chaque sous-module. Il n’est pas nécessaire de la définir pour chaque nom de paramètre/buffer ; dès qu’un nom de module est inclus, tous ses sous-modules seront envoyés sur le même appareil. Définissez `device_map="auto"` pour que 🤗 Accelerate calcule automatiquement la `device_map` la plus optimisée. Pour plus d’informations sur chaque option, consultez [concevoir une carte d’appareils](https://hf.co/docs/accelerate/main/en/usage_guides/big_modeling#designing-a-device-map).

max_memory (`Dict`, *facultatif*) : Un identifiant de dictionnaire de périphérique pour la mémoire maximale. Par défaut, la valeur est la mémoire maximale disponible pour chaque GPU et la RAM CPU disponible si non définie.

offload_folder (`str` ou `os.PathLike`, *facultatif*) : Le chemin pour décharger les poids si device_map contient la valeur `"disk"`.

offload_state_dict (`bool`, *facultatif*) : Si `True`, décharge temporairement le dictionnaire d'état CPU sur le disque dur pour éviter d'épuiser la RAM CPU si le poids du dictionnaire d'état CPU + le plus grand fragment du point de contrôle ne tient pas. La valeur par défaut est `True` lorsqu'il y a une décharge sur disque.

low_cpu_mem_usage (`bool`, *facultatif*, par défaut `True` si la version de torch est >= 1.9.0, sinon `False`) : Accélère le chargement du modèle en ne chargeant que les poids préentraînés et sans initialiser les poids. Cela tente également de ne pas utiliser plus de 1 fois la taille du modèle en mémoire CPU (y compris la mémoire de pointe) lors du chargement du modèle. Pris en charge uniquement pour PyTorch >= 1.9.0. Si vous utilisez une version plus ancienne de PyTorch, définir cet argument sur `True` déclenchera une erreur.

use_safetensors (`bool`, *facultatif*, valeur par défaut `None`) : Si défini sur `None`, les poids safetensors sont téléchargés s'ils sont disponibles **et** si la bibliothèque safetensors est installée. Si défini sur `True`, le modèle est chargé de force à partir des poids safetensors. Si défini sur `False`, les poids safetensors ne sont pas chargés.

kwargs (reste du dictionnaire des arguments par mot-clé, *facultatif*) : peut être utilisé pour écraser les variables de chargement et de sauvegarde (les composants du pipeline de la classe de pipeline spécifique). Les composants écrasés sont transmis directement à la méthode `__init__` des pipelines. Voir l’exemple ci-dessous pour plus d’informations.

variant (`str`, *facultatif*) : Charge les poids depuis un nom de fichier de variante spécifié, tel que `"fp16"` ou `"ema"`.

Instancie un pipeline de diffusion Pytorch image-à-image à partir de poids de pipeline pré-entraînés.

La méthode from_pretrained() s’occupe de renvoyer l’instance de la classe de pipeline correcte en :
1. Détecter la classe de pipeline de pretrained_model_or_path en fonction de la propriété _class_name de son objet de configuration
2. Trouver le pipeline image-à-image lié à la classe de pipeline en utilisant l’association de motifs sur le nom de la classe de pipeline.

Si un argument `controlnet` est transmis, un objet [StableDiffusionControlNetImg2ImgPipeline](/docs/diffusers/main/fr/api/pipelines/controlnet#diffusers.StableDiffusionControlNetImg2ImgPipeline) sera instancié.

Le pipeline est défini en mode évaluation (`model.eval()`) par défaut.

Si vous obtenez le message d’erreur ci-dessous, vous devez affiner les poids pour votre tâche en aval :

```
Some weights of UNet2DConditionModel were not initialized from the model checkpoint at stable-diffusion-v1-5/stable-diffusion-v1-5 and are newly initialized because the shapes did not match:
- conv_in.weight: found shape torch.Size([320, 4, 3, 3]) in the checkpoint and torch.Size([320, 9, 3, 3]) in the model instantiated
You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference.
```

> [!TIP] > Pour utiliser des modèles privés ou [gated](https://huggingface.co/docs/hub/models-gated#gated-models), connectez-vous
avec `hf > auth login`.

Exemples :

```py
>>> from diffusers import AutoPipelineForImage2Image

>>> pipeline = AutoPipelineForImage2Image.from_pretrained("stable-diffusion-v1-5/stable-diffusion-v1-5")
>>> image = pipeline(prompt, image).images[0]
```

#### from_pipe[[diffusers.AutoPipelineForImage2Image.from_pipe]]

```python
from_pipe(pipeline, **kwargs)
```

[Source](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/auto_pipeline.py#L868)

**Paramètres :**

pipeline (`DiffusionPipeline`) : un objet `DiffusionPipeline` instancié

Instancie un pipeline de diffusion Pytorch image-à-image à partir d’une autre classe de pipeline de diffusion déjà instanciée.

La méthode from_pipe() s’occupe de renvoyer l’instance de la classe de pipeline correcte en trouvant le pipeline image-versus-image lié à la classe de pipeline à l’aide d’une correspondance de motifs sur le nom de la classe de pipeline.

Tous les modules contenus dans le pipeline seront utilisés pour initialiser le nouveau pipeline sans allouer de mémoire supplémentaire.

Le pipeline est défini en mode évaluation (`model.eval()`) par défaut.

Exemples :

```py
>>> from diffusers import AutoPipelineForText2Image, AutoPipelineForImage2Image

>>> pipe_t2i = AutoPipelineForText2Image.from_pretrained(
...     "stable-diffusion-v1-5/stable-diffusion-v1-5", requires_safety_checker=False
... )

>>> pipe_i2i = AutoPipelineForImage2Image.from_pipe(pipe_t2i)
>>> image = pipe_i2i(prompt, image).images[0]
```

## AutoPipelineForInpainting[[diffusers.AutoPipelineForInpainting]]

#### diffusers.AutoPipelineForInpainting[[diffusers.AutoPipelineForInpainting]]

```python
diffusers.AutoPipelineForInpainting(*args, **kwargs)
```

[Source](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/auto_pipeline.py#L990)

[AutoPipelineForInpainting](/docs/diffusers/main/fr/api/pipelines/auto_pipeline#diffusers.AutoPipelineForInpainting) est une classe de pipeline générique qui instancie une classe de pipeline d'inpainting. La classe de pipeline sous-jacente spécifique est sélectionnée automatiquement à partir des méthodes [from_pretrained()](/docs/diffusers/main/fr/api/pipelines/auto_pipeline#diffusers.AutoPipelineForInpainting.from_pretrained) ou [from_pipe()](/docs/diffusers/main/fr/api/pipelines/auto_pipeline#diffusers.AutoPipelineForInpainting.from_pipe).

Cette classe ne peut pas être instanciée à l'aide de `__init__()` (lève une erreur).

Attributs de classe :

- **config_name** (`str`) -- Le nom du fichier de configuration qui stocke les noms de classe et de module de tous les composants du pipeline de diffusion.

#### from_pretrained[[diffusers.AutoPipelineForInpainting.from_pretrained]]

```python
from_pretrained(pretrained_model_or_path, **kwargs)
```

[Source](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/auto_pipeline.py#L1015)

**Paramètres :**

pretrained_model_or_path (`str` ou `os.PathLike`, *facultatif*) : Peut être : - Une chaîne de caractères, l'*identifiant du dépôt* (par exemple `CompVis/ldm-text2im-large-256`) d'un pipeline pré-entraîné hébergé sur le Hub. - Un chemin vers un *dossier* (par exemple `./my_pipeline_directory/`) contenant les poids du pipeline enregistrés à l'aide de [save_pretrained()](/docs/diffusers/main/fr/api/pipelines/overview#diffusers.DiffusionPipeline.save_pretrained).

dtype (`str` ou `torch.dtype`, *facultatif*) : Remplace le `torch.dtype` par défaut et charge le modèle avec un autre dtype.

force_download (`bool`, *facultatif*, par défaut `False`) : Indique s'il faut forcer le (re)téléchargement des poids du modèle et des fichiers de configuration, en ignorant les versions mises en cache si elles existent.

cache_dir (`str | os.PathLike`, *facultatif*) : Chemin vers un répertoire où la configuration d'un modèle pré-entraîné téléchargé est mise en cache si le cache standard n'est pas utilisé.

proxies (`dict[str, str]`, *facultatif*) : Un dictionnaire de serveurs proxy à utiliser par protocole ou point de terminaison, par exemple, `{'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}`. Les proxys sont utilisés pour chaque requête.

output_loading_info(`bool`, *facultatif*, valeur par défaut `False`) : Indique s'il faut également retourner un dictionnaire contenant les clés manquantes, les clés inattendues et les messages d'erreur.

local_files_only (`bool`, *facultatif*, par défaut `False`) : Indique s'il faut charger uniquement les poids et les fichiers de configuration du modèle locaux. Si défini sur `True`, le modèle ne sera pas téléchargé depuis le Hub.

token (`str` ou *bool*, *facultatif*) : Le jeton à utiliser comme autorisation bearer HTTP pour les fichiers distants. Si `True`, le jeton généré par `diffusers-cli login` (stocké dans `~/.huggingface`) est utilisé.

revision (`str`, *facultatif*, par défaut `"main"`) : La version spécifique du modèle à utiliser. Il peut s'agir d'un nom de branche, d'un nom de tag, d'un identifiant de commit ou de tout identifiant autorisé par Git.

custom_revision (`str`, *facultatif*, par défaut `"main"`) : La version spécifique du modèle à utiliser. Il peut s'agir d'un nom de branche, d'un nom de tag ou d'un identifiant de commit, similaire à `revision` lors du chargement d'un pipeline personnalisé depuis le Hub. Il peut s'agir d'une version de 🤗 Diffusers lors du chargement d'un pipeline personnalisé depuis GitHub, sinon il est par défaut `"main"` lors du chargement depuis le Hub.

mirror (`str`, *facultatif*) : Source miroir pour résoudre les problèmes d’accessibilité lors du téléchargement d’un modèle en Chine. Nous ne garantissons ni la réactivité ni la sécurité de la source ; veuillez consulter le site miroir pour plus d’informations.

device_map (`str` ou `dict[str, int | str | torch.device]`, *facultatif*) : Une carte qui spécifie l’emplacement de chaque sous-module. Il n’est pas nécessaire de la définir pour chaque nom de paramètre/buffer ; dès qu’un nom de module est inclus, tous ses sous-modules seront envoyés sur le même appareil. Définissez `device_map="auto"` pour que 🤗 Accelerate calcule automatiquement la `device_map` la plus optimisée. Pour plus d’informations sur chaque option, consultez [concevoir une carte d’appareils](https://hf.co/docs/accelerate/main/en/usage_guides/big_modeling#designing-a-device-map).

max_memory (`Dict`, *facultatif*) : Un identifiant de dictionnaire de périphérique pour la mémoire maximale. Par défaut, la valeur est la mémoire maximale disponible pour chaque GPU et la RAM CPU disponible si non définie.

offload_folder (`str` ou `os.PathLike`, *facultatif*) : Le chemin pour décharger les poids si device_map contient la valeur `"disk"`.

offload_state_dict (`bool`, *facultatif*) : Si `True`, décharge temporairement le dictionnaire d'état CPU sur le disque dur pour éviter d'épuiser la RAM CPU si le poids du dictionnaire d'état CPU + le plus grand fragment du point de contrôle ne tient pas. La valeur par défaut est `True` lorsqu'il y a une décharge sur disque.

low_cpu_mem_usage (`bool`, *facultatif*, par défaut `True` si la version de torch est >= 1.9.0, sinon `False`) : Accélère le chargement du modèle en ne chargeant que les poids préentraînés et sans initialiser les poids. Cela tente également de ne pas utiliser plus de 1 fois la taille du modèle en mémoire CPU (y compris la mémoire de pointe) lors du chargement du modèle. Pris en charge uniquement pour PyTorch >= 1.9.0. Si vous utilisez une version plus ancienne de PyTorch, définir cet argument sur `True` déclenchera une erreur.

use_safetensors (`bool`, *facultatif*, valeur par défaut `None`) : Si défini sur `None`, les poids safetensors sont téléchargés s'ils sont disponibles **et** si la bibliothèque safetensors est installée. Si défini sur `True`, le modèle est chargé de force à partir des poids safetensors. Si défini sur `False`, les poids safetensors ne sont pas chargés.

kwargs (reste du dictionnaire des arguments par mot-clé, *facultatif*) : peut être utilisé pour écraser les variables de chargement et de sauvegarde (les composants du pipeline de la classe de pipeline spécifique). Les composants écrasés sont transmis directement à la méthode `__init__` des pipelines. Voir l’exemple ci-dessous pour plus d’informations.

variant (`str`, *facultatif*) : Charge les poids depuis un nom de fichier de variante spécifié, tel que `"fp16"` ou `"ema"`.

Instancie un pipeline de diffusion Pytorch d'inpainting à partir des poids d'un pipeline pré-entraîné.

La méthode from_pretrained() s’occupe de renvoyer l’instance de la classe de pipeline correcte en :
1. Détecter la classe de pipeline de pretrained_model_or_path en fonction de la propriété _class_name de son objet de configuration
2. Trouver le pipeline d'inpainting lié à la classe de pipeline en utilisant l'adéquation de motifs sur le nom de la classe de pipeline.

Si un argument `controlnet` est transmis, un objet [StableDiffusionControlNetInpaintPipeline](/docs/diffusers/main/fr/api/pipelines/controlnet#diffusers.StableDiffusionControlNetInpaintPipeline) sera instancié.

Le pipeline est défini en mode évaluation (`model.eval()`) par défaut.

Si vous obtenez le message d’erreur ci-dessous, vous devez affiner les poids pour votre tâche en aval :

```
Some weights of UNet2DConditionModel were not initialized from the model checkpoint at stable-diffusion-v1-5/stable-diffusion-v1-5 and are newly initialized because the shapes did not match:
- conv_in.weight: found shape torch.Size([320, 4, 3, 3]) in the checkpoint and torch.Size([320, 9, 3, 3]) in the model instantiated
You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference.
```

> [!TIP] > Pour utiliser des modèles privés ou [gated](https://huggingface.co/docs/hub/models-gated#gated-models), connectez-vous
avec `hf > auth login`.

Exemples :

```py
>>> from diffusers import AutoPipelineForInpainting

>>> pipeline = AutoPipelineForInpainting.from_pretrained("stable-diffusion-v1-5/stable-diffusion-v1-5")
>>> image = pipeline(prompt, image=init_image, mask_image=mask_image).images[0]
```

#### from_pipe[[diffusers.AutoPipelineForInpainting.from_pipe]]

```python
from_pipe(pipeline, **kwargs)
```

[Source](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/auto_pipeline.py#L1179)

**Paramètres :**

pipeline (`DiffusionPipeline`) : un objet `DiffusionPipeline` instancié

Instancie un pipeline de diffusion Pytorch d'inpainting à partir d'une autre classe de pipeline de diffusion déjà instanciée.

La méthode from_pipe() s’occupe de renvoyer l’instance de la classe de pipeline correcte en trouvant le pipeline d’inpainting lié à la classe de pipeline à l’aide d’une correspondance de motifs sur le nom de la classe de pipeline.

Tous les modules contenus dans la classe pipeline seront utilisés pour initialiser le nouveau pipeline sans allouer de mémoire supplémentaire.

Le pipeline est défini en mode évaluation (`model.eval()`) par défaut.

Exemples :

```py
>>> from diffusers import AutoPipelineForText2Image, AutoPipelineForInpainting

>>> pipe_t2i = AutoPipelineForText2Image.from_pretrained(
...     "DeepFloyd/IF-I-XL-v1.0", requires_safety_checker=False
... )

>>> pipe_inpaint = AutoPipelineForInpainting.from_pipe(pipe_t2i)
>>> image = pipe_inpaint(prompt, image=init_image, mask_image=mask_image).images[0]
```

## AutoPipelineForText2Audio[[diffusers.AutoPipelineForText2Audio]]

#### diffusers.AutoPipelineForText2Audio[[diffusers.AutoPipelineForText2Audio]]

```python
diffusers.AutoPipelineForText2Audio(*args, **kwargs)
```

[Source](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/auto_pipeline.py#L1298)

[AutoPipelineForText2Audio](/docs/diffusers/main/fr/api/pipelines/auto_pipeline#diffusers.AutoPipelineForText2Audio) est une classe de pipeline générique qui instancie une classe de pipeline texte-vers-audio. La classe de pipeline sous-jacente spécifique est sélectionnée automatiquement à partir des méthodes [from_pretrained()](/docs/diffusers/main/fr/api/pipelines/auto_pipeline#diffusers.AutoPipelineForText2Audio.from_pretrained) ou [from_pipe()](/docs/diffusers/main/fr/api/pipelines/auto_pipeline#diffusers.AutoPipelineForText2Audio.from_pipe).

Cette classe ne peut pas être instanciée à l'aide de `__init__()` (lève une erreur).

Attributs de classe :

- **config_name** (`str`) -- Le nom du fichier de configuration qui stocke les noms de classe et de module de tous les composants du pipeline de diffusion.

#### from_pretrained[[diffusers.AutoPipelineForText2Audio.from_pretrained]]

```python
from_pretrained(pretrained_model_or_path, **kwargs)
```

[Source](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/auto_pipeline.py#L1323)

**Paramètres :**

pretrained_model_or_path (`str` ou `os.PathLike`, *facultatif*) : Peut être : - Une chaîne de caractères, l'*identifiant du dépôt* (par exemple `stabilityai/stable-audio-open-1.0`) d'un pipeline pré-entraîné hébergé sur le Hub. - Un chemin vers un *dossier* (par exemple `./my_pipeline_directory/`) contenant les poids du pipeline enregistrés à l'aide de [save_pretrained()](/docs/diffusers/main/fr/api/pipelines/overview#diffusers.DiffusionPipeline.save_pretrained).

dtype (`torch.dtype`, *facultatif*) : Remplace le `torch.dtype` par défaut et charge le modèle avec un autre dtype.

force_download (`bool`, *facultatif*, par défaut `False`) : Indique s'il faut forcer le (re)téléchargement des poids du modèle et des fichiers de configuration, en ignorant les versions mises en cache si elles existent.

cache_dir (`str | os.PathLike`, *facultatif*) : Chemin vers un répertoire où la configuration d'un modèle pré-entraîné téléchargé est mise en cache si le cache standard n'est pas utilisé.

proxies (`dict[str, str]`, *facultatif*) : Un dictionnaire de serveurs proxy à utiliser par protocole ou point de terminaison, par exemple, `{'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}`. Les proxys sont utilisés pour chaque requête.

output_loading_info(`bool`, *facultatif*, valeur par défaut `False`) : Indique s'il faut également retourner un dictionnaire contenant les clés manquantes, les clés inattendues et les messages d'erreur.

local_files_only (`bool`, *facultatif*, par défaut `False`) : Indique s'il faut charger uniquement les poids et les fichiers de configuration du modèle locaux. Si défini sur `True`, le modèle ne sera pas téléchargé depuis le Hub.

token (`str` ou *bool*, *facultatif*) : Le jeton à utiliser comme autorisation bearer HTTP pour les fichiers distants. Si `True`, le jeton généré par `diffusers-cli login` (stocké dans `~/.huggingface`) est utilisé.

revision (`str`, *facultatif*, par défaut `"main"`) : La version spécifique du modèle à utiliser. Il peut s'agir d'un nom de branche, d'un nom de tag, d'un identifiant de commit ou de tout identifiant autorisé par Git.

custom_revision (`str`, *facultatif*, par défaut `"main"`) : La version spécifique du modèle à utiliser. Il peut s'agir d'un nom de branche, d'un nom de tag ou d'un identifiant de commit, similaire à `revision` lors du chargement d'un pipeline personnalisé depuis le Hub. Il peut s'agir d'une version de 🤗 Diffusers lors du chargement d'un pipeline personnalisé depuis GitHub, sinon il est par défaut `"main"` lors du chargement depuis le Hub.

mirror (`str`, *facultatif*) : Source miroir pour résoudre les problèmes d'accessibilité si vous téléchargez un modèle en Chine. Nous ne garantissons ni la réactivité ni la sécurité de la source, et vous devez consulter le site miroir pour plus d'informations.

device_map (`str` ou `dict[str, int | str | torch.device]`, *facultatif*) : Une carte qui spécifie l'emplacement de chaque sous-module. Il n'est pas nécessaire de la définir pour chaque nom de paramètre/buffer ; dès qu'un nom de module est inclus, tous ses sous-modules seront envoyés sur le même appareil. Définissez `device_map="auto"` pour que 🤗 Accelerate calcule automatiquement le `device_map` le plus optimisé. Pour plus d'informations sur chaque option, consultez [concevoir une carte d'appareils](https://hf.co/docs/accelerate/main/en/usage_guides/big_modeling#designing-a-device-map).

max_memory (`Dict`, *facultatif*) : Un identifiant de dictionnaire de périphérique pour la mémoire maximale. Par défaut, la valeur est la mémoire maximale disponible pour chaque GPU et la RAM CPU disponible si non définie.

offload_folder (`str` ou `os.PathLike`, *facultatif*) : Le chemin pour décharger les poids si device_map contient la valeur `"disk"`.

offload_state_dict (`bool`, *facultatif*) : Si `True`, décharge temporairement le dictionnaire d'état CPU sur le disque dur pour éviter d'épuiser la RAM CPU si le poids du dictionnaire d'état CPU + le plus grand fragment du point de contrôle ne tient pas. La valeur par défaut est `True` lorsqu'il y a une décharge sur disque.

low_cpu_mem_usage (`bool`, *facultatif*, par défaut `True` si la version de torch est >= 1.9.0, sinon `False`) : Accélère le chargement du modèle en ne chargeant que les poids préentraînés et sans initialiser les poids. Cela tente également de ne pas utiliser plus de 1 fois la taille du modèle en mémoire CPU (y compris la mémoire de pointe) lors du chargement du modèle. Pris en charge uniquement pour PyTorch >= 1.9.0. Si vous utilisez une version plus ancienne de PyTorch, définir cet argument sur `True` déclenchera une erreur.

use_safetensors (`bool`, *facultatif*, valeur par défaut `None`) : Si défini sur `None`, les poids safetensors sont téléchargés s'ils sont disponibles **et** si la bibliothèque safetensors est installée. Si défini sur `True`, le modèle est chargé de force à partir des poids safetensors. Si défini sur `False`, les poids safetensors ne sont pas chargés.

kwargs (reste du dictionnaire des arguments par mot-clé, *facultatif*) : peut être utilisé pour écraser les variables de chargement et de sauvegarde (les composants du pipeline de la classe de pipeline spécifique). Les composants écrasés sont transmis directement à la méthode `__init__` des pipelines. Voir l’exemple ci-dessous pour plus d’informations.

variant (`str`, *facultatif*) : Charge les poids depuis un nom de fichier de variante spécifié, tel que `"fp16"` ou `"ema"`.

Instancie un pipeline de diffusion Pytorch texte-vers-audio à partir de poids de pipeline pré-entraînés.

La méthode from_pretrained() s’occupe de renvoyer l’instance de la classe de pipeline correcte en :
1. Détecter la classe de pipeline de pretrained_model_or_path en fonction de la propriété _class_name de son objet de configuration
2. Trouvez le pipeline texte-vers-audio lié à la classe de pipeline en utilisant l’association de motifs sur le nom de la classe de pipeline.

Le pipeline est défini en mode évaluation (`model.eval()`) par défaut.

> [!TIP] > Pour utiliser des modèles privés ou [gated](https://huggingface.co/docs/hub/models-gated#gated-models), connectez-vous
avec `hf > auth login`.

Exemples :

```py
>>> import torch
>>> import soundfile as sf
>>> from diffusers import AutoPipelineForText2Audio

>>> pipeline = AutoPipelineForText2Audio.from_pretrained(
...     "stabilityai/stable-audio-open-1.0", torch_dtype=torch.float16
... )
>>> pipeline = pipeline.to("cuda")

>>> output = pipeline(
...     "Generate a male voice reading a paragraph",
...     num_inference_steps=200,
...     audio_end_in_s=10.0,
... )
>>> audio = output.audios[0].T.float().cpu().numpy()
>>> sf.write("audio.wav", audio, pipeline.vae.sampling_rate)
```

#### from_pipe[[diffusers.AutoPipelineForText2Audio.from_pipe]]

```python
from_pipe(pipeline, **kwargs)
```

[Source](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/auto_pipeline.py#L1467)

**Paramètres :**

pipeline (`DiffusionPipeline`) : un objet `DiffusionPipeline` instancié

Instancie un pipeline de diffusion Pytorch texte-vers-audio à partir d'une autre classe de pipeline de diffusion déjà instanciée.

La méthode from_pipe() s’occupe de renvoyer l’instance de la classe de pipeline correcte en trouvant le pipeline texte-vers-audio lié à la classe de pipeline à l’aide d’une correspondance de motifs sur le nom de la classe de pipeline.

Tous les modules contenus dans le pipeline seront utilisés pour initialiser le nouveau pipeline sans allouer de mémoire supplémentaire.

Le pipeline est défini en mode évaluation (`model.eval()`) par défaut.

```py
>>> import torch
>>> import soundfile as sf
>>> from diffusers import AutoPipelineForText2Audio, StableAudioPipeline

>>> pipe = StableAudioPipeline.from_pretrained("stabilityai/stable-audio-open-1.0", torch_dtype=torch.float16)

>>> pipe_audio = AutoPipelineForText2Audio.from_pipe(pipe)
>>> output = pipe_audio(
...     "Generate a sound",
...     num_inference_steps=200,
...     audio_end_in_s=10.0,
... )
>>> audio = output.audios[0].T.float().cpu().numpy()
>>> sf.write("audio.wav", audio, pipe_audio.vae.sampling_rate)
```

