From c90aaa2798885aa6ae1720bc9075066d50054963 Mon Sep 17 00:00:00 2001 From: Artiprocher Date: Wed, 14 Jan 2026 20:49:36 +0800 Subject: [PATCH] fix flux compatibility issues --- .github/workflows/publish.yaml | 2 +- diffsynth/configs/model_configs.py | 7 +++++++ diffsynth/utils/state_dict_converters/flux_dit.py | 2 ++ pyproject.toml | 2 +- 4 files changed, 11 insertions(+), 2 deletions(-) diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml index f31e6bb..31e8947 100644 --- a/.github/workflows/publish.yaml +++ b/.github/workflows/publish.yaml @@ -22,7 +22,7 @@ jobs: - name: Install wheel run: pip install wheel==0.44.0 && pip install -r requirements.txt - name: Build DiffSynth - run: python setup.py sdist bdist_wheel + run: python -m build - name: Publish package to PyPI run: | pip install twine diff --git a/diffsynth/configs/model_configs.py b/diffsynth/configs/model_configs.py index 7da7a9d..eed58f8 100644 --- a/diffsynth/configs/model_configs.py +++ b/diffsynth/configs/model_configs.py @@ -481,6 +481,13 @@ flux_series = [ "state_dict_converter": "diffsynth.utils.state_dict_converters.flux_dit.FluxDiTStateDictConverter", "extra_kwargs": {"disable_guidance_embedder": True}, }, + { + # Example: ModelConfig(model_id="MAILAND/majicflus_v1", origin_file_pattern="majicflus_v134.safetensors") + "model_hash": "3394f306c4cbf04334b712bf5aaed95f", + "model_name": "flux_dit", + "model_class": "diffsynth.models.flux_dit.FluxDiT", + "state_dict_converter": "diffsynth.utils.state_dict_converters.flux_dit.FluxDiTStateDictConverter", + }, ] flux2_series = [ diff --git a/diffsynth/utils/state_dict_converters/flux_dit.py b/diffsynth/utils/state_dict_converters/flux_dit.py index 8469c87..f808b60 100644 --- a/diffsynth/utils/state_dict_converters/flux_dit.py +++ b/diffsynth/utils/state_dict_converters/flux_dit.py @@ -143,6 +143,8 @@ def FluxDiTStateDictConverterFromDiffusers(state_dict): suffix = ".weight" if name.endswith(".weight") else ".bias" prefix = name[:-len(suffix)] if prefix in global_rename_dict: + if global_rename_dict[prefix] == "final_norm_out.linear": + param = torch.concat([param[3072:], param[:3072]], dim=0) state_dict_[global_rename_dict[prefix] + suffix] = param elif prefix.startswith("transformer_blocks."): names = prefix.split(".") diff --git a/pyproject.toml b/pyproject.toml index 04b9f70..059e21d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "diffsynth" -version = "2.0.1" +version = "2.0.2" description = "Enjoy the magic of Diffusion models!" authors = [{name = "ModelScope Team"}] license = {text = "Apache-2.0"}