Buckets:

mishig's picture
|
download
raw
4.78 kB
# Compartir pipelines y modelos
Comparte tus pipelines, modelos y schedulers en el Hub con [PushToHubMixin](/docs/diffusers/main/es/api/schedulers/overview#diffusers.utils.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](https://huggingface.co/settings/tokens) de acceso.
```py
from huggingface_hub import notebook_login
notebook_login()
```
```bash
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()](/docs/diffusers/main/es/api/schedulers/overview#diffusers.utils.PushToHubMixin.push_to_hub) y especifica el id del repositorio del modelo.
```py
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()](/docs/diffusers/main/es/api/schedulers/overview#diffusers.utils.PushToHubMixin.push_to_hub) guarda el archivo `config.json` del modelo y los pesos se guardan automáticamente como [archivos safetensors](./other-formats#safetensors).
Cargue el modelo nuevamente con [ControlNetModel.from_pretrained()](/docs/diffusers/main/es/api/models/overview#diffusers.ModelMixin.from_pretrained).
```py
model = ControlNetModel.from_pretrained("your-namespace/my-controlnet-model")
```
## Programador
Para subir un programador al Hub, llama a [push_to_hub()](/docs/diffusers/main/es/api/schedulers/overview#diffusers.utils.PushToHubMixin.push_to_hub) y especifica el identificador del repositorio del programador.
```py
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()](/docs/diffusers/main/es/api/schedulers/overview#diffusers.utils.PushToHubMixin.push_to_hub) guarda el archivo `scheduler_config.json` del programador en el repositorio especificado.
Cargue de nuevo el programador con [from_pretrained()](/docs/diffusers/main/es/api/schedulers/overview#diffusers.SchedulerMixin.from_pretrained).
```py
scheduler = DDIMScheduler.from_pretrained("your-namespace/my-ddim-scheduler")
```
## Pipeline
Para subir un pipeline al Hub, cárguelo con [from_pretrained()](/docs/diffusers/main/es/api/pipelines/overview#diffusers.DiffusionPipeline.from_pretrained) y luego llame a [push_to_hub()](/docs/diffusers/main/es/api/schedulers/overview#diffusers.utils.PushToHubMixin.push_to_hub) con un identificador de repositorio.
```py
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()](/docs/diffusers/main/es/api/schedulers/overview#diffusers.utils.PushToHubMixin.push_to_hub) guarda cada componente en una subcarpeta del repositorio. Cargue el pipeline nuevamente con [DiffusionPipeline.from_pretrained()](/docs/diffusers/main/es/api/pipelines/overview#diffusers.DiffusionPipeline.from_pretrained).
```py
pipeline = DiffusionPipeline.from_pretrained("your-namespace/my-qwen-image")
```
## Privacidad
Establezca `private=True` en [push_to_hub()](/docs/diffusers/main/es/api/schedulers/overview#diffusers.utils.PushToHubMixin.push_to_hub) para mantener privados los archivos de un modelo, un programador o un pipeline.
```py
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](https://huggingface.co/docs/huggingface_hub/quick-start#login) para cargar un modelo desde un repositorio privado.

Xet Storage Details

Size:
4.78 kB
·
Xet hash:
d0a544ea3dcb24a72eb95ca6c603a01dec36d47b8f52ad55e42bcd2a7c2462e9

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.