Buckets:
| # 새 작업에 모델을 적응 | |
| 많은 diffusion 시스템은 동일한 구성 요소를 공유하므로, 한 작업에 대해 사전 학습된 모델을 완전히 다른 작업에 맞게 조정할 수 있습니다. | |
| 이 가이드에서는 사전 학습된 [UNet2DConditionModel](/docs/diffusers/v0.43.0/ko/api/models/unet2d-cond#diffusers.UNet2DConditionModel)의 아키텍처를 초기화하고 수정하여 사전 학습된 텍스트-이미지 생성 모델을 인페인팅에 맞게 조정하는 방법을 보여줍니다. | |
| ## UNet2DConditionModel 매개변수 구성 | |
| 기본적으로 [UNet2DConditionModel](/docs/diffusers/v0.43.0/ko/api/models/unet2d-cond#diffusers.UNet2DConditionModel)은 [입력 샘플](https://huggingface.co/docs/diffusers/v0.16.0/en/api/models#diffusers.UNet2DConditionModel.in_channels)에서 4개의 채널을 받습니다. 예를 들어, [`stable-diffusion-v1-5/stable-diffusion-v1-5`](https://huggingface.co/stable-diffusion-v1-5/stable-diffusion-v1-5)와 같은 사전 학습된 텍스트-이미지 모델을 로드하고 `in_channels`의 수를 확인해 보세요: | |
| ```py | |
| from diffusers import StableDiffusionPipeline | |
| pipeline = StableDiffusionPipeline.from_pretrained("stable-diffusion-v1-5/stable-diffusion-v1-5", use_safetensors=True) | |
| pipeline.unet.config["in_channels"] | |
| 4 | |
| ``` | |
| Inpainting은 입력 샘플에 9개의 채널이 필요합니다. [`stable-diffusion-v1-5/stable-diffusion-inpainting`](https://huggingface.co/stable-diffusion-v1-5/stable-diffusion-inpainting)과 같은 사전 학습된 inpainting 모델에서 이 값을 확인할 수 있습니다: | |
| ```py | |
| from diffusers import StableDiffusionPipeline | |
| pipeline = StableDiffusionPipeline.from_pretrained("stable-diffusion-v1-5/stable-diffusion-inpainting", use_safetensors=True) | |
| pipeline.unet.config["in_channels"] | |
| 9 | |
| ``` | |
| 인페인팅을 위해 텍스트-이미지 모델을 조정하려면 `in_channels`의 수를 4에서 9로 변경해야 합니다. | |
| `in_channels`를 9로 변경하여 사전 학습된 텍스트-이미지 모델 가중치로 [UNet2DConditionModel](/docs/diffusers/v0.43.0/ko/api/models/unet2d-cond#diffusers.UNet2DConditionModel)을 초기화합니다. `in_channels`의 수를 변경하면 이제 shape이 달라졌기 때문에 size mismatch 오류를 피하려면 `ignore_mismatched_sizes=True`와 `low_cpu_mem_usage=False`를 설정해야 합니다. | |
| ```py | |
| from diffusers import AutoModel | |
| model_id = "stable-diffusion-v1-5/stable-diffusion-v1-5" | |
| unet = AutoModel.from_pretrained( | |
| model_id, | |
| subfolder="unet", | |
| in_channels=9, | |
| low_cpu_mem_usage=False, | |
| ignore_mismatched_sizes=True, | |
| use_safetensors=True, | |
| ) | |
| ``` | |
| 텍스트-이미지 모델의 다른 구성 요소의 사전 학습된 가중치는 각자의 체크포인트에서 초기화되지만, `unet`의 입력 채널 가중치(`conv_in.weight`)는 무작위로 초기화됩니다. 인페인팅을 위해 모델을 파인튜닝하는 것이 중요하며, 그렇지 않으면 모델이 노이즈를 반환합니다. | |
Xet Storage Details
- Size:
- 3.02 kB
- Xet hash:
- 98e5e5596cf0a3e6e9bbedb405c0d3a36cff766173143ade95293e3729ba37e7
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.