Buckets:
| # Componentes e configurações | |
| ## ComponentSpec[[diffusers.ComponentSpec]] | |
| #### diffusers.ComponentSpec[[diffusers.ComponentSpec]] | |
| ```python | |
| diffusers.ComponentSpec(name: str | None = None, type_hint: typing.Optional[typing.Type] = None, description: str | None = None, config: diffusers.configuration_utils.FrozenDict | None = None, pretrained_model_name_or_path: str | list[str] | None = None, subfolder: str | None = '', variant: str | None = None, revision: str | None = None, default_creation_method: typing.Literal['from_config', 'from_pretrained'] = 'from_pretrained', repo: str | list[str] | None = None) | |
| ``` | |
| [Fonte](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/modular_pipelines/modular_pipeline_utils.py#L98) | |
| **Parâmetros:** | |
| name : Nome do componente | |
| type_hint : Tipo do componente (por exemplo, UNet2DConditionModel) | |
| description : Descrição opcional do componente | |
| config : Dicionário de configuração opcional para a criação de __init__ | |
| pretrained_model_name_or_path : Caminho opcional pretrained_model_name_or_path para a criação via from_pretrained | |
| subfolder : Subpasta opcional em pretrained_model_name_or_path | |
| variant : variante opcional em pretrained_model_name_or_path | |
| revision : Revisão opcional em pretrained_model_name_or_path | |
| default_creation_method : Preferred creation method - "from_config" or "from_pretrained" | |
| Especificação para um componente de pipeline. | |
| Um componente pode ser criado de duas maneiras: | |
| 1. Do zero usando __init__ com um dicionário de configuração | |
| 2. usando `from_pretrained` | |
| #### criar[[diffusers.ComponentSpec.create]] | |
| ```python | |
| create(config: diffusers.configuration_utils.FrozenDict | dict[str, typing.Any] | None = None, **kwargs) | |
| ``` | |
| [Fonte](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/modular_pipelines/modular_pipeline_utils.py#L267) | |
| Crie o componente usando from_config com config. | |
| #### decode_load_id[[diffusers.ComponentSpec.decode_load_id]] | |
| ```python | |
| decode_load_id(load_id: str) | |
| ``` | |
| [Fonte](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/modular_pipelines/modular_pipeline_utils.py#L228) | |
| **Parâmetros:** | |
| load_id : A string load_id a ser decodificada, formato: "pretrained_model_name_or_path|subfolder|variant|revision", onde os valores None são representados como "null" | |
| **Retorna:** | |
| Dicionário que mapeia os nomes dos campos de carregamento para seus valores. Ex.: { "pretrained_model_name_or_path": "path/to/repo", "subfolder": "subfolder", "variant": "variant", "revision": "revision" } Se o valor de um segmento for "null", ele é substituído por None. Retorna None se load_id for "null" (indicando que o componente não foi criado com o método `load`). | |
| Decodifique uma string de load_id de volta para um dicionário de campos e valores de carregamento. | |
| #### from_component[[diffusers.ComponentSpec.from_component]] | |
| ```python | |
| from_component(name: str, component: Any) | |
| ``` | |
| [Fonte](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/modular_pipelines/modular_pipeline_utils.py#L149) | |
| **Parâmetros:** | |
| name : Nome do componente | |
| component : Objeto de componente a partir do qual criar a especificação | |
| **Retorna:** | |
| Objeto ComponentSpec | |
| **Exceções:** ``ValueError`` | |
| - ``ValueError`` -- Se o componente não for suportado (por exemplo, nn.Module sem load_id, não-ConfigMixin) | |
| Crie um ComponentSpec a partir de um Component. | |
| Atualmente suporta: | |
| - Componentes criados com o método `ComponentSpec.load()` | |
| - Componentes que são subclasses de ConfigMixin, mas não são nn.Modules (por exemplo, agendadores, guias) | |
| #### load[[diffusers.ComponentSpec.load]] | |
| ```python | |
| load(**kwargs) | |
| ``` | |
| [Fonte](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/modular_pipelines/modular_pipeline_utils.py#L295) | |
| Carregue o componente usando from_pretrained. | |
| #### loading_fields[[diffusers.ComponentSpec.loading_fields]] | |
| ```python | |
| loading_fields() | |
| ``` | |
| [Fonte](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/modular_pipelines/modular_pipeline_utils.py#L209) | |
| Retorna os nomes de todos os campos relacionados ao carregamento (ou seja, aqueles cujo field.metadata["loading"] é True). | |
| ## ConfigSpec[[diffusers.ConfigSpec]] | |
| #### diffusers.ConfigSpec[[diffusers.ConfigSpec]] | |
| ```python | |
| diffusers.ConfigSpec(name: str, default: Any, description: str | None = None) | |
| ``` | |
| [Fonte](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/modular_pipelines/modular_pipeline_utils.py#L360) | |
| Especificação para um parâmetro de configuração de pipeline. | |
| ## ComponentsManager[[diffusers.ComponentsManager]] | |
| #### diffusers.ComponentsManager[[diffusers.ComponentsManager]] | |
| ```python | |
| diffusers.ComponentsManager() | |
| ``` | |
| [Fonte](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/modular_pipelines/components_manager.py#L296) | |
| Um sistema central de registro e gerenciamento para componentes de modelos em vários pipelines. | |
| [ComponentsManager](/docs/diffusers/v0.43.0/pt/api/modular_diffusers/pipeline_components#diffusers.ComponentsManager) oferece uma maneira unificada de registrar, rastrear e reutilizar componentes de modelo (como UNet, VAE, codificadores de texto, etc.) entre diferentes pipelines modulares. Ele inclui recursos para detecção de duplicatas, gerenciamento de memória e organização de componentes. | |
| > [!WARNING] > Este é um recurso experimental e provavelmente mudará no futuro. | |
| Exemplo: | |
| ```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") | |
| ``` | |
| #### adicionar[[diffusers.ComponentsManager.add]] | |
| ```python | |
| add(name: str, component: Any, collection: str | None = None) | |
| ``` | |
| [Fonte](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/modular_pipelines/components_manager.py#L393) | |
| **Parâmetros:** | |
| name (str) : O nome do componente | |
| component (Any) : O componente a ser adicionado | |
| collection (str | None) : A coleção à qual adicionar o componente | |
| **Retorna:** `str` | |
| O ID único do componente, que é gerado como "{name}_{id(component)}", onde id(component) é o identificador único embutido do Python para o objeto | |
| Adicione um componente ao ComponentsManager. | |
| #### disable_auto_cpu_offload[[diffusers.ComponentsManager.disable_auto_cpu_offload]] | |
| ```python | |
| disable_auto_cpu_offload() | |
| ``` | |
| [Fonte](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/modular_pipelines/components_manager.py#L795) | |
| Desative o offloading automático de CPU para todos os componentes. | |
| #### enable_auto_cpu_offload[[diffusers.ComponentsManager.enable_auto_cpu_offload]] | |
| ```python | |
| enable_auto_cpu_offload(device: str | int | torch.device = None, memory_reserve_margin = '3GB', offload_strategy = None) | |
| ``` | |
| [Fonte](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/modular_pipelines/components_manager.py#L701) | |
| **Parâmetros:** | |
| device (str | int | torch.device) : O dispositivo de execução para onde os modelos são movidos para as passadas de frente | |
| memory_reserve_margin (str) : A margem de reserva de memória a ser usada, padrão é 3GB. Esta é a quantidade de memória a manter livre no dispositivo para evitar a falta de memória durante a execução do modelo (por exemplo, para ativações intermediárias, gradientes, etc.) | |
| offload_strategy : Qualquer função chamável com a assinatura `(hooks, model_id, model, execution_device) -> hooks`, retornando quais modelos residentes devem ser descarregados antes que o modelo a ser carregado seja carregado. O padrão é `AutoOffloadStrategy`, que libera a combinação mínima suficiente. | |
| Ative o offloading automático de CPU para todos os componentes. | |
| O algoritmo funciona da seguinte forma: | |
| 1. Todos os modelos começam na CPU por padrão | |
| 2. Quando o forward pass de um modelo é chamado, ele é movido para o dispositivo de execução | |
| 3. Se houver memória insuficiente, outros modelos no dispositivo são movidos de volta para a CPU | |
| 4. O sistema tenta descarregar a menor combinação de modelos que libere memória suficiente | |
| 5. Os modelos permanecem no dispositivo de execução até que outro modelo precise de memória e os force a sair | |
| Um modelo offloaded em grupo participa disso, mas se posiciona: ele ainda pode abrir espaço movendo outros modelos para o lado, e nunca é movido para abrir espaço para eles. Qualquer ordem funciona — offload em grupo antes ou depois de habilitar isso. `AutoOffloadStrategy` dimensiona suas decisões com base nas pegadas de memória dos modelos, que não descrevem um modelo segurando um grupo de cada vez, então passe um `offload_strategy` que decida com base no fluxo de trabalho. | |
| #### get_components_by_ids[[diffusers.ComponentsManager.get_components_by_ids]] | |
| ```python | |
| get_components_by_ids(ids: list[str], return_dict_with_names: bool | None = True) | |
| ``` | |
| [Fonte](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/modular_pipelines/components_manager.py#L1104) | |
| **Parâmetros:** | |
| ids (list[str]) : lista de IDs de componentes | |
| return_dict_with_names (bool | None) : Se deve retornar um dicionário com os nomes dos componentes como chaves: | |
| **Retorna:** dict[str, Any] | |
| Dicionário de componentes. | |
| - Se return_dict_with_names=True, as chaves são os nomes dos componentes. | |
| - Se return_dict_with_names=False, as chaves são os IDs dos componentes. | |
| **Exceções:** ``ValueError`` | |
| - ``ValueError`` -- Se nomes de componentes duplicados forem encontrados nos resultados da busca quando return_dict_with_names=True | |
| Obtém componentes por uma lista de IDs. | |
| #### get_components_by_names[[diffusers.ComponentsManager.get_components_by_names]] | |
| ```python | |
| get_components_by_names(names: list[str], collection: str | None = None) | |
| ``` | |
| [Fonte](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/modular_pipelines/components_manager.py#L1137) | |
| **Parâmetros:** | |
| names (list[str]) : lista de nomes de componentes | |
| collection (str | None) : Coleção opcional para filtrar por | |
| **Retorna:** dict[str, Any] | |
| Dicionário de componentes com os nomes dos componentes como chaves | |
| **Exceções:** ``ValueError`` | |
| - ``ValueError`` -- Se nomes de componentes duplicados forem encontrados nos resultados da busca | |
| Obtém componentes por uma lista de nomes, opcionalmente filtrados por coleção. | |
| #### get_ids[[diffusers.ComponentsManager.get_ids]] | |
| ```python | |
| get_ids(names: str | list[str] = None, collection: str | None = None) | |
| ``` | |
| [Fonte](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/modular_pipelines/components_manager.py#L1086) | |
| **Parâmetros:** | |
| names (str | list[str]) : lista de nomes de componentes | |
| collection (str | None) : Coleção opcional para filtrar por | |
| **Retorna:** list[str] | |
| lista de IDs de componentes | |
| Obtém os IDs dos componentes por uma lista de nomes, opcionalmente filtrados por coleção. | |
| #### get_model_info[[diffusers.ComponentsManager.get_model_info]] | |
| ```python | |
| get_model_info(component_id: str, fields: str | list[str] | None = None) | |
| ``` | |
| [Fonte](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/modular_pipelines/components_manager.py#L812) | |
| **Parâmetros:** | |
| component_id (str) : Nome do componente para o qual se deseja obter informações | |
| fields (str | list[str] | None) : Campo(s) a retornar. Pode ser uma string para um único campo ou uma lista de campos. Se for None, usa a configuração available_info_fields. | |
| **Retorna:** | |
| Dicionário contendo os metadados do componente solicitado. Se fields for especificado, retorna apenas esses campos. Caso contrário, retorna todos os campos. | |
| Obtenha informações abrangentes sobre um componente. | |
| #### get_one[[diffusers.ComponentsManager.get_one]] | |
| ```python | |
| get_one(component_id: str | None = None, name: str | None = None, collection: str | None = None, load_id: str | None = None) | |
| ``` | |
| [Fonte](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/modular_pipelines/components_manager.py#L1041) | |
| **Parâmetros:** | |
| component_id (str | None) : ID de componente opcional para obter | |
| name (str | None) : Nome ou padrão do componente | |
| collection (str | None) : Coleção opcional para filtrar por | |
| load_id (str | None) : load_id opcional para filtrar por | |
| **Retorna:** | |
| Um único componente | |
| **Exceções:** ``ValueError`` | |
| - ``ValueError`` -- Se nenhum componente corresponder ou se múltiplos componentes corresponderem | |
| Obtenha um único componente por meio de: | |
| - busca por nome (correspondência de padrão), coleção ou load_id. | |
| - passando um component_id | |
| Gera um erro se vários componentes corresponderem ou nenhum for encontrado. | |
| #### remover[[diffusers.ComponentsManager.remove]] | |
| ```python | |
| remove(component_id: str = None) | |
| ``` | |
| [Fonte](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/modular_pipelines/components_manager.py#L485) | |
| **Parâmetros:** | |
| component_id (str) : O ID do componente a ser removido | |
| Remove um componente do ComponentsManager. | |
| #### remove_from_collection[[diffusers.ComponentsManager.remove_from_collection]] | |
| ```python | |
| remove_from_collection(component_id: str, collection: str) | |
| ``` | |
| [Fonte](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/modular_pipelines/components_manager.py#L467) | |
| Remove um componente de uma coleção. | |
| #### search_components[[diffusers.ComponentsManager.search_components]] | |
| ```python | |
| search_components(names: str | None = None, collection: str | None = None, load_id: str | None = None, return_dict_with_names: bool = True) | |
| ``` | |
| [Fonte](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/modular_pipelines/components_manager.py#L515) | |
| **Parâmetros:** | |
| names : Nome(s) ou padrão(ões) dos componentes Padrões: - "unet" : corresponde a qualquer componente com nome base "unet" (ex.: unet_123abc) - "!unet" : tudo exceto componentes com nome base "unet" - "unet*" : qualquer coisa com nome base começando com "unet" - "!unet*" : qualquer coisa com nome base NÃO começando com "unet" - "*unet*" : qualquer coisa com nome base contendo "unet" - "!*unet*" : qualquer coisa com nome base NÃO contendo "unet" - "refiner|vae|unet" : qualquer coisa com nome base correspondendo exatamente a "refiner", "vae" ou "unet" - "!refiner|vae|unet" : qualquer coisa com nome base NÃO correspondendo exatamente a "refiner", "vae" ou "unet" - "unet*|vae*" : qualquer coisa com nome base começando com "unet" OU começando com "vae" | |
| collection : Coleção opcional para filtrar por | |
| load_id : load_id opcional para filtrar por | |
| return_dict_with_names : Se True, retorna um dicionário com os nomes dos componentes como chaves, lança um erro se múltiplos componentes com o mesmo nome forem encontrados Se False, retorna um dicionário com os IDs dos componentes como chaves | |
| **Retorna:** | |
| Dicionário que mapeia nomes de componentes para componentes, se return_dict_with_names=True, ou um dicionário que mapeia IDs de componentes para componentes, se return_dict_with_names=False | |
| Pesquise componentes por nome com correspondência de padrões simples. Opcionalmente, filtre por collection ou load_id. | |
| #### set_offload_strategy[[diffusers.ComponentsManager.set_offload_strategy]] | |
| ```python | |
| set_offload_strategy(offload_strategy) | |
| ``` | |
| [Fonte](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/modular_pipelines/components_manager.py#L779) | |
| **Parâmetros:** | |
| offload_strategy : Qualquer função chamável com a assinatura `(hooks, model_id, model, execution_device) -> hooks`: ela recebe os hooks dos modelos atualmente no dispositivo e retorna os que devem ser descarregados antes que o modelo recebido seja carregado. O padrão é `AutoOffloadStrategy`, que libera a combinação mínima suficiente. | |
| Substitua a estratégia de offload em todos os modelos gerenciados. Válido apenas quando o offload automático para CPU está habilitado. | |
| ## InsertableDict[[diffusers.modular_pipelines.InsertableDict]] | |
| #### diffusers.modular_pipelines.InsertableDict[[diffusers.modular_pipelines.InsertableDict]] | |
| [Fonte](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/modular_pipelines/modular_pipeline_utils.py#L60) | |
Xet Storage Details
- Size:
- 16.3 kB
- Xet hash:
- 288f1df81ca43a7fb5adac4122a931983deaedabb0f5de017a13b3175dffbadf
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.