Buckets:

hf-doc-build/doc / diffusers /main /tr /modular_diffusers /components_manager.md
mishig's picture
|
download
raw
5.46 kB
# ComponentsManager
> [!WARNING]
> [ComponentsManager](/docs/diffusers/main/tr/api/modular_diffusers/pipeline_components#diffusers.ComponentsManager) hâlâ aktif geliştirme aşamasındadır ve API'si değişebilir.
[ComponentsManager](/docs/diffusers/main/tr/api/modular_diffusers/pipeline_components#diffusers.ComponentsManager), Modular Diffusers için bir model kayıt defteri ve yönetim sistemidir. Modelleri ekler ve izler, faydalı meta verileri (model boyutu, cihaz yerleşimi, adaptörler) saklar ve offload işlemini destekler.
Bu kılavuz, bileşenleri ve bellek yönetimini [ComponentsManager](/docs/diffusers/main/tr/api/modular_diffusers/pipeline_components#diffusers.ComponentsManager) ile nasıl kullanacağınızı gösterecektir.
## Bir pipeline'a bağlanın
Bir [ComponentsManager](/docs/diffusers/main/tr/api/modular_diffusers/pipeline_components#diffusers.ComponentsManager) oluşturun ve bunu [from_pretrained()](/docs/diffusers/main/tr/api/modular_diffusers/pipeline#diffusers.ModularPipeline.from_pretrained) veya [init_pipeline()](/docs/diffusers/main/tr/api/modular_diffusers/pipeline_blocks#diffusers.ModularPipelineBlocks.init_pipeline) ile bir [ModularPipeline](/docs/diffusers/main/tr/api/modular_diffusers/pipeline#diffusers.ModularPipeline)'e iletin.
```py
from diffusers import ModularPipeline, ComponentsManager
import torch
manager = ComponentsManager()
pipe = ModularPipeline.from_pretrained("Tongyi-MAI/Z-Image-Turbo", components_manager=manager)
pipe.load_components(dtype=torch.bfloat16)
```
```py
from diffusers import ModularPipelineBlocks, ComponentsManager
import torch
manager = ComponentsManager()
blocks = ModularPipelineBlocks.from_pretrained("diffusers/Florence2-image-Annotator", trust_remote_code=True)
pipe= blocks.init_pipeline(components_manager=manager)
pipe.load_components(dtype=torch.bfloat16)
```
pipeline tarafından yüklenen bileşenler, yöneticide otomatik olarak kaydedilir. Bunları hemen inceleyebilirsiniz.
## Bileşenleri incele
Kayıtlı tüm bileşenleri, sınıf, cihaz yerleşimi, veri tipi, bellek boyutu ve yükleme kimlikleri dahil olmak üzere görmek için [ComponentsManager](/docs/diffusers/main/tr/api/modular_diffusers/pipeline_components#diffusers.ComponentsManager) nesnesini yazdırın.
Aşağıdaki çıktı, yukarıdaki `from_pretrained` örneğine karşılık gelmektedir.
```py
Components:
=============================================================================================================================
Models:
-----------------------------------------------------------------------------------------------------------------------------
Name_ID | Class | Device: act(exec) | Dtype | Size (GB) | Load ID
-----------------------------------------------------------------------------------------------------------------------------
text_encoder_140458257514752 | Qwen3Model | cpu | torch.bfloat16 | 7.49 | Tongyi-MAI/Z-Image-Turbo|text_encoder|null|null
vae_140458257515376 | AutoencoderKL | cpu | torch.bfloat16 | 0.16 | Tongyi-MAI/Z-Image-Turbo|vae|null|null
transformer_140458257515616 | ZImageTransformer2DModel | cpu | torch.bfloat16 | 11.46 | Tongyi-MAI/Z-Image-Turbo|transformer|null|null
-----------------------------------------------------------------------------------------------------------------------------
Other Components:
-----------------------------------------------------------------------------------------------------------------------------
ID | Class | Collection
-----------------------------------------------------------------------------------------------------------------------------
scheduler_140461023555264 | FlowMatchEulerDiscreteScheduler | N/A
tokenizer_140458256346432 | Qwen2Tokenizer | N/A
-----------------------------------------------------------------------------------------------------------------------------
```
Tablo, modelleri (cihaz, dtype ve bellek bilgileriyle) zamanlayıcılar ve belirteçler gibi diğer bileşenlerden ayrı olarak gösterir. Modellerden herhangi birine LoRA adaptörleri, IP-Adaptörler veya kuantizasyon uygulanmışsa, bu bilgi alt kısımdaki ek bir bölümde görüntülenir.
## Offloading
[enable_auto_cpu_offload()](/docs/diffusers/main/tr/api/modular_diffusers/pipeline_components#diffusers.ComponentsManager.enable_auto_cpu_offload) yöntemi, hangi pipeline'ın kullandığına bakılmaksızın tüm modeller arasında çalışan küresel bir ofloading stratejisidir. Etkinleştirildikten sonra, bileşenler eklediğinizde veya kaldırdığınızda cihaz yerleşimiyle ilgili endişelenmenize gerek yoktur.
```py
manager.enable_auto_cpu_offload(device="cuda") # or "mps", "xpu", "cpu"
```
Tüm modeller CPU'da başlar ve [ComponentsManager](/docs/diffusers/main/tr/api/modular_diffusers/pipeline_components#diffusers.ComponentsManager), ihtiyaç duyulmadan hemen önce onları uygun cihaza taşır; GPU belleği düşük olduğunda ise diğer modelleri CPU'ya geri taşır.
Offload etmeyi devre dışı bırakmak için [disable_auto_cpu_offload()](/docs/diffusers/main/tr/api/modular_diffusers/pipeline_components#diffusers.ComponentsManager.disable_auto_cpu_offload) çağrısını yapın.
```py
manager.disable_auto_cpu_offload()
```

Xet Storage Details

Size:
5.46 kB
·
Xet hash:
22746aa5de3942dff5f8f00cac2f05fe9a2d7d287a7ddce8fc5afd71fed070f9

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