Buckets:

mishig's picture
|
download
raw
4.86 kB
# AutoPipeline
[AutoPipeline](../api/pipelines/auto_pipeline) adalah pipeline *task-and-model* yang secara otomatis memilih subclass pipeline yang benar berdasarkan tugasnya. Komponen ini menangani kompleksitas memuat subclass pipeline yang berbeda tanpa perlu mengetahui nama subclass pipeline yang spesifik.
Hal ini berbeda dengan [DiffusionPipeline](/docs/diffusers/v0.43.0/id/api/pipelines/overview#diffusers.DiffusionPipeline), sebuah pipeline *hanya-model* yang secara otomatis memilih subclass pipeline berdasarkan model.
```text
AutoPipelineForImage2Image.from_pretrained(model_id)
|
+-- read model_index.json (e.g. StableDiffusionXLPipeline)
+-- task mapping (image-to-image)
|
v
StableDiffusionXLImg2ImgPipeline // returned instance
```
[AutoPipelineForImage2Image](/docs/diffusers/v0.43.0/id/api/pipelines/auto_pipeline#diffusers.AutoPipelineForImage2Image) mengembalikan subclass yang spesifik untuk tugas (misalnya, [StableDiffusionXLImg2ImgPipeline](/docs/diffusers/v0.43.0/id/api/pipelines/stable_diffusion/stable_diffusion_xl#diffusers.StableDiffusionXLImg2ImgPipeline)), yang hanya dapat digunakan untuk tugas image-to-image.
```py
import torch
from diffusers import AutoPipelineForImage2Image
pipeline = AutoPipelineForImage2Image.from_pretrained(
"RunDiffusion/Juggernaut-XL-v9", dtype=torch.bfloat16, device_map="cuda", # or "mps", "xpu", "cpu"
)
print(pipeline)
# StableDiffusionXLImg2ImgPipeline {
# "_class_name": "StableDiffusionXLImg2ImgPipeline",
# ...
# }
```
Memuat model yang sama dengan [DiffusionPipeline](/docs/diffusers/v0.43.0/id/api/pipelines/overview#diffusers.DiffusionPipeline) mengembalikan subclass teks-ke-gambar default, yaitu [StableDiffusionXLPipeline](/docs/diffusers/v0.43.0/id/api/pipelines/stable_diffusion/stable_diffusion_xl#diffusers.StableDiffusionXLPipeline). Pipeline tersebut ditujukan untuk teks-ke-gambar. Untuk gambar-ke-gambar atau inpainting, muat AutoPipeline tugas seperti [AutoPipelineForImage2Image](/docs/diffusers/v0.43.0/id/api/pipelines/auto_pipeline#diffusers.AutoPipelineForImage2Image) atau [AutoPipelineForInpainting](/docs/diffusers/v0.43.0/id/api/pipelines/auto_pipeline#diffusers.AutoPipelineForInpainting), atau subclass spesifik tugas yang sesuai.
```py
import torch
from diffusers import DiffusionPipeline
pipeline = DiffusionPipeline.from_pretrained(
"RunDiffusion/Juggernaut-XL-v9", dtype=torch.bfloat16, device_map="cuda", # or "mps", "xpu", "cpu"
)
print(pipeline)
# StableDiffusionXLPipeline {
# "_class_name": "StableDiffusionXLPipeline",
# ...
# }
```
## Ganti tugas dengan from_pipe
Muat tugas AutoPipeline sekali, lalu ganti tugas dengan [from_pipe()](/docs/diffusers/v0.43.0/id/api/pipelines/auto_pipeline#diffusers.AutoPipelineForImage2Image.from_pipe) tanpa mengunduh bobotnya lagi. Komponen digunakan ulang dari pipeline sumber.
```py
import torch
from diffusers import AutoPipelineForText2Image, AutoPipelineForImage2Image
pipeline_t2i = AutoPipelineForText2Image.from_pretrained(
"RunDiffusion/Juggernaut-XL-v9", dtype=torch.bfloat16, device_map="cuda", # or "mps", "xpu", "cpu"
)
pipeline_i2i = AutoPipelineForImage2Image.from_pipe(pipeline_t2i)
```
Lihat [Memanfaatkan ulang model dalam beberapa pipeline](../using-diffusers/loading#reusing-models-in-multiple-pipelines) untuk detail lebih lanjut.
Periksa [mappings](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/auto_pipeline.py) untuk melihat apakah suatu model didukung atau tidak. Mencoba memuat model yang tidak didukung akan mengembalikan error.
```py
import torch
from diffusers import AutoPipelineForImage2Image
pipeline = AutoPipelineForImage2Image.from_pretrained(
"openai/shap-e-img2img", dtype=torch.float16,
)
"ValueError: AutoPipeline can't find a pipeline linked to ShapEImg2ImgPipeline for None"
```
Ada empat jenis kelas [AutoPipeline](../api/pipelines/auto_pipeline):
- [AutoPipelineForText2Image](/docs/diffusers/v0.43.0/id/api/pipelines/auto_pipeline#diffusers.AutoPipelineForText2Image)
- [AutoPipelineForImage2Image](/docs/diffusers/v0.43.0/id/api/pipelines/auto_pipeline#diffusers.AutoPipelineForImage2Image)
- [AutoPipelineForInpainting](/docs/diffusers/v0.43.0/id/api/pipelines/auto_pipeline#diffusers.AutoPipelineForInpainting)
- [AutoPipelineForText2Audio](/docs/diffusers/v0.43.0/id/api/pipelines/auto_pipeline#diffusers.AutoPipelineForText2Audio)
Setiap kelas ini memiliki pemetaan yang telah ditentukan sebelumnya, yang menghubungkan pipeline ke subkelas spesifik tugas mereka.
Ketika [from_pretrained()](/docs/diffusers/v0.43.0/id/api/pipelines/auto_pipeline#diffusers.AutoPipelineForText2Image.from_pretrained) dipanggil, ia mengekstrak nama kelas dari file `model_index.json` dan memilih subkelas pipeline yang sesuai untuk tugas tersebut berdasarkan pemetaan.

Xet Storage Details

Size:
4.86 kB
·
Xet hash:
30bb0614ab18db8d5060b0c906502da1d5ca7895f9799c3bb33a4cc707a2fb67

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