Buckets:

mishig's picture
|
download
raw
6.03 kB
# Общие конвейеры и модели
Делитесь своими конвейерами, моделями и планировщиками на Hub с помощью [PushToHubMixin](/docs/diffusers/v0.43.0/ru/api/schedulers/overview#diffusers.utils.PushToHubMixin). Этот миксин:
1. создаёт репозиторий на Hub
2. сохраняет файлы вашей модели, планировщика или конвейера, чтобы их можно было загрузить позже
3. загружает папку, содержащую эти файлы, в Hub
Войдите в свой аккаунт Hugging Face с помощью токена доступа [token](https://huggingface.co/settings/tokens).
```py
from huggingface_hub import notebook_login
notebook_login()
```
```bash
hf auth login
```
Загрузите модель в пространство имён пользователя с коротким идентификатором (`"my-controlnet-model"`) или в организацию с именем `"your-org/my-controlnet-model"`.
## Модели
Чтобы отправить модель на Hub, вызовите [push_to_hub()](/docs/diffusers/v0.43.0/ru/api/schedulers/overview#diffusers.utils.PushToHubMixin.push_to_hub) и укажите идентификатор репозитория модели.
```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")
```
Метод [push_to_hub()](/docs/diffusers/v0.43.0/ru/api/schedulers/overview#diffusers.utils.PushToHubMixin.push_to_hub) сохраняет файл конфигурации модели `config.json`, а веса автоматически сохраняются в виде [файлов safetensors](./other-formats#safetensors).
Снова загрузите модель с помощью [ControlNetModel.from_pretrained()](/docs/diffusers/v0.43.0/ru/api/models/overview#diffusers.ModelMixin.from_pretrained).
```py
model = ControlNetModel.from_pretrained("your-namespace/my-controlnet-model")
```
## Планировщик
Чтобы отправить планировщик в Hub, вызовите [push_to_hub()](/docs/diffusers/v0.43.0/ru/api/schedulers/overview#diffusers.utils.PushToHubMixin.push_to_hub) и укажите идентификатор репозитория планировщика.
```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")
```
Метод [push_to_hub()](/docs/diffusers/v0.43.0/ru/api/schedulers/overview#diffusers.utils.PushToHubMixin.push_to_hub) сохраняет файл `scheduler_config.json` планировщика в указанное репозиторий.
Снова загрузите планировщик с помощью [from_pretrained()](/docs/diffusers/v0.43.0/ru/api/schedulers/overview#diffusers.SchedulerMixin.from_pretrained).
```py
scheduler = DDIMScheduler.from_pretrained("your-namespace/my-ddim-scheduler")
```
## Pipeline
To push a pipeline to the Hub, load it with [from_pretrained()](/docs/diffusers/v0.43.0/ru/api/pipelines/overview#diffusers.DiffusionPipeline.from_pretrained), then call [push_to_hub()](/docs/diffusers/v0.43.0/ru/api/schedulers/overview#diffusers.utils.PushToHubMixin.push_to_hub) with a repository id.
```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")
```
The [push_to_hub()](/docs/diffusers/v0.43.0/ru/api/schedulers/overview#diffusers.utils.PushToHubMixin.push_to_hub) method saves each component to a subfolder in the repository. Load the pipeline again with [DiffusionPipeline.from_pretrained()](/docs/diffusers/v0.43.0/ru/api/pipelines/overview#diffusers.DiffusionPipeline.from_pretrained).
```py
pipeline = DiffusionPipeline.from_pretrained("your-namespace/my-qwen-image")
```
## Конфиденциальность
Укажите `private=True` в [push_to_hub()](/docs/diffusers/v0.43.0/ru/api/schedulers/overview#diffusers.utils.PushToHubMixin.push_to_hub), чтобы сделать файлы модели, планировщика или конвейера приватными.
```py
controlnet.push_to_hub("my-controlnet-model-private", private=True)
```
Передайте `create_pr=True`, чтобы создать pull request в существующем репозитории на Hub, а не отправлять изменения напрямую в ветку по умолчанию.
Модели и конвейеры также принимают параметр `variant=` при загрузке, если вам нужен файл весов с определённым именем, например `fp16`. Планировщики не используют `variant`.
Приватные репозитории видны только вам. Другие пользователи не смогут клонировать репозиторий, и он не будет отображаться в результатах поиска. Даже если пользователь имеет URL вашего приватного репозитория, он получит `404 - Sorry, we can't find the page you are looking for`. Чтобы загрузить модель из приватного репозитория, вы должны быть [авторизованы](https://huggingface.co/docs/huggingface_hub/quick-start#login).

Xet Storage Details

Size:
6.03 kB
·
Xet hash:
be5adc7288a3019c0fad2a80921c866bdc04473902eaee42d3b6bb4fdefe1419

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