Diffusers documentation
AutoPipeline
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.
Consultez le tutoriel AutoPipeline pour apprendre à utiliser cette API !
AutoPipelineForText2Image
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() ou 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
< source >( pretrained_model_or_path**kwargs )
Paramètres
- pretrained_model_or_path (
strouos.PathLike, facultatif) — Peut être l'un des éléments suivants :- 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().
- Une chaîne de caractères, l'identifiant du dépôt (par exemple
- dtype (
torch.dtype, facultatif) — Remplace letorch.dtypepar défaut et charge le modèle avec un autre dtype. - force_download (
bool, facultatif, par défautFalse) — 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, par défautFalse) — 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éfautFalse) — Indique s'il faut charger uniquement les poids et les fichiers de configuration du modèle en local. Si défini surTrue, le modèle ne sera pas téléchargé depuis le Hub. - token (
strou bool, facultatif) — Le jeton à utiliser comme autorisation bearer HTTP pour les fichiers distants. SiTrue, le jeton généré pardiffusers-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, de manière similaire àrevisionlors 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 (
stroudict[str, int | str | torch.device], facultatif) — Une carte qui spécifie où chaque sous-module doit être placé. 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 ledevice_maple plus optimisé. Pour plus d’informations sur chaque option, consultez concevoir une carte de périphériques. - max_memory (
Dict, facultatif) — Un dictionnaire identifiant les appareils 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 (
strouos.PathLike, facultatif) — Le chemin vers lequel décharger les poids si device_map contient la valeur"disk". - offload_state_dict (
bool, facultatif) — SiTrue, 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 estTruelorsqu’une décharge sur disque est présente. - low_cpu_mem_usage (
bool, facultatif, par défautTruesi la version de torch est >= 1.9.0, sinonFalse) — Accélère le chargement du modèle en ne chargeant que les poids pré-entraînés et sans initialiser les poids. Cela permet é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. Uniquement pris en charge pour PyTorch >= 1.9.0. Si vous utilisez une version plus ancienne de PyTorch, définir cet argument surTruedéclenchera une erreur. - use_safetensors (
bool, facultatif, valeur par défautNone) — Si défini surNone, les poids safetensors sont téléchargés s’ils sont disponibles et si la bibliothèque safetensors est installée. Si défini surTrue, le modèle est chargé de manière forcée à partir des poids safetensors. Si défini surFalse, les poids safetensors ne sont pas chargés. - kwargs (dictionnaire restant 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 :
- Détecter la classe de pipeline de pretrained_model_or_path en fonction de la propriété _class_name de son objet config
- 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 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.> Pour utiliser des modèles privés ou restreints, connectez-vous avec
hf > auth login.
from_pipe
< source >( pipeline**kwargs )
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.
>>> 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
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() ou 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
< source >( pretrained_model_or_path**kwargs )
Paramètres
- pretrained_model_or_path (
strouos.PathLike, facultatif) — Peut être l'un des éléments suivants :- 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().
- Une chaîne de caractères, l'identifiant du dépôt (par exemple
- dtype (
stroutorch.dtype, facultatif) — Remplace letorch.dtypepar défaut et charge le modèle avec un autre dtype. - force_download (
bool, facultatif, par défautFalse) — 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, par défautFalse) — 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éfautFalse) — Indique s'il faut charger uniquement les poids et les fichiers de configuration du modèle en local. Si défini surTrue, le modèle ne sera pas téléchargé depuis le Hub. - token (
strou bool, facultatif) — Le jeton à utiliser comme autorisation bearer HTTP pour les fichiers distants. SiTrue, le jeton généré pardiffusers-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, de manière similaire àrevisionlors 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 (
stroudict[str, int | str | torch.device], facultatif) — Une carte qui spécifie où chaque sous-module doit être placé. 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 ledevice_maple plus optimisé. Pour plus d’informations sur chaque option, consultez concevoir une carte de périphériques. - max_memory (
Dict, facultatif) — Un dictionnaire identifiant les appareils 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 (
strouos.PathLike, facultatif) — Le chemin vers lequel décharger les poids si device_map contient la valeur"disk". - offload_state_dict (
bool, facultatif) — SiTrue, 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 estTruelorsqu’une décharge sur disque est présente. - low_cpu_mem_usage (
bool, facultatif, par défautTruesi la version de torch est >= 1.9.0, sinonFalse) — Accélère le chargement du modèle en ne chargeant que les poids pré-entraînés et sans initialiser les poids. Cela permet é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. Uniquement pris en charge pour PyTorch >= 1.9.0. Si vous utilisez une version plus ancienne de PyTorch, définir cet argument surTruedéclenchera une erreur. - use_safetensors (
bool, facultatif, valeur par défautNone) — Si défini surNone, les poids safetensors sont téléchargés s’ils sont disponibles et si la bibliothèque safetensors est installée. Si défini surTrue, le modèle est chargé de manière forcée à partir des poids safetensors. Si défini surFalse, les poids safetensors ne sont pas chargés. - kwargs (dictionnaire restant 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 :
- Détecter la classe de pipeline de pretrained_model_or_path en fonction de la propriété _class_name de son objet config
- 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 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.> Pour utiliser des modèles privés ou restreints, connectez-vous avec
hf > auth login.
from_pipe
< source >( pipeline**kwargs )
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 :
>>> 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
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() ou 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
< source >( pretrained_model_or_path**kwargs )
Paramètres
- pretrained_model_or_path (
strouos.PathLike, facultatif) — Peut être l'un des éléments suivants :- 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().
- Une chaîne de caractères, l'identifiant du dépôt (par exemple
- dtype (
stroutorch.dtype, facultatif) — Remplace letorch.dtypepar défaut et charge le modèle avec un autre dtype. - force_download (
bool, facultatif, par défautFalse) — 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, par défautFalse) — 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éfautFalse) — Indique s'il faut charger uniquement les poids et les fichiers de configuration du modèle en local. Si défini surTrue, le modèle ne sera pas téléchargé depuis le Hub. - token (
strou bool, facultatif) — Le jeton à utiliser comme autorisation bearer HTTP pour les fichiers distants. SiTrue, le jeton généré pardiffusers-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, de manière similaire àrevisionlors 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 (
stroudict[str, int | str | torch.device], facultatif) — Une carte qui spécifie où chaque sous-module doit être placé. 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 ledevice_maple plus optimisé. Pour plus d’informations sur chaque option, consultez concevoir une carte de périphériques. - max_memory (
Dict, facultatif) — Un dictionnaire identifiant les appareils 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 (
strouos.PathLike, facultatif) — Le chemin vers lequel décharger les poids si device_map contient la valeur"disk". - offload_state_dict (
bool, facultatif) — SiTrue, 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 estTruelorsqu’une décharge sur disque est présente. - low_cpu_mem_usage (
bool, facultatif, par défautTruesi la version de torch est >= 1.9.0, sinonFalse) — Accélère le chargement du modèle en ne chargeant que les poids pré-entraînés et sans initialiser les poids. Cela permet é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. Uniquement pris en charge pour PyTorch >= 1.9.0. Si vous utilisez une version plus ancienne de PyTorch, définir cet argument surTruedéclenchera une erreur. - use_safetensors (
bool, facultatif, valeur par défautNone) — Si défini surNone, les poids safetensors sont téléchargés s’ils sont disponibles et si la bibliothèque safetensors est installée. Si défini surTrue, le modèle est chargé de manière forcée à partir des poids safetensors. Si défini surFalse, les poids safetensors ne sont pas chargés. - kwargs (dictionnaire restant 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 :
- Détecter la classe de pipeline de pretrained_model_or_path en fonction de la propriété _class_name de son objet config
- 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 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.> Pour utiliser des modèles privés ou restreints, connectez-vous avec
hf > auth login.
from_pipe
< source >( pipeline**kwargs )
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 :
>>> 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
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() ou 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
< source >( pretrained_model_or_path**kwargs )
Paramètres
- pretrained_model_or_path (
strouos.PathLike, facultatif) — Peut être l'un des éléments suivants :- 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().
- Une chaîne de caractères, l'identifiant du dépôt (par exemple
- dtype (
torch.dtype, facultatif) — Remplace letorch.dtypepar défaut et charge le modèle avec un autre dtype. - force_download (
bool, facultatif, par défautFalse) — 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, par défautFalse) — 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éfautFalse) — Indique s'il faut charger uniquement les poids et les fichiers de configuration du modèle en local. Si défini surTrue, le modèle ne sera pas téléchargé depuis le Hub. - token (
strou bool, facultatif) — Le jeton à utiliser comme autorisation bearer HTTP pour les fichiers distants. SiTrue, le jeton généré pardiffusers-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, de manière similaire àrevisionlors 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 (
stroudict[str, int | str | torch.device], facultatif) — Une carte qui spécifie où chaque sous-module doit être placé. 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 ledevice_maple plus optimisé. Pour plus d’informations sur chaque option, consultez concevoir une carte de périphériques. - max_memory (
Dict, facultatif) — Un dictionnaire identifiant les appareils 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 (
strouos.PathLike, facultatif) — Le chemin vers lequel décharger les poids si device_map contient la valeur"disk". - offload_state_dict (
bool, facultatif) — SiTrue, 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 estTruelorsqu’une décharge sur disque est présente. - low_cpu_mem_usage (
bool, facultatif, par défautTruesi la version de torch est >= 1.9.0, sinonFalse) — Accélère le chargement du modèle en ne chargeant que les poids pré-entraînés et sans initialiser les poids. Cela permet é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. Uniquement pris en charge pour PyTorch >= 1.9.0. Si vous utilisez une version plus ancienne de PyTorch, définir cet argument surTruedéclenchera une erreur. - use_safetensors (
bool, facultatif, valeur par défautNone) — Si défini surNone, les poids safetensors sont téléchargés s’ils sont disponibles et si la bibliothèque safetensors est installée. Si défini surTrue, le modèle est chargé de manière forcée à partir des poids safetensors. Si défini surFalse, les poids safetensors ne sont pas chargés. - kwargs (dictionnaire restant 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 :
- Détecter la classe de pipeline de pretrained_model_or_path en fonction de la propriété _class_name de son objet config
- 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.
> Pour utiliser des modèles privés ou restreints, connectez-vous avec
hf > auth login.
Exemples :
>>> 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
< source >( pipeline**kwargs )
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.
>>> 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)