Diffusers documentation

Compartir pipelines y modelos

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v0.43.0).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Compartir pipelines y modelos

Comparte tus pipelines, modelos y schedulers en el Hub con PushToHubMixin. Este mixin:

  1. crea un repositorio en el Hub
  2. guarda los archivos de tu modelo, programador o pipeline para que puedan recargarse más adelante
  3. sube la carpeta que contiene estos archivos al Hub

Inicia sesión en tu cuenta de Hugging Face con tu token de acceso.

notebook
hf CLI
from huggingface_hub import notebook_login

notebook_login()

Sube a tu espacio de usuario con un id corto ("my-controlnet-model") o a una organización con "your-org/my-controlnet-model".

Modelos

Para subir un modelo al Hub, llama a push_to_hub() y especifica el id del repositorio del modelo.

from diffusers import ControlNetModel

controlnet = ControlNetModel(
    block_out_channels=(32, 64),
    layers_per_block=2,
    in_channels=4,
    down_block_types=("DownBlock2D", "CrossAttnDownBlock2D"),
    cross_attention_dim=32,
    conditioning_embedding_out_channels=(16, 32),
)
controlnet.push_to_hub("my-controlnet-model")

El método push_to_hub() guarda el archivo config.json del modelo y los pesos se guardan automáticamente como archivos safetensors.

Cargue el modelo nuevamente con ControlNetModel.from_pretrained().

model = ControlNetModel.from_pretrained("your-namespace/my-controlnet-model")

Programador

Para subir un programador al Hub, llama a push_to_hub() y especifica el identificador del repositorio del programador.

from diffusers import DDIMScheduler

scheduler = DDIMScheduler(
    beta_start=0.00085,
    beta_end=0.012,
    beta_schedule="scaled_linear",
    clip_sample=False,
    set_alpha_to_one=False,
)
scheduler.push_to_hub("my-ddim-scheduler")

El método push_to_hub() guarda el archivo scheduler_config.json del programador en el repositorio especificado.

Cargue de nuevo el programador con from_pretrained().

scheduler = DDIMScheduler.from_pretrained("your-namespace/my-ddim-scheduler")

Pipeline

Para subir un pipeline al Hub, cárguelo con from_pretrained() y luego llame a push_to_hub() con un identificador de repositorio.

import torch
from diffusers import DiffusionPipeline

pipeline = DiffusionPipeline.from_pretrained(
    "Qwen/Qwen-Image", dtype=torch.bfloat16, device_map="cuda"  # or "mps", "xpu", "cpu"
)
pipeline.push_to_hub("your-namespace/my-qwen-image")

El método push_to_hub() guarda cada componente en una subcarpeta del repositorio. Cargue el pipeline nuevamente con DiffusionPipeline.from_pretrained().

pipeline = DiffusionPipeline.from_pretrained("your-namespace/my-qwen-image")

Privacidad

Establezca private=True en push_to_hub() para mantener privados los archivos de un modelo, un programador o un pipeline.

controlnet.push_to_hub("my-controlnet-model-private", private=True)

Pasa create_pr=True para abrir una pull request en un repositorio existente de Hub en lugar de hacer push directamente a la rama predeterminada.

Los modelos y pipelines también aceptan variant= al hacer push si deseas un archivo de pesos con nombre, como fp16. Los schedulers no utilizan variant.

Los repositorios privados solo son visibles para ti. Otros usuarios no podrán clonar el repositorio y este no aparecerá en los resultados de búsqueda. Incluso si un usuario tiene la URL de tu repositorio privado, recibirá un 404 - Sorry, we can't find the page you are looking for. Debes estar iniciado sesión para cargar un modelo desde un repositorio privado.

Update on GitHub