Buckets:
| # Components and configs | |
| ## ComponentSpec[[diffusers.ComponentSpec]] | |
| - **name** -- Name of the component | |
| - **type_hint** -- Type of the component (e.g. UNet2DConditionModel) | |
| - **description** -- Optional description of the component | |
| - **config** -- Optional config dict for __init__ creation | |
| - **pretrained_model_name_or_path** -- Optional pretrained_model_name_or_path path for from_pretrained creation | |
| - **subfolder** -- Optional subfolder in pretrained_model_name_or_path | |
| - **variant** -- Optional variant in pretrained_model_name_or_path | |
| - **revision** -- Optional revision in pretrained_model_name_or_path | |
| - **default_creation_method** -- Preferred creation method - "from_config" or "from_pretrained" | |
| Specification for a pipeline component. | |
| A component can be created in two ways: | |
| 1. From scratch using __init__ with a config dict | |
| 2. using `from_pretrained` | |
| Create component using from_config with config. | |
| - **load_id** -- The load_id string to decode, format: "pretrained_model_name_or_path|subfolder|variant|revision" | |
| where None values are represented as "null"Dict mapping loading field names to their values. e.g. { | |
| "pretrained_model_name_or_path": "path/to/repo", "subfolder": "subfolder", "variant": "variant", | |
| "revision": "revision" | |
| } If a segment value is "null", it's replaced with None. Returns None if load_id is "null" (indicating | |
| component not created with `load` method). | |
| Decode a load_id string back into a dictionary of loading fields and values. | |
| - **name** -- Name of the component | |
| - **component** -- Component object to create spec fromComponentSpec object- ``ValueError`` -- If component is not supported (e.g. nn.Module without load_id, non-ConfigMixin)</raises><raisederrors>``ValueError`` | |
| Create a ComponentSpec from a Component. | |
| Currently supports: | |
| - Components created with `ComponentSpec.load()` method | |
| - Components that are ConfigMixin subclasses but not nn.Modules (e.g. schedulers, guiders) | |
| Load component using from_pretrained. | |
| Return the names of all loading‐related fields (i.e. those whose field.metadata["loading"] is True). | |
| ## ConfigSpec[[diffusers.ConfigSpec]] | |
| Specification for a pipeline configuration parameter. | |
| ## ComponentsManager[[diffusers.ComponentsManager]] | |
| A central registry and management system for model components across multiple pipelines. | |
| [ComponentsManager](/docs/diffusers/main/en/api/modular_diffusers/pipeline_components#diffusers.ComponentsManager) provides a unified way to register, track, and reuse model components (like UNet, VAE, text | |
| encoders, etc.) across different modular pipelines. It includes features for duplicate detection, memory | |
| management, and component organization. | |
| > [!WARNING] > This is an experimental feature and is likely to change in the future. | |
| Example: | |
| ```python | |
| from diffusers import ComponentsManager | |
| # Create a components manager | |
| cm = ComponentsManager() | |
| # Add components | |
| cm.add("unet", unet_model, collection="sdxl") | |
| cm.add("vae", vae_model, collection="sdxl") | |
| # Enable auto offloading | |
| cm.enable_auto_cpu_offload() | |
| # Retrieve components | |
| unet = cm.get_one(name="unet", collection="sdxl") | |
| ``` | |
| - **name** (str) -- The name of the component | |
| - **component** (Any) -- The component to add | |
| - **collection** (str | None) -- The collection to add the component tostrThe unique component ID, which is generated as "{name}_{id(component)}" where | |
| id(component) is Python's built-in unique identifier for the object | |
| Add a component to the ComponentsManager. | |
| Disable automatic CPU offloading for all components. | |
| - **device** (str | int | torch.device) -- The execution device where models are moved for forward passes | |
| - **memory_reserve_margin** (str) -- The memory reserve margin to use, default is 3GB. This is the amount of | |
| memory to keep free on the device to avoid running out of memory during model | |
| execution (e.g., for intermediate activations, gradients, etc.) | |
| Enable automatic CPU offloading for all components. | |
| The algorithm works as follows: | |
| 1. All models start on CPU by default | |
| 2. When a model's forward pass is called, it's moved to the execution device | |
| 3. If there's insufficient memory, other models on the device are moved back to CPU | |
| 4. The system tries to offload the smallest combination of models that frees enough memory | |
| 5. Models stay on the execution device until another model needs memory and forces them off | |
| - **ids** (list[str]) -- | |
| list of component IDs | |
| - **return_dict_with_names** (bool | None) -- | |
| Whether to return a dictionary with component names as keys:dict[str, Any]Dictionary of components. | |
| - If return_dict_with_names=True, keys are component names. | |
| - If return_dict_with_names=False, keys are component IDs.- ``ValueError`` -- If duplicate component names are found in the search results when return_dict_with_names=True</raises><raisederrors>``ValueError`` | |
| Get components by a list of IDs. | |
| - **names** (list[str]) -- list of component names | |
| - **collection** (str | None) -- Optional collection to filter bydict[str, Any]Dictionary of components with component names as keys- ``ValueError`` -- If duplicate component names are found in the search results</raises><raisederrors>``ValueError`` | |
| Get components by a list of names, optionally filtered by collection. | |
| - **names** (str | list[str]) -- list of component names | |
| - **collection** (str | None) -- Optional collection to filter bylist[str]list of component IDs | |
| Get component IDs by a list of names, optionally filtered by collection. | |
| - **component_id** (str) -- Name of the component to get info for | |
| - **fields** (str | list[str] | None) -- | |
| Field(s) to return. Can be a string for single field or list of fields. If None, uses the | |
| available_info_fields setting.Dictionary containing requested component metadata. If fields is specified, returns only those fields. | |
| Otherwise, returns all fields. | |
| Get comprehensive information about a component. | |
| - **component_id** (str | None) -- Optional component ID to get | |
| - **name** (str | None) -- Component name or pattern | |
| - **collection** (str | None) -- Optional collection to filter by | |
| - **load_id** (str | None) -- Optional load_id to filter byA single component- ``ValueError`` -- If no components match or multiple components match</raises><raisederrors>``ValueError`` | |
| Get a single component by either: | |
| - searching name (pattern matching), collection, or load_id. | |
| - passing in a component_id | |
| Raises an error if multiple components match or none are found. | |
| - **component_id** (str) -- The ID of the component to remove | |
| Remove a component from the ComponentsManager. | |
| Remove a component from a collection. | |
| - **names** -- Component name(s) or pattern(s) | |
| Patterns: | |
| - "unet" : match any component with base name "unet" (e.g., unet_123abc) | |
| - "!unet" : everything except components with base name "unet" | |
| - "unet*" : anything with base name starting with "unet" | |
| - "!unet*" : anything with base name NOT starting with "unet" | |
| - "*unet*" : anything with base name containing "unet" | |
| - "!*unet*" : anything with base name NOT containing "unet" | |
| - "refiner|vae|unet" : anything with base name exactly matching "refiner", "vae", or "unet" | |
| - "!refiner|vae|unet" : anything with base name NOT exactly matching "refiner", "vae", or "unet" | |
| - "unet*|vae*" : anything with base name starting with "unet" OR starting with "vae" | |
| - **collection** -- Optional collection to filter by | |
| - **load_id** -- Optional load_id to filter by | |
| - **return_dict_with_names** -- | |
| If True, returns a dictionary with component names as keys, throw an error if | |
| multiple components with the same name are found If False, returns a dictionary | |
| with component IDs as keysDictionary mapping component names to components if return_dict_with_names=True, or a dictionary mapping | |
| component IDs to components if return_dict_with_names=False | |
| Search components by name with simple pattern matching. Optionally filter by collection or load_id. | |
| ## InsertableDict[[diffusers.modular_pipelines.InsertableDict]] | |
Xet Storage Details
- Size:
- 7.95 kB
- Xet hash:
- 5c2aea9937fe662d78f732a49f356103385b20ae5cf497f7b921c06cc0902dc2
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.