Diffusers documentation
Fichiers uniques
Fichiers uniques
La méthode from_single_file() permet de charger :
- un modèle stocké dans un fichier unique, ce qui est utile si vous travaillez avec des modèles issus de l'écosystème de diffusion, comme Automatic1111, et que vous utilisez couramment une structure à fichier unique pour stocker et partager des modèles
- un modèle stocké dans sa disposition de distribution d’origine, ce qui est utile si vous travaillez avec des modèles affinés à l’aide d’autres services et souhaitez les charger directement dans des objets et des pipelines de Diffusers
Consultez le guide Fichiers et structures de modèles pour en savoir plus sur la structure Diffusers-multifolder par rapport à la structure single-file, et sur la manière de charger des modèles stockés dans ces différentes structures.
Pipelines pris en charge
- StableDiffusionPipeline
- StableDiffusionImg2ImgPipeline
- StableDiffusionInpaintPipeline
- StableDiffusionControlNetPipeline
- StableDiffusionControlNetImg2ImgPipeline
- StableDiffusionControlNetInpaintPipeline
- StableDiffusionUpscalePipeline
- StableDiffusionXLPipeline
- StableDiffusionXLImg2ImgPipeline
- StableDiffusionXLInpaintPipeline
- StableDiffusionXLInstructPix2PixPipeline
- StableDiffusionXLControlNetPipeline
StableDiffusionXLKDiffusionPipeline- StableDiffusion3Pipeline
- LatentConsistencyModelPipeline
- LatentConsistencyModelImg2ImgPipeline
StableDiffusionControlNetXSPipelineStableDiffusionXLControlNetXSPipeline- LEditsPPPipelineStableDiffusion
- LEditsPPPipelineStableDiffusionXL
PIAPipeline
Modèles pris en charge
- UNet2DConditionModel
StableCascadeUNet- AutoencoderKL
- ControlNetModel
- SD3Transformer2DModel
- FluxTransformer2DModel
FromSingleFileMixin
Charger les poids du modèle enregistrés au format .ckpt dans un DiffusionPipeline.
from_single_file
< source >( pretrained_model_link_or_path**kwargs )
Paramètres
- pretrained_model_link_or_path (
strouos.PathLike, facultatif) — Peut être soit :- Un lien vers le fichier
.ckpt(par exemple"https://huggingface.co/<repo_id>/blob/main/<path_to_file>.ckpt") sur le Hub. - Un chemin vers un fichier contenant tous les poids du pipeline.
- Un lien vers le fichier
- 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. - 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. - original_config_file (
str, facultatif) — Le chemin vers le fichier de configuration d’origine utilisé pour entraîner le modèle. S’il n’est pas fourni, le fichier de configuration sera déduit à partir du fichier de point de contrôle. - config (
str, facultatif) — Peut être soit :- 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 répertoire (par exemple
./my_pipeline_directory/) contenant les configurations des composants du pipeline au format Diffusers.
- Une chaîne de caractères, l'identifiant du dépôt (par exemple
- disable_mmap (‘bool’, facultatif, par défaut ‘False’) — Indique s'il faut désactiver mmap lors du chargement d'un modèle Safetensors. Cette option peut offrir de meilleures performances lorsque le modèle se trouve sur un montage réseau ou un disque dur.
- 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.
Instanciez un DiffusionPipeline à partir de poids de pipeline préentraînés enregistrés au format .ckpt ou .safetensors. Le pipeline est configuré en mode évaluation (model.eval()) par défaut.
Exemples :
>>> from diffusers import StableDiffusionPipeline
>>> # Download pipeline from huggingface.co and cache.
>>> pipeline = StableDiffusionPipeline.from_single_file(
... "https://huggingface.co/WarriorMama777/OrangeMixs/blob/main/Models/AbyssOrangeMix/AbyssOrangeMix.safetensors"
... )
>>> # Download pipeline from local file
>>> # file is downloaded under ./v1-5-pruned-emaonly.ckpt
>>> pipeline = StableDiffusionPipeline.from_single_file("./v1-5-pruned-emaonly.ckpt")
>>> # Enable float16 and move to GPU
>>> pipeline = StableDiffusionPipeline.from_single_file(
... "https://huggingface.co/stable-diffusion-v1-5/stable-diffusion-v1-5/blob/main/v1-5-pruned-emaonly.ckpt",
... torch_dtype=torch.float16,
... )
>>> pipeline.to("cuda")FromOriginalModelMixin
Charger les poids pré-entraînés enregistrés au format .ckpt ou .safetensors dans un modèle.
from_single_file
< source >( pretrained_model_link_or_path_or_dict: str | None = None**kwargs )
Paramètres
- pretrained_model_link_or_path_or_dict (
str, facultatif) — Peut être l'un des éléments suivants :- Un lien vers le fichier
.safetensorsou.ckpt(par exemple"https://huggingface.co/<repo_id>/blob/main/<path_to_file>.safetensors") sur le Hub. - Chemin vers un fichier local contenant les poids du modèle composant.
- Un state dict contenant les poids du modèle de composant.
- Un lien vers le fichier
- config (
str, facultatif) —- 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 configurations des composants du pipeline au format Diffusers.
- Une chaîne de caractères, l'identifiant du dépôt (par exemple
- subfolder (
str, facultatif, par défaut"") — L’emplacement du sous-dossier d’un fichier de modèle au sein d’un dépôt de modèle plus large sur le Hub ou en local. - original_config (
str, facultatif) — Dictionnaire ou chemin vers un fichier yaml contenant la configuration du modèle dans son format d’origine. Si un dictionnaire est fourni, il sera utilisé pour initialiser la configuration du modèle. - 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. - local_files_only (
bool, facultatif, par défautFalse) — 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 (
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. - low_cpu_mem_usage (
bool, facultatif, par défautTruesi la version de torch est >= 1.9.0 et — is_accelerate_available() 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 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 surTruedéclenchera une erreur. - disable_mmap (‘bool’, facultatif, valeur par défaut ‘False’) — Indique s'il faut désactiver mmap lors du chargement d'un modèle Safetensors. Cette option peut offrir de meilleures performances lorsque le modèle se trouve sur un montage réseau ou un disque dur, qui peuvent ne pas gérer correctement les accès aléatoires (seek) de mmap.
- kwargs (dictionnaire restant des arguments par mot-clé, facultatif) —
Peut être utilisé pour écraser les variables de chargement et de sauvegarde (par exemple 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.
Instanciez un modèle à partir de poids pré-entraînés enregistrés dans le format original .ckpt ou .safetensors. Le modèle est configuré en mode évaluation (model.eval()) par défaut.