Buckets:

mishig's picture
|
download
raw
6 kB

Общие конвейеры и модели

Делитесь своими конвейерами, моделями и планировщиками на Hub с помощью PushToHubMixin. Этот миксин:

  1. создаёт репозиторий на Hub
  2. сохраняет файлы вашей модели, планировщика или конвейера, чтобы их можно было загрузить позже
  3. загружает папку, содержащую эти файлы, в Hub

Войдите в свой аккаунт Hugging Face с помощью токена доступа token.

from huggingface_hub import notebook_login

notebook_login()
hf auth login

Загрузите модель в пространство имён пользователя с коротким идентификатором ("my-controlnet-model") или в организацию с именем "your-org/my-controlnet-model".

Модели

Чтобы отправить модель на Hub, вызовите push_to_hub() и укажите идентификатор репозитория модели.

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() сохраняет файл конфигурации модели config.json, а веса автоматически сохраняются в виде файлов safetensors.

Снова загрузите модель с помощью ControlNetModel.from_pretrained().

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

Планировщик

Чтобы отправить планировщик в Hub, вызовите push_to_hub() и укажите идентификатор репозитория планировщика.

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() сохраняет файл scheduler_config.json планировщика в указанное репозиторий.

Снова загрузите планировщик с помощью from_pretrained().

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

Pipeline

To push a pipeline to the Hub, load it with from_pretrained(), then call push_to_hub() with a repository id.

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() method saves each component to a subfolder in the repository. Load the pipeline again with DiffusionPipeline.from_pretrained().

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

Конфиденциальность

Укажите private=True в push_to_hub(), чтобы сделать файлы модели, планировщика или конвейера приватными.

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. Чтобы загрузить модель из приватного репозитория, вы должны быть авторизованы.

Xet Storage Details

Size:
6 kB
·
Xet hash:
47b1308cbbc77710eced5b4a34715bc5ba0d744a80b60704abaf68ec3741d323

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