Diffusers documentation

Berbagi pipeline dan model

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

and get access to the augmented documentation experience

to get started

Berbagi pipeline dan model

Bagikan pipeline, model, dan scheduler Anda di Hub dengan PushToHubMixin. Mixin ini:

  1. membuat repositori di Hub
  2. menyimpan file model, scheduler, atau pipeline Anda agar dapat dimuat ulang kemudian
  3. mengunggah folder yang berisi file-file ini ke Hub

Masuk ke akun Hugging Face Anda dengan token akses Anda.

notebook
hf CLI
from huggingface_hub import notebook_login

notebook_login()

Push ke namespace pengguna Anda dengan id pendek ("my-controlnet-model") atau ke org dengan "your-org/my-controlnet-model".

Model

Untuk mendorong model ke Hub, panggil push_to_hub() dan tentukan id repositori model.

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")

Metode push_to_hub() menyimpan file config.json model dan bobotnya secara otomatis disimpan sebagai file safetensors.

Muat ulang model dengan ControlNetModel.from_pretrained().

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

Penjadwal

Untuk mendorong scheduler ke Hub, panggil push_to_hub() dan tentukan id repositori dari scheduler tersebut.

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")

Metode push_to_hub() menyimpan file scheduler_config.json dari scheduler ke repositori yang ditentukan.

Load the scheduler again with from_pretrained().

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

Pipeline

Untuk mendorong pipeline ke Hub, muat dengan from_pretrained(), lalu panggil push_to_hub() dengan id repositori.

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")

Metode push_to_hub() menyimpan setiap komponen ke subfolder di dalam repositori. Muat ulang pipeline dengan DiffusionPipeline.from_pretrained().

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

Privasi

Set private=True di push_to_hub() untuk menjaga file model, scheduler, atau pipeline tetap privat.

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

Lewati create_pr=True untuk membuka pull request pada repositori Hub yang sudah ada, alih-alih mendorong langsung ke branch default.

Model dan pipeline juga menerima variant= saat push jika Anda ingin file bobot bernama seperti fp16. Scheduler tidak menggunakan variant.

Repositori privat hanya terlihat oleh Anda. Pengguna lain tidak akan dapat meng-clone repositori tersebut dan repositori ini tidak akan muncul di hasil pencarian. Bahkan jika seorang pengguna memiliki URL ke repositori privat Anda, mereka akan menerima 404 - Sorry, we can't find the page you are looking for. Anda harus logged in untuk memuat model dari repositori privat.

Update on GitHub