Buckets:

mishig's picture
|
download
raw
5.04 kB
# 파이프라인 및 모델 공유
[PushToHubMixin](/docs/diffusers/v0.43.0/ko/api/schedulers/overview#diffusers.utils.PushToHubMixin)를 사용하여 Hub에 파이프라인, 모델, 스케줄러를 공유할 수 있습니다. 이 믹신은 다음과 같은 기능을 제공합니다:
1. Hub에 저장소를 생성합니다
2. 모델, 스케줄러 또는 파이프라인 파일을 저장하여 나중에 다시 로드할 수 있도록 합니다
3. 이 파일들이 포함된 폴더를 Hub에 업로드합니다
액세스 [token](https://huggingface.co/settings/tokens)으로 Hugging Face 계정에 로그인하세요.
```py
from huggingface_hub import notebook_login
notebook_login()
```
```bash
hf auth login
```
짧은 id(`"my-controlnet-model"`)를 사용하여 사용자 네임스페이스에 push하거나 `"your-org/my-controlnet-model"` 형식으로 org에 push할 수 있습니다.
## 모델
모델을 Hub에 업로드하려면 [push_to_hub()](/docs/diffusers/v0.43.0/ko/api/schedulers/overview#diffusers.utils.PushToHubMixin.push_to_hub)를 호출하고 모델의 저장소 id를 지정하세요.
```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/ko/api/schedulers/overview#diffusers.utils.PushToHubMixin.push_to_hub) 메서드는 모델의 `config.json` 파일을 저장하며, 가중치는 자동으로 [safetensors 파일](./other-formats#safetensors)로 저장됩니다.
[ControlNetModel.from_pretrained()](/docs/diffusers/v0.43.0/ko/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/ko/api/schedulers/overview#diffusers.utils.PushToHubMixin.push_to_hub)를 호출하고 스케줄러의 저장소 id를 지정하세요.
```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/ko/api/schedulers/overview#diffusers.utils.PushToHubMixin.push_to_hub) 메서드는 스케줄러의 `scheduler_config.json` 파일을 지정된 저장소에 저장합니다.
[from_pretrained()](/docs/diffusers/v0.43.0/ko/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/ko/api/pipelines/overview#diffusers.DiffusionPipeline.from_pretrained), then call [push_to_hub()](/docs/diffusers/v0.43.0/ko/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/ko/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/ko/api/pipelines/overview#diffusers.DiffusionPipeline.from_pretrained).
```py
pipeline = DiffusionPipeline.from_pretrained("your-namespace/my-qwen-image")
```
## 개인정보
모델, 스케줄러 또는 파이프라인 파일을 비공개로 유지하려면 [push_to_hub()](/docs/diffusers/v0.43.0/ko/api/schedulers/overview#diffusers.utils.PushToHubMixin.push_to_hub)에서 `private=True`를 설정하세요.
```py
controlnet.push_to_hub("my-controlnet-model-private", private=True)
```
`create_pr=True`를 전달하면 기본 브랜치에 직접 푸시하는 대신 기존 Hub 저장소에서 pull request를 엽니다.
모델과 파이프라인도 `fp16`과 같은 이름이 지정된 가중치 파일을 원할 경우 push 시 `variant=`를 지원합니다. 스케줄러는 `variant`를 사용하지 않습니다.
Private 저장소는 본인만 볼 수 있습니다. 다른 사용자는 해당 저장소를 clone할 수 없으며 검색 결과에도 표시되지 않습니다. 사용자가 Private 저장소의 URL을 가지고 있더라도 `404 - Sorry, we can't find the page you are looking for`를 받게 됩니다. Private 저장소에서 모델을 로드하려면 [로그인](https://huggingface.co/docs/huggingface_hub/quick-start#login) 상태여야 합니다.

Xet Storage Details

Size:
5.04 kB
·
Xet hash:
8c47139954b42d97598963b974a3764582f7e3b1fa143eea846e8f38750e8732

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