Buckets:
| # Điều chỉnh một mô hình cho một tác vụ mới | |
| Nhiều hệ thống khuếch tán chia sẻ các thành phần giống nhau, cho phép bạn điều chỉnh một mô hình được huấn luyện trước cho một tác vụ sang một tác vụ hoàn toàn khác. | |
| Hướng dẫn này sẽ cho bạn thấy cách điều chỉnh một mô hình text-to-image được huấn luyện trước cho tác vụ inpainting bằng cách khởi tạo và sửa đổi kiến trúc của một [UNet2DConditionModel](/docs/diffusers/main/vi/api/models/unet2d-cond#diffusers.UNet2DConditionModel) đã được huấn luyện trước. | |
| ## Cấu hình các tham số của UNet2DConditionModel | |
| [UNet2DConditionModel](/docs/diffusers/main/vi/api/models/unet2d-cond#diffusers.UNet2DConditionModel) mặc định nhận 4 kênh trong [mẫu đầu vào](https://huggingface.co/docs/diffusers/v0.16.0/en/api/models#diffusers.UNet2DConditionModel.in_channels). Ví dụ, hãy tải một mô hình text-to-image được huấn luyện trước như [`stable-diffusion-v1-5/stable-diffusion-v1-5`](https://huggingface.co/stable-diffusion-v1-5/stable-diffusion-v1-5) và xem số lượng `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 yêu cầu 9 kênh trong mẫu đầu vào. Bạn có thể kiểm tra giá trị này trong một mô hình inpainting được huấn luyện trước như [`stable-diffusion-v1-5/stable-diffusion-inpainting`](https://huggingface.co/stable-diffusion-v1-5/stable-diffusion-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 | |
| ``` | |
| Để điều chỉnh mô hình text-to-image của bạn cho inpainting, bạn cần thay đổi số lượng `in_channels` từ 4 thành 9. | |
| Khởi tạo một [UNet2DConditionModel](/docs/diffusers/main/vi/api/models/unet2d-cond#diffusers.UNet2DConditionModel) với trọng số mô hình text-to-image được huấn luyện trước, và thay đổi `in_channels` thành 9. Việc thay đổi số lượng `in_channels` có nghĩa là bạn cần đặt `ignore_mismatched_sizes=True` và `low_cpu_mem_usage=False` để tránh lỗi không khớp kích thước vì hình dạng hiện đã khác. | |
| ```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, | |
| ) | |
| ``` | |
| Trọng số tiền huấn luyện của các thành phần khác từ mô hình text-to-image được khởi tạo từ checkpoint của chúng, nhưng trọng số kênh đầu vào (`conv_in.weight`) của `unet` được khởi tạo ngẫu nhiên. Việc tinh chỉnh mô hình cho inpainting là rất quan trọng vì nếu không, mô hình sẽ trả về nhiễu. | |
Xet Storage Details
- Size:
- 3.21 kB
- Xet hash:
- f5e0ad3f32394c82bbcd79c794ef9ae121c87b7ea02041bdfa3ece20b955ffa5
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.