Diffusers documentation
Compartir pipelines y modelos
Compartir pipelines y modelos
Comparte tus pipelines, modelos y schedulers en el Hub con PushToHubMixin. Este mixin:
- crea un repositorio en el Hub
- guarda los archivos de tu modelo, programador o pipeline para que puedan recargarse más adelante
- sube la carpeta que contiene estos archivos al Hub
Inicia sesión en tu cuenta de Hugging Face con tu token de acceso.
from huggingface_hub import notebook_login
notebook_login()hf auth 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.