diff --git a/src/diffusers/loaders/__init__.py b/src/diffusers/loaders/__init__.py index 868e70e48736..764e5fda68b7 100644 --- a/src/diffusers/loaders/__init__.py +++ b/src/diffusers/loaders/__init__.py @@ -7,12 +7,12 @@ _import_structure = {} if is_torch_available(): + _import_structure["lora_pipeline"] = ["RFD4ProteinaLoraLoaderMixin"] _import_structure["single_file_model"] = ["FromOriginalModelMixin"] _import_structure["transformer_flux"] = ["FluxTransformer2DLoadersMixin"] _import_structure["transformer_sd3"] = ["SD3Transformer2DLoadersMixin"] _import_structure["unet"] = ["UNet2DConditionLoadersMixin"] _import_structure["utils"] = ["AttnProcsLayers"] - _import_structure["lora_pipeline"] = ["RFD4ProteinaLoraLoaderMixin"] if is_transformers_available(): _import_structure["single_file"] = ["FromSingleFileMixin"] _import_structure["lora_pipeline"] += [ diff --git a/src/diffusers/loaders/single_file_utils.py b/src/diffusers/loaders/single_file_utils.py index e65e0be50f62..3f1e21d4eb01 100644 --- a/src/diffusers/loaders/single_file_utils.py +++ b/src/diffusers/loaders/single_file_utils.py @@ -3737,6 +3737,12 @@ def swap_scale_shift(weight): def convert_cosmos_transformer_checkpoint_to_diffusers(checkpoint, **kwargs): + for k in list(checkpoint.keys()): + if "llm_adapter" in k: + _ = checkpoint.pop(k) + else: + checkpoint[k.removeprefix("model.diffusion_model.")] = checkpoint.pop(k) + converted_state_dict = {key: checkpoint.pop(key) for key in list(checkpoint.keys())} def remove_keys_(key: str, state_dict):