Buckets:
| # ComponentsManager | |
| > [!WARNING] | |
| > [ComponentsManager](/docs/diffusers/v0.43.0/es/api/modular_diffusers/pipeline_components#diffusers.ComponentsManager) sigue en desarrollo activo y su API puede cambiar. | |
| El [ComponentsManager](/docs/diffusers/v0.43.0/es/api/modular_diffusers/pipeline_components#diffusers.ComponentsManager) es un sistema de registro y gestión de modelos para Modular Diffusers. Añade y rastrea modelos, almacena metadatos útiles (tamaño del modelo, ubicación en el dispositivo, adaptadores) y admite la descarga de componentes. | |
| Esta guía le mostrará cómo usar [ComponentsManager](/docs/diffusers/v0.43.0/es/api/modular_diffusers/pipeline_components#diffusers.ComponentsManager) para gestionar componentes y memoria de dispositivo. | |
| ## Conectar a un pipeline | |
| Cree un [ComponentsManager](/docs/diffusers/v0.43.0/es/api/modular_diffusers/pipeline_components#diffusers.ComponentsManager) y páselo a un [ModularPipeline](/docs/diffusers/v0.43.0/es/api/modular_diffusers/pipeline#diffusers.ModularPipeline) mediante [from_pretrained()](/docs/diffusers/v0.43.0/es/api/modular_diffusers/pipeline#diffusers.ModularPipeline.from_pretrained) o [init_pipeline()](/docs/diffusers/v0.43.0/es/api/modular_diffusers/pipeline_blocks#diffusers.ModularPipelineBlocks.init_pipeline). | |
| ```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) | |
| ``` | |
| Los componentes cargados por la pipeline se registran automáticamente en el manager. Puedes inspeccionarlos de inmediato. | |
| ## Inspeccionar componentes | |
| Imprima [ComponentsManager](/docs/diffusers/v0.43.0/es/api/modular_diffusers/pipeline_components#diffusers.ComponentsManager) para ver todos los componentes registrados, incluida su clase, ubicación en el dispositivo, dtype, tamaño de memoria e ID de carga. | |
| La salida siguiente corresponde al ejemplo de `from_pretrained` anterior. | |
| ```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 | |
| ----------------------------------------------------------------------------------------------------------------------------- | |
| ``` | |
| La tabla muestra los modelos (con información sobre el dispositivo, el dtype y la memoria) por separado de otros componentes, como los programadores y los tokenizadores. Si alguno de los modelos tiene adaptadores LoRA, IP-Adapters o cuantización aplicada, esa información se muestra en una sección adicional en la parte inferior. | |
| ## Descarga | |
| El método [enable_auto_cpu_offload()](/docs/diffusers/v0.43.0/es/api/modular_diffusers/pipeline_components#diffusers.ComponentsManager.enable_auto_cpu_offload) es una estrategia de descarga global que funciona en todos los modelos, independientemente del pipeline que los utilice. Una vez habilitado, no es necesario preocuparse por la ubicación en el dispositivo si se añaden o eliminan componentes. | |
| ```py | |
| manager.enable_auto_cpu_offload(device="cuda") # or "mps", "xpu", "cpu" | |
| ``` | |
| Todos los modelos comienzan en la CPU y [ComponentsManager](/docs/diffusers/v0.43.0/es/api/modular_diffusers/pipeline_components#diffusers.ComponentsManager) los mueve al dispositivo adecuado justo antes de que se necesiten, y devuelve otros modelos a la CPU cuando la memoria de la GPU es baja. | |
| Llama a [disable_auto_cpu_offload()](/docs/diffusers/v0.43.0/es/api/modular_diffusers/pipeline_components#diffusers.ComponentsManager.disable_auto_cpu_offload) para deshabilitar el offloading. | |
| ```py | |
| manager.disable_auto_cpu_offload() | |
| ``` | |
Xet Storage Details
- Size:
- 5.45 kB
- Xet hash:
- b25266b2d07671ddfdbfd132c8a3ed8b448754ce068c321e175404b72eb248f7
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.