Diffusers documentation
Archivos individuales
Archivos individuales
El método from_single_file() permite cargar:
- un modelo almacenado en un solo archivo, que es útil si trabajas con modelos del ecosistema de difusión, como Automatic1111, y normalmente dependes de un esquema de un solo archivo para almacenar y compartir modelos
- un modelo almacenado en su distribución original, que es útil si estás trabajando con modelos afinados con otros servicios y deseas cargarlo directamente en objetos de modelo y pipelines de Diffusers
Lea la guía Archivos y estructuras de modelos para obtener más información sobre la estructura de Diffusers-multifolder frente a la estructura de archivo único, y cómo cargar modelos almacenados en estas diferentes estructuras.
Pipelines admitidos
- StableDiffusionPipeline
- StableDiffusionImg2ImgPipeline
- StableDiffusionInpaintPipeline
- StableDiffusionControlNetPipeline
- StableDiffusionControlNetImg2ImgPipeline
- StableDiffusionControlNetInpaintPipeline
- StableDiffusionUpscalePipeline
- StableDiffusionXLPipeline
- StableDiffusionXLImg2ImgPipeline
- StableDiffusionXLInpaintPipeline
- StableDiffusionXLInstructPix2PixPipeline
- StableDiffusionXLControlNetPipeline
StableDiffusionXLKDiffusionPipeline- StableDiffusion3Pipeline
- LatentConsistencyModelPipeline
- LatentConsistencyModelImg2ImgPipeline
StableDiffusionControlNetXSPipelineStableDiffusionXLControlNetXSPipeline- LEditsPPPipelineStableDiffusion
- LEditsPPPipelineStableDiffusionXL
PIAPipeline
Modelos compatibles
- UNet2DConditionModel
StableCascadeUNet- AutoencoderKL
- ControlNetModel
- SD3Transformer2DModel
- FluxTransformer2DModel
FromSingleFileMixin
Cargue los pesos del modelo guardados en el formato .ckpt en un DiffusionPipeline.
from_single_file
< source >( pretrained_model_link_or_path**kwargs )
Parámetros
- pretrained_model_link_or_path (
stroos.PathLike, opcional) — Puede ser:- Un enlace al archivo
.ckpt(por ejemplo"https://huggingface.co/<repo_id>/blob/main/<path_to_file>.ckpt") en el Hub. - Una ruta a un archivo que contiene todos los pesos del pipeline.
- Un enlace al archivo
- dtype (
strotorch.dtype, opcional) — Sobrescribe eltorch.dtypepredeterminado y carga el modelo con otro dtype. - force_download (
bool, opcional, valor predeterminadoFalse) — Indica si se debe forzar la (re)descarga de los pesos del modelo y los archivos de configuración, ignorando las versiones en caché si existen. - cache_dir (
str | os.PathLike, opcional) — Ruta a un directorio donde se almacena en caché la configuración de un modelo preentrenado descargado si no se utiliza la caché estándar. - proxies (
dict[str, str], opcional) — Un diccionario de servidores proxy a utilizar por protocolo o punto de acceso, por ejemplo,{'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}. Los proxies se utilizan en cada solicitud. - local_files_only (
bool, opcional, valor predeterminadoFalse) — Indica si se deben cargar únicamente los pesos y archivos de configuración del modelo locales. Si se establece enTrue, el modelo no se descargará desde el Hub. - token (
stro bool, opcional) — El token que se usará como autorización HTTP bearer para los archivos remotos. SiTrue, se utiliza el token generado desdediffusers-cli login(almacenado en~/.huggingface). - revision (
str, opcional, valor predeterminado"main") — La versión específica del modelo que se va a utilizar. Puede ser el nombre de una rama, el nombre de una etiqueta, un id de commit o cualquier identificador permitido por Git. - original_config_file (
str, opcional) — La ruta al archivo de configuración original que se utilizó para entrenar el modelo. Si no se proporciona, el archivo de configuración se inferirá a partir del archivo de checkpoint. - config (
str, opcional) — Puede ser:- Una cadena de caracteres, el repo id (por ejemplo,
CompVis/ldm-text2im-large-256) de un pipeline preentrenado alojado en el Hub. - Una ruta a un directorio (por ejemplo,
./my_pipeline_directory/) que contiene las configuraciones de los componentes del pipeline en formato Diffusers.
- Una cadena de caracteres, el repo id (por ejemplo,
- disable_mmap (‘bool’, opcional, valor predeterminado ‘False’) — Si se deshabilita mmap al cargar un modelo de Safetensors. Esta opción puede ofrecer un mejor rendimiento cuando el modelo se encuentra en una unidad de red o en un disco duro.
- kwargs (diccionario restante de argumentos de palabra clave, opcional) —
Se puede usar para sobrescribir las variables de carga y guardado (los componentes de pipeline de la clase de pipeline específica). Los componentes sobrescritos se pasan directamente al método
__init__de los pipelines. Consulte el ejemplo siguiente para obtener más información.
Instancia un DiffusionPipeline a partir de pesos de pipeline preentrenados guardados en el formato .ckpt o .safetensors. El pipeline se establece en modo de evaluación (model.eval()) de forma predeterminada.
Ejemplos:
>>> 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
Cargue los pesos preentrenados guardados en el formato .ckpt o .safetensors en un modelo.
from_single_file
< source >( pretrained_model_link_or_path_or_dict: str | None = None**kwargs )
Parámetros
- pretrained_model_link_or_path_or_dict (
str, opcional) — Puede ser:- Un enlace al archivo
.safetensorso.ckpt(por ejemplo"https://huggingface.co/<repo_id>/blob/main/<path_to_file>.safetensors") en el Hub. - Una ruta a un archivo local que contiene los pesos del modelo de componente.
- Un state dict que contiene los pesos del modelo de componentes.
- Un enlace al archivo
- config (
str, opcional) —- Una cadena de caracteres, el repo id (por ejemplo,
CompVis/ldm-text2im-large-256) de un pipeline preentrenado alojado en el Hub. - Una ruta a un directorio (por ejemplo,
./my_pipeline_directory/) que contenga las configuraciones de los componentes del pipeline en formato Diffusers.
- Una cadena de caracteres, el repo id (por ejemplo,
- subfolder (
str, opcional, por defecto"") — La ubicación de la subcarpeta de un archivo de modelo dentro de un repositorio de modelos más grande en el Hub o localmente. - original_config (
str, opcional) — Diccionario o ruta a un archivo yaml que contiene la configuración del modelo en su formato original. Si se proporciona un diccionario, se utilizará para inicializar la configuración del modelo. - dtype (
torch.dtype, opcional) — Sobrescribe eltorch.dtypepredeterminado y carga el modelo con otro dtype. - force_download (
bool, opcional, valor predeterminadoFalse) — Indica si se debe forzar la (re)descarga de los pesos del modelo y los archivos de configuración, ignorando las versiones en caché si existen. - cache_dir (
str | os.PathLike, opcional) — Ruta a un directorio donde se almacena en caché la configuración de un modelo preentrenado descargado si no se utiliza la caché estándar. - proxies (
dict[str, str], opcional) — Un diccionario de servidores proxy a utilizar por protocolo o punto de acceso, por ejemplo,{'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}. Los proxies se utilizan en cada solicitud. - local_files_only (
bool, opcional, valor predeterminadoFalse) — Indica si se deben cargar únicamente los pesos y archivos de configuración del modelo locales. Si se establece en True, el modelo no se descargará desde el Hub. - token (
stro bool, opcional) — El token que se usará como autorización HTTP bearer para los archivos remotos. SiTrue, se utiliza el token generado desdediffusers-cli login(almacenado en~/.huggingface). - revision (
str, opcional, valor predeterminado"main") — La versión específica del modelo que se va a utilizar. Puede ser el nombre de una rama, el nombre de una etiqueta, un id de commit o cualquier identificador permitido por Git. - low_cpu_mem_usage (
bool, opcional, por defectoTruesi la versión de torch >= 1.9.0 y — is_accelerate_available() en caso contrarioFalse): Acelera la carga del modelo cargando solo los pesos preentrenados y sin inicializar los pesos. Esto también intenta no usar más de 1x el tamaño del modelo en memoria de CPU (incluyendo la memoria pico) mientras se carga el modelo. Solo compatible con PyTorch >= 1.9.0. Si estás usando una versión anterior de PyTorch, establecer este argumento enTruegenerará un error. - disable_mmap (‘bool’, opcional, valor predeterminado ‘False’) — Si se deshabilita mmap al cargar un modelo de Safetensors. Esta opción puede ofrecer un mejor rendimiento cuando el modelo está en una unidad de red o en un disco duro, que pueden no manejar bien la naturaleza de búsquedas aleatorias de mmap.
- kwargs (diccionario restante de argumentos de palabra clave, opcional) —
Se puede usar para sobrescribir las variables de carga y guardado (por ejemplo, los componentes de la pipeline de la
clase de pipeline específica). Los componentes sobrescritos se pasan directamente al método
__init__de las pipelines. Consulte el ejemplo siguiente para obtener más información.
Instancia un modelo a partir de pesos preentrenados guardados en el formato original .ckpt o .safetensors. El modelo
se establece en modo de evaluación (model.eval()) de forma predeterminada.