Buckets:
AutoPipeline
AutoPipeline, görev ve modele göre doğru pipeline alt sınıfını otomatik olarak seçen bir görev-model pipeline'ıdır. Spesifik pipeline alt sınıfının adını bilmek zorunda kalmadan, farklı pipeline alt sınıflarını yükleme karmaşıklığını yönetir.
Bu, modele göre otomatik olarak pipeline alt sınıfını seçen, yalnızca model içeren bir pipeline olan DiffusionPipeline'den farklıdır.
AutoPipelineForImage2Image.from_pretrained(model_id)
|
+-- read model_index.json (e.g. StableDiffusionXLPipeline)
+-- task mapping (image-to-image)
|
v
StableDiffusionXLImg2ImgPipeline // returned instance
AutoPipelineForImage2Image, yalnızca görüntüden görüntüye görevlerde kullanılabilen, görevle ilgili alt sınıfı (örneğin StableDiffusionXLImg2ImgPipeline) döndürür.
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",
# ...
# }
Aynı modeli DiffusionPipeline ile yüklemek, varsayılan metinden görüntüye alt sınıfı olan StableDiffusionXLPipeline'i döndürür. Bu pipeline metinden görüntüye işlemler içindir. Görüntüden görüntüye veya inpainting işlemleri için AutoPipelineForImage2Image veya AutoPipelineForInpainting gibi bir görev AutoPipeline'i veya eşleşen görev özel alt sınıfını yükleyin.
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",
# ...
# }
from_pipe ile görevleri değiştirin
Load a task AutoPipeline once, then switch tasks with from_pipe() without downloading the weights again. Components are reused from the source pipeline.
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)
Daha fazla ayrıntı için Birden çok boru hattında modelleri yeniden kullanma bölümüne bakın.
Bir modelin desteklenip desteklenmediğini görmek için eslemeleri kontrol edin. Desteklenmeyen bir modeli yüklemeye çalışmak bir hata döndürür.
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"
Dört tür AutoPipeline sınıfı vardır:
- AutoPipelineForText2Image
- AutoPipelineForImage2Image
- AutoPipelineForInpainting
- AutoPipelineForText2Audio
Bu sınıfların her birinde, bir pipeline'ı görevine özgü alt sınıfına bağlayan önceden tanımlanmış bir eşleme vardır.
from_pretrained() çağrıldığında, sınıf adı model_index.json dosyasından çıkarılır ve görev için eşlemeye göre uygun pipeline alt sınıfı seçilir.
Xet Storage Details
- Size:
- 4.95 kB
- Xet hash:
- 3b3527c18ccb44de52f205796c9659f6a89e1b65ade607dbfa54eb04e50aafc1
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.