From 37d202d0df346adb86cb046ee9bfc8fda1ce62e0 Mon Sep 17 00:00:00 2001 From: Filip Strand Date: Wed, 3 Dec 2025 15:19:32 +0100 Subject: [PATCH] Add support for Z-image Turbo & major improvements for weight loading and parameter resolution (#284) --- .github/workflows/tests.yml | 37 + CHANGELOG.md | 103 ++ Makefile | 19 +- README.md | 133 +- pyproject.toml | 88 +- src/mflux/__init__.py | 5 + src/mflux/assets/z_image_turbo_example.jpg | Bin 0 -> 1383266 bytes src/mflux/callbacks/callback.py | 10 +- src/mflux/callbacks/callback_manager.py | 38 +- src/mflux/callbacks/callback_registry.py | 62 +- src/mflux/callbacks/callbacks.py | 22 +- src/mflux/callbacks/generation_context.py | 75 ++ .../callbacks/instances/battery_saver.py | 100 +- src/mflux/callbacks/instances/canny_saver.py | 4 +- src/mflux/callbacks/instances/depth_saver.py | 8 +- src/mflux/callbacks/instances/memory_saver.py | 18 +- .../callbacks/instances/stepwise_handler.py | 15 +- src/mflux/{config => cli}/__init__.py | 0 .../download => cli/completions}/__init__.py | 0 .../{ui => }/cli/completions/generator.py | 79 +- src/mflux/{ui => }/cli/completions/install.py | 8 +- .../quantization => cli/defaults}/__init__.py | 0 src/mflux/cli/defaults/defaults.py | 31 + .../flux/tokenizer => cli/parser}/__init__.py | 0 src/mflux/{ui/cli => cli/parser}/parsers.py | 50 +- src/mflux/config/config.py | 40 - src/mflux/config/runtime_config.py | 116 -- src/mflux/info.py | 123 -- src/mflux/lora_library.py | 133 -- .../kontext/utils => common/cli}/__init__.py | 0 src/mflux/models/common/cli/info.py | 34 + src/mflux/models/common/cli/lora_library.py | 26 + src/mflux/{ => models/common/cli}/save.py | 22 +- src/mflux/{ => models/common/cli}/train.py | 8 +- src/mflux/models/common/config/__init__.py | 4 + src/mflux/models/common/config/config.py | 148 +++ .../common}/config/model_config.py | 74 +- .../common/latent_creator/latent_creator.py | 7 +- .../download/lora_huggingface_downloader.py | 101 -- .../common/lora/download/lora_library.py | 87 -- .../models/common/lora/mapping/lora_loader.py | 238 ++-- .../common/lora/mapping/lora_mapping.py | 10 +- .../common/lora/mapping/lora_transforms.py | 101 ++ .../common/quantization/quantization_util.py | 112 -- .../models/common/resolution/__init__.py | 6 + src/mflux/models/common/resolution/actions.py | 39 + .../common/resolution/config_resolution.py | 126 ++ .../common/resolution/lora_resolution.py | 298 +++++ .../common/resolution/path_resolution.py | 157 +++ .../resolution/quantization_resolution.py | 52 + .../common/schedulers/base_scheduler.py | 15 +- .../flow_match_euler_discrete_scheduler.py | 19 +- .../common/schedulers/linear_scheduler.py | 20 +- src/mflux/models/common/tokenizer/__init__.py | 17 + .../models/common/tokenizer/tokenizer.py | 188 +++ .../common/tokenizer/tokenizer_loader.py | 144 ++ .../common/tokenizer/tokenizer_output.py | 11 + src/mflux/models/common/weights/__init__.py | 17 +- .../common/weights/loading}/__init__.py | 0 .../common/weights/loading/loaded_weights.py | 40 + .../common/weights/loading/weight_applier.py | 103 ++ .../weights/loading/weight_definition.py | 59 + .../common/weights/loading/weight_loader.py | 317 +++++ .../models/common/weights/mapping/__init__.py | 10 +- .../common/weights/mapping/weight_mapper.py | 129 +- .../common/weights/mapping/weight_mapping.py | 25 +- .../weights/mapping/weight_transforms.py | 33 + .../models/common/weights/model_saver.py | 114 -- .../common/weights/saving}/__init__.py | 0 .../common/weights/saving/model_saver.py | 96 ++ .../mflux/models/depth_pro/cli}/__init__.py | 0 .../{ => models/depth_pro/cli}/save_depth.py | 4 +- .../models/depth_pro/depth_pro_initializer.py | 34 +- .../models/depth_pro/model/conv_utils.py | 23 - .../depth_pro/model/decoder}/__init__.py | 0 .../{ => decoder}/feature_fusion_block_2d.py | 8 +- .../{ => decoder}/multires_conv_decoder.py | 14 +- .../model/{ => decoder}/residual_block.py | 6 +- .../models/depth_pro/{ => model}/depth_pro.py | 0 .../models/depth_pro/model/depth_pro_model.py | 6 +- .../models/depth_pro/model/depth_pro_util.py | 7 + .../depth_pro/model/encoder}/__init__.py | 0 .../model/{ => encoder}/depth_pro_encoder.py | 8 +- .../model/{ => encoder}/upsample_block.py | 4 +- .../models/depth_pro/model/head/__init__.py | 0 .../depth_pro/model/{ => head}/fov_head.py | 10 +- .../weights/depth_pro_weight_definition.py | 34 + .../weights/depth_pro_weight_mapping.py | 307 +++++ .../weights/weight_handler_depth_pro.py | 131 -- src/mflux/models/fibo/cli/__init__.py | 0 .../fibo/cli/fibo_generate.py} | 70 +- src/mflux/models/fibo/fibo_initializer.py | 81 +- .../latent_creator/fibo_latent_creator.py | 10 + src/mflux/models/fibo/model/__init__.py | 1 - .../model/fibo_text_encoder/prompt_encoder.py | 16 +- .../smol_lm3_3b_attention.py | 3 - .../model/fibo_transformer/transformer.py | 10 +- .../models/fibo/model/fibo_vae/__init__.py | 1 - .../fibo/model/fibo_vae/common/__init__.py | 2 - .../fibo/model/fibo_vae/decoder/__init__.py | 2 - .../fibo/model/fibo_vae/encoder/__init__.py | 2 - src/mflux/models/fibo/tokenizer/__init__.py | 7 - .../models/fibo/tokenizer/fibo_tokenizer.py | 37 - .../fibo/tokenizer/smol_lm3_3b_tokenizer.py | 42 - src/mflux/models/fibo/variants/__init__.py | 1 - .../models/fibo/variants/txt2img/__init__.py | 1 - .../models/fibo/variants/txt2img/fibo.py | 156 +-- .../models/fibo/variants/txt2img/util.py | 24 + src/mflux/models/fibo/weights/__init__.py | 7 +- .../fibo/weights/fibo_weight_definition.py | 78 ++ .../fibo/weights/fibo_weight_handler.py | 179 --- .../fibo/weights/fibo_weight_mapping.py | 724 +++++----- .../models/fibo/weights/fibo_weight_util.py | 47 - src/mflux/models/fibo_vlm/cli/__init__.py | 0 .../fibo_vlm/cli/fibo_inspire.py} | 36 +- .../fibo_vlm/cli/fibo_refine.py} | 39 +- .../models/fibo_vlm/fibo_vlm_initializer.py | 141 +- src/mflux/models/fibo_vlm/model/fibo_vlm.py | 26 +- src/mflux/models/fibo_vlm/model/util.py | 42 + .../models/fibo_vlm/tokenizer/__init__.py | 1 + .../tokenizer/qwen2vl_image_processor.py | 0 .../tokenizer/qwen2vl_processor.py | 2 +- .../weights/fibo_vlm_weight_definition.py | 62 + .../weights/fibo_vlm_weight_handler.py | 74 -- .../weights/fibo_vlm_weight_mapping.py | 214 ++- src/mflux/models/flux/cli/__init__.py | 0 .../flux/cli/flux_concept.py} | 34 +- .../flux/cli/flux_concept_from_image.py} | 32 +- .../flux/cli/flux_generate.py} | 52 +- .../flux/cli/flux_generate_controlnet.py} | 35 +- .../flux/cli/flux_generate_depth.py} | 35 +- .../flux/cli/flux_generate_fill.py} | 34 +- .../cli/flux_generate_in_context_catvton.py} | 35 +- .../flux/cli/flux_generate_in_context_dev.py} | 51 +- .../cli/flux_generate_in_context_edit.py} | 72 +- .../flux/cli/flux_generate_kontext.py} | 42 +- .../flux/cli/flux_generate_redux.py} | 61 +- src/mflux/models/flux/cli/flux_upscale.py | 68 + src/mflux/models/flux/flux_initializer.py | 287 ++-- .../latent_creator/flux_latent_creator.py | 12 +- .../clip_encoder/clip_embeddings.py | 4 +- .../clip_encoder/clip_sdpa_attention.py | 4 +- .../model/flux_text_encoder/prompt_encoder.py | 15 +- .../ada_layer_norm_continuous.py | 4 +- .../model/flux_transformer/time_text_embed.py | 5 +- .../model/flux_transformer/transformer.py | 10 +- .../flux/model/flux_vae/common/attention.py | 4 +- .../model/flux_vae/common/resnet_block_2d.py | 6 +- .../model/flux_vae/decoder/conv_norm_out.py | 4 +- .../models/flux/tokenizer/clip_tokenizer.py | 20 - .../models/flux/tokenizer/t5_tokenizer.py | 19 - .../flux/tokenizer/tokenizer_handler.py | 36 - .../concept_attention/flux_concept.py | 114 +- .../flux_concept_from_image.py | 118 +- .../concept_attention/transformer_concept.py | 6 +- .../variants/controlnet/controlnet_util.py | 4 +- .../variants/controlnet/flux_controlnet.py | 123 +- .../controlnet/transformer_controlnet.py | 14 +- .../controlnet/weight_handler_controlnet.py | 68 - .../models/flux/variants/depth/depth_util.py | 10 +- .../models/flux/variants/depth/flux_depth.py | 111 +- .../variants/dreambooth/dataset/dataset.py | 14 +- .../variants/dreambooth/dataset/iterator.py | 3 - .../flux/variants/dreambooth/dreambooth.py | 30 +- .../dreambooth/dreambooth_initializer.py | 26 +- .../dreambooth/lora_layers/lora_layers.py | 276 +--- .../optimization/dreambooth_loss.py | 10 +- .../dreambooth/state/training_state.py | 10 +- .../models/flux/variants/fill/flux_fill.py | 112 +- .../models/flux/variants/fill/mask_util.py | 6 +- .../in_context/flux_in_context_dev.py | 130 +- .../in_context/flux_in_context_fill.py | 114 +- .../in_context/utils/in_context_fill_util.py | 28 + .../in_context/utils/in_context_loras.py | 30 +- .../in_context/utils/in_context_mask_util.py | 6 +- .../flux/variants/kontext/flux_kontext.py | 114 +- .../kontext/{utils => }/kontext_util.py | 4 +- .../models/flux/variants/redux/flux_redux.py | 135 +- .../models/flux/variants/redux/redux_util.py | 20 + .../variants/redux/weight_handler_redux.py | 35 - .../models/flux/variants/txt2img/flux.py | 121 +- src/mflux/models/flux/weights/__init__.py | 4 + .../models/flux/weights/flux_lora_mapping.py | 576 ++++++++ .../flux/weights/flux_weight_definition.py | 163 +++ .../flux/weights/flux_weight_mapping.py | 817 ++++++++++++ .../models/flux/weights/lora_converter.py | 251 ---- .../models/flux/weights/weight_handler.py | 241 ---- .../flux/weights/weight_handler_lora.py | 161 --- src/mflux/models/flux/weights/weight_util.py | 118 -- src/mflux/models/qwen/cli/__init__.py | 0 .../qwen/cli/qwen_image_edit_generate.py} | 44 +- .../qwen/cli/qwen_image_generate.py} | 48 +- .../latent_creator/qwen_latent_creator.py | 8 +- .../qwen_text_encoder/qwen_prompt_encoder.py | 14 +- .../qwen_vision_language_prompt_encoder.py | 7 +- .../qwen_transformer/qwen_transformer.py | 11 +- .../models/qwen/qwen_edit_initializer.py | 103 -- src/mflux/models/qwen/qwen_initializer.py | 138 +- src/mflux/models/qwen/tokenizer/__init__.py | 2 + .../models/qwen/tokenizer/qwen_tokenizer.py | 23 - .../qwen/tokenizer/qwen_tokenizer_handler.py | 39 - .../edit/{utils => }/qwen_edit_util.py | 4 +- .../qwen/variants/edit/qwen_image_edit.py | 167 ++- .../edit/{utils => }/qwen_prompt_rewriter.py | 0 .../qwen/variants/edit/utils/__init__.py | 1 - .../qwen/variants/txt2img/qwen_image.py | 143 +- src/mflux/models/qwen/weights/__init__.py | 4 + .../qwen/weights/qwen_weight_definition.py | 63 + .../qwen/weights/qwen_weight_handler.py | 190 --- .../qwen/weights/qwen_weight_mapping.py | 1167 ++++++++--------- .../models/qwen/weights/qwen_weight_util.py | 107 -- src/mflux/models/z_image/__init__.py | 4 + src/mflux/models/z_image/cli/__init__.py | 0 .../z_image/cli/z_image_turbo_generate.py | 65 + .../models/z_image/latent_creator/__init__.py | 3 + .../latent_creator/z_image_latent_creator.py | 29 + src/mflux/models/z_image/model/__init__.py | 2 + .../model/z_image_text_encoder/__init__.py | 2 + .../model/z_image_text_encoder/attention.py | 76 ++ .../z_image_text_encoder/encoder_layer.py | 35 + .../z_image/model/z_image_text_encoder/mlp.py | 13 + .../z_image_text_encoder/prompt_encoder.py | 17 + .../model/z_image_text_encoder/rope.py | 16 + .../z_image_text_encoder/text_encoder.py | 81 ++ .../model/z_image_transformer/__init__.py | 3 + .../model/z_image_transformer/attention.py | 90 ++ .../z_image_transformer/context_block.py | 23 + .../model/z_image_transformer/feed_forward.py | 13 + .../model/z_image_transformer/final_layer.py | 16 + .../z_image_transformer/rope_embedder.py | 37 + .../z_image_transformer/timestep_embedder.py | 37 + .../model/z_image_transformer/transformer.py | 188 +++ .../z_image_transformer/transformer_block.py | 35 + .../z_image/model/z_image_vae/__init__.py | 3 + .../model/z_image_vae/common/__init__.py | 5 + .../model/z_image_vae/common/attention.py | 48 + .../z_image_vae/common/resnet_block_2d.py | 70 + .../z_image_vae/common/unet_mid_block.py | 21 + .../model/z_image_vae/decoder/__init__.py | 3 + .../model/z_image_vae/decoder/conv_in.py | 19 + .../z_image_vae/decoder/conv_norm_out.py | 21 + .../model/z_image_vae/decoder/conv_out.py | 19 + .../model/z_image_vae/decoder/decoder.py | 36 + .../z_image_vae/decoder/up_decoder_block.py | 47 + .../model/z_image_vae/decoder/up_sampler.py | 27 + .../model/z_image_vae/encoder/__init__.py | 3 + .../model/z_image_vae/encoder/conv_in.py | 19 + .../z_image_vae/encoder/conv_norm_out.py | 15 + .../model/z_image_vae/encoder/conv_out.py | 19 + .../z_image_vae/encoder/down_encoder_block.py | 41 + .../model/z_image_vae/encoder/down_sampler.py | 20 + .../model/z_image_vae/encoder/encoder.py | 35 + .../models/z_image/model/z_image_vae/vae.py | 24 + src/mflux/models/z_image/variants/__init__.py | 3 + .../models/z_image/variants/turbo/__init__.py | 3 + .../z_image/variants/turbo/z_image_turbo.py | 141 ++ src/mflux/models/z_image/weights/__init__.py | 4 + .../z_image/weights/z_image_lora_mapping.py | 154 +++ .../weights/z_image_weight_definition.py | 65 + .../z_image/weights/z_image_weight_mapping.py | 615 +++++++++ .../models/z_image/z_image_initializer.py | 78 ++ src/mflux/ui/box_values.py | 80 -- src/mflux/ui/cli/completions/README.md | 144 -- src/mflux/ui/cli/completions/__init__.py | 1 - src/mflux/ui/defaults.py | 84 -- src/mflux/upscale.py | 106 -- src/mflux/utils/array_util.py | 17 - src/mflux/utils/box_values.py | 65 + src/mflux/utils/dimension_resolver.py | 45 + src/mflux/utils/download.py | 13 - src/mflux/utils/exceptions.py | 22 +- src/mflux/utils/generated_image.py | 2 +- src/mflux/utils/image_compare.py | 5 +- src/mflux/utils/image_util.py | 23 +- src/mflux/utils/info_util.py | 87 ++ src/mflux/utils/lora_library_util.py | 100 ++ src/mflux/utils/metadata_builder.py | 42 - src/mflux/utils/metadata_reader.py | 31 - .../prompt_utils.py => utils/prompt_util.py} | 8 +- src/mflux/{ui => utils}/scale_factor.py | 62 +- tests/arg_parser/test_cli_argparser.py | 378 +++++- .../test_lora_library_integration.py | 19 +- tests/arg_parser/test_stdin_prompt.py | 21 +- tests/arg_parser/test_upscale_argparser.py | 21 +- tests/callbacks/test_battery_saver.py | 42 +- tests/conftest.py | 3 + tests/depth/test_depth_pro.py | 7 +- .../test_dreambooth_dataset_iterator.py | 26 +- tests/dreambooth/test_resume_training.py | 25 +- .../dreambooth/test_train_and_load_weights.py | 27 +- .../image_generation_concept_test_helper.py | 19 +- ...image_generation_controlnet_test_helper.py | 13 +- .../image_generation_depth_test_helper.py | 15 +- .../image_generation_edit_test_helper.py | 32 +- .../image_generation_fibo_test_helper.py | 19 +- .../image_generation_fill_test_helper.py | 19 +- .../image_generation_ic_edit_test_helper.py | 24 +- ...image_generation_in_context_test_helper.py | 31 +- .../image_generation_kontext_test_helper.py | 15 +- .../image_generation_redux_test_helper.py | 15 +- .../helpers/image_generation_test_helper.py | 32 +- .../image_generation_z_image_test_helper.py | 80 ++ .../image_generation/test_generate_concept.py | 6 +- tests/image_generation/test_generate_image.py | 9 +- .../test_generate_image_controlnet.py | 8 +- .../test_generate_image_depth.py | 5 +- .../test_generate_image_fibo.py | 50 +- .../test_generate_image_fill.py | 5 +- .../test_generate_image_in_context.py | 6 +- .../test_generate_image_kontext.py | 5 +- .../test_generate_image_qwen_image.py | 11 +- .../test_generate_image_qwen_image_edit.py | 4 +- .../test_generate_image_redux.py | 5 +- .../test_generate_image_z_image.py | 49 + tests/image_generation/test_image_util.py | 6 + .../test_stdin_prompt_integration.py | 18 +- .../test_upscale_dimensions.py | 31 +- tests/metadata/test_metadata.py | 37 +- tests/model_config/test_model_config.py | 253 ---- tests/model_saving/test_model_saving.py | 29 +- tests/model_saving/test_model_saving_lora.py | 23 +- tests/resolution/__init__.py | 2 + tests/resolution/test_config_resolution.py | 109 ++ tests/resolution/test_lora_resolution.py | 268 ++++ tests/resolution/test_path_resolution.py | 207 +++ .../test_quantization_resolution.py | 70 + .../reference_controlnet_dev_lora_depth.png | Bin 46955 -> 46900 bytes tests/resources/reference_fibo.png | Bin 102737 -> 325893 bytes tests/resources/reference_fibo_white_owl.png | Bin 103982 -> 338757 bytes tests/resources/reference_qwen_txt2img.png | Bin 264350 -> 267556 bytes tests/resources/reference_z_image_turbo.png | Bin 0 -> 344213 bytes .../reference_z_image_turbo_lora.png | Bin 0 -> 357080 bytes tests/schedulers/test_base_scheduler.py | 4 +- tests/schedulers/test_linear_scheduler.py | 53 +- tests/schedulers/test_scheduler_lookup.py | 3 + tests/ui/test_scale_factor.py | 119 -- tests/vlm/test_fibo_vlm.py | 161 +-- tests/weights/test_lora_library.py | 199 --- .../create_outpaint_image_canvas_and_mask.py | 4 +- uv.lock | 590 ++------- 340 files changed, 12247 insertions(+), 8710 deletions(-) create mode 100644 .github/workflows/tests.yml create mode 100644 src/mflux/assets/z_image_turbo_example.jpg create mode 100644 src/mflux/callbacks/generation_context.py rename src/mflux/{config => cli}/__init__.py (100%) rename src/mflux/{models/common/lora/download => cli/completions}/__init__.py (100%) rename src/mflux/{ui => }/cli/completions/generator.py (76%) rename src/mflux/{ui => }/cli/completions/install.py (94%) rename src/mflux/{models/common/quantization => cli/defaults}/__init__.py (100%) create mode 100644 src/mflux/cli/defaults/defaults.py rename src/mflux/{models/flux/tokenizer => cli/parser}/__init__.py (100%) rename src/mflux/{ui/cli => cli/parser}/parsers.py (93%) delete mode 100644 src/mflux/config/config.py delete mode 100644 src/mflux/config/runtime_config.py delete mode 100644 src/mflux/info.py delete mode 100644 src/mflux/lora_library.py rename src/mflux/models/{flux/variants/kontext/utils => common/cli}/__init__.py (100%) create mode 100644 src/mflux/models/common/cli/info.py create mode 100644 src/mflux/models/common/cli/lora_library.py rename src/mflux/{ => models/common/cli}/save.py (62%) rename src/mflux/{ => models/common/cli}/train.py (80%) create mode 100644 src/mflux/models/common/config/__init__.py create mode 100644 src/mflux/models/common/config/config.py rename src/mflux/{ => models/common}/config/model_config.py (77%) delete mode 100644 src/mflux/models/common/lora/download/lora_huggingface_downloader.py delete mode 100644 src/mflux/models/common/lora/download/lora_library.py create mode 100644 src/mflux/models/common/lora/mapping/lora_transforms.py delete mode 100644 src/mflux/models/common/quantization/quantization_util.py create mode 100644 src/mflux/models/common/resolution/__init__.py create mode 100644 src/mflux/models/common/resolution/actions.py create mode 100644 src/mflux/models/common/resolution/config_resolution.py create mode 100644 src/mflux/models/common/resolution/lora_resolution.py create mode 100644 src/mflux/models/common/resolution/path_resolution.py create mode 100644 src/mflux/models/common/resolution/quantization_resolution.py create mode 100644 src/mflux/models/common/tokenizer/__init__.py create mode 100644 src/mflux/models/common/tokenizer/tokenizer.py create mode 100644 src/mflux/models/common/tokenizer/tokenizer_loader.py create mode 100644 src/mflux/models/common/tokenizer/tokenizer_output.py rename src/mflux/{ui => models/common/weights/loading}/__init__.py (100%) create mode 100644 src/mflux/models/common/weights/loading/loaded_weights.py create mode 100644 src/mflux/models/common/weights/loading/weight_applier.py create mode 100644 src/mflux/models/common/weights/loading/weight_definition.py create mode 100644 src/mflux/models/common/weights/loading/weight_loader.py create mode 100644 src/mflux/models/common/weights/mapping/weight_transforms.py delete mode 100644 src/mflux/models/common/weights/model_saver.py rename src/mflux/{ui/cli => models/common/weights/saving}/__init__.py (100%) create mode 100644 src/mflux/models/common/weights/saving/model_saver.py rename {tests/model_config => src/mflux/models/depth_pro/cli}/__init__.py (100%) rename src/mflux/{ => models/depth_pro/cli}/save_depth.py (86%) delete mode 100644 src/mflux/models/depth_pro/model/conv_utils.py rename {tests/ui => src/mflux/models/depth_pro/model/decoder}/__init__.py (100%) rename src/mflux/models/depth_pro/model/{ => decoder}/feature_fusion_block_2d.py (77%) rename src/mflux/models/depth_pro/model/{ => decoder}/multires_conv_decoder.py (74%) rename src/mflux/models/depth_pro/model/{ => decoder}/residual_block.py (80%) rename src/mflux/models/depth_pro/{ => model}/depth_pro.py (100%) rename {tests/weights => src/mflux/models/depth_pro/model/encoder}/__init__.py (100%) rename src/mflux/models/depth_pro/model/{ => encoder}/depth_pro_encoder.py (93%) rename src/mflux/models/depth_pro/model/{ => encoder}/upsample_block.py (92%) create mode 100644 src/mflux/models/depth_pro/model/head/__init__.py rename src/mflux/models/depth_pro/model/{ => head}/fov_head.py (70%) create mode 100644 src/mflux/models/depth_pro/weights/depth_pro_weight_definition.py create mode 100644 src/mflux/models/depth_pro/weights/depth_pro_weight_mapping.py delete mode 100644 src/mflux/models/depth_pro/weights/weight_handler_depth_pro.py create mode 100644 src/mflux/models/fibo/cli/__init__.py rename src/mflux/{generate_fibo.py => models/fibo/cli/fibo_generate.py} (52%) delete mode 100644 src/mflux/models/fibo/tokenizer/__init__.py delete mode 100644 src/mflux/models/fibo/tokenizer/fibo_tokenizer.py delete mode 100644 src/mflux/models/fibo/tokenizer/smol_lm3_3b_tokenizer.py create mode 100644 src/mflux/models/fibo/variants/txt2img/util.py create mode 100644 src/mflux/models/fibo/weights/fibo_weight_definition.py delete mode 100644 src/mflux/models/fibo/weights/fibo_weight_handler.py delete mode 100644 src/mflux/models/fibo/weights/fibo_weight_util.py create mode 100644 src/mflux/models/fibo_vlm/cli/__init__.py rename src/mflux/{inspire_fibo.py => models/fibo_vlm/cli/fibo_inspire.py} (61%) rename src/mflux/{refine_fibo.py => models/fibo_vlm/cli/fibo_refine.py} (56%) create mode 100644 src/mflux/models/fibo_vlm/model/util.py create mode 100644 src/mflux/models/fibo_vlm/tokenizer/__init__.py rename src/mflux/models/{fibo => fibo_vlm}/tokenizer/qwen2vl_image_processor.py (100%) rename src/mflux/models/{fibo => fibo_vlm}/tokenizer/qwen2vl_processor.py (99%) create mode 100644 src/mflux/models/fibo_vlm/weights/fibo_vlm_weight_definition.py delete mode 100644 src/mflux/models/fibo_vlm/weights/fibo_vlm_weight_handler.py create mode 100644 src/mflux/models/flux/cli/__init__.py rename src/mflux/{concept.py => models/flux/cli/flux_concept.py} (71%) rename src/mflux/{concept_from_image.py => models/flux/cli/flux_concept_from_image.py} (73%) rename src/mflux/{generate.py => models/flux/cli/flux_generate.py} (53%) rename src/mflux/{generate_controlnet.py => models/flux/cli/flux_generate_controlnet.py} (69%) rename src/mflux/{generate_depth.py => models/flux/cli/flux_generate_depth.py} (65%) rename src/mflux/{generate_fill.py => models/flux/cli/flux_generate_fill.py} (66%) rename src/mflux/{generate_in_context_catvton.py => models/flux/cli/flux_generate_in_context_catvton.py} (76%) rename src/mflux/{generate_in_context_dev.py => models/flux/cli/flux_generate_in_context_dev.py} (61%) rename src/mflux/{generate_in_context_edit.py => models/flux/cli/flux_generate_in_context_edit.py} (50%) rename src/mflux/{generate_kontext.py => models/flux/cli/flux_generate_kontext.py} (60%) rename src/mflux/{generate_redux.py => models/flux/cli/flux_generate_redux.py} (50%) create mode 100644 src/mflux/models/flux/cli/flux_upscale.py delete mode 100644 src/mflux/models/flux/tokenizer/clip_tokenizer.py delete mode 100644 src/mflux/models/flux/tokenizer/t5_tokenizer.py delete mode 100644 src/mflux/models/flux/tokenizer/tokenizer_handler.py delete mode 100644 src/mflux/models/flux/variants/controlnet/weight_handler_controlnet.py create mode 100644 src/mflux/models/flux/variants/in_context/utils/in_context_fill_util.py rename src/mflux/models/flux/variants/kontext/{utils => }/kontext_util.py (94%) delete mode 100644 src/mflux/models/flux/variants/redux/weight_handler_redux.py create mode 100644 src/mflux/models/flux/weights/flux_lora_mapping.py create mode 100644 src/mflux/models/flux/weights/flux_weight_definition.py create mode 100644 src/mflux/models/flux/weights/flux_weight_mapping.py delete mode 100644 src/mflux/models/flux/weights/lora_converter.py delete mode 100644 src/mflux/models/flux/weights/weight_handler.py delete mode 100644 src/mflux/models/flux/weights/weight_handler_lora.py delete mode 100644 src/mflux/models/flux/weights/weight_util.py create mode 100644 src/mflux/models/qwen/cli/__init__.py rename src/mflux/{generate_qwen_edit.py => models/qwen/cli/qwen_image_edit_generate.py} (59%) rename src/mflux/{generate_qwen.py => models/qwen/cli/qwen_image_generate.py} (55%) delete mode 100644 src/mflux/models/qwen/qwen_edit_initializer.py delete mode 100644 src/mflux/models/qwen/tokenizer/qwen_tokenizer.py delete mode 100644 src/mflux/models/qwen/tokenizer/qwen_tokenizer_handler.py rename src/mflux/models/qwen/variants/edit/{utils => }/qwen_edit_util.py (95%) rename src/mflux/models/qwen/variants/edit/{utils => }/qwen_prompt_rewriter.py (100%) delete mode 100644 src/mflux/models/qwen/variants/edit/utils/__init__.py create mode 100644 src/mflux/models/qwen/weights/qwen_weight_definition.py delete mode 100644 src/mflux/models/qwen/weights/qwen_weight_handler.py delete mode 100644 src/mflux/models/qwen/weights/qwen_weight_util.py create mode 100644 src/mflux/models/z_image/__init__.py create mode 100644 src/mflux/models/z_image/cli/__init__.py create mode 100644 src/mflux/models/z_image/cli/z_image_turbo_generate.py create mode 100644 src/mflux/models/z_image/latent_creator/__init__.py create mode 100644 src/mflux/models/z_image/latent_creator/z_image_latent_creator.py create mode 100644 src/mflux/models/z_image/model/__init__.py create mode 100644 src/mflux/models/z_image/model/z_image_text_encoder/__init__.py create mode 100644 src/mflux/models/z_image/model/z_image_text_encoder/attention.py create mode 100644 src/mflux/models/z_image/model/z_image_text_encoder/encoder_layer.py create mode 100644 src/mflux/models/z_image/model/z_image_text_encoder/mlp.py create mode 100644 src/mflux/models/z_image/model/z_image_text_encoder/prompt_encoder.py create mode 100644 src/mflux/models/z_image/model/z_image_text_encoder/rope.py create mode 100644 src/mflux/models/z_image/model/z_image_text_encoder/text_encoder.py create mode 100644 src/mflux/models/z_image/model/z_image_transformer/__init__.py create mode 100644 src/mflux/models/z_image/model/z_image_transformer/attention.py create mode 100644 src/mflux/models/z_image/model/z_image_transformer/context_block.py create mode 100644 src/mflux/models/z_image/model/z_image_transformer/feed_forward.py create mode 100644 src/mflux/models/z_image/model/z_image_transformer/final_layer.py create mode 100644 src/mflux/models/z_image/model/z_image_transformer/rope_embedder.py create mode 100644 src/mflux/models/z_image/model/z_image_transformer/timestep_embedder.py create mode 100644 src/mflux/models/z_image/model/z_image_transformer/transformer.py create mode 100644 src/mflux/models/z_image/model/z_image_transformer/transformer_block.py create mode 100644 src/mflux/models/z_image/model/z_image_vae/__init__.py create mode 100644 src/mflux/models/z_image/model/z_image_vae/common/__init__.py create mode 100644 src/mflux/models/z_image/model/z_image_vae/common/attention.py create mode 100644 src/mflux/models/z_image/model/z_image_vae/common/resnet_block_2d.py create mode 100644 src/mflux/models/z_image/model/z_image_vae/common/unet_mid_block.py create mode 100644 src/mflux/models/z_image/model/z_image_vae/decoder/__init__.py create mode 100644 src/mflux/models/z_image/model/z_image_vae/decoder/conv_in.py create mode 100644 src/mflux/models/z_image/model/z_image_vae/decoder/conv_norm_out.py create mode 100644 src/mflux/models/z_image/model/z_image_vae/decoder/conv_out.py create mode 100644 src/mflux/models/z_image/model/z_image_vae/decoder/decoder.py create mode 100644 src/mflux/models/z_image/model/z_image_vae/decoder/up_decoder_block.py create mode 100644 src/mflux/models/z_image/model/z_image_vae/decoder/up_sampler.py create mode 100644 src/mflux/models/z_image/model/z_image_vae/encoder/__init__.py create mode 100644 src/mflux/models/z_image/model/z_image_vae/encoder/conv_in.py create mode 100644 src/mflux/models/z_image/model/z_image_vae/encoder/conv_norm_out.py create mode 100644 src/mflux/models/z_image/model/z_image_vae/encoder/conv_out.py create mode 100644 src/mflux/models/z_image/model/z_image_vae/encoder/down_encoder_block.py create mode 100644 src/mflux/models/z_image/model/z_image_vae/encoder/down_sampler.py create mode 100644 src/mflux/models/z_image/model/z_image_vae/encoder/encoder.py create mode 100644 src/mflux/models/z_image/model/z_image_vae/vae.py create mode 100644 src/mflux/models/z_image/variants/__init__.py create mode 100644 src/mflux/models/z_image/variants/turbo/__init__.py create mode 100644 src/mflux/models/z_image/variants/turbo/z_image_turbo.py create mode 100644 src/mflux/models/z_image/weights/__init__.py create mode 100644 src/mflux/models/z_image/weights/z_image_lora_mapping.py create mode 100644 src/mflux/models/z_image/weights/z_image_weight_definition.py create mode 100644 src/mflux/models/z_image/weights/z_image_weight_mapping.py create mode 100644 src/mflux/models/z_image/z_image_initializer.py delete mode 100644 src/mflux/ui/box_values.py delete mode 100644 src/mflux/ui/cli/completions/README.md delete mode 100644 src/mflux/ui/cli/completions/__init__.py delete mode 100644 src/mflux/ui/defaults.py delete mode 100644 src/mflux/upscale.py delete mode 100644 src/mflux/utils/array_util.py create mode 100644 src/mflux/utils/box_values.py create mode 100644 src/mflux/utils/dimension_resolver.py delete mode 100644 src/mflux/utils/download.py create mode 100644 src/mflux/utils/info_util.py create mode 100644 src/mflux/utils/lora_library_util.py rename src/mflux/{ui/prompt_utils.py => utils/prompt_util.py} (89%) rename src/mflux/{ui => utils}/scale_factor.py (52%) create mode 100644 tests/conftest.py create mode 100644 tests/image_generation/helpers/image_generation_z_image_test_helper.py create mode 100644 tests/image_generation/test_generate_image_z_image.py delete mode 100644 tests/model_config/test_model_config.py create mode 100644 tests/resolution/__init__.py create mode 100644 tests/resolution/test_config_resolution.py create mode 100644 tests/resolution/test_lora_resolution.py create mode 100644 tests/resolution/test_path_resolution.py create mode 100644 tests/resolution/test_quantization_resolution.py create mode 100644 tests/resources/reference_z_image_turbo.png create mode 100644 tests/resources/reference_z_image_turbo_lora.png delete mode 100644 tests/ui/test_scale_factor.py delete mode 100644 tests/weights/test_lora_library.py diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml new file mode 100644 index 0000000..9d76e5c --- /dev/null +++ b/.github/workflows/tests.yml @@ -0,0 +1,37 @@ +name: Fast Tests + +on: + pull_request: + branches: [main] + push: + branches: [main] + +jobs: + fast-tests: + runs-on: macos-14 # Apple Silicon runner (M1) + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install uv + uses: astral-sh/setup-uv@v4 + with: + version: "latest" + + - name: Install dependencies + run: | + uv venv + uv pip install -e . + uv pip install pytest + + - name: Run fast tests + run: | + source .venv/bin/activate + python -m pytest -m fast -v + diff --git a/CHANGELOG.md b/CHANGELOG.md index 82b4394..700d3c0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,109 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.13.0] - 2025-12-03 + +# MFLUX v.0.13.0 Release Notes + +### ๐ŸŽจ New Model Support + +- **Z-Image Turbo Support**: Added support for [Z-Image Turbo](https://huggingface.co/Tongyi-MAI/Z-Image-Turbo), a fast distilled Z-Image variant optimized for speed +- **New command**: `mflux-generate-z-image-turbo` for rapid image generation (with LoRA support, img2img, and quantization) + +### โœจ New Features + +- **FIBO VLM Quantization Support**: The FIBO VLM commands (`mflux-fibo-inspire`, `mflux-fibo-refine`) now support quantization via the `-q` flag (3, 4, 5, 6, or 8-bit) + +- **Unified `--model` argument**: The `--model` flag now accepts local paths, HuggingFace repos, or predefined model names + - Local paths: `--model /Users/me/models/fibo-4bit` or `--model ~/my-model` + - HuggingFace repos: `--model briaai/Fibo-mlx-4bit` + - Predefined names: `--model dev`, `--model schnell`, `--model fibo` + - This mirrors how LoRA paths work for a consistent UX + +- **Scale Factor Dimensions for Img2Img**: Generalized the scale factor feature (e.g., `2x`, `0.5x`, `auto`) from upscaling to all img2img commands + - Specify output dimensions relative to input image: `--width 2x --height 2x` + - Use `auto` to match input image dimensions: `--width auto --height auto` + - Mix scale factors with absolute values: `--width 2x --height 512` + - Supported in: `mflux-generate`, `mflux-generate-z-image-turbo`, `mflux-generate-fibo`, `mflux-generate-kontext`, `mflux-generate-qwen` +- **DimensionResolver utility**: New `DimensionResolver.resolve()` for consistent dimension handling across commands + +### ๐Ÿ”ง Architecture Improvements + +- **Unified Resolution System**: New `resolution/` module for consistent parameter resolution across all models + - `PathResolution`: Resolves model paths from local paths, HuggingFace repos, or predefined names + - `LoRAResolution`: Handles LoRA path resolution from all supported formats + - `ConfigResolution`: Centralizes configuration resolution logic + - `QuantizationResolution`: Determines quantization from saved models or CLI args +- **Unified Weight Loading System**: Complete rewrite of weight handling with declarative mappings + - New `WeightLoader` with single `load(model_path)` interface + - `WeightDefinition` classes define model structure per model family + - `WeightMapping` declarative mappings replace imperative weight handlers + - Removed all per-model `weight_handler_*.py` files in favor of unified system +- **Unified Tokenizer System**: New common tokenizer module + - `TokenizerLoader.load_all()` with unified `model_path` interface + - Removed model-specific tokenizer handlers (`clip_tokenizer.py`, `t5_tokenizer.py`, etc.) +- **Unified LoRA API**: Simplified LoRA loading to a single `lora_paths` parameter + - All LoRA formats now resolved through `LoRALibrary.resolve_paths()`: + - Local paths: `/path/to/lora.safetensors` + - Registry names: `my-lora` (from `LORA_LIBRARY_PATH`) + - HuggingFace repos: `author/model` + - **New**: HuggingFace collections: `repo_id:filename.safetensors` + - Simplified model initialization: just pass `lora_paths` and everything resolves automatically +- **Unified Latent Creator Interface**: Standardized `unpack_latents(latents, height, width)` signature across all model families + - `FluxLatentCreator`, `ZImageLatentCreator`, `FiboLatentCreator`, and `QwenLatentCreator` now share the same interface + - Moved `FIBO._unpack_latents` to `FiboLatentCreator.unpack_latents` for consistency +- **StepwiseHandler Refactor**: Fixed `StepwiseHandler` to work with all model types by accepting a `latent_creator` parameter + - Previously hardcoded to `FluxLatentCreator`, now model-agnostic + - Each command passes its appropriate latent creator to `CallbackManager.register_callbacks()` +- **CLI Reorganization**: Moved CLI entry points to model-specific directories (e.g., `mflux/models/flux/cli/`) + +### ๐Ÿ”„ Breaking Changes + +- **Simplified `generate_image()` API** (programmatic users only): + - Removed `Config` class - parameters are now passed directly to `generate_image()` + - Removed `RuntimeConfig` class - internal complexity eliminated + - Added `Flux1` export to main `mflux` module for cleaner imports +- **LoRA API simplified** (programmatic users only): + - Removed `lora_names` and `lora_repo_id` parameters from all model classes (`Flux1`, `QwenImage`, `QwenImageEdit`, etc.) + - Removed `--lora-name` and `--lora-repo-id` CLI arguments + - Removed `LoRAHuggingFaceDownloader` class + +### ๐Ÿ”„ Breaking Changes (CLI) + +- **`--path` flag removed**: The deprecated `--path` flag for loading models has been removed. Use `--model` instead for local paths, HuggingFace repos, or predefined model names. + +### ๐Ÿ› Bug Fixes + +- **`--model` flag not working**: Fixed bug where the `--model` argument wasn't being used for loading models from HuggingFace or local paths. All CLI commands now correctly use `--model` for model path resolution. +- **Model Saving Index File**: Fixed issue where locally saved models (via `mflux-save`) would fail to load when uploaded to HuggingFace, due to missing `model.safetensors.index.json`. The model saver now generates this index file alongside the safetensor shards, ensuring compatibility with both mflux and standard HuggingFace loading paths. (see [#285](https://github.com/filipstrand/mflux/issues/285)) + +### ๐Ÿงช Test Infrastructure + +- **Test markers**: Added `fast` and `slow` pytest markers to categorize tests + - Fast tests: Unit tests that don't generate images (parsers, schedulers, resolution, utilities) + - Slow tests: Integration tests that generate actual images and compare to references +- **New Makefile targets**: + - `make test-fast` - Run fast tests only (quick feedback during development) + - `make test-slow` - Run slow tests only (image generation tests) + - `make test` - Run all tests (unchanged) +- Run specific test categories: `pytest -m fast` or `pytest -m slow` +- **GitHub Actions CI**: Fast tests now run automatically on PRs and pushes to main + +### ๐Ÿ”ง Internal Changes + +- Simplified `WeightLoader.load()` to take a single `model_path` parameter instead of separate `repo_id` and `local_path` +- Simplified `TokenizerLoader.load_all()` with the same unified `model_path` interface +- Renamed `local_path` parameter to `model_path` in all model constructors for clarity +- Removed `quantization_util.py` - quantization now handled through `QuantizationResolution` +- Removed `lora_huggingface_downloader.py` - downloading integrated into `LoRAResolution` +- Added comprehensive test coverage for resolution modules + +### ๐Ÿ‘ฉโ€๐Ÿ’ป Contributors + +- **Filip Strand (@filipstrand)**: Z-Image Turbo support, architecture improvements, core development + +--- + ## [0.12.1] - 2025-11-27 ### ๐Ÿ› Bug Fixes diff --git a/Makefile b/Makefile index be58b5c..6c63409 100644 --- a/Makefile +++ b/Makefile @@ -97,6 +97,21 @@ test: ensure-pytest $(PYTHON) -m pytest # โœ… Tests completed +# Run fast tests only (no image generation) +.PHONY: test-fast +test-fast: ensure-pytest + # ๐Ÿ—๏ธ Running fast tests (no image generation)... + $(PYTHON) -m pytest -m fast + # โœ… Fast tests completed + +# Run slow tests only (image generation tests) +.PHONY: test-slow +test-slow: ensure-pytest + # ๐Ÿ—๏ธ Running slow tests (image generation)... + uv pip install mlx==0.29.2 # Install pinned MLX version specifically for testing + $(PYTHON) -m pytest -m slow + # โœ… Slow tests completed + # Run uv build and check dist sizes for optimized user installs .PHONY: build @@ -129,7 +144,9 @@ help: @echo " make lint - Run ruff python linter" @echo " make format - Run ruff code formatter" @echo " make check - Run linters auto fixes *and* style formatter via pre-commit hook" - @echo " make test - Run tests" + @echo " make test - Run all tests" + @echo " make test-fast - Run fast tests only (no image generation)" + @echo " make test-slow - Run slow tests only (image generation)" @echo " make build - Build distribution packages and check sizes" @echo " make clean - Remove the virtual environment" @echo " make help - Show this help message" diff --git a/README.md b/README.md index df454d6..0ea35fb 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ ### About -Run the powerful [FLUX](https://blackforestlabs.ai/#get-flux), [Qwen Image](https://github.com/QwenLM/Qwen-Image) and [FIBO](https://huggingface.co/briaai/FIBO) models locally on your Mac! +Run the powerful [FLUX](https://blackforestlabs.ai/#get-flux), [Qwen Image](https://github.com/QwenLM/Qwen-Image), [FIBO](https://huggingface.co/briaai/FIBO), and [Z-Image](https://huggingface.co/Tongyi-MAI/Z-Image-Turbo) models locally on your Mac! ### Table of contents @@ -17,13 +17,14 @@ Run the powerful [FLUX](https://blackforestlabs.ai/#get-flux), [Qwen Image](http - [โฑ๏ธ Image generation speed (updated)](#%EF%B8%8F-image-generation-speed-updated) - [โ†”๏ธ Equivalent to Diffusers implementation](#%EF%B8%8F-equivalent-to-diffusers-implementation) - [๐Ÿ—œ๏ธ Quantization](#%EF%B8%8F-quantization) -- [๐Ÿ’ฝ Running a non-quantized model directly from disk](#-running-a-non-quantized-model-directly-from-disk) +- [๐Ÿ’ฝ Running a model directly from disk](#-running-a-model-directly-from-disk) - [๐ŸŒ Third-Party HuggingFace Model Support](#-third-party-huggingface-model-support) - [๐ŸŽจ Image-to-Image](#-image-to-image) - [๐Ÿฆ™ Qwen Models](#-qwen-models) * [๐Ÿ–ผ๏ธ Qwen Image](#%EF%B8%8F-qwen-image) * [โœ๏ธ Qwen Image Edit](#%EF%B8%8F-qwen-image-edit) - [๐ŸŒ€ FIBO](#-fibo) +- [โšก Z-Image](#-z-image) - [๐Ÿ”Œ LoRA](#-lora) - [๐ŸŽญ In-Context Generation](#-in-context-generation) * [๐Ÿ“ธ Kontext](#-kontext) @@ -51,7 +52,7 @@ Run the powerful [FLUX](https://blackforestlabs.ai/#get-flux), [Qwen Image](http ### Philosophy -MFLUX is a line-by-line port of the FLUX, Qwen and Bria models implementations in the [Huggingface Diffusers](https://github.com/huggingface/diffusers) and [Huggingface Transformers](https://github.com/huggingface/transformers) libraries to [Apple MLX](https://github.com/ml-explore/mlx). +MFLUX is a line-by-line port of the FLUX, Qwen, Bria and Z-Image models implementations in the [Huggingface Diffusers](https://github.com/huggingface/diffusers) and [Huggingface Transformers](https://github.com/huggingface/transformers) libraries to [Apple MLX](https://github.com/ml-explore/mlx). MFLUX is purposefully kept minimal and explicit - Network architectures are hardcoded and no config files are used except for the tokenizers. The aim is to have a tiny codebase with the single purpose of expressing these models (thereby avoiding too many abstractions). While MFLUX priorities readability over generality and performance, [it can still be quite fast](#%EF%B8%8F-image-generation-speed-updated), [and even faster quantized](#%EF%B8%8F-quantization). @@ -171,8 +172,7 @@ This is useful for integrating MFLUX into shell scripts or dynamically generatin Alternatively, you can use MFLUX directly in Python: ```python -from mflux.flux.flux import Flux1 -from mflux.config.config import Config +from mflux import Flux1 # Load the model flux = Flux1.from_name( @@ -184,11 +184,9 @@ flux = Flux1.from_name( image = flux.generate_image( seed=2, prompt="Luxury food photograph", - config=Config( - num_inference_steps=2, # "schnell" works well with 2-4 steps, "dev" and "krea-dev" work well with 20-25 steps - height=1024, - width=1024, - ) + num_inference_steps=2, # "schnell" works well with 2-4 steps, "dev" and "krea-dev" work well with 20-25 steps + height=1024, + width=1024, ) image.save(path="image.png") @@ -200,7 +198,7 @@ For more advanced Python usage and additional configuration options, you can exp *By default, mflux caches files in `~/Library/Caches/mflux/`. The Hugging Face model files themselves are cached separately in the Hugging Face cache directory (e.g., `~/.cache/huggingface/`).* -*To change the mflux cache location, set the `MFLUX_CACHE_DIR` environment variable. To change the Hugging Face cache location, you can modify the `HF_HOME` environment variable. For more details on Hugging Face cache settings, please refer to the [Hugging Face documentation](https://huggingface.co/docs/huggingface_hub/en/package_reference/environment_variables)*. +*To change the mflux cache location, set the `MFLUX_CACHE_DIR` environment variable. To change the Hugging Face cache location, you can modify the `HF_HOME` environment variable (e.g. to `HF_HOME=/Volumes/T7/.cache/huggingface`). For more details on Hugging Face cache settings, please refer to the [Hugging Face documentation](https://huggingface.co/docs/huggingface_hub/en/package_reference/environment_variables)*. ๐Ÿ”’ [FLUX.1-dev currently requires granted access to its Huggingface repo. For troubleshooting, see the issue tracker](https://github.com/filipstrand/mflux/issues/14) ๐Ÿ”’ @@ -236,9 +234,12 @@ mflux-generate \ - **`--prompt`** (required, `str`): Text description of the image to generate. Use `-` to read the prompt from stdin (e.g., `echo "A beautiful sunset" | mflux-generate --prompt -`). -- **`--model`** or **`-m`** (required, `str`): Model to use for generation. Can be one of the official Flux models (`"schnell"`, `"dev"`, or `"krea-dev"`) or a HuggingFace repository ID for a compatible third-party model (e.g., `"Freepik/flux.1-lite-8B-alpha"`). For Qwen models, use `mflux-generate-qwen` instead. +- **`--model`** or **`-m`** (required, `str`): Model to use for generation. Accepts: + - Predefined names: `"schnell"`, `"dev"`, `"krea-dev"`, `"fibo"`, `"z-image-turbo"` + - HuggingFace repos: `"Freepik/flux.1-lite-8B-alpha"`, `"briaai/Fibo-mlx-4bit"` + - Local paths: `"/Users/me/models/my-model"`, `"~/my-model"` -- **`--base-model`** (optional, `str`, default: `None`): Specifies which base architecture a third-party model is derived from (`"schnell"`, `"dev"`, or `"krea-dev"`). Required when using third-party models from HuggingFace. +- **`--base-model`** (optional, `str`, default: `None`): Specifies which base architecture a third-party model is derived from (`"schnell"`, `"dev"`, or `"krea-dev"`). Required when using third-party models from HuggingFace or local paths. - **`--output`** (optional, `str`, default: `"image.png"`): Output image filename. If `--seed` or `--auto-seeds` establishes multiple seed values, the output filename will automatically be modified to include the seed value (e.g., `image_seed_42.png`). @@ -254,11 +255,15 @@ mflux-generate \ - **`--guidance`** (optional, `float`, default: `3.5`): Guidance scale (only used for `"dev"` and `"krea-dev"` models). -- **`--path`** (optional, `str`, default: `None`): Path to a local model on disk. +- **`--path`** (optional, `str`, default: `None`): **[DEPRECATED: use `--model` instead]** Path to a local model on disk. - **`--quantize`** or **`-q`** (optional, `int`, default: `None`): [Quantization](#%EF%B8%8F-quantization) (choose between `3`, `4`, `5`, `6`, or `8` bits). -- **`--lora-paths`** (optional, `[str]`, default: `None`): The paths to the [LoRA](#-LoRA) weights. +- **`--lora-paths`** (optional, `[str]`, default: `None`): The paths to the [LoRA](#-LoRA) weights. Supports multiple formats: + - Local files: `/path/to/lora.safetensors` + - HuggingFace repos: `author/model` (auto-downloads) + - HuggingFace collections: `repo_id:filename.safetensors` (downloads specific file) + - Registry names: `my-lora` (via `LORA_LIBRARY_PATH`) - **`--lora-scales`** (optional, `[float]`, default: `None`): The scale for each respective [LoRA](#-LoRA) (will default to `1.0` if not specified and only one LoRA weight is loaded.) @@ -274,10 +279,6 @@ mflux-generate \ - **`--battery-percentage-stop-limit`** or **`-B`** (optional, `int`, default: `5`): On Mac laptops powered by battery, automatically stops image generation when battery percentage reaches this threshold. Prevents your Mac from shutting down and becoming unresponsive during long generation sessions. -- **`--lora-name`** (optional, `str`, default: `None`): The name of the LoRA to download from Hugging Face. - -- **`--lora-repo-id`** (optional, `str`, default: `"ali-vilab/In-Context-LoRA"`): The Hugging Face repository ID for LoRAs. - - **`--stepwise-image-output-dir`** (optional, `str`, default: `None`): [EXPERIMENTAL] Output directory to write step-wise images and their final composite image to. This feature may change in future versions. When specified, MFLUX will save an image for each denoising step, allowing you to visualize the generation process from noise to final image. - **`--vae-tiling`** (optional, flag): Enable VAE tiling to reduce memory usage during the decoding phase. This splits the image into smaller chunks for processing, which can prevent out-of-memory errors when generating high-resolution images. Note that this optimization may occasionally produce a subtle seam in the middle of the image, but it's often worth the tradeoff for being able to generate images that would otherwise cause your system to run out of memory. @@ -701,7 +702,7 @@ However, if we were to import a fixed instance of this latent array saved from t The images below illustrate this equivalence. In all cases the Schnell model was run for 2 time steps. The Diffusers implementation ran in CPU mode. -The precision for MFLUX can be set in the [Config](src/mflux/config/config.py) class. +The precision for MFLUX can be set in the [Config](src/mflux/models/common/config/config.py) class. There is typically a noticeable but very small difference in the final image when switching between 16bit and 32bit precision. --- @@ -837,6 +838,9 @@ In other words, you can reclaim the 34GB diskspace (per model) by deleting the f - [akx/FLUX.1-Kontext-dev-mflux-4bit](https://huggingface.co/akx/FLUX.1-Kontext-dev-mflux-4bit) - [filipstrand/FLUX.1-Krea-dev-mflux-4bit](https://huggingface.co/filipstrand/FLUX.1-Krea-dev-mflux-4bit) - [filipstrand/Qwen-Image-mflux-6bit](https://huggingface.co/filipstrand/Qwen-Image-mflux-6bit) + - [filipstrand/Z-Image-Turbo-mflux-4bit](https://huggingface.co/filipstrand/Z-Image-Turbo-mflux-4bit) + - [briaai/Fibo-mlx-4bit](https://huggingface.co/briaai/Fibo-mlx-4bit) + - [briaai/Fibo-mlx-8bit](https://huggingface.co/briaai/Fibo-mlx-8bit) Using the [community model support](#-third-party-huggingface-model-support), the quantized weights can be also be automatically downloaded when running the generate command: @@ -850,23 +854,33 @@ mflux-generate \ --seed 2674888 ``` +```sh +mflux-generate-fibo \ + --model briaai/Fibo-mlx-4bit \ + --prompt-file ~/Desktop/bird.json \ + --width 1024 \ + --height 1024 \ + --steps 20 \ + --seed 42 \ +``` + --- -### ๐Ÿ’ฝ Running a non-quantized model directly from disk +### ๐Ÿ’ฝ Running a model directly from disk -MFLUX also supports running a non-quantized model directly from a custom location. +MFLUX supports running a model directly from a custom location using the `--model` flag with a local path. In the example below, the model is placed in `/Users/filipstrand/Desktop/schnell`: ```sh mflux-generate \ - --path "/Users/filipstrand/Desktop/schnell" \ - --model schnell \ + --model "/Users/filipstrand/Desktop/schnell" \ + --base-model schnell \ --steps 2 \ --seed 2 \ --prompt "Luxury food photograph" ``` -Note that the `--model` flag must be set when loading a model from disk. +When loading from a local path, use `--base-model` to specify the architecture (e.g., `schnell`, `dev`). Also note that unlike when using the typical `alias` way of initializing the model (which internally handles that the required resources are downloaded), when loading a model directly from disk, we require the downloaded models to look like the following: @@ -909,17 +923,30 @@ processed a bit differently, which is why we require this structure above.* ### ๐ŸŒ Third-Party HuggingFace Model Support -MFLUX now supports compatible third-party models from HuggingFace that follow the FLUX architecture. This opens up the ecosystem to community-created models that may offer different capabilities, sizes, or specializations. +MFLUX supports compatible third-party models from HuggingFace that follow the FLUX architecture. The `--model` parameter accepts: -To use a third-party model, specify the HuggingFace repository ID with the `--model` parameter and indicate which base architecture (dev or schnell) it's derived from using the `--base-model` parameter: +- **Predefined names**: `dev`, `schnell`, `fibo`, `z-image-turbo`, etc. +- **HuggingFace repos**: `Freepik/flux.1-lite-8B`, `briaai/Fibo-mlx-4bit` +- **Local paths**: `/Users/me/models/my-model`, `~/my-model` + +This unified interface mirrors how LoRA paths work, making it easy to switch between local and remote models. ```sh +# Using a HuggingFace repo mflux-generate \ --model Freepik/flux.1-lite-8B \ --base-model schnell \ --steps 4 \ --seed 42 \ --prompt "A beautiful landscape with mountains and a lake" + +# Using a local path +mflux-generate \ + --model /Users/me/models/flux-lite \ + --base-model schnell \ + --steps 4 \ + --seed 42 \ + --prompt "A beautiful landscape with mountains and a lake" ``` Some examples of compatible third-party models include: @@ -1426,6 +1453,36 @@ Note: The optional `--prompt` parameter allows you to guide the VLM's interpreta --- +### โšก Z-Image + +MFLUX supports [Z-Image-Turbo](https://huggingface.co/Tongyi-MAI/Z-Image-Turbo) from Tongyi Lab (Alibaba), released in November 2025. Z-Image is an efficient 6B-parameter image generation model with a single-stream DiT architecture. Z-Image-Turbo delivers high-quality images in just 9 steps, making it one of the fastest open-source models available. All the standard modes such as, img2img, LoRA and quantizations are supported for this model. See the [technical paper](https://arxiv.org/abs/2511.22699) for more details. + +![Z-Image-Turbo Example](src/mflux/assets/z_image_turbo_example.jpg) + +#### Example + +The following uses the pre-quantized 4-bit model from [filipstrand/Z-Image-Turbo-mflux-4bit](https://huggingface.co/filipstrand/Z-Image-Turbo-mflux-4bit) to generate a vibrant 1960s style image with a LoRA adapter [Technically Color](https://huggingface.co/renderartist/Technically-Color-Z-Image-Turbo) for enhanced film color: + +```sh +mflux-generate-z-image-turbo \ + --model filipstrand/Z-Image-Turbo-mflux-4bit \ + --prompt "t3chnic4lly vibrant 1960s close-up of a woman sitting under a tree in a blue skirt and white blouse, she has blonde wavy short hair and a smile with green eyes lake scene by a garden with flowers in the foreground 1960s style film She's holding her hand out there is a small smooth frog in her palm, she's making eye contact with the toad." \ + --width 1280 \ + --height 720 \ + --seed 456 \ + --steps 9 \ + --lora-paths renderartist/Technically-Color-Z-Image-Turbo \ + --lora-scales 0.5 +``` + +โš ๏ธ *Note: Z-Image-Turbo requires downloading the `Tongyi-MAI/Z-Image-Turbo` model weights (~31GB), or use quantization for smaller sizes.* + +*Dreambooth fine-tuning for Z-Image is not yet supported in MFLUX but is planned. In the meantime, you can train Z-Image-Turbo LoRAs using [AI Toolkit](https://github.com/ostris/ai-toolkit) - see [How to Train a Z-Image-Turbo LoRA with AI Toolkit](https://www.youtube.com/watch?v=Kmve1_jiDpQ) by Ostris AI.* + +*For a Swift MLX implementation of Z-Image, see [zimage.swift](https://github.com/mzbac/zimage.swift) by [@mzbac](https://github.com/mzbac).* + +--- + ### ๐Ÿ”Œ LoRA MFLUX support loading trained [LoRA](https://huggingface.co/docs/diffusers/en/training/lora) adapters (actual training support is coming). @@ -1469,6 +1526,28 @@ mflux-generate \ Just to see the difference, this image displays the four cases: One of having both adapters fully active, partially active and no LoRA at all. The example above also show the usage of `--lora-scales` flag. +#### HuggingFace LoRA Downloads + +MFLUX can automatically download LoRAs directly from HuggingFace. Simply pass the repository ID to `--lora-paths`: + +```sh +# Download from a HuggingFace repo (auto-finds the .safetensors file) +mflux-generate \ + --prompt "a portrait" \ + --lora-paths "author/lora-model" +``` + +For repositories with multiple LoRA files (collections), use the `repo_id:filename` format to specify which file to download: + +```sh +# Download a specific file from a collection +mflux-generate \ + --prompt "film storyboard style, a cat" \ + --lora-paths "ali-vilab/In-Context-LoRA:film-storyboard.safetensors" +``` + +Downloaded LoRAs are cached locally and reused on subsequent runs. + #### LoRA Library Path MFLUX supports a convenient LoRA library feature that allows you to reference LoRA files by their basename instead of full paths. This is particularly useful when you have a collection of LoRA files organized in one or more directories. diff --git a/pyproject.toml b/pyproject.toml index 5bb71d6..a7f06b1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -3,21 +3,18 @@ requires = ["uv_build>=0.7.19,<0.8.0"] build-backend = "uv_build" [tool.uv.build-backend] -default-excludes = true # __pycache__, *.pyc, and *.pyo +default-excludes = true module-name = "mflux" namespace = true source-exclude = [ - # documentation assets were 27MB on 2025-07-05 "**/assets/**", - # dreambooth examples ~=5MB on 2025-07-05 "**/models/flux/variants/dreambooth/_example/images/**", - # loss pdf/tex does not need to be distributed "**/optimization/_loss_derivation/**", ] [project] name = "mflux" -version = "0.12.1" +version = "0.13.0.dev0" description = "A MLX port of FLUX based on the Huggingface Diffusers implementation." readme = "README.md" keywords = ["diffusers", "flux", "mlx"] @@ -42,9 +39,8 @@ dependencies = [ "requests>=2.32.4", "safetensors>=0.4.4,<1.0", "sentencepiece>=0.2.0,<1.0; python_version<'3.13'", - # sentencepiece 0.2.1 is first release with 3.13 and 3.14 wheels: https://pypi.org/project/sentencepiece/0.2.1/ "sentencepiece>=0.2.1,<1.0; python_version>='3.13'", - "tokenizers>=0.20.3; python_version>='3.13'", # transformers -> tokenizers + "tokenizers>=0.20.3; python_version>='3.13'", "toml>=0.10.2,<1.0", "torch>=2.7.1", "torch>=2.3.1,<3.0; python_version<'3.13'", @@ -68,36 +64,37 @@ dev = [ "matplotlib>3.10,<4.0", "pytest>=8.3.0,<9.0", "pytest-timer>=1.0,<2.0", - "mlx==0.29.2", # Used ONLY during test runs to ensure deterministic test results + "mlx==0.29.2", ] [project.urls] homepage = "https://github.com/filipstrand/mflux" [project.scripts] -mflux-generate = "mflux.generate:main" -mflux-generate-controlnet = "mflux.generate_controlnet:main" -mflux-generate-in-context = "mflux.generate_in_context_dev:main" -mflux-generate-in-context-edit = "mflux.generate_in_context_edit:main" -mflux-generate-in-context-catvton = "mflux.generate_in_context_catvton:main" -mflux-generate-fill = "mflux.generate_fill:main" -mflux-generate-depth = "mflux.generate_depth:main" -mflux-generate-redux = "mflux.generate_redux:main" -mflux-generate-kontext = "mflux.generate_kontext:main" -mflux-generate-qwen = "mflux.generate_qwen:main" -mflux-generate-qwen-edit = "mflux.generate_qwen_edit:main" -mflux-generate-fibo = "mflux.generate_fibo:main" -mflux-refine-fibo = "mflux.refine_fibo:main" -mflux-inspire-fibo = "mflux.inspire_fibo:main" -mflux-concept = "mflux.concept:main" -mflux-concept-from-image = "mflux.concept_from_image:main" -mflux-save = "mflux.save:main" -mflux-save-depth = "mflux.save_depth:main" -mflux-train = "mflux.train:main" -mflux-upscale = "mflux.upscale:main" -mflux-lora-library = "mflux.lora_library:main" -mflux-info = "mflux.info:main" -mflux-completions = "mflux.ui.cli.completions.install:main" +mflux-generate = "mflux.models.flux.cli.flux_generate:main" +mflux-generate-controlnet = "mflux.models.flux.cli.flux_generate_controlnet:main" +mflux-generate-in-context = "mflux.models.flux.cli.flux_generate_in_context_dev:main" +mflux-generate-in-context-edit = "mflux.models.flux.cli.flux_generate_in_context_edit:main" +mflux-generate-in-context-catvton = "mflux.models.flux.cli.flux_generate_in_context_catvton:main" +mflux-generate-fill = "mflux.models.flux.cli.flux_generate_fill:main" +mflux-generate-depth = "mflux.models.flux.cli.flux_generate_depth:main" +mflux-generate-redux = "mflux.models.flux.cli.flux_generate_redux:main" +mflux-generate-kontext = "mflux.models.flux.cli.flux_generate_kontext:main" +mflux-generate-qwen = "mflux.models.qwen.cli.qwen_image_generate:main" +mflux-generate-qwen-edit = "mflux.models.qwen.cli.qwen_image_edit_generate:main" +mflux-generate-fibo = "mflux.models.fibo.cli.fibo_generate:main" +mflux-generate-z-image-turbo = "mflux.models.z_image.cli.z_image_turbo_generate:main" +mflux-refine-fibo = "mflux.models.fibo_vlm.cli.fibo_refine:main" +mflux-inspire-fibo = "mflux.models.fibo_vlm.cli.fibo_inspire:main" +mflux-concept = "mflux.models.flux.cli.flux_concept:main" +mflux-concept-from-image = "mflux.models.flux.cli.flux_concept_from_image:main" +mflux-save = "mflux.models.common.cli.save:main" +mflux-save-depth = "mflux.models.depth_pro.cli.save_depth:main" +mflux-train = "mflux.models.common.cli.train:main" +mflux-upscale = "mflux.models.flux.cli.flux_upscale:main" +mflux-lora-library = "mflux.models.common.cli.lora_library:main" +mflux-info = "mflux.models.common.cli.info:main" +mflux-completions = "mflux.cli.completions.install:main" [tool.ruff] @@ -107,44 +104,18 @@ target-version = "py310" respect-gitignore = true [tool.ruff.lint] -# Enable Pyflakes (`F`) and a subset of the pycodestyle (`E`) codes by default. -# Unlike Flake8, Ruff doesn't enable pycodestyle warnings (`W`) or -# McCabe complexity (`C901`) by default. select = ["BLE", "E4", "E7", "E9", "F", "I", "ICN", "LOG", "PERF", "W"] ignore = [] - -# Allow fix for all enabled rules (when `--fix`) is provided. fixable = ["ALL"] unfixable = [] - -# Allow unused variables when underscore-prefixed. dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$" [tool.ruff.format] -# Like Black, use double quotes for strings. quote-style = "double" - -# Like Black, indent with spaces, rather than tabs. indent-style = "space" - -# Like Black, respect magic trailing commas. skip-magic-trailing-comma = false - -# Like Black, automatically detect the appropriate line ending. line-ending = "auto" - -# Enable auto-formatting of code examples in docstrings. Markdown, -# reStructuredText code/literal blocks and doctests are all supported. -# -# This is currently disabled by default, but it is planned for this -# to be opt-out in the future. docstring-code-format = false - -# Set the line length limit used when formatting code snippets in -# docstrings. -# -# This only has an effect when the `docstring-code-format` setting is -# enabled. docstring-code-line-length = "dynamic" [tool.pytest.ini_options] @@ -155,7 +126,6 @@ markers = [ "high_memory_requirement: marks tests that require high memory (deselect with '-m \"not high_memory_requirement\"')", ] -# https://docs.astral.sh/ruff/settings/#lintisort [tool.ruff.lint.isort] case-sensitive = false combine-as-imports = true @@ -173,7 +143,6 @@ section-order = [ [tool.mypy] disable_error_code = [ - # TODO: for each error code - clean them up in a single PR then remove entry "annotation-unchecked", "arg-type", "assignment", @@ -188,5 +157,4 @@ disable_error_code = [ error_summary = true ignore_missing_imports = true implicit_optional = true -# we should feel free to use new hinting features even if we back support to earlier versions python_version = "3.12" diff --git a/src/mflux/__init__.py b/src/mflux/__init__.py index c72ee76..9795341 100644 --- a/src/mflux/__init__.py +++ b/src/mflux/__init__.py @@ -4,3 +4,8 @@ import os # This must be set before any tokenizers are imported/used if "TOKENIZERS_PARALLELISM" not in os.environ: os.environ["TOKENIZERS_PARALLELISM"] = "false" + +# Export main classes for convenient import +from mflux.models.flux.variants.txt2img.flux import Flux1 + +__all__ = ["Flux1"] diff --git a/src/mflux/assets/z_image_turbo_example.jpg b/src/mflux/assets/z_image_turbo_example.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9e91b15b801dfa1a882670cc79d731a9fbb3237d GIT binary patch literal 1383266 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 !_32J*Vb&>HONPrlBBZ%I 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�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%0D^WNHe%<)U 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

MPb34cIOE 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%0Am9L0aM6q`akEM`x$cyU?2FV=-!6$)S!?+U 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

AUiuZnq}}15wNJl8nmQJR*dg6wewlVdNQYB) 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≺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

o#5J}>aV=0lqJD7vW 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%0Ah5`>L0?v`kKV49}cDTbZ*OOTSr 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 iM&Y_kH7Qa{In0|>>>O None: ... @@ -26,7 +26,7 @@ class InLoopCallback(Protocol): seed: int, prompt: str, latents: mx.array, - config: RuntimeConfig, + config: Config, time_steps: tqdm, ) -> None: ... @@ -37,7 +37,7 @@ class AfterLoopCallback(Protocol): seed: int, prompt: str, latents: mx.array, - config: RuntimeConfig, + config: Config, ) -> None: ... @@ -48,6 +48,6 @@ class InterruptCallback(Protocol): seed: int, prompt: str, latents: mx.array, - config: RuntimeConfig, + config: Config, time_steps: tqdm, ) -> None: ... diff --git a/src/mflux/callbacks/callback_manager.py b/src/mflux/callbacks/callback_manager.py index c439260..fabb5ec 100644 --- a/src/mflux/callbacks/callback_manager.py +++ b/src/mflux/callbacks/callback_manager.py @@ -1,6 +1,5 @@ from argparse import Namespace -from mflux.callbacks.callback_registry import CallbackRegistry from mflux.callbacks.instances.battery_saver import BatterySaver from mflux.callbacks.instances.canny_saver import CannyImageSaver from mflux.callbacks.instances.depth_saver import DepthImageSaver @@ -13,32 +12,33 @@ class CallbackManager: def register_callbacks( args: Namespace, model, + latent_creator, enable_canny_saver: bool = False, enable_depth_saver: bool = False, ) -> MemorySaver | None: # Battery saver (always enabled) - CallbackManager._register_battery_saver(args) + CallbackManager._register_battery_saver(args, model) # VAE Tiling (if requested) CallbackManager._register_vae_tiling(args, model) # Specialized savers (based on flags) if enable_canny_saver: - CallbackManager._register_canny_saver(args) + CallbackManager._register_canny_saver(args, model) if enable_depth_saver: - CallbackManager._register_depth_saver(args) + CallbackManager._register_depth_saver(args, model) # Stepwise handler (if requested) - CallbackManager._register_stepwise_handler(args, model) + CallbackManager._register_stepwise_handler(args, model, latent_creator) # Memory saver (if requested) return CallbackManager._register_memory_saver(args, model) @staticmethod - def _register_battery_saver(args: Namespace) -> None: + def _register_battery_saver(args: Namespace, model) -> None: battery_saver = BatterySaver(battery_percentage_stop_limit=args.battery_percentage_stop_limit) - CallbackRegistry.register_before_loop(battery_saver) + model.callbacks.register(battery_saver) @staticmethod def _register_vae_tiling(args: Namespace, model) -> None: @@ -47,31 +47,31 @@ class CallbackManager: model.vae.decoder.split_direction = args.vae_tiling_split @staticmethod - def _register_canny_saver(args: Namespace) -> None: + def _register_canny_saver(args: Namespace, model) -> None: if hasattr(args, "controlnet_save_canny") and args.controlnet_save_canny: canny_image_saver = CannyImageSaver(path=args.output) - CallbackRegistry.register_before_loop(canny_image_saver) + model.callbacks.register(canny_image_saver) @staticmethod - def _register_depth_saver(args: Namespace) -> None: + def _register_depth_saver(args: Namespace, model) -> None: if hasattr(args, "save_depth_map") and args.save_depth_map: depth_image_saver = DepthImageSaver(path=args.output) - CallbackRegistry.register_before_loop(depth_image_saver) + model.callbacks.register(depth_image_saver) @staticmethod - def _register_stepwise_handler(args: Namespace, model) -> None: + def _register_stepwise_handler(args: Namespace, model, latent_creator) -> None: if args.stepwise_image_output_dir: - handler = StepwiseHandler(model=model, output_dir=args.stepwise_image_output_dir) - CallbackRegistry.register_before_loop(handler) - CallbackRegistry.register_in_loop(handler) - CallbackRegistry.register_interrupt(handler) + handler = StepwiseHandler( + model=model, + latent_creator=latent_creator, + output_dir=args.stepwise_image_output_dir, + ) + model.callbacks.register(handler) @staticmethod def _register_memory_saver(args: Namespace, model) -> MemorySaver | None: memory_saver = None if args.low_ram: memory_saver = MemorySaver(model=model, keep_transformer=len(args.seed) > 1) - CallbackRegistry.register_before_loop(memory_saver) - CallbackRegistry.register_in_loop(memory_saver) - CallbackRegistry.register_after_loop(memory_saver) + model.callbacks.register(memory_saver) return memory_saver diff --git a/src/mflux/callbacks/callback_registry.py b/src/mflux/callbacks/callback_registry.py index 7429075..4e610df 100644 --- a/src/mflux/callbacks/callback_registry.py +++ b/src/mflux/callbacks/callback_registry.py @@ -1,40 +1,44 @@ +from __future__ import annotations + +from typing import TYPE_CHECKING + from mflux.callbacks.callback import AfterLoopCallback, BeforeLoopCallback, InLoopCallback, InterruptCallback +if TYPE_CHECKING: + from mflux.callbacks.generation_context import GenerationContext + from mflux.models.common.config.config import Config + class CallbackRegistry: - in_loop = [] - before_loop = [] - interrupt = [] - after_loop = [] + def __init__(self): + self.in_loop: list[InLoopCallback] = [] + self.before_loop: list[BeforeLoopCallback] = [] + self.interrupt: list[InterruptCallback] = [] + self.after_loop: list[AfterLoopCallback] = [] - @staticmethod - def register_in_loop(callback: InLoopCallback) -> None: - CallbackRegistry.in_loop.append(callback) + def register(self, callback) -> None: + if hasattr(callback, "call_before_loop"): + self.before_loop.append(callback) + if hasattr(callback, "call_in_loop"): + self.in_loop.append(callback) + if hasattr(callback, "call_after_loop"): + self.after_loop.append(callback) + if hasattr(callback, "call_interrupt"): + self.interrupt.append(callback) - @staticmethod - def register_before_loop(callback: BeforeLoopCallback) -> None: - CallbackRegistry.before_loop.append(callback) + def start(self, seed: int, prompt: str, config: Config) -> GenerationContext: + from mflux.callbacks.generation_context import GenerationContext - @staticmethod - def register_after_loop(callback: AfterLoopCallback) -> None: - CallbackRegistry.after_loop.append(callback) + return GenerationContext(self, seed, prompt, config) - @staticmethod - def register_interrupt(callback: InterruptCallback) -> None: - CallbackRegistry.interrupt.append(callback) + def before_loop_callbacks(self) -> list[BeforeLoopCallback]: + return self.before_loop - @staticmethod - def before_loop_callbacks() -> list[BeforeLoopCallback]: - return CallbackRegistry.before_loop + def in_loop_callbacks(self) -> list[InLoopCallback]: + return self.in_loop - @staticmethod - def in_loop_callbacks() -> list[InLoopCallback]: - return CallbackRegistry.in_loop + def after_loop_callbacks(self) -> list[AfterLoopCallback]: + return self.after_loop - @staticmethod - def after_loop_callbacks() -> list[AfterLoopCallback]: - return CallbackRegistry.after_loop - - @staticmethod - def interrupt_callbacks() -> list[InterruptCallback]: - return CallbackRegistry.interrupt + def interrupt_callbacks(self) -> list[InterruptCallback]: + return self.interrupt diff --git a/src/mflux/callbacks/callbacks.py b/src/mflux/callbacks/callbacks.py index 08d07d9..4c6e55a 100644 --- a/src/mflux/callbacks/callbacks.py +++ b/src/mflux/callbacks/callbacks.py @@ -3,20 +3,21 @@ import PIL.Image import tqdm from mflux.callbacks.callback_registry import CallbackRegistry -from mflux.config.runtime_config import RuntimeConfig +from mflux.models.common.config.config import Config class Callbacks: @staticmethod def before_loop( + registry: CallbackRegistry, seed: int, prompt: str, latents: mx.array, - config: RuntimeConfig, + config: Config, canny_image: PIL.Image.Image | None = None, depth_image: PIL.Image.Image | None = None, ): - for subscriber in CallbackRegistry.before_loop_callbacks(): + for subscriber in registry.before_loop_callbacks(): subscriber.call_before_loop( seed=seed, prompt=prompt, @@ -28,14 +29,15 @@ class Callbacks: @staticmethod def in_loop( + registry: CallbackRegistry, t: int, seed: int, prompt: str, latents: mx.array, - config: RuntimeConfig, + config: Config, time_steps: tqdm, ): - for subscriber in CallbackRegistry.in_loop_callbacks(): + for subscriber in registry.in_loop_callbacks(): subscriber.call_in_loop( t=t, seed=seed, @@ -47,24 +49,26 @@ class Callbacks: @staticmethod def after_loop( + registry: CallbackRegistry, seed: int, prompt: str, latents: mx.array, - config: RuntimeConfig, + config: Config, ): - for subscriber in CallbackRegistry.after_loop_callbacks(): + for subscriber in registry.after_loop_callbacks(): subscriber.call_after_loop(seed=seed, prompt=prompt, latents=latents, config=config) @staticmethod def interruption( + registry: CallbackRegistry, t: int, seed: int, prompt: str, latents: mx.array, - config: RuntimeConfig, + config: Config, time_steps: tqdm, ): - for subscriber in CallbackRegistry.interrupt_callbacks(): + for subscriber in registry.interrupt_callbacks(): subscriber.call_interrupt( t=t, seed=seed, diff --git a/src/mflux/callbacks/generation_context.py b/src/mflux/callbacks/generation_context.py new file mode 100644 index 0000000..f6b3e87 --- /dev/null +++ b/src/mflux/callbacks/generation_context.py @@ -0,0 +1,75 @@ +from __future__ import annotations + +from typing import TYPE_CHECKING + +import mlx.core as mx +import PIL.Image +import tqdm + +if TYPE_CHECKING: + from mflux.callbacks.callback_registry import CallbackRegistry + from mflux.models.common.config.config import Config + + +class GenerationContext: + def __init__( + self, + registry: CallbackRegistry, + seed: int, + prompt: str, + config: Config, + ): + self._registry = registry + self._seed = seed + self._prompt = prompt + self._config = config + + def before_loop( + self, + latents: mx.array, + *, + canny_image: PIL.Image.Image | None = None, + depth_image: PIL.Image.Image | None = None, + ) -> None: + for subscriber in self._registry.before_loop_callbacks(): + subscriber.call_before_loop( + seed=self._seed, + prompt=self._prompt, + latents=latents, + config=self._config, + canny_image=canny_image, + depth_image=depth_image, + ) + + def in_loop(self, t: int, latents: mx.array, time_steps: tqdm = None) -> None: + time_steps = time_steps or self._config.time_steps + for subscriber in self._registry.in_loop_callbacks(): + subscriber.call_in_loop( + t=t, + seed=self._seed, + prompt=self._prompt, + latents=latents, + config=self._config, + time_steps=time_steps, + ) + + def after_loop(self, latents: mx.array) -> None: + for subscriber in self._registry.after_loop_callbacks(): + subscriber.call_after_loop( + seed=self._seed, + prompt=self._prompt, + latents=latents, + config=self._config, + ) + + def interruption(self, t: int, latents: mx.array, time_steps: tqdm = None) -> None: + time_steps = time_steps or self._config.time_steps + for subscriber in self._registry.interrupt_callbacks(): + subscriber.call_interrupt( + t=t, + seed=self._seed, + prompt=self._prompt, + latents=latents, + config=self._config, + time_steps=time_steps, + ) diff --git a/src/mflux/callbacks/instances/battery_saver.py b/src/mflux/callbacks/instances/battery_saver.py index c06d26c..13139fd 100644 --- a/src/mflux/callbacks/instances/battery_saver.py +++ b/src/mflux/callbacks/instances/battery_saver.py @@ -6,57 +6,67 @@ import subprocess from mflux.callbacks.callback import BeforeLoopCallback from mflux.utils.exceptions import StopImageGenerationException -PMSET_AC_POWER_STATUS = "Now drawing from 'AC Power'" -PMSET_BATT_STATUS_PATTERN = r"InternalBattery-.+?(\d+)%" - logger = logging.getLogger(__name__) -def _get_machine_model() -> str: - """Get the Mac machine model using system_profiler.""" - try: - result = subprocess.run( - ["system_profiler", "-json", "SPHardwareDataType"], capture_output=True, text=True, check=True - ) - data = json.loads(result.stdout) - return data["SPHardwareDataType"][0]["machine_model"] - except (subprocess.CalledProcessError, json.JSONDecodeError, IndexError, KeyError) as e: - logger.warning(f"Cannot determine machine model via 'system_profiler -json SPHardwareDataType': {e}") - return "Unknown" - - -MACHINE_MODEL = _get_machine_model() -# assumption: all Apple Silicon models powered by battery are "MacBook"s -MACHINE_IS_BATTERY_POWERED = "MacBook" in MACHINE_MODEL - - -def get_battery_percentage() -> int | None: - """Get the current battery percentage of a battery-powered Mac. - Returns None if Mac is not a battery-powered machine.""" - if not MACHINE_IS_BATTERY_POWERED: - return None - percentage = None - try: - # running the subprocess would be expensive in a tight loop - # but in mflux use case, we would call this only once every - # few minutes due to N-minutes-long generation times - result = subprocess.run(["pmset", "-g", "batt"], capture_output=True, text=True, check=True) - if PMSET_AC_POWER_STATUS not in result.stdout: - if match := re.search(PMSET_BATT_STATUS_PATTERN, result.stdout): - percentage = int(match.group(1)) - except (subprocess.CalledProcessError, TypeError) as e: - logger.warning( - f"Cannot read battery percentage via 'pmset -g batt': {e}. Battery saver functionality is disabled and the program will continue running." - ) - - return percentage - - class BatterySaver(BeforeLoopCallback): - def __init__(self, battery_percentage_stop_limit=10): + PMSET_AC_POWER_STATUS = "Now drawing from 'AC Power'" + PMSET_BATT_STATUS_PATTERN = r"InternalBattery-.+?(\d+)%" + + _machine_model: str | None = None + _is_battery_powered: bool | None = None + + def __init__(self, battery_percentage_stop_limit: int = 10): self.limit = battery_percentage_stop_limit def call_before_loop(self, **kwargs) -> None: # type: ignore - current_pct: int | None = get_battery_percentage() + current_pct = self._get_battery_percentage() if current_pct is not None and current_pct <= self.limit: raise StopImageGenerationException(f"Battery below {self.limit}% threshold: {current_pct}%") + + def _get_battery_percentage(self) -> int | None: + if not self._is_machine_battery_powered(): + return None + + percentage = None + try: + result = subprocess.run( + ["pmset", "-g", "batt"], + capture_output=True, + text=True, + check=True, + ) + if self.PMSET_AC_POWER_STATUS not in result.stdout: + if match := re.search(self.PMSET_BATT_STATUS_PATTERN, result.stdout): + percentage = int(match.group(1)) + except (subprocess.CalledProcessError, TypeError) as e: + logger.warning( + f"Cannot read battery percentage via 'pmset -g batt': {e}. " + f"Battery saver functionality is disabled and the program will continue running." + ) + + return percentage + + @classmethod + def _is_machine_battery_powered(cls) -> bool: + if cls._is_battery_powered is None: + machine_model = cls._get_machine_model() + cls._is_battery_powered = "MacBook" in machine_model + return cls._is_battery_powered + + @classmethod + def _get_machine_model(cls) -> str: + if cls._machine_model is None: + try: + result = subprocess.run( + ["system_profiler", "-json", "SPHardwareDataType"], + capture_output=True, + text=True, + check=True, + ) + data = json.loads(result.stdout) + cls._machine_model = data["SPHardwareDataType"][0]["machine_model"] + except (subprocess.CalledProcessError, json.JSONDecodeError, IndexError, KeyError) as e: + logger.warning(f"Cannot determine machine model via 'system_profiler -json SPHardwareDataType': {e}") + cls._machine_model = "Unknown" + return cls._machine_model diff --git a/src/mflux/callbacks/instances/canny_saver.py b/src/mflux/callbacks/instances/canny_saver.py index 2f2c232..4991269 100644 --- a/src/mflux/callbacks/instances/canny_saver.py +++ b/src/mflux/callbacks/instances/canny_saver.py @@ -5,7 +5,7 @@ import mlx.core as mx import PIL.Image from mflux.callbacks.callback import BeforeLoopCallback -from mflux.config.runtime_config import RuntimeConfig +from mflux.models.common.config.config import Config from mflux.utils.image_util import ImageUtil @@ -18,7 +18,7 @@ class CannyImageSaver(BeforeLoopCallback): seed: int, prompt: str, latents: mx.array, - config: RuntimeConfig, + config: Config, canny_image: PIL.Image.Image | None = None, depth_image: PIL.Image.Image | None = None, ) -> None: diff --git a/src/mflux/callbacks/instances/depth_saver.py b/src/mflux/callbacks/instances/depth_saver.py index 6d1f938..5a29c26 100644 --- a/src/mflux/callbacks/instances/depth_saver.py +++ b/src/mflux/callbacks/instances/depth_saver.py @@ -5,7 +5,7 @@ import mlx.core as mx import PIL.Image from mflux.callbacks.callback import BeforeLoopCallback -from mflux.config.runtime_config import RuntimeConfig +from mflux.models.common.config.config import Config from mflux.utils.image_util import ImageUtil @@ -18,7 +18,7 @@ class DepthImageSaver(BeforeLoopCallback): seed: int, prompt: str, latents: mx.array, - config: RuntimeConfig, + config: Config, canny_image: PIL.Image.Image | None = None, depth_image: PIL.Image.Image | None = None, ) -> None: @@ -28,5 +28,5 @@ class DepthImageSaver(BeforeLoopCallback): base, ext = os.path.splitext(self.path) ImageUtil.save_image( image=depth_image, - path=f"{base}_depth_map{ext}" - ) # fmt: off + path=f"{base}_depth_map{ext}", + ) diff --git a/src/mflux/callbacks/instances/memory_saver.py b/src/mflux/callbacks/instances/memory_saver.py index bb93416..50bc245 100644 --- a/src/mflux/callbacks/instances/memory_saver.py +++ b/src/mflux/callbacks/instances/memory_saver.py @@ -5,15 +5,10 @@ import PIL.Image from tqdm import tqdm from mflux.callbacks.callback import AfterLoopCallback, BeforeLoopCallback, InLoopCallback -from mflux.config.runtime_config import RuntimeConfig +from mflux.models.common.config.config import Config class MemorySaver(BeforeLoopCallback, InLoopCallback, AfterLoopCallback): - """ - Optimizes memory usage by clearing caches and removing unused model - components at strategic points in the execution cycle. - """ - def __init__(self, model, keep_transformer: bool = True, cache_limit_bytes: int = 1000**3): self.model = model self.keep_transformer = keep_transformer @@ -27,7 +22,7 @@ class MemorySaver(BeforeLoopCallback, InLoopCallback, AfterLoopCallback): seed: int, prompt: str, latents: mx.array, - config: RuntimeConfig, + config: Config, canny_image: PIL.Image.Image | None = None, depth_image: PIL.Image.Image | None = None, ) -> None: @@ -40,7 +35,7 @@ class MemorySaver(BeforeLoopCallback, InLoopCallback, AfterLoopCallback): seed: int, prompt: str, latents: mx.array, - config: RuntimeConfig, + config: Config, time_steps: tqdm, ) -> None: self.peak_memory = mx.get_peak_memory() @@ -50,7 +45,7 @@ class MemorySaver(BeforeLoopCallback, InLoopCallback, AfterLoopCallback): seed: int, prompt: str, latents: mx.array, - config: RuntimeConfig, + config: Config, ) -> None: self.peak_memory = mx.get_peak_memory() if not self.keep_transformer: @@ -66,8 +61,9 @@ class MemorySaver(BeforeLoopCallback, InLoopCallback, AfterLoopCallback): self.model.text_encoder = None if hasattr(self.model, "qwen_vl_encoder") and self.model.qwen_vl_encoder is not None: self.model.qwen_vl_encoder = None - if hasattr(self.model, "qwen_vl_tokenizer") and self.model.qwen_vl_tokenizer is not None: - self.model.qwen_vl_tokenizer = None + # Clear VLM tokenizers from the tokenizers dict if present + if hasattr(self.model, "tokenizers") and "qwen_vl" in self.model.tokenizers: + self.model.tokenizers["qwen_vl"] = None gc.collect() mx.clear_cache() diff --git a/src/mflux/callbacks/instances/stepwise_handler.py b/src/mflux/callbacks/instances/stepwise_handler.py index fd14cc9..f7c5f61 100644 --- a/src/mflux/callbacks/instances/stepwise_handler.py +++ b/src/mflux/callbacks/instances/stepwise_handler.py @@ -5,8 +5,7 @@ import PIL.Image import tqdm from mflux.callbacks.callback import BeforeLoopCallback, InLoopCallback, InterruptCallback -from mflux.config.runtime_config import RuntimeConfig -from mflux.utils.array_util import ArrayUtil +from mflux.models.common.config.config import Config from mflux.utils.image_util import ImageUtil @@ -15,9 +14,11 @@ class StepwiseHandler(BeforeLoopCallback, InLoopCallback, InterruptCallback): self, model, output_dir: str, + latent_creator, ): self.model = model self.output_dir = Path(output_dir) + self.latent_creator = latent_creator self.step_wise_images = [] if self.output_dir: @@ -28,7 +29,7 @@ class StepwiseHandler(BeforeLoopCallback, InLoopCallback, InterruptCallback): seed: int, prompt: str, latents: mx.array, - config: RuntimeConfig, + config: Config, canny_image: PIL.Image.Image | None = None, depth_image: PIL.Image.Image | None = None, ) -> None: @@ -47,7 +48,7 @@ class StepwiseHandler(BeforeLoopCallback, InLoopCallback, InterruptCallback): seed: int, prompt: str, latents: mx.array, - config: RuntimeConfig, + config: Config, time_steps: tqdm, ) -> None: self._save_image( @@ -65,7 +66,7 @@ class StepwiseHandler(BeforeLoopCallback, InLoopCallback, InterruptCallback): seed: int, prompt: str, latents: mx.array, - config: RuntimeConfig, + config: Config, time_steps: tqdm, ) -> None: self._save_composite(seed=seed) @@ -76,10 +77,10 @@ class StepwiseHandler(BeforeLoopCallback, InLoopCallback, InterruptCallback): seed: int, prompt: str, latents: mx.array, - config: RuntimeConfig, + config: Config, time_steps: tqdm, ) -> None: - unpack_latents = ArrayUtil.unpack_latents(latents=latents, height=config.height, width=config.width) + unpack_latents = self.latent_creator.unpack_latents(latents=latents, height=config.height, width=config.width) stepwise_decoded = self.model.vae.decode(unpack_latents) generation_time = time_steps.format_dict["elapsed"] if time_steps is not None else 0 stepwise_img = ImageUtil.to_image( diff --git a/src/mflux/config/__init__.py b/src/mflux/cli/__init__.py similarity index 100% rename from src/mflux/config/__init__.py rename to src/mflux/cli/__init__.py diff --git a/src/mflux/models/common/lora/download/__init__.py b/src/mflux/cli/completions/__init__.py similarity index 100% rename from src/mflux/models/common/lora/download/__init__.py rename to src/mflux/cli/completions/__init__.py diff --git a/src/mflux/ui/cli/completions/generator.py b/src/mflux/cli/completions/generator.py similarity index 76% rename from src/mflux/ui/cli/completions/generator.py rename to src/mflux/cli/completions/generator.py index 263901b..02d9098 100644 --- a/src/mflux/ui/cli/completions/generator.py +++ b/src/mflux/cli/completions/generator.py @@ -1,16 +1,12 @@ -"""Generate ZSH completion scripts for mflux commands.""" - import argparse from pathlib import Path +from mflux.cli.defaults import defaults as ui_defaults +from mflux.cli.parser.parsers import CommandLineParser from mflux.models.flux.variants.in_context.utils.in_context_loras import LORA_NAME_MAP -from mflux.ui import defaults as ui_defaults -from mflux.ui.cli.parsers import CommandLineParser class CompletionGenerator: - """Generate ZSH completion scripts by introspecting argparse parsers.""" - def __init__(self): self.commands = [ "mflux-generate", @@ -22,6 +18,12 @@ class CompletionGenerator: "mflux-generate-fill", "mflux-generate-depth", "mflux-generate-redux", + "mflux-generate-qwen", + "mflux-generate-qwen-edit", + "mflux-generate-fibo", + "mflux-generate-z-image-turbo", + "mflux-refine-fibo", + "mflux-inspire-fibo", "mflux-concept", "mflux-concept-from-image", "mflux-save", @@ -29,10 +31,10 @@ class CompletionGenerator: "mflux-train", "mflux-upscale", "mflux-lora-library", + "mflux-info", ] def create_parser_for_command(self, command: str) -> CommandLineParser: - """Create the appropriate parser for a given command.""" parser = CommandLineParser(prog=command, add_help=False) if command == "mflux-generate": @@ -111,6 +113,58 @@ class CompletionGenerator: parser.add_redux_arguments() parser.add_output_arguments() + elif command == "mflux-generate-qwen": + parser.add_general_arguments() + parser.add_model_arguments(require_model_arg=False) + parser.add_lora_arguments() + parser.add_image_generator_arguments(supports_metadata_config=True) + parser.add_image_to_image_arguments() + parser.add_output_arguments() + + elif command == "mflux-generate-qwen-edit": + parser.add_general_arguments() + parser.add_model_arguments(require_model_arg=False) + parser.add_lora_arguments() + parser.add_image_generator_arguments(supports_metadata_config=True) + parser.add_argument("--image-paths", type=Path, nargs="+", required=True, help="Local paths to init images") + parser.add_output_arguments() + + elif command == "mflux-generate-fibo": + parser.add_general_arguments() + parser.add_model_arguments(require_model_arg=False) + parser.add_lora_arguments() + parser.add_image_generator_arguments(supports_metadata_config=True) + parser.add_image_to_image_arguments() + parser.add_output_arguments() + + elif command == "mflux-generate-z-image-turbo": + parser.add_general_arguments() + parser.add_model_arguments(require_model_arg=False) + parser.add_lora_arguments() + parser.add_image_generator_arguments(supports_metadata_config=True) + parser.add_image_to_image_arguments() + parser.add_output_arguments() + + elif command == "mflux-refine-fibo": + parser.add_argument("--prompt-file", type=Path, required=True, help="Path to JSON prompt file to refine") + parser.add_argument("--instructions", type=str, required=True, help="Text instructions for refinement") + parser.add_argument("--output", type=Path, help="Output path for refined JSON prompt") + parser.add_argument("--path", type=str, help="Local path for VLM model") + parser.add_argument("--top-p", type=float, help="Top-p sampling for VLM") + parser.add_argument("--temperature", type=float, help="Temperature for VLM") + parser.add_argument("--max-tokens", type=int, help="Max tokens for VLM generation") + parser.add_argument("--seed", type=int, help="Seed for VLM generation") + + elif command == "mflux-inspire-fibo": + parser.add_argument("--image-path", type=Path, required=True, help="Path to image file to inspire from") + parser.add_argument("--prompt", type=str, help="Optional text prompt to blend with the image") + parser.add_argument("--output", type=Path, help="Output path for generated JSON prompt") + parser.add_argument("--path", type=str, help="Local path for VLM model") + parser.add_argument("--top-p", type=float, help="Top-p sampling for VLM") + parser.add_argument("--temperature", type=float, help="Temperature for VLM") + parser.add_argument("--max-tokens", type=int, help="Max tokens for VLM generation") + parser.add_argument("--seed", type=int, help="Seed for VLM generation") + elif command == "mflux-concept": parser.add_general_arguments() parser.add_model_arguments() @@ -149,10 +203,12 @@ class CompletionGenerator: list_parser = subparsers.add_parser("list") list_parser.add_argument("--paths", action="store_true") + elif command == "mflux-info": + parser.add_info_arguments() + return parser def escape_description(self, desc: str) -> str: - """Escape special characters in descriptions for ZSH.""" if not desc: return "" # Escape brackets, quotes, and other special characters @@ -165,7 +221,6 @@ class CompletionGenerator: return desc def format_argument_spec(self, action: argparse.Action) -> list[str]: - """Format an argparse action into ZSH completion syntax.""" specs = [] # Handle options with both short and long forms @@ -195,7 +250,6 @@ class CompletionGenerator: return specs def get_value_spec(self, action: argparse.Action) -> str: - """Get the value specification for an argument.""" # Check for special cases first if action.dest == "model": return ":model:_mflux_models" @@ -241,7 +295,6 @@ class CompletionGenerator: return "" def generate_command_function(self, command: str, parser: CommandLineParser) -> str: - """Generate the ZSH completion function for a specific command.""" func_name = command.replace("-", "_") lines = [f"_{func_name}() {{"] lines.append(" local -a args") @@ -262,7 +315,6 @@ class CompletionGenerator: return "\n".join(lines) def generate_header(self) -> str: - """Generate the completion script header.""" commands = " ".join(self.commands) return f"""#compdef {commands} # ZSH completion for mflux commands @@ -271,7 +323,6 @@ class CompletionGenerator: """ def generate_helper_functions(self) -> str: - """Generate helper functions for common completions.""" helpers = [] # Model completion helper @@ -303,7 +354,6 @@ class CompletionGenerator: return "\n".join(helpers) def generate_main_function(self) -> str: - """Generate the main completion dispatcher.""" lines = ["# Main completion dispatcher", "_mflux() {", " local cmd=$words[1]", " case $cmd in"] for command in self.commands: @@ -317,7 +367,6 @@ class CompletionGenerator: return "\n".join(lines) def generate(self) -> str: - """Generate the complete ZSH completion script.""" script = [self.generate_header()] script.append(self.generate_helper_functions()) diff --git a/src/mflux/ui/cli/completions/install.py b/src/mflux/cli/completions/install.py similarity index 94% rename from src/mflux/ui/cli/completions/install.py rename to src/mflux/cli/completions/install.py index 3d6c47d..28d9fc0 100644 --- a/src/mflux/ui/cli/completions/install.py +++ b/src/mflux/cli/completions/install.py @@ -1,17 +1,14 @@ #!/usr/bin/env python3 -"""Install ZSH completions for mflux commands.""" - import argparse import os import subprocess import sys from pathlib import Path -from mflux.ui.cli.completions.generator import CompletionGenerator +from mflux.cli.completions.generator import CompletionGenerator def get_zsh_fpath(): - """Get the ZSH fpath directories.""" try: result = subprocess.run( ["zsh", "-c", "echo $fpath"], @@ -25,7 +22,6 @@ def get_zsh_fpath(): def find_completion_dir(): - """Find appropriate directory for completion files.""" # Common completion directories in order of preference candidates = [ Path.home() / ".zsh" / "completions", @@ -53,7 +49,6 @@ def find_completion_dir(): def check_installation(): - """Check if completions are properly installed and accessible.""" print("Checking mflux completions installation...\n") # Check if completion file exists @@ -107,7 +102,6 @@ def check_installation(): def main(): - """Main entry point for completion installation.""" parser = argparse.ArgumentParser( description="Install or generate ZSH completions for mflux commands", formatter_class=argparse.RawDescriptionHelpFormatter, diff --git a/src/mflux/models/common/quantization/__init__.py b/src/mflux/cli/defaults/__init__.py similarity index 100% rename from src/mflux/models/common/quantization/__init__.py rename to src/mflux/cli/defaults/__init__.py diff --git a/src/mflux/cli/defaults/defaults.py b/src/mflux/cli/defaults/defaults.py new file mode 100644 index 0000000..4aaadef --- /dev/null +++ b/src/mflux/cli/defaults/defaults.py @@ -0,0 +1,31 @@ +import os +from pathlib import Path + +import platformdirs + +BATTERY_PERCENTAGE_STOP_LIMIT = 5 +CONTROLNET_STRENGTH = 0.4 +DEFAULT_DEV_FILL_GUIDANCE = 30 +DEFAULT_DEPTH_GUIDANCE = 10 +DIMENSION_STEP_PIXELS = 16 +GUIDANCE_SCALE = 3.5 +GUIDANCE_SCALE_KONTEXT = 2.5 +HEIGHT, WIDTH = 1024, 1024 +IMAGE_STRENGTH = 0.4 +MODEL_CHOICES = ["dev", "schnell", "krea-dev", "dev-krea", "qwen", "fibo", "z-image-turbo"] +MODEL_INFERENCE_STEPS = { + "dev": 25, + "schnell": 4, + "krea-dev": 25, + "qwen": 20, + "fibo": 20, + "z-image-turbo": 9, +} +QUANTIZE_CHOICES = [3, 5, 4, 6, 8] + +if os.environ.get("MFLUX_CACHE_DIR"): + MFLUX_CACHE_DIR = Path(os.environ["MFLUX_CACHE_DIR"]).resolve() +else: + MFLUX_CACHE_DIR = Path(platformdirs.user_cache_dir(appname="mflux")) + +MFLUX_LORA_CACHE_DIR = MFLUX_CACHE_DIR / "loras" diff --git a/src/mflux/models/flux/tokenizer/__init__.py b/src/mflux/cli/parser/__init__.py similarity index 100% rename from src/mflux/models/flux/tokenizer/__init__.py rename to src/mflux/cli/parser/__init__.py diff --git a/src/mflux/ui/cli/parsers.py b/src/mflux/cli/parser/parsers.py similarity index 93% rename from src/mflux/ui/cli/parsers.py rename to src/mflux/cli/parser/parsers.py index 19ace37..47299b4 100644 --- a/src/mflux/ui/cli/parsers.py +++ b/src/mflux/cli/parser/parsers.py @@ -5,28 +5,19 @@ import time import typing as t from pathlib import Path -from mflux.models.common.lora.download.lora_library import get_lora_path -from mflux.models.flux.variants.in_context.utils.in_context_loras import LORA_NAME_MAP, LORA_REPO_ID -from mflux.ui import ( - box_values, - defaults as ui_defaults, - scale_factor, -) +from mflux.cli.defaults import defaults as ui_defaults +from mflux.models.common.resolution.lora_resolution import LoraResolution +from mflux.models.flux.variants.in_context.utils.in_context_loras import LORA_NAME_MAP +from mflux.utils import box_values, scale_factor class ModelSpecAction(argparse.Action): def __call__(self, parser, namespace, values, option_string=None): - if values in ui_defaults.MODEL_CHOICES: - setattr(namespace, self.dest, values) - return - - if values.count("/") != 1: - raise argparse.ArgumentError( - self, - (f'Value must be either {" ".join(ui_defaults.MODEL_CHOICES)} or in format "org/model". Got: {values}'), - ) - - # If we got here, values contains exactly one slash + # Accept: + # 1. Predefined model names (dev, schnell, fibo, etc.) + # 2. HuggingFace repos (org/model format) + # 3. Local paths (/path/to/model, ./model, ~/model) + # The WeightLoader will determine if it's a local path or HuggingFace repo setattr(namespace, self.dest, values) @@ -42,7 +33,7 @@ def int_or_special_value(value) -> int | scale_factor.ScaleFactor: # If not an integer, try to parse as scale factor try: - return scale_factor.parse_scale_factor(value) + return scale_factor.ScaleFactor.parse(value) except ValueError: raise argparse.ArgumentTypeError( f"'{value}' is not a valid integer or 'auto' or a scale factor like '2x' or '3.5x'" @@ -71,10 +62,8 @@ class CommandLineParser(argparse.ArgumentParser): def add_model_arguments(self, path_type: t.Literal["load", "save"] = "load", require_model_arg: bool = True) -> None: self.require_model_arg = require_model_arg - self.add_argument("--model", "-m", type=str, required=require_model_arg, action=ModelSpecAction, help=f"The model to use ({' or '.join(ui_defaults.MODEL_CHOICES)} or a compatible huggingface repo_id org/model).") - if path_type == "load": - self.add_argument("--path", type=str, default=None, help="Local path for loading a model from disk") - else: + self.add_argument("--model", "-m", type=str, required=require_model_arg, action=ModelSpecAction, help=f"The model to use ({' or '.join(ui_defaults.MODEL_CHOICES)}, a HuggingFace repo org/model, or a local path).") + if path_type == "save": self.add_argument("--path", type=str, required=True, help="Local path for saving a model to disk.") self.add_argument("--base-model", type=str, required=False, choices=ui_defaults.MODEL_CHOICES, help="When using a third-party huggingface model, explicitly specify whether the base model is dev or schnell") self.add_argument("--quantize", "-q", type=int, choices=ui_defaults.QUANTIZE_CHOICES, default=None, help=f"Quantize the model ({' or '.join(map(str, ui_defaults.QUANTIZE_CHOICES))}, Default is None)") @@ -83,10 +72,8 @@ class CommandLineParser(argparse.ArgumentParser): self.supports_lora = True lora_group = self.add_argument_group("LoRA configuration") lora_group.add_argument("--lora-style", type=str, choices=sorted(LORA_NAME_MAP.keys()), help="Style of the LoRA to use (e.g., 'storyboard' for film storyboard style)") - self.add_argument("--lora-paths", type=str, nargs="*", default=None, help="Local safetensors for applying LORA from disk") + self.add_argument("--lora-paths", type=str, nargs="*", default=None, help="LoRA paths: local files, HuggingFace repos (org/model), or collection format (repo:filename.safetensors)") self.add_argument("--lora-scales", type=float, nargs="*", default=None, help="Scaling factor to adjust the impact of LoRA weights on the model. A value of 1.0 applies the LoRA weights as they are.") - lora_group.add_argument("--lora-name", type=str, help="Name of the LoRA to download from Hugging Face") - lora_group.add_argument("--lora-repo-id", type=str, default=LORA_REPO_ID, help=f"Hugging Face repository ID for LoRAs (default: {LORA_REPO_ID})") def _add_image_generator_common_arguments(self, supports_dimension_scale_factor=False) -> None: self.supports_image_generation = True @@ -312,7 +299,7 @@ class CommandLineParser(argparse.ArgumentParser): if self.supports_image_outpaint and namespace.image_outpaint_padding is not None: # parse and normalize any acceptable 1,2,3,4-tuple box value to 4-tuple - namespace.image_outpaint_padding = box_values.parse_box_value(namespace.image_outpaint_padding) + namespace.image_outpaint_padding = box_values.BoxValues.parse(namespace.image_outpaint_padding) print(f"{namespace.image_outpaint_padding=}") # Resolve lora paths from library if needed @@ -320,10 +307,17 @@ class CommandLineParser(argparse.ArgumentParser): resolved_paths = [] for lora_path in namespace.lora_paths: try: - resolved_path = get_lora_path(lora_path) + resolved_path = LoraResolution.resolve(lora_path) resolved_paths.append(resolved_path) except FileNotFoundError as e: # noqa: PERF203 self.error(str(e)) namespace.lora_paths = resolved_paths + # Compute model_path: None for predefined names, otherwise use the model value + # Predefined names like "schnell", "dev" are handled by ModelConfig, not PathResolution + if hasattr(namespace, "model") and namespace.model is not None: + namespace.model_path = None if namespace.model in ui_defaults.MODEL_CHOICES else namespace.model + else: + namespace.model_path = None + return namespace diff --git a/src/mflux/config/config.py b/src/mflux/config/config.py deleted file mode 100644 index 001923a..0000000 --- a/src/mflux/config/config.py +++ /dev/null @@ -1,40 +0,0 @@ -import logging -from pathlib import Path - -import mlx.core as mx - -log = logging.getLogger(__name__) - - -class Config: - precision: mx.Dtype = mx.bfloat16 - - def __init__( - self, - num_inference_steps: int = 4, - width: int = 1024, - height: int = 1024, - guidance: float = 4.0, - image_path: Path | None = None, - image_strength: float | None = None, - depth_image_path: Path | None = None, - redux_image_paths: list[Path] | None = None, - redux_image_strengths: list[float] | None = None, - masked_image_path: Path | None = None, - controlnet_strength: float | None = None, - scheduler: str = "linear", - ): - if width % 16 != 0 or height % 16 != 0: - log.warning("Width and height should be multiples of 16. Rounding down.") - self.width = 16 * (width // 16) - self.height = 16 * (height // 16) - self.num_inference_steps = num_inference_steps - self.guidance = guidance - self.image_path = image_path - self.image_strength = image_strength - self.depth_image_path = depth_image_path - self.redux_image_paths = redux_image_paths - self.redux_image_strengths = redux_image_strengths - self.masked_image_path = masked_image_path - self.controlnet_strength = controlnet_strength - self.scheduler_str = scheduler diff --git a/src/mflux/config/runtime_config.py b/src/mflux/config/runtime_config.py deleted file mode 100644 index 7d99a5b..0000000 --- a/src/mflux/config/runtime_config.py +++ /dev/null @@ -1,116 +0,0 @@ -import logging -from pathlib import Path - -import mlx.core as mx - -from mflux.config.config import Config -from mflux.config.model_config import ModelConfig -from mflux.models.common.schedulers import SCHEDULER_REGISTRY, try_import_external_scheduler -from mflux.models.common.schedulers.linear_scheduler import LinearScheduler - -logger = logging.getLogger(__name__) - - -class RuntimeConfig: - def __init__( - self, - config: Config, - model_config: ModelConfig, - ): - self.config = config - self.model_config = model_config - self._scheduler = None - - @property - def height(self) -> int: - return self.config.height - - @property - def width(self) -> int: - return self.config.width - - @width.setter - def width(self, value): - self.config.width = value - - @property - def guidance(self) -> float: - return self.config.guidance - - @property - def num_inference_steps(self) -> int: - return self.config.num_inference_steps - - @property - def precision(self) -> mx.Dtype: - return self.config.precision - - @property - def num_train_steps(self) -> int: - return self.model_config.num_train_steps - - @property - def image_path(self) -> Path | None: - return self.config.image_path - - @property - def image_strength(self) -> float | None: - return self.config.image_strength - - @property - def depth_image_path(self) -> Path | None: - return self.config.depth_image_path - - @property - def redux_image_paths(self) -> list[Path] | None: - return self.config.redux_image_paths - - @property - def redux_image_strengths(self) -> list[float] | None: - return self.config.redux_image_strengths - - @property - def masked_image_path(self) -> Path | None: - return self.config.masked_image_path - - @property - def init_time_step(self) -> int: - is_img2img = ( - self.config.image_path is not None and - self.image_strength is not None and - self.image_strength > 0.0 - ) # fmt: off - - if is_img2img: - # 1. Clamp strength to [0, 1] - strength = max(0.0, min(1.0, self.config.image_strength)) # type: ignore - - # 2. Return start time in [1, floor(num_steps * strength)] - return max(1, int(self.num_inference_steps * strength)) # type: ignore - else: - return 0 - - @property - def controlnet_strength(self) -> float | None: - if self.config.controlnet_strength is not None: - return self.config.controlnet_strength - - return None - - @property - def scheduler(self): - if self._scheduler is not None: - return self._scheduler - - if self.config.scheduler_str == "linear": - self._scheduler = LinearScheduler(self) - elif (registered_scheduler := SCHEDULER_REGISTRY.get(self.config.scheduler_str, None)) is not None: - self._scheduler = registered_scheduler(self) - elif "." in self.config.scheduler_str: - # this raises ValueError if scheduler is not importable - scheduler_cls = try_import_external_scheduler(self.config.scheduler_str) - self._scheduler = scheduler_cls(self) - else: - raise NotImplementedError(f"The scheduler {self.config.scheduler_str!r} is not implemented by mflux.") - - return self._scheduler diff --git a/src/mflux/info.py b/src/mflux/info.py deleted file mode 100644 index c74cc4a..0000000 --- a/src/mflux/info.py +++ /dev/null @@ -1,123 +0,0 @@ -"""Display metadata information from MFLUX generated images.""" - -import sys -from datetime import datetime -from pathlib import Path - -from mflux.ui.cli.parsers import CommandLineParser -from mflux.utils.metadata_reader import MetadataReader - - -def format_metadata(metadata: dict) -> str: - """Format metadata in a clean, readable format.""" - exif = metadata.get("exif", {}) - if not exif: - return "No metadata found" - - lines = [] - lines.append("=" * 60) - lines.append("MFLUX Image Information") - lines.append("=" * 60) - - # Prompt - if prompt := exif.get("prompt"): - lines.append(f"\nPrompt: {prompt}") - - if negative_prompt := exif.get("negative_prompt"): - lines.append(f"Negative Prompt: {negative_prompt}") - - # Model information - lines.append("") - if model := exif.get("model"): - lines.append(f"Model: {model}") - - # Image dimensions - if width := exif.get("width"): - lines.append(f"Width: {width}") - if height := exif.get("height"): - lines.append(f"Height: {height}") - - # Generation parameters - lines.append("") - if seed := exif.get("seed"): - lines.append(f"Seed: {seed}") - if steps := exif.get("steps"): - lines.append(f"Steps: {steps}") - if guidance := exif.get("guidance"): - lines.append(f"Guidance: {guidance}") - - # Technical settings - if quantize := exif.get("quantize"): - lines.append(f"Quantization: {quantize}-bit") - if precision := exif.get("precision"): - lines.append(f"Precision: {precision}") - - # LoRA information - if lora_paths := exif.get("lora_paths"): - lines.append("") - lines.append(f"LoRAs ({len(lora_paths)}):") - lora_scales = exif.get("lora_scales") or [] - for i, lora in enumerate(lora_paths): - scale = lora_scales[i] if i < len(lora_scales) else 1.0 - lora_name = Path(lora).name - lines.append(f" - {lora_name} (scale: {scale})") - - # Image-to-image parameters - if image_path := exif.get("image_path"): - lines.append("") - lines.append(f"Source Image: {Path(image_path).name}") - if image_strength := exif.get("image_strength"): - lines.append(f"Image Strength: {image_strength}") - - # ControlNet parameters - if controlnet_path := exif.get("controlnet_image_path"): - lines.append("") - lines.append(f"ControlNet Image: {Path(controlnet_path).name}") - if controlnet_strength := exif.get("controlnet_strength"): - lines.append(f"ControlNet Strength: {controlnet_strength}") - - # Generation metadata - lines.append("") - if gen_time := exif.get("generation_time_seconds"): - lines.append(f"Generation Time: {gen_time:.2f}s") - - if created_at := exif.get("created_at"): - try: - dt = datetime.fromisoformat(created_at) - lines.append(f"Created: {dt.strftime('%Y-%m-%d %H:%M:%S')}") - except (ValueError, AttributeError): - lines.append(f"Created: {created_at}") - - if version := exif.get("mflux_version"): - lines.append(f"MFLUX Version: {version}") - - lines.append("=" * 60) - return "\n".join(lines) - - -def main(): - # Parse command line arguments - parser = CommandLineParser(description="Display metadata from MFLUX generated images") - parser.add_info_arguments() - args = parser.parse_args() - - # Check if file exists - image_path = Path(args.image_path) - if not image_path.exists(): - print(f"Error: Image file not found: {image_path}") - sys.exit(1) - - # Read metadata - metadata = MetadataReader.read_all_metadata(image_path) - - # Check if metadata was found - if not metadata or (not metadata.get("exif") and not metadata.get("xmp")): - print("No metadata found") - sys.exit(1) - - # Format and display - print(format_metadata(metadata)) - - -if __name__ == "__main__": - main() diff --git a/src/mflux/lora_library.py b/src/mflux/lora_library.py deleted file mode 100644 index ca650f2..0000000 --- a/src/mflux/lora_library.py +++ /dev/null @@ -1,133 +0,0 @@ -#!/usr/bin/env python3 -"""CLI tool for managing the MFLUX LoRA library.""" - -import argparse -import os -import sys -from collections import defaultdict -from pathlib import Path - -from mflux.models.common.lora.download.lora_library import _discover_lora_files - - -def list_loras(paths: list[str] | None = None) -> int: - """List all discovered LoRA files from specified paths or LORA_LIBRARY_PATH. - - Args: - paths: Optional list of paths to use instead of LORA_LIBRARY_PATH - - Returns: - Exit code (0 for success, 1 for error) - """ - if paths: - # Use provided paths - library_paths = [Path(p.strip()) for p in paths] - else: - # Use environment variable - library_path_env = os.environ.get("LORA_LIBRARY_PATH") - - if not library_path_env: - print("LORA_LIBRARY_PATH environment variable is not set.", file=sys.stderr) - print("Set it to one or more colon-separated directories containing .safetensors files.", file=sys.stderr) - print("Alternatively, use --paths to specify directories directly.", file=sys.stderr) - return 1 - - # Parse library paths from environment - library_paths = [Path(p.strip()) for p in library_path_env.split(":") if p.strip()] - - # Check which paths exist - valid_paths = [] - for path in library_paths: - if path.exists() and path.is_dir(): - valid_paths.append(path) - else: - print(f"Warning: Path does not exist or is not a directory: {path}", file=sys.stderr) - - if not valid_paths: - print("No valid directories found in LORA_LIBRARY_PATH.", file=sys.stderr) - return 1 - - # Discover all LoRA files - lora_registry = _discover_lora_files(valid_paths) - - if not lora_registry: - print("No .safetensors files found in the specified directories.") - return 0 - - # Sort by basename for consistent output - sorted_items = sorted(lora_registry.items()) - - # Print all discovered LoRAs - print("Discovered LoRA files:") - print("-" * 80) - for basename, full_path in sorted_items: - print(f"{basename} -> {full_path}") - - # Calculate statistics per top-level directory - stats = defaultdict(int) - for full_path in lora_registry.values(): - # Find which library path this file belongs to - for lib_path in valid_paths: - try: - # Check if full_path is relative to lib_path - full_path.relative_to(lib_path.resolve()) - stats[str(lib_path)] += 1 - break - except ValueError: - # Not relative to this lib_path, continue - continue - - # Print summary - print("-" * 80) - print(f"\nTotal LoRA files found: {len(lora_registry)}") - - if len(valid_paths) > 1: - print("\nBreakdown by library path:") - for lib_path in valid_paths: - count = stats.get(str(lib_path), 0) - print(f" {lib_path}: {count} files") - - return 0 - - -def main(): - """Main entry point for the CLI.""" - parser = argparse.ArgumentParser( - description="MFLUX LoRA Library management tool", - formatter_class=argparse.RawDescriptionHelpFormatter, - epilog=""" -Environment Variables: - LORA_LIBRARY_PATH Colon-separated list of directories containing .safetensors files - Example: /path/to/loras:/another/path/to/loras - -Examples: - # List all discovered LoRA files using LORA_LIBRARY_PATH - mflux-lora-library list - - # With environment variable set - LORA_LIBRARY_PATH=/home/user/loras:/opt/shared/loras mflux-lora-library list - - # Override with specific paths - mflux-lora-library list --paths /path/to/loras /another/path/to/loras -""", - ) - - subparsers = parser.add_subparsers(dest="command", help="Available commands") - - # Add 'list' command - list_parser = subparsers.add_parser("list", help="List all discovered LoRA files") - list_parser.add_argument( - "--paths", nargs="+", help="Override LORA_LIBRARY_PATH with these directories (space-separated)" - ) - - args = parser.parse_args() - - if args.command == "list": - return list_loras(paths=args.paths) - else: - parser.print_help() - return 1 - - -if __name__ == "__main__": - sys.exit(main()) diff --git a/src/mflux/models/flux/variants/kontext/utils/__init__.py b/src/mflux/models/common/cli/__init__.py similarity index 100% rename from src/mflux/models/flux/variants/kontext/utils/__init__.py rename to src/mflux/models/common/cli/__init__.py diff --git a/src/mflux/models/common/cli/info.py b/src/mflux/models/common/cli/info.py new file mode 100644 index 0000000..0a2cbcb --- /dev/null +++ b/src/mflux/models/common/cli/info.py @@ -0,0 +1,34 @@ +import sys +from pathlib import Path + +from mflux.cli.parser.parsers import CommandLineParser +from mflux.utils.info_util import InfoUtil +from mflux.utils.metadata_reader import MetadataReader + + +def main(): + # Parse command line arguments + parser = CommandLineParser(description="Display metadata from MFLUX generated images") + parser.add_info_arguments() + args = parser.parse_args() + + # Check if file exists + image_path = Path(args.image_path) + if not image_path.exists(): + print(f"Error: Image file not found: {image_path}") + sys.exit(1) + + # Read metadata + metadata = MetadataReader.read_all_metadata(image_path) + + # Check if metadata was found + if not metadata or (not metadata.get("exif") and not metadata.get("xmp")): + print("No metadata found") + sys.exit(1) + + # Format and display + print(InfoUtil.format_metadata(metadata)) + + +if __name__ == "__main__": + main() diff --git a/src/mflux/models/common/cli/lora_library.py b/src/mflux/models/common/cli/lora_library.py new file mode 100644 index 0000000..89f088c --- /dev/null +++ b/src/mflux/models/common/cli/lora_library.py @@ -0,0 +1,26 @@ +import argparse +import sys + +from mflux.utils.lora_library_util import LoraLibraryUtil + + +def main(): + parser = argparse.ArgumentParser( + description="MFLUX LoRA Library management tool", + formatter_class=argparse.RawDescriptionHelpFormatter, + epilog=LoraLibraryUtil.epilog(), + ) + subparsers = parser.add_subparsers(dest="command", help="Available commands") + list_parser = subparsers.add_parser("list", help="List all discovered LoRA files") + list_parser.add_argument("--paths", nargs="+", help="Override LORA_LIBRARY_PATH with these directories (space-separated)") # fmt: off + args = parser.parse_args() + + if args.command == "list": + return LoraLibraryUtil.list_loras(paths=args.paths) + else: + parser.print_help() + return 1 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/src/mflux/save.py b/src/mflux/models/common/cli/save.py similarity index 62% rename from src/mflux/save.py rename to src/mflux/models/common/cli/save.py index a157767..7751313 100644 --- a/src/mflux/save.py +++ b/src/mflux/models/common/cli/save.py @@ -1,8 +1,9 @@ -from mflux.config.model_config import ModelConfig +from mflux.cli.parser.parsers import CommandLineParser +from mflux.models.common.config import ModelConfig from mflux.models.fibo.variants.txt2img.fibo import FIBO from mflux.models.flux.variants.txt2img.flux import Flux1 from mflux.models.qwen.variants.txt2img.qwen_image import QwenImage -from mflux.ui.cli.parsers import CommandLineParser +from mflux.models.z_image.variants.turbo.z_image_turbo import ZImageTurbo def main(): @@ -18,19 +19,18 @@ def main(): model_class = QwenImage elif "fibo" in model_name_lower: model_class = FIBO + elif "z-image" in model_name_lower or "zimage" in model_name_lower: + model_class = ZImageTurbo else: model_class = Flux1 # 2. Load, quantize and save the model - model_kwargs = { - "model_config": ModelConfig.from_name(args.model, base_model=args.base_model), - "quantize": args.quantize, - } - if args.lora_paths and model_class != FIBO: - model_kwargs["lora_paths"] = args.lora_paths - model_kwargs["lora_scales"] = args.lora_scales - - model = model_class(**model_kwargs) + model = model_class( + quantize=args.quantize, + lora_paths=args.lora_paths, + lora_scales=args.lora_scales, + model_config=ModelConfig.from_name(args.model, base_model=args.base_model), + ) model.save_model(args.path) diff --git a/src/mflux/train.py b/src/mflux/models/common/cli/train.py similarity index 80% rename from src/mflux/train.py rename to src/mflux/models/common/cli/train.py index 0dce622..fba7a45 100644 --- a/src/mflux/train.py +++ b/src/mflux/models/common/cli/train.py @@ -1,6 +1,6 @@ +from mflux.cli.parser.parsers import CommandLineParser from mflux.models.flux.variants.dreambooth.dreambooth import DreamBooth from mflux.models.flux.variants.dreambooth.dreambooth_initializer import DreamBoothInitializer -from mflux.ui.cli.parsers import CommandLineParser from mflux.utils.exceptions import StopTrainingException @@ -13,7 +13,7 @@ def main(): args = parser.parse_args() # 1. Initialize the required resources - flux, runtime_config, training_spec, training_state = DreamBoothInitializer.initialize( + flux, config, training_spec, training_state = DreamBoothInitializer.initialize( config_path=args.train_config, checkpoint_path=args.train_checkpoint, ) @@ -22,12 +22,12 @@ def main(): try: DreamBooth.train( flux=flux, - runtime_config=runtime_config, + config=config, training_spec=training_spec, training_state=training_state, ) except StopTrainingException as stop_exc: - training_state.save(training_spec) + training_state.save(flux, training_spec) print(stop_exc) diff --git a/src/mflux/models/common/config/__init__.py b/src/mflux/models/common/config/__init__.py new file mode 100644 index 0000000..0c26da7 --- /dev/null +++ b/src/mflux/models/common/config/__init__.py @@ -0,0 +1,4 @@ +from mflux.models.common.config.config import Config +from mflux.models.common.config.model_config import ModelConfig + +__all__ = ["Config", "ModelConfig"] diff --git a/src/mflux/models/common/config/config.py b/src/mflux/models/common/config/config.py new file mode 100644 index 0000000..02d557f --- /dev/null +++ b/src/mflux/models/common/config/config.py @@ -0,0 +1,148 @@ +import logging +from pathlib import Path + +import mlx.core as mx +from tqdm import tqdm + +from mflux.models.common.config.model_config import ModelConfig +from mflux.models.common.schedulers import SCHEDULER_REGISTRY, try_import_external_scheduler +from mflux.models.common.schedulers.linear_scheduler import LinearScheduler + +logger = logging.getLogger(__name__) + + +class Config: + def __init__( + self, + model_config: ModelConfig, + num_inference_steps: int = 4, + height: int = 1024, + width: int = 1024, + guidance: float = 4.0, + image_path: Path | str | None = None, + image_strength: float | None = None, + depth_image_path: Path | str | None = None, + redux_image_paths: list[Path | str] | None = None, + redux_image_strengths: list[float] | None = None, + masked_image_path: Path | str | None = None, + controlnet_strength: float | None = None, + scheduler: str = "linear", + ): + # Ensure dimensions are multiples of 16 + if width % 16 != 0 or height % 16 != 0: + logger.warning("Width and height should be multiples of 16. Rounding down.") + + self.model_config = model_config + self._num_inference_steps = num_inference_steps + self._height = 16 * (height // 16) + self._width = 16 * (width // 16) + self._guidance = guidance + self._image_path = Path(image_path) if isinstance(image_path, str) else image_path + self._image_strength = image_strength + self._depth_image_path = Path(depth_image_path) if isinstance(depth_image_path, str) else depth_image_path + self._redux_image_paths = ( + [Path(p) if isinstance(p, str) else p for p in redux_image_paths] if redux_image_paths else None + ) + self._redux_image_strengths = redux_image_strengths + self._masked_image_path = Path(masked_image_path) if isinstance(masked_image_path, str) else masked_image_path + self._controlnet_strength = controlnet_strength + self._scheduler_str = scheduler + self._scheduler = None + self._time_steps = None + + @property + def height(self) -> int: + return self._height + + @property + def width(self) -> int: + return self._width + + @width.setter + def width(self, value): + self._width = value + + @property + def guidance(self) -> float: + return self._guidance + + @property + def num_inference_steps(self) -> int: + return self._num_inference_steps + + @property + def precision(self) -> mx.Dtype: + return ModelConfig.precision + + @property + def num_train_steps(self) -> int: + return self.model_config.num_train_steps + + @property + def image_path(self) -> Path | None: + return self._image_path + + @property + def image_strength(self) -> float | None: + return self._image_strength + + @property + def depth_image_path(self) -> Path | None: + return self._depth_image_path + + @property + def redux_image_paths(self) -> list[Path] | None: + return self._redux_image_paths + + @property + def redux_image_strengths(self) -> list[float] | None: + return self._redux_image_strengths + + @property + def masked_image_path(self) -> Path | None: + return self._masked_image_path + + @property + def init_time_step(self) -> int: + is_img2img = ( + self._image_path is not None and + self._image_strength is not None and + self._image_strength > 0.0 + ) # fmt: off + + if is_img2img: + # 1. Clamp strength to [0, 1] + strength = max(0.0, min(1.0, self._image_strength)) # type: ignore + + # 2. Return start time in [1, floor(num_steps * strength)] + return max(1, int(self._num_inference_steps * strength)) # type: ignore + else: + return 0 + + @property + def time_steps(self) -> tqdm: + if self._time_steps is None: + self._time_steps = tqdm(range(self.init_time_step, self.num_inference_steps)) + return self._time_steps + + @property + def controlnet_strength(self) -> float | None: + return self._controlnet_strength + + @property + def scheduler(self): + if self._scheduler is not None: + return self._scheduler + + if self._scheduler_str == "linear": + self._scheduler = LinearScheduler(self) + elif (registered_scheduler := SCHEDULER_REGISTRY.get(self._scheduler_str, None)) is not None: + self._scheduler = registered_scheduler(self) + elif "." in self._scheduler_str: + # this raises ValueError if scheduler is not importable + scheduler_cls = try_import_external_scheduler(self._scheduler_str) + self._scheduler = scheduler_cls(self) + else: + raise NotImplementedError(f"The scheduler {self._scheduler_str!r} is not implemented by mflux.") + + return self._scheduler diff --git a/src/mflux/config/model_config.py b/src/mflux/models/common/config/model_config.py similarity index 77% rename from src/mflux/config/model_config.py rename to src/mflux/models/common/config/model_config.py index c51d316..dc11af8 100644 --- a/src/mflux/config/model_config.py +++ b/src/mflux/models/common/config/model_config.py @@ -1,10 +1,14 @@ from functools import lru_cache from typing import Literal -from mflux.utils.exceptions import InvalidBaseModel, ModelConfigError +import mlx.core as mx + +from mflux.models.common.resolution.config_resolution import ConfigResolution class ModelConfig: + precision: mx.Dtype = mx.bfloat16 + def __init__( self, aliases: list[str], @@ -99,6 +103,11 @@ class ModelConfig: def fibo() -> "ModelConfig": return AVAILABLE_MODELS["fibo"] + @staticmethod + @lru_cache + def z_image_turbo() -> "ModelConfig": + return AVAILABLE_MODELS["z-image-turbo"] + def x_embedder_input_dim(self) -> int: if "Fill" in self.model_name: return 384 @@ -115,56 +124,7 @@ class ModelConfig: model_name: str, base_model: Literal["dev", "schnell", "krea-dev"] | None = None, ) -> "ModelConfig": - # 0. Get all base models (where base_model is None) sorted by priority - base_models = sorted( - [model for model in AVAILABLE_MODELS.values() if model.base_model is None], key=lambda x: x.priority - ) - - # 1. Check if model_name matches any base model's aliases or full name - for base in base_models: - if model_name == base.model_name or model_name in base.aliases: - return base - - # 2. Validate explicit base_model - allowed_names = [] - for base in base_models: - allowed_names.extend(base.aliases + [base.model_name]) - if base_model and base_model not in allowed_names: - raise InvalidBaseModel(f"Invalid base_model. Choose one of {allowed_names}") - - # 3. Determine the base model (explicit or inferred) - if base_model: - # Find by explicit base_model name (check all aliases) - default_base = next((b for b in base_models if base_model == b.model_name or base_model in b.aliases), None) - else: - # Infer from model_name substring - prefer longer matches (more specific) - # Use case-insensitive matching for better compatibility - model_name_lower = model_name.lower() - matching_bases = [ - (b, alias) for b in base_models for alias in b.aliases if alias and alias.lower() in model_name_lower - ] - - if matching_bases: - # Sort by alias length descending, then by priority ascending - default_base = sorted(matching_bases, key=lambda x: (-len(x[1]), x[0].priority))[0][0] - else: - default_base = None - if not default_base: - raise ModelConfigError(f"Cannot infer base_model from {model_name}") - - # 4. Construct the config - return ModelConfig( - aliases=default_base.aliases, - model_name=model_name, - base_model=default_base.model_name, - controlnet_model=default_base.controlnet_model, - custom_transformer_model=default_base.custom_transformer_model, - num_train_steps=default_base.num_train_steps, - max_sequence_length=default_base.max_sequence_length, - supports_guidance=default_base.supports_guidance, - requires_sigma_shift=default_base.requires_sigma_shift, - priority=default_base.priority, - ) + return ConfigResolution.resolve(model_name=model_name, base_model=base_model) AVAILABLE_MODELS = { @@ -336,4 +296,16 @@ AVAILABLE_MODELS = { requires_sigma_shift=False, priority=13, ), + "z-image-turbo": ModelConfig( + aliases=["z-image-turbo", "z-image", "zimage-turbo", "zimage"], + model_name="Tongyi-MAI/Z-Image-Turbo", + base_model=None, + controlnet_model=None, + custom_transformer_model=None, + num_train_steps=1000, + max_sequence_length=512, + supports_guidance=False, # Turbo model uses guidance_scale=0 + requires_sigma_shift=True, + priority=14, + ), } diff --git a/src/mflux/models/common/latent_creator/latent_creator.py b/src/mflux/models/common/latent_creator/latent_creator.py index 1696741..41c72e5 100644 --- a/src/mflux/models/common/latent_creator/latent_creator.py +++ b/src/mflux/models/common/latent_creator/latent_creator.py @@ -1,5 +1,5 @@ from pathlib import Path -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, TypeAlias import mlx.core as mx from mlx import nn @@ -10,13 +10,16 @@ if TYPE_CHECKING: from mflux.models.fibo.latent_creator.fibo_latent_creator import FiboLatentCreator from mflux.models.flux.latent_creator.flux_latent_creator import FluxLatentCreator from mflux.models.qwen.latent_creator.qwen_latent_creator import QwenLatentCreator + from mflux.models.z_image.latent_creator.z_image_latent_creator import ZImageLatentCreator + + LatentCreatorType: TypeAlias = type[FiboLatentCreator | FluxLatentCreator | QwenLatentCreator | ZImageLatentCreator] class Img2Img: def __init__( self, vae: nn.Module, - latent_creator: type["FiboLatentCreator"] | type["FluxLatentCreator"] | type["QwenLatentCreator"], + latent_creator: "LatentCreatorType", sigmas: mx.array, init_time_step: int, image_path: str | Path | None, diff --git a/src/mflux/models/common/lora/download/lora_huggingface_downloader.py b/src/mflux/models/common/lora/download/lora_huggingface_downloader.py deleted file mode 100644 index 502ef69..0000000 --- a/src/mflux/models/common/lora/download/lora_huggingface_downloader.py +++ /dev/null @@ -1,101 +0,0 @@ -import shutil -from pathlib import Path - -from mflux.ui.defaults import MFLUX_LORA_CACHE_DIR -from mflux.utils.download import snapshot_download - - -class LoRAHuggingFaceDownloader: - - @staticmethod - def download_loras( - lora_names: list[str] | None = None, - repo_id: str | None = None, - cache_dir: Path | str | None = None, - model_name: str = "LoRA", - ) -> list[str]: - if not lora_names or not repo_id: - return [] - - lora_paths = [] - for lora_name in lora_names: - lora_path = LoRAHuggingFaceDownloader.download_lora( - repo_id=repo_id, - lora_name=lora_name, - cache_dir=cache_dir, - model_name=model_name, - ) - lora_paths.append(lora_path) - - return lora_paths - - @staticmethod - def download_lora( - repo_id: str, - lora_name: str, - cache_dir: Path | str | None = None, - model_name: str = "LoRA", # For logging purposes - ) -> str: - # Ensure cache_dir is a Path object - if cache_dir is None: - cache_path = MFLUX_LORA_CACHE_DIR - else: - cache_path = Path(cache_dir) - - cache_path.mkdir(parents=True, exist_ok=True) - - # Check if already cached - cached_file_path = cache_path / lora_name - if cached_file_path.exists() and cached_file_path.is_file(): - try: - # Verify the file is actually readable (catches broken symlinks) - with open(cached_file_path, "rb") as f: - f.read(1) # Try to read just 1 byte to verify it works - print(f"Using cached {model_name} LoRA: {cached_file_path}") - return str(cached_file_path) - except (OSError, IOError): - # File exists but is not readable (broken symlink, permissions, etc.) - print(f"Cached {model_name} LoRA file is corrupted or inaccessible, re-downloading: {cached_file_path}") - try: - cached_file_path.unlink() # Remove the broken file/symlink - except OSError: - pass # Ignore if we can't remove it - - # Download the LoRA from Hugging Face - print(f"Downloading {model_name} LoRA '{lora_name}' from {repo_id}...") - download_path = Path( - snapshot_download( - repo_id=repo_id, - allow_patterns=[f"*{lora_name}*"], - cache_dir=str(cache_path), - ) - ) - - # Find the downloaded file - print(f"๐Ÿ” Searching for downloaded files in: {download_path}") - found_files = list(download_path.glob(f"**/*{lora_name}*")) - print(f"๐Ÿ“ Found files matching pattern: {found_files}") - - for file in found_files: - print(f"๐Ÿ“„ Checking file: {file} (suffix: {file.suffix}, size: {file.stat().st_size} bytes)") - if file.is_file() and file.suffix in [".safetensors", ".bin"]: - # Ensure the target path has the correct extension - if not lora_name.endswith(file.suffix): - target_name = f"{lora_name}{file.suffix}" - else: - target_name = lora_name - - target_path = cache_path / target_name - if not target_path.exists(): - # Create a symlink or copy the file - try: - target_path.symlink_to(file) - print(f"๐Ÿ”— Created symlink: {target_path} -> {file}") - except (OSError, AttributeError): - shutil.copy2(file, target_path) - print(f"๐Ÿ“‹ Copied file: {file} -> {target_path}") - - print(f"{model_name} LoRA downloaded to: {target_path}") - return str(target_path) - - raise FileNotFoundError(f"Could not find {model_name} LoRA file '{lora_name}' in the downloaded repository.") diff --git a/src/mflux/models/common/lora/download/lora_library.py b/src/mflux/models/common/lora/download/lora_library.py deleted file mode 100644 index cde3ac8..0000000 --- a/src/mflux/models/common/lora/download/lora_library.py +++ /dev/null @@ -1,87 +0,0 @@ -import os -from pathlib import Path - - -def _discover_lora_files(library_paths: list[Path]) -> dict[str, Path]: - """ - Discover all .safetensors files in the library paths and their subdirectories. - Earlier paths in the list have higher precedence for duplicate basenames. - - Args: - library_paths: List of paths to LORA library directories (in precedence order) - - Returns: - Dictionary mapping basename (without extension) to full path - """ - lora_files = {} - - # Process paths in reverse order so earlier paths overwrite later ones - for library_path in reversed(library_paths): - if not library_path.exists() or not library_path.is_dir(): - continue - - # Find all .safetensors files recursively - for safetensor_path in library_path.rglob("*.safetensors"): - # Use the basename without extension as the key - basename = safetensor_path.stem - - # Skip files with digit-only names (0-9) in transformer directories - if basename.isdigit() and safetensor_path.parent.name == "transformer": - continue - - # Earlier paths in the list take precedence (overwrite) - lora_files[basename] = safetensor_path.resolve() - - return lora_files - - -# Global registry that will be populated on module import -_LORA_REGISTRY: dict[str, Path] = {} - - -def _initialize_registry() -> None: - """Initialize the global LORA registry from LORA_LIBRARY_PATH environment variable.""" - global _LORA_REGISTRY - - library_path_env = os.environ.get("LORA_LIBRARY_PATH") - if library_path_env: - # Split by colon to support multiple paths - library_paths = [Path(p.strip()) for p in library_path_env.split(":") if p.strip()] - _LORA_REGISTRY = _discover_lora_files(library_paths) - - -def get_lora_path(path_or_name: str) -> str: - """ - Get the full path for a LORA file, resolving from library if needed. - - Args: - path_or_name: Either a full path or a basename that exists in the library - - Returns: - The resolved path as a string - - Raises: - FileNotFoundError: If the file cannot be found either as a path or in the registry - """ - # If it's already a path that exists, return it as-is - path = Path(path_or_name) - if path.exists(): - return str(path) - - # Otherwise, check if it's in the registry - if path_or_name in _LORA_REGISTRY: - return str(_LORA_REGISTRY[path_or_name]) - - # If not found, raise FileNotFoundError - raise FileNotFoundError( - f"LoRA file not found: '{path_or_name}'. File does not exist and is not in the LoRA library." - ) - - -def get_registry() -> dict[str, Path]: - """Get a copy of the current LORA registry.""" - return _LORA_REGISTRY.copy() - - -# Initialize the registry when the module is imported -_initialize_registry() diff --git a/src/mflux/models/common/lora/mapping/lora_loader.py b/src/mflux/models/common/lora/mapping/lora_loader.py index ef42bc3..377c130 100644 --- a/src/mflux/models/common/lora/mapping/lora_loader.py +++ b/src/mflux/models/common/lora/mapping/lora_loader.py @@ -1,6 +1,7 @@ import re +from collections.abc import Callable +from dataclasses import dataclass from pathlib import Path -from typing import Dict, Tuple import mlx.core as mx import mlx.nn as nn @@ -8,6 +9,16 @@ import mlx.nn as nn from mflux.models.common.lora.layer.fused_linear_lora_layer import FusedLoRALinear from mflux.models.common.lora.layer.linear_lora_layer import LoRALinear from mflux.models.common.lora.mapping.lora_mapping import LoRATarget +from mflux.models.common.resolution.lora_resolution import LoraResolution + + +@dataclass +class PatternMatch: + source_pattern: str + target_path: str + matrix_name: str # "lora_A", "lora_B", or "alpha" + transpose: bool + transform: Callable[[mx.array], mx.array] | None = None class LoRALoader: @@ -15,30 +26,34 @@ class LoRALoader: def load_and_apply_lora( lora_mapping: list[LoRATarget], transformer: nn.Module, - lora_files: list[str], + lora_paths: list[str] | None = None, lora_scales: list[float] | None = None, - ) -> None: - if not lora_files: - return + ) -> tuple[list[str], list[float]]: + resolved_paths = LoraResolution.resolve_paths(lora_paths) + if not resolved_paths: + return resolved_paths, [] - # Validate scales - handle both None and empty list cases - if lora_scales is None or len(lora_scales) == 0: - lora_scales = [1.0] * len(lora_files) - elif len(lora_scales) != len(lora_files): + resolved_scales = LoraResolution.resolve_scales(lora_scales, len(resolved_paths)) + if len(resolved_scales) != len(resolved_paths): raise ValueError( - f"Number of LoRA scales ({len(lora_scales)}) must match number of LoRA files ({len(lora_files)})" + f"Number of LoRA scales ({len(resolved_scales)}) must match number of LoRA files ({len(resolved_paths)})" ) - print(f"๐Ÿ“ฆ Loading {len(lora_files)} LoRA file(s)...") + print(f"๐Ÿ“ฆ Loading {len(resolved_paths)} LoRA file(s)...") - for lora_file, scale in zip(lora_files, lora_scales): + for lora_file, scale in zip(resolved_paths, resolved_scales): LoRALoader._apply_single_lora(transformer, lora_file, scale, lora_mapping) print("โœ… All LoRA weights applied successfully") + return resolved_paths, resolved_scales + @staticmethod def _apply_single_lora( - transformer: nn.Module, lora_file: str, scale: float, lora_mapping: list[LoRATarget] + transformer: nn.Module, + lora_file: str, + scale: float, + lora_mapping: list[LoRATarget], ) -> None: # Load the LoRA weights if not Path(lora_file).exists(): @@ -49,73 +64,136 @@ class LoRALoader: try: weights = dict(mx.load(lora_file, return_metadata=True)[0].items()) - mx.eval(weights) except (FileNotFoundError, ValueError, RuntimeError) as e: print(f"โŒ Failed to load LoRA file: {e}") return - # Apply LoRA using the provided mapping - flat_mapping = LoRALoader._get_flat_mapping(lora_mapping) - applied_count = LoRALoader._apply_lora_with_mapping(transformer, weights, scale, flat_mapping) + # Build pattern mappings from LoRATargets + pattern_mappings = LoRALoader._build_pattern_mappings(lora_mapping) - print(f" โœ… Applied to {applied_count} layers") + # Apply LoRA using the mappings (allows multiple targets per source) + applied_count, matched_keys = LoRALoader._apply_lora_with_mapping(transformer, weights, scale, pattern_mappings) + + # Report results + total_keys = len(weights) + unmatched_keys = set(weights.keys()) - matched_keys + + print(f" โœ… Applied to {applied_count} layers ({len(matched_keys)}/{total_keys} keys matched)") + + if unmatched_keys: + print(f" โš ๏ธ {len(unmatched_keys)} unmatched keys in LoRA file:") + for key in sorted(unmatched_keys)[:5]: + print(f" - {key}") + if len(unmatched_keys) > 5: + print(f" ... and {len(unmatched_keys) - 5} more") + + @staticmethod + def _build_pattern_mappings(targets: list[LoRATarget]) -> list[PatternMatch]: + mappings = [] + + for target in targets: + # Add up weight patterns (lora_B) + mappings.extend( + PatternMatch( + source_pattern=pattern, + target_path=target.model_path, + matrix_name="lora_B", + transpose=True, + transform=target.up_transform, + ) + for pattern in target.possible_up_patterns + ) + + # Add down weight patterns (lora_A) + mappings.extend( + PatternMatch( + source_pattern=pattern, + target_path=target.model_path, + matrix_name="lora_A", + transpose=True, + transform=target.down_transform, + ) + for pattern in target.possible_down_patterns + ) + + # Add alpha patterns (no transpose, no transform) + mappings.extend( + PatternMatch( + source_pattern=pattern, + target_path=target.model_path, + matrix_name="alpha", + transpose=False, + transform=None, + ) + for pattern in target.possible_alpha_patterns + ) + + return mappings @staticmethod def _apply_lora_with_mapping( - transformer: nn.Module, weights: dict, scale: float, lora_mappings: Dict[str, Tuple[str, str, bool]] - ) -> int: + transformer: nn.Module, + weights: dict, + scale: float, + pattern_mappings: list[PatternMatch], + ) -> tuple[int, set]: applied_count = 0 - lora_data_by_target = {} + lora_data_by_target: dict[str, dict] = {} + matched_keys: set[str] = set() - # Group LoRA weights by their target layers + # For each weight key, find ALL matching patterns (not just first) + # This allows multiple targets to use the same source (e.g., QKV split) for weight_key, weight_value in weights.items(): - found_mapping = None - block_idx = None + for mapping in pattern_mappings: + match_result = LoRALoader._match_pattern(weight_key, mapping.source_pattern) + if match_result is None: + continue - # Pattern matching logic - for pattern, mapping_info in lora_mappings.items(): - if "{block}" in pattern: - # Extract block number from the weight key - try both . and _ separators - # This handles both standard LoRA formats (dot-separated) and other formats (underscore-separated) - # Find all numbers in the weight key - numbers_in_key = re.findall(r"\d+", weight_key) - for num_str in numbers_in_key: - try: - test_block_idx = int(num_str) - concrete_pattern = pattern.format(block=test_block_idx) - if weight_key == concrete_pattern: - found_mapping = mapping_info - block_idx = test_block_idx - break - except (ValueError, KeyError): - continue - if found_mapping: - break - else: - if weight_key == pattern: - found_mapping = mapping_info - break + matched_keys.add(weight_key) + block_idx = match_result - if found_mapping is None: - continue + # Resolve target path with block index if needed + target_path = mapping.target_path + if block_idx is not None and "{block}" in target_path: + target_path = target_path.format(block=block_idx) - target_path, matrix_name, transpose = found_mapping + # Apply transform if specified + transformed_value = weight_value + if mapping.transform is not None: + transformed_value = mapping.transform(weight_value) - # Handle block substitution in target path - if block_idx is not None and "{block}" in target_path: - target_path = target_path.format(block=block_idx) + # Apply transpose if needed + if mapping.transpose: + transformed_value = transformed_value.T - if target_path not in lora_data_by_target: - lora_data_by_target[target_path] = {} + # Store for this target + if target_path not in lora_data_by_target: + lora_data_by_target[target_path] = {} - lora_data_by_target[target_path][matrix_name] = (weight_value, transpose) + lora_data_by_target[target_path][mapping.matrix_name] = transformed_value # Apply LoRA to each target for target_path, lora_data in lora_data_by_target.items(): if LoRALoader._apply_lora_matrices_to_target(transformer, target_path, lora_data, scale): applied_count += 1 - return applied_count + return applied_count, matched_keys + + @staticmethod + def _match_pattern(weight_key: str, pattern: str) -> int | None: + if "{block}" in pattern: + # Find all numbers in the weight key + numbers_in_key = re.findall(r"\d+", weight_key) + for num_str in numbers_in_key: + test_block_idx = int(num_str) + concrete_pattern = pattern.replace("{block}", str(test_block_idx)) + if weight_key == concrete_pattern: + return test_block_idx + return None + else: + if weight_key == pattern: + return 0 # Return 0 to indicate match (no block) + return None @staticmethod def _apply_lora_matrices_to_target(transformer: nn.Module, target_path: str, lora_data: dict, scale: float) -> bool: @@ -138,19 +216,14 @@ class LoRALoader: print(f"โŒ Missing required LoRA matrices for {target_path}") return False - lora_A, transpose_A = lora_data["lora_A"] - lora_B, transpose_B = lora_data["lora_B"] - - # Handle transposition - if transpose_A: - lora_A = lora_A.T - if transpose_B: - lora_B = lora_B.T + # Values are already transformed and transposed + lora_A = lora_data["lora_A"] + lora_B = lora_data["lora_B"] # Handle alpha scaling alpha_scale = 1.0 if "alpha" in lora_data: - alpha_value, _ = lora_data["alpha"] + alpha_value = lora_data["alpha"] rank = lora_A.shape[1] alpha_scale = float(alpha_value) / rank @@ -167,47 +240,33 @@ class LoRALoader: # Handle fusion: if the current module is already a LoRA layer, fuse them if is_lora_linear: print(f" ๐Ÿ”€ Fusing with existing LoRA at {target_path}") - # Create a temporary LoRA layer from the base linear of the existing LoRA lora_layer = LoRALinear.from_linear(current_module.linear, r=lora_A.shape[1], scale=effective_scale) - # Set the LoRA matrices lora_layer.lora_A = lora_A lora_layer.lora_B = lora_B - # Apply alpha scaling to the matrices if present if "alpha" in lora_data: lora_layer.lora_B = lora_layer.lora_B * alpha_scale - - # Create fused layer with the existing LoRA and the new one fused_layer = FusedLoRALinear(base_linear=current_module.linear, loras=[current_module, lora_layer]) replacement_layer = fused_layer elif is_fused_linear: print(f" ๐Ÿ”€ Adding to existing fusion at {target_path}") - # Create a temporary LoRA layer from the base linear lora_layer = LoRALinear.from_linear( current_module.base_linear, r=lora_A.shape[1], scale=effective_scale ) - # Set the LoRA matrices lora_layer.lora_A = lora_A lora_layer.lora_B = lora_B - # Apply alpha scaling to the matrices if present if "alpha" in lora_data: lora_layer.lora_B = lora_layer.lora_B * alpha_scale - - # Add to existing fusion fused_layer = FusedLoRALinear( base_linear=current_module.base_linear, loras=current_module.loras + [lora_layer] ) replacement_layer = fused_layer else: # First LoRA on this layer - # Create LoRA layer lora_layer = LoRALinear.from_linear(current_module, r=lora_A.shape[1], scale=effective_scale) - # Set the LoRA matrices - use the correct dimensions from the LoRA file lora_layer.lora_A = lora_A lora_layer.lora_B = lora_B - # Apply alpha scaling to the matrices if present if "alpha" in lora_data: lora_layer.lora_B = lora_layer.lora_B * alpha_scale - replacement_layer = lora_layer # Replace the layer in the parent module @@ -228,22 +287,3 @@ class LoRALoader: else: print(f"โŒ Target layer {target_path} is not a linear layer") return False - - @staticmethod - def _get_flat_mapping(targets: list[LoRATarget]) -> Dict[str, Tuple[str, str, bool]]: - flat_mapping = {} - - for target in targets: - # Add up weight patterns (lora_B, transposed) - for pattern in target.possible_up_patterns: - flat_mapping[pattern] = (target.model_path, "lora_B", True) - - # Add down weight patterns (lora_A, transposed) - for pattern in target.possible_down_patterns: - flat_mapping[pattern] = (target.model_path, "lora_A", True) - - # Add alpha patterns (no transpose) - for pattern in target.possible_alpha_patterns: - flat_mapping[pattern] = (target.model_path, "alpha", False) - - return flat_mapping diff --git a/src/mflux/models/common/lora/mapping/lora_mapping.py b/src/mflux/models/common/lora/mapping/lora_mapping.py index 8dde37d..5cdf5ce 100644 --- a/src/mflux/models/common/lora/mapping/lora_mapping.py +++ b/src/mflux/models/common/lora/mapping/lora_mapping.py @@ -1,17 +1,21 @@ -from dataclasses import dataclass +from collections.abc import Callable +from dataclasses import dataclass, field from typing import List, Protocol +import mlx.core as mx + @dataclass class LoRATarget: model_path: str possible_up_patterns: List[str] possible_down_patterns: List[str] - possible_alpha_patterns: List[str] + possible_alpha_patterns: List[str] = field(default_factory=list) + up_transform: Callable[[mx.array], mx.array] | None = None + down_transform: Callable[[mx.array], mx.array] | None = None class LoRAMapping(Protocol): - @staticmethod def get_mapping() -> List[LoRATarget]: return diff --git a/src/mflux/models/common/lora/mapping/lora_transforms.py b/src/mflux/models/common/lora/mapping/lora_transforms.py new file mode 100644 index 0000000..b151133 --- /dev/null +++ b/src/mflux/models/common/lora/mapping/lora_transforms.py @@ -0,0 +1,101 @@ +import mlx.core as mx + + +class LoraTransforms: + @staticmethod + def split_q_up(tensor: mx.array) -> mx.array: + return LoraTransforms._split_qkv_up(tensor, 0) + + @staticmethod + def split_k_up(tensor: mx.array) -> mx.array: + return LoraTransforms._split_qkv_up(tensor, 1) + + @staticmethod + def split_v_up(tensor: mx.array) -> mx.array: + return LoraTransforms._split_qkv_up(tensor, 2) + + @staticmethod + def split_q_down(tensor: mx.array) -> mx.array: + return LoraTransforms._split_qkv_down(tensor, 0) + + @staticmethod + def split_k_down(tensor: mx.array) -> mx.array: + return LoraTransforms._split_qkv_down(tensor, 1) + + @staticmethod + def split_v_down(tensor: mx.array) -> mx.array: + return LoraTransforms._split_qkv_down(tensor, 2) + + @staticmethod + def split_single_q_up(tensor: mx.array) -> mx.array: + return LoraTransforms._split_qkv_mlp_up(tensor, 0) + + @staticmethod + def split_single_k_up(tensor: mx.array) -> mx.array: + return LoraTransforms._split_qkv_mlp_up(tensor, 1) + + @staticmethod + def split_single_v_up(tensor: mx.array) -> mx.array: + return LoraTransforms._split_qkv_mlp_up(tensor, 2) + + @staticmethod + def split_single_mlp_up(tensor: mx.array) -> mx.array: + return LoraTransforms._split_qkv_mlp_up(tensor, 3) + + @staticmethod + def split_single_q_down(tensor: mx.array) -> mx.array: + return LoraTransforms._split_qkv_mlp_down(tensor, 0) + + @staticmethod + def split_single_k_down(tensor: mx.array) -> mx.array: + return LoraTransforms._split_qkv_mlp_down(tensor, 1) + + @staticmethod + def split_single_v_down(tensor: mx.array) -> mx.array: + return LoraTransforms._split_qkv_mlp_down(tensor, 2) + + @staticmethod + def split_single_mlp_down(tensor: mx.array) -> mx.array: + return LoraTransforms._split_qkv_mlp_down(tensor, 3) + + @staticmethod + def _transpose(tensor: mx.array) -> mx.array: + return tensor.T + + @staticmethod + def _split_qkv_up(tensor: mx.array, index: int, num_splits: int = 3) -> mx.array: + split_size = tensor.shape[0] // num_splits + start = index * split_size + end = start + split_size + return tensor[start:end, :] + + @staticmethod + def _split_qkv_down(tensor: mx.array, index: int, num_splits: int = 3) -> mx.array: + rank = tensor.shape[0] + if rank % num_splits == 0: + chunk_size = rank // num_splits + start = index * chunk_size + end = start + chunk_size + return tensor[start:end, :] + else: + return tensor + + @staticmethod + def _split_qkv_mlp_up(tensor: mx.array, index: int, dims: list[int] | None = None) -> mx.array: + if dims is None: + dims = [3072, 3072, 3072, 12288] + + start = sum(dims[:index]) + end = start + dims[index] + return tensor[start:end, :] + + @staticmethod + def _split_qkv_mlp_down(tensor: mx.array, index: int, num_splits: int = 4) -> mx.array: + rank = tensor.shape[0] + if rank % num_splits == 0: + chunk_size = rank // num_splits + start = index * chunk_size + end = start + chunk_size + return tensor[start:end, :] + else: + return tensor diff --git a/src/mflux/models/common/quantization/quantization_util.py b/src/mflux/models/common/quantization/quantization_util.py deleted file mode 100644 index 9cb93a4..0000000 --- a/src/mflux/models/common/quantization/quantization_util.py +++ /dev/null @@ -1,112 +0,0 @@ -from typing import TYPE_CHECKING - -import mlx.nn as nn - -if TYPE_CHECKING: - from mflux.models.fibo.weights.fibo_weight_handler import FIBOWeightHandler - from mflux.models.flux.variants.controlnet.weight_handler_controlnet import WeightHandlerControlnet - from mflux.models.flux.weights.weight_handler import WeightHandler - from mflux.models.qwen.weights.qwen_weight_handler import QwenWeightHandler - - -class QuantizationUtil: - @staticmethod - def quantize_model( - vae: nn.Module, - transformer: nn.Module, - t5_text_encoder: nn.Module, - clip_text_encoder: nn.Module, - quantize: int, - weights: "WeightHandler", - ) -> None: - q_level = weights.meta_data.quantization_level - if q_level == "None": - q_level = None - if quantize == "None": - quantize = None - - if quantize is not None or q_level is not None: - bits = int(q_level) if q_level is not None else quantize - nn.quantize(vae, bits=bits) - nn.quantize(transformer, bits=bits) - nn.quantize(t5_text_encoder, bits=bits) - nn.quantize(clip_text_encoder, bits=bits) - - @staticmethod - def quantize_controlnet( - quantize: int, - weights: "WeightHandlerControlnet", - transformer_controlnet: nn.Module, - ) -> None: - q_level = weights.meta_data.quantization_level - - if quantize is not None or q_level is not None: - bits = int(q_level) if q_level is not None else quantize - nn.quantize(transformer_controlnet, bits=bits) - - @staticmethod - def quantize_redux_models( - quantize: int, - weights: "WeightHandler", - redux_encoder: nn.Module, - siglip_vision_transformer: nn.Module, - ) -> None: - q_level = weights.meta_data.quantization_level - - if quantize is not None or q_level is not None: - bits = int(q_level) if q_level is not None else quantize - nn.quantize(redux_encoder, class_predicate=QuantizationUtil.quantization_predicate, bits=bits) - nn.quantize(siglip_vision_transformer, class_predicate=QuantizationUtil.quantization_predicate, bits=bits) - - @staticmethod - def quantization_predicate(path, m): - # 1. Skip Conv2d layers - if isinstance(m, nn.Conv2d): - return False - - # 2. Skip any layer with incompatible dimensions - if hasattr(m, "weight") and hasattr(m.weight, "shape"): - if m.weight.shape == (1152, 4304): - return False - - if m.weight.shape[-1] % 64 != 0: - return False - - # Only quantize layers that have to_quantized method - return hasattr(m, "to_quantized") - - @staticmethod - def quantize_qwen_models( - text_encoder: nn.Module, - vae: nn.Module, - transformer: nn.Module, - quantize: int, - weights: "QwenWeightHandler", - ) -> None: - q_level = weights.meta_data.quantization_level - - if quantize is not None or q_level is not None: - bits = int(q_level) if q_level is not None else quantize - nn.quantize(vae, bits=bits) - nn.quantize(transformer, bits=bits) - # nn.quantize(text_encoder, bits=bits) # Quantization of text encoder causes significant semantic degradation - - @staticmethod - def quantize_fibo_models( - vae: nn.Module, - transformer: nn.Module, - text_encoder: nn.Module | None, - quantize: int, - weights: "FIBOWeightHandler", - ) -> None: - q_level = weights.meta_data.quantization_level - if q_level == "None": - q_level = None - if quantize == "None": - quantize = None - - if quantize is not None or q_level is not None: - bits = int(q_level) if q_level is not None else quantize - nn.quantize(vae, class_predicate=QuantizationUtil.quantization_predicate, bits=bits) - nn.quantize(transformer, class_predicate=QuantizationUtil.quantization_predicate, bits=bits) - nn.quantize(text_encoder, class_predicate=QuantizationUtil.quantization_predicate, bits=bits) diff --git a/src/mflux/models/common/resolution/__init__.py b/src/mflux/models/common/resolution/__init__.py new file mode 100644 index 0000000..7410ce7 --- /dev/null +++ b/src/mflux/models/common/resolution/__init__.py @@ -0,0 +1,6 @@ +from mflux.models.common.resolution.config_resolution import ConfigResolution +from mflux.models.common.resolution.lora_resolution import LoraResolution +from mflux.models.common.resolution.path_resolution import PathResolution +from mflux.models.common.resolution.quantization_resolution import QuantizationResolution + +__all__ = ["ConfigResolution", "LoraResolution", "PathResolution", "QuantizationResolution"] diff --git a/src/mflux/models/common/resolution/actions.py b/src/mflux/models/common/resolution/actions.py new file mode 100644 index 0000000..8d3b9c8 --- /dev/null +++ b/src/mflux/models/common/resolution/actions.py @@ -0,0 +1,39 @@ +from enum import Enum +from typing import NamedTuple + + +class QuantizationAction(Enum): + NONE = "No quantization - use full precision" + STORED = "Use quantization level stored in weights" + REQUESTED = "Apply requested quantization on-the-fly" + + +class PathAction(Enum): + LOCAL = "Use local filesystem path" + HUGGINGFACE_CACHED = "Use cached HuggingFace files (no network)" + HUGGINGFACE = "Download from HuggingFace" + ERROR = "Path not found" + + +class LoraAction(Enum): + LOCAL = "Use local filesystem path" + REGISTRY = "Lookup in LORA_LIBRARY_PATH registry" + HUGGINGFACE_COLLECTION_CACHED = "Use cached file from HuggingFace collection (no network)" + HUGGINGFACE_COLLECTION = "Download specific file from HuggingFace collection" + HUGGINGFACE_REPO_CACHED = "Use cached HuggingFace repository (no network)" + HUGGINGFACE_REPO = "Download from HuggingFace repository" + ERROR = "LoRA not found" + + +class ConfigAction(Enum): + EXACT_MATCH = "Model name exactly matches a known alias" + EXPLICIT_BASE = "Use explicitly provided --base-model" + INFER_SUBSTRING = "Infer base model from substring match" + ERROR = "Cannot determine model configuration" + + +class Rule(NamedTuple): + priority: int + name: str + check: str + action: QuantizationAction | PathAction | LoraAction | ConfigAction diff --git a/src/mflux/models/common/resolution/config_resolution.py b/src/mflux/models/common/resolution/config_resolution.py new file mode 100644 index 0000000..d4c77db --- /dev/null +++ b/src/mflux/models/common/resolution/config_resolution.py @@ -0,0 +1,126 @@ +import logging +from typing import TYPE_CHECKING + +from mflux.models.common.resolution.actions import ConfigAction, Rule + +if TYPE_CHECKING: + from mflux.models.common.config.model_config import ModelConfig + +logger = logging.getLogger(__name__) + + +class ConfigResolution: + RULES = frozenset( + { + Rule(priority=0, name="exact_match", check="is_exact_match", action=ConfigAction.EXACT_MATCH), + Rule(priority=1, name="explicit_base", check="has_explicit_base", action=ConfigAction.EXPLICIT_BASE), + Rule(priority=2, name="infer_substring", check="can_infer_substring", action=ConfigAction.INFER_SUBSTRING), + Rule(priority=3, name="error", check="always", action=ConfigAction.ERROR), + } + ) + + @staticmethod + def resolve(model_name: str, base_model: str | None = None) -> "ModelConfig": + from mflux.models.common.config.model_config import AVAILABLE_MODELS, ModelConfig + from mflux.utils.exceptions import InvalidBaseModel, ModelConfigError + + base_models = sorted( + [m for m in AVAILABLE_MODELS.values() if m.base_model is None], + key=lambda x: x.priority, + ) + + ctx = { + "model_name": model_name, + "base_model": base_model, + "base_models": base_models, + "ModelConfig": ModelConfig, + "InvalidBaseModel": InvalidBaseModel, + "ModelConfigError": ModelConfigError, + } + + for rule in sorted(ConfigResolution.RULES, key=lambda r: r.priority): + if ConfigResolution._check(rule.check, ctx): + logger.debug(f"Config resolution: '{model_name}' โ†’ rule '{rule.name}' ({rule.action.value})") + return ConfigResolution._execute(rule.action, ctx) + + raise ValueError(f"No rule matched for model_name: {model_name}") + + @staticmethod + def _check(check: str, ctx: dict) -> bool: + if check == "is_exact_match": + model_name = ctx["model_name"] + for base in ctx["base_models"]: + if model_name == base.model_name or model_name in base.aliases: + return True + return False + if check == "has_explicit_base": + return ctx["base_model"] is not None + if check == "can_infer_substring": + model_name_lower = ctx["model_name"].lower() + for base in ctx["base_models"]: + for alias in base.aliases: + if alias and alias.lower() in model_name_lower: + return True + return False + if check == "always": + return True + return False + + @staticmethod + def _execute(action: ConfigAction, ctx: dict) -> "ModelConfig": + model_name = ctx["model_name"] + base_model = ctx["base_model"] + base_models = ctx["base_models"] + ModelConfig = ctx["ModelConfig"] + InvalidBaseModel = ctx["InvalidBaseModel"] + ModelConfigError = ctx["ModelConfigError"] + + if action == ConfigAction.EXACT_MATCH: + for base in base_models: + if model_name == base.model_name or model_name in base.aliases: + return base + raise ValueError("Exact match check passed but no match found") + + if action == ConfigAction.EXPLICIT_BASE: + allowed_names = [] + for base in base_models: + allowed_names.extend(base.aliases + [base.model_name]) + if base_model not in allowed_names: + raise InvalidBaseModel(f"Invalid base_model. Choose one of {allowed_names}") + + default_base = next( + (b for b in base_models if base_model == b.model_name or base_model in b.aliases), + None, + ) + return ConfigResolution._create_config(model_name, default_base, ModelConfig) + + if action == ConfigAction.INFER_SUBSTRING: + model_name_lower = model_name.lower() + matching_bases = [ + (b, alias) for b in base_models for alias in b.aliases if alias and alias.lower() in model_name_lower + ] + if not matching_bases: + raise ModelConfigError(f"Cannot infer base_model from {model_name}") + + default_base = sorted(matching_bases, key=lambda x: (-len(x[1]), x[0].priority))[0][0] + return ConfigResolution._create_config(model_name, default_base, ModelConfig) + + if action == ConfigAction.ERROR: + raise ModelConfigError(f"Cannot infer base_model from {model_name}") + + raise ValueError(f"Unknown action: {action}") + + @staticmethod + def _create_config(model_name: str, base: "ModelConfig", ModelConfig: type) -> "ModelConfig": + return ModelConfig( + aliases=base.aliases, + model_name=model_name, + base_model=base.model_name, + controlnet_model=base.controlnet_model, + custom_transformer_model=base.custom_transformer_model, + num_train_steps=base.num_train_steps, + max_sequence_length=base.max_sequence_length, + supports_guidance=base.supports_guidance, + requires_sigma_shift=base.requires_sigma_shift, + priority=base.priority, + ) diff --git a/src/mflux/models/common/resolution/lora_resolution.py b/src/mflux/models/common/resolution/lora_resolution.py new file mode 100644 index 0000000..7d2e306 --- /dev/null +++ b/src/mflux/models/common/resolution/lora_resolution.py @@ -0,0 +1,298 @@ +import logging +import os +import shutil +from pathlib import Path + +from huggingface_hub import snapshot_download +from huggingface_hub.utils import LocalEntryNotFoundError + +from mflux.cli.defaults.defaults import MFLUX_LORA_CACHE_DIR +from mflux.models.common.resolution.actions import LoraAction, Rule + +logger = logging.getLogger(__name__) + + +class LoraResolution: + RULES = frozenset( + { + Rule(priority=0, name="local", check="exists_locally", action=LoraAction.LOCAL), + Rule(priority=1, name="registry", check="in_registry", action=LoraAction.REGISTRY), + Rule(priority=2, name="collection_cached", check="is_collection_cached", action=LoraAction.HUGGINGFACE_COLLECTION_CACHED), + Rule(priority=3, name="collection_download", check="is_collection_format", action=LoraAction.HUGGINGFACE_COLLECTION), + Rule(priority=4, name="repo_cached", check="is_repo_cached", action=LoraAction.HUGGINGFACE_REPO_CACHED), + Rule(priority=5, name="repo_download", check="is_hf_format", action=LoraAction.HUGGINGFACE_REPO), + Rule(priority=6, name="error", check="always", action=LoraAction.ERROR), + } + ) # fmt: off + + _registry: dict[str, Path] = {} + + @staticmethod + def resolve(path: str) -> str: + for rule in sorted(LoraResolution.RULES, key=lambda r: r.priority): + if LoraResolution._check(rule.check, path): + logger.debug(f"LoRA resolution: '{path}' โ†’ rule '{rule.name}' ({rule.action.value})") + return LoraResolution._execute(rule.action, path) + + raise ValueError(f"No rule matched for LoRA path: {path}") + + @staticmethod + def resolve_paths(paths: list[str] | None) -> list[str]: + if not paths: + return [] + return [r for path in paths if (r := LoraResolution._try_resolve(path)) is not None] + + @staticmethod + def _try_resolve(path: str) -> str | None: + try: + return LoraResolution.resolve(path) + except FileNotFoundError as e: + print(f"โš ๏ธ {e}") + return None + + @staticmethod + def resolve_scales(scales: list[float] | None, num_paths: int) -> list[float]: + if not scales: + return [1.0] * num_paths + if len(scales) != num_paths: + print( + f"โš ๏ธ Number of LoRA scales ({len(scales)}) doesn't match number of LoRA paths ({num_paths}). " + f"Using provided scales and defaulting remaining to 1.0." + ) + # Pad with 1.0 if too few scales, truncate if too many + if len(scales) < num_paths: + return list(scales) + [1.0] * (num_paths - len(scales)) + return list(scales[:num_paths]) + return scales + + @staticmethod + def _is_collection_format(path: str) -> bool: + return ":" in path and "/" in path + + @staticmethod + def _is_hf_format(path: str) -> bool: + return "/" in path and path.count("/") == 1 and not path.startswith(("./", "../", "~/")) + + @staticmethod + def _check(check: str, path: str) -> bool: + if check == "exists_locally": + return Path(path).expanduser().exists() + if check == "in_registry": + return path in LoraResolution._registry + if check == "is_collection_cached": + if not LoraResolution._is_collection_format(path): + return False + repo_id, filename = path.split(":", 1) + return LoraResolution._is_collection_in_cache(repo_id, filename) + if check == "is_collection_format": + return LoraResolution._is_collection_format(path) + if check == "is_repo_cached": + if not LoraResolution._is_hf_format(path): + return False + return LoraResolution._is_repo_in_cache(path) + if check == "is_hf_format": + return LoraResolution._is_hf_format(path) + if check == "always": + return True + return False + + @staticmethod + def _is_collection_in_cache(repo_id: str, filename: str) -> bool: + cache_path = MFLUX_LORA_CACHE_DIR + # Check mflux cache + cached_file_path = cache_path / filename + if cached_file_path.exists() and cached_file_path.is_file(): + return True + # Check HF cache + try: + snapshot_download( + repo_id=repo_id, + allow_patterns=[f"*{filename}*"], + cache_dir=str(cache_path), + local_files_only=True, + ) + return True + except LocalEntryNotFoundError: + return False + + @staticmethod + def _is_repo_in_cache(repo_id: str) -> bool: + cache_path = MFLUX_LORA_CACHE_DIR + try: + snapshot_download( + repo_id=repo_id, + allow_patterns=["*.safetensors"], + cache_dir=str(cache_path), + local_files_only=True, + ) + return True + except LocalEntryNotFoundError: + return False + + @staticmethod + def _execute(action: LoraAction, path: str) -> str: + if action == LoraAction.LOCAL: + return str(Path(path).expanduser()) + if action == LoraAction.REGISTRY: + return str(LoraResolution._registry[path]) + if action == LoraAction.HUGGINGFACE_COLLECTION_CACHED: + repo_id, filename = path.split(":", 1) + return LoraResolution._load_collection_from_cache(repo_id, filename) + if action == LoraAction.HUGGINGFACE_COLLECTION: + repo_id, filename = path.split(":", 1) + return LoraResolution._download_collection(repo_id, filename) + if action == LoraAction.HUGGINGFACE_REPO_CACHED: + return LoraResolution._load_repo_from_cache(path) + if action == LoraAction.HUGGINGFACE_REPO: + return LoraResolution._download_repo(path) + if action == LoraAction.ERROR: + raise FileNotFoundError( + f"LoRA file not found: '{path}'. File does not exist and is not in the LoRA library." + ) + raise ValueError(f"Unknown action: {action}") + + @staticmethod + def _load_repo_from_cache(repo_id: str) -> str: + cache_path = MFLUX_LORA_CACHE_DIR + cache_path.mkdir(parents=True, exist_ok=True) + + download_path = Path( + snapshot_download( + repo_id=repo_id, + allow_patterns=["*.safetensors"], + cache_dir=str(cache_path), + local_files_only=True, + ) + ) + + safetensor_files = list(download_path.glob("*.safetensors")) + if not safetensor_files: + raise FileNotFoundError(f"No .safetensors file found in cached repo: {repo_id}") + + if len(safetensor_files) > 1: + file_names = [f.name for f in safetensor_files] + raise ValueError( + f"Multiple .safetensors files found in '{repo_id}': {file_names}. " + f"Please specify which file to use with the collection format: '{repo_id}:.safetensors'" + ) + + return str(safetensor_files[0]) + + @staticmethod + def _download_repo(repo_id: str) -> str: + cache_path = MFLUX_LORA_CACHE_DIR + cache_path.mkdir(parents=True, exist_ok=True) + + print(f"Downloading LoRA from HuggingFace: {repo_id}...") + download_path = Path( + snapshot_download( + repo_id=repo_id, + allow_patterns=["*.safetensors"], + cache_dir=str(cache_path), + ) + ) + + safetensor_files = list(download_path.glob("*.safetensors")) + if not safetensor_files: + raise FileNotFoundError(f"No .safetensors file found in HuggingFace repo: {repo_id}") + + if len(safetensor_files) > 1: + file_names = [f.name for f in safetensor_files] + raise ValueError( + f"Multiple .safetensors files found in '{repo_id}': {file_names}. " + f"Please specify which file to use with the collection format: '{repo_id}:.safetensors'" + ) + + return str(safetensor_files[0]) + + @staticmethod + def _load_collection_from_cache(repo_id: str, filename: str) -> str: + cache_path = MFLUX_LORA_CACHE_DIR + cache_path.mkdir(parents=True, exist_ok=True) + + # Check mflux cache first + cached_file_path = cache_path / filename + if cached_file_path.exists() and cached_file_path.is_file(): + try: + with open(cached_file_path, "rb") as f: + f.read(1) + return str(cached_file_path) + except (OSError, IOError): + # File corrupted, fall through to HF cache + pass + + # Load from HF cache + download_path = Path( + snapshot_download( + repo_id=repo_id, + allow_patterns=[f"*{filename}*"], + cache_dir=str(cache_path), + local_files_only=True, + ) + ) + + return LoraResolution._find_and_link_file(download_path, filename, cache_path) + + @staticmethod + def _download_collection(repo_id: str, filename: str) -> str: + cache_path = MFLUX_LORA_CACHE_DIR + cache_path.mkdir(parents=True, exist_ok=True) + + print(f"Downloading LoRA '{filename}' from {repo_id}...") + download_path = Path( + snapshot_download( + repo_id=repo_id, + allow_patterns=[f"*{filename}*"], + cache_dir=str(cache_path), + ) + ) + + return LoraResolution._find_and_link_file(download_path, filename, cache_path) + + @staticmethod + def _find_and_link_file(download_path: Path, filename: str, cache_path: Path) -> str: + found_files = list(download_path.glob(f"**/*{filename}*")) + for file in found_files: + if file.is_file() and file.suffix in [".safetensors", ".bin"]: + if not filename.endswith(file.suffix): + target_name = f"{filename}{file.suffix}" + else: + target_name = filename + + target_path = cache_path / target_name + if not target_path.exists(): + try: + target_path.symlink_to(file) + except (OSError, AttributeError): + shutil.copy2(file, target_path) + + return str(target_path) + + raise FileNotFoundError(f"Could not find LoRA file '{filename}' in downloaded files") + + @staticmethod + def get_registry() -> dict[str, Path]: + return LoraResolution._registry.copy() + + @staticmethod + def discover_files(library_paths: list[Path]) -> dict[str, Path]: + lora_files = {} + for library_path in reversed(library_paths): + if not library_path.exists() or not library_path.is_dir(): + continue + for safetensor_path in library_path.rglob("*.safetensors"): + basename = safetensor_path.stem + if basename.isdigit() and safetensor_path.parent.name == "transformer": + continue + lora_files[basename] = safetensor_path.resolve() + return lora_files + + @staticmethod + def _initialize_registry() -> None: + library_path_env = os.environ.get("LORA_LIBRARY_PATH") + if library_path_env: + library_paths = [Path(p.strip()) for p in library_path_env.split(":") if p.strip()] + LoraResolution._registry = LoraResolution.discover_files(library_paths) + + +LoraResolution._initialize_registry() diff --git a/src/mflux/models/common/resolution/path_resolution.py b/src/mflux/models/common/resolution/path_resolution.py new file mode 100644 index 0000000..663aef9 --- /dev/null +++ b/src/mflux/models/common/resolution/path_resolution.py @@ -0,0 +1,157 @@ +import logging +import os +from pathlib import Path + +from huggingface_hub import snapshot_download +from huggingface_hub.constants import HF_HUB_CACHE + +from mflux.models.common.resolution.actions import PathAction, Rule + +logger = logging.getLogger(__name__) + + +class PathResolution: + RULES = frozenset( + { + Rule(priority=0, name="none", check="is_none", action=PathAction.LOCAL), + Rule(priority=1, name="local", check="exists_locally", action=PathAction.LOCAL), + Rule(priority=2, name="hf_cached", check="is_hf_cached", action=PathAction.HUGGINGFACE_CACHED), + Rule(priority=3, name="hf_download", check="is_hf_format", action=PathAction.HUGGINGFACE), + Rule(priority=4, name="error", check="always", action=PathAction.ERROR), + } + ) + + @staticmethod + def resolve(path: str | None, patterns: list[str] | None = None) -> Path | None: + if patterns is None: + patterns = ["*.safetensors"] + + for rule in sorted(PathResolution.RULES, key=lambda r: r.priority): + if PathResolution._check(rule.check, path, patterns): + logger.debug(f"Path resolution: '{path}' โ†’ rule '{rule.name}' ({rule.action.value})") + return PathResolution._execute(rule.action, path, patterns) + + raise ValueError(f"No rule matched for path: {path}") + + @staticmethod + def _is_hf_format(path: str | None) -> bool: + return path is not None and "/" in path and path.count("/") == 1 and not path.startswith(("./", "../", "~/")) + + @staticmethod + def _check(check: str, path: str | None, patterns: list[str]) -> bool: + if check == "is_none": + return path is None + if check == "exists_locally": + if path is None: + return False + local_path = Path(path).expanduser() + if not local_path.exists(): + return False + # Warn if directory exists but contains no matching files + if local_path.is_dir(): + has_matching_files = any(list(local_path.glob(p)) for p in patterns) + if not has_matching_files: + print( + f"โš ๏ธ Directory '{path}' exists but contains no files matching {patterns}. " + f"Model loading may fail." + ) + return True + if check == "is_hf_cached": + if not PathResolution._is_hf_format(path): + return False + # Check if we have a complete cached snapshot + return PathResolution._find_complete_cached_snapshot(path, patterns) is not None + if check == "is_hf_format": + return PathResolution._is_hf_format(path) + if check == "always": + return True + return False + + @staticmethod + def _execute(action: PathAction, path: str | None, patterns: list[str]) -> Path | None: + if action == PathAction.LOCAL: + return Path(path).expanduser() if path else None + if action == PathAction.HUGGINGFACE_CACHED: + # Find the best complete cached snapshot + cached_path = PathResolution._find_complete_cached_snapshot(path, patterns) + if cached_path: + return cached_path + # Fallback to standard snapshot_download (shouldn't happen if _check passed) + return Path(snapshot_download(repo_id=path, allow_patterns=patterns, local_files_only=True)) + if action == PathAction.HUGGINGFACE: + print(f"Downloading model from HuggingFace: {path}...") + return Path(snapshot_download(repo_id=path, allow_patterns=patterns)) + if action == PathAction.ERROR: + raise FileNotFoundError( + f"Model not found: '{path}'. " + f"If local path, make sure it exists. " + f"If HuggingFace repo, use 'org/model' format." + ) + return None + + @staticmethod + def _find_complete_cached_snapshot(repo_id: str, patterns: list[str]) -> Path | None: + # Build the cache directory path for this repo + # HuggingFace cache structure: {cache_dir}/models--{org}--{model}/snapshots/{revision}/ + repo_cache_name = f"models--{repo_id.replace('/', '--')}" + repo_cache_dir = Path(HF_HUB_CACHE) / repo_cache_name / "snapshots" + + if not repo_cache_dir.exists(): + return None + + # Extract subdirectories that need safetensors files (e.g., "vae/*.safetensors" โ†’ "vae") + required_subdirs = PathResolution._get_required_subdirs_with_safetensors(patterns) + + # Check each snapshot for completeness, prefer more recent ones + snapshots = sorted(repo_cache_dir.iterdir(), key=lambda p: p.stat().st_mtime, reverse=True) + + for snapshot_path in snapshots: + if not snapshot_path.is_dir(): + continue + if PathResolution._is_snapshot_complete(snapshot_path, required_subdirs): + logger.debug(f"Found complete cached snapshot: {snapshot_path}") + return snapshot_path + + return None + + @staticmethod + def _get_required_subdirs_with_safetensors(patterns: list[str]) -> set[str]: + subdirs = set() + for pattern in patterns: + # Only care about safetensors patterns + if "*.safetensors" not in pattern: + continue + # Handle patterns like "vae/*.safetensors" + if "/" in pattern: + subdir = pattern.split("/")[0] + # Only add if it's a real subdir name (not a glob pattern itself) + if "*" not in subdir: + subdirs.add(subdir) + return subdirs + + @staticmethod + def _is_snapshot_complete(snapshot_path: Path, required_subdirs: set[str]) -> bool: + if not required_subdirs: + # No specific subdirs required, just check for any safetensors + return any(snapshot_path.glob("**/*.safetensors")) + + for subdir in required_subdirs: + subdir_path = snapshot_path / subdir + if not subdir_path.exists(): + return False + # Check if subdir has at least one safetensors file (following symlinks) + has_safetensors = False + for f in subdir_path.iterdir(): + if f.name.endswith(".safetensors"): + # Verify the symlink target exists (handles broken symlinks) + if f.is_symlink(): + if os.path.exists(f): + has_safetensors = True + break + else: + has_safetensors = True + break + if not has_safetensors: + return False + + return True diff --git a/src/mflux/models/common/resolution/quantization_resolution.py b/src/mflux/models/common/resolution/quantization_resolution.py new file mode 100644 index 0000000..40e2b71 --- /dev/null +++ b/src/mflux/models/common/resolution/quantization_resolution.py @@ -0,0 +1,52 @@ +import logging + +from mflux.models.common.resolution.actions import QuantizationAction, Rule + +logger = logging.getLogger(__name__) + + +class QuantizationResolution: + RULES = frozenset( + { + Rule(priority=0, name="none", check="none_none", action=QuantizationAction.NONE), + Rule(priority=1, name="on_the_fly", check="none_any", action=QuantizationAction.REQUESTED), + Rule(priority=2, name="pre_quantized", check="any_none", action=QuantizationAction.STORED), + Rule(priority=3, name="conflict", check="any_any", action=QuantizationAction.STORED), + } + ) + + @staticmethod + def resolve(stored: int | None, requested: int | None) -> tuple[int | None, str | None]: + for rule in sorted(QuantizationResolution.RULES, key=lambda r: r.priority): + if QuantizationResolution._check(rule.check, stored, requested): + logger.debug( + f"Quantization resolution: stored={stored}, requested={requested} " + f"โ†’ rule '{rule.name}' ({rule.action.value})" + ) + return QuantizationResolution._execute(rule, stored, requested) + + raise ValueError(f"Unexpected quantization state: stored={stored}, requested={requested}") + + @staticmethod + def _check(check: str, stored: int | None, requested: int | None) -> bool: + if check == "none_none": + return stored is None and requested is None + if check == "none_any": + return stored is None and requested is not None + if check == "any_none": + return stored is not None and requested is None + if check == "any_any": + return stored is not None and requested is not None + return False + + @staticmethod + def _execute(rule: Rule, stored: int | None, requested: int | None) -> tuple[int | None, str | None]: + if rule.action == QuantizationAction.NONE: + return None, None + if rule.action == QuantizationAction.REQUESTED: + return requested, None + if rule.action == QuantizationAction.STORED: + warn = rule.name == "conflict" and stored != requested + warning = f"Model is pre-quantized at {stored}-bit. Ignoring -q {requested} flag." if warn else None + return stored, warning + return None, None diff --git a/src/mflux/models/common/schedulers/base_scheduler.py b/src/mflux/models/common/schedulers/base_scheduler.py index ffacb7e..0fbe2d1 100644 --- a/src/mflux/models/common/schedulers/base_scheduler.py +++ b/src/mflux/models/common/schedulers/base_scheduler.py @@ -4,23 +4,12 @@ import mlx.core as mx class BaseScheduler(ABC): - """ - Abstract base class for all schedulers. - """ - @property @abstractmethod - def sigmas(self) -> mx.array: - """ - The sigma schedule for the diffusion process. - """ - ... + def sigmas(self) -> mx.array: ... @abstractmethod - def step(self, model_output: mx.array, timestep: int, sample: mx.array, **kwargs) -> mx.array: ... + def step(self, noise: mx.array, timestep: int, latents: mx.array, **kwargs) -> mx.array: ... def scale_model_input(self, latents: mx.array, t: int) -> mx.array: - """ - Scale the denoising model input. By default, no scaling applied. - """ return latents diff --git a/src/mflux/models/common/schedulers/flow_match_euler_discrete_scheduler.py b/src/mflux/models/common/schedulers/flow_match_euler_discrete_scheduler.py index 09b7fe4..56508de 100644 --- a/src/mflux/models/common/schedulers/flow_match_euler_discrete_scheduler.py +++ b/src/mflux/models/common/schedulers/flow_match_euler_discrete_scheduler.py @@ -4,15 +4,15 @@ from typing import TYPE_CHECKING import mlx.core as mx if TYPE_CHECKING: - from mflux.config.runtime_config import RuntimeConfig + from mflux.models.common.config.config import Config from mflux.models.common.schedulers.base_scheduler import BaseScheduler class FlowMatchEulerDiscreteScheduler(BaseScheduler): - def __init__(self, runtime_config: "RuntimeConfig"): - self.runtime_config = runtime_config - self.model_config = runtime_config.model_config + def __init__(self, config: "Config"): + self.config = config + self.model_config = config.model_config self.num_train_timesteps = 1000 self.shift_terminal = 0.02 self.base_shift = 0.5 @@ -30,8 +30,8 @@ class FlowMatchEulerDiscreteScheduler(BaseScheduler): return self._timesteps def _compute_mu(self) -> float: - h_patches = self.runtime_config.height // 16 - w_patches = self.runtime_config.width // 16 + h_patches = self.config.height // 16 + w_patches = self.config.width // 16 seq_len = h_patches * w_patches m = (self.max_shift - self.base_shift) / (self.max_image_seq_len - self.base_image_seq_len) b = self.base_shift - m * self.base_image_seq_len @@ -49,7 +49,7 @@ class FlowMatchEulerDiscreteScheduler(BaseScheduler): return stretched def _compute_timesteps_and_sigmas(self) -> tuple[mx.array, mx.array]: - num_steps = self.runtime_config.num_inference_steps + num_steps = self.config.num_inference_steps sigma_min = 1.0 / self.num_train_timesteps sigma_max = 1.0 timesteps_linear = [ @@ -66,10 +66,9 @@ class FlowMatchEulerDiscreteScheduler(BaseScheduler): timesteps_arr = mx.array(timesteps, dtype=mx.float32) return sigmas_arr, timesteps_arr - def step(self, model_output: mx.array, timestep: int, sample: mx.array, **kwargs) -> mx.array: + def step(self, noise: mx.array, timestep: int, latents: mx.array, **kwargs) -> mx.array: dt = self._sigmas[timestep + 1] - self._sigmas[timestep] - prev_sample = sample + dt * model_output - return prev_sample + return latents + dt * noise def scale_model_input(self, latents: mx.array, t: int) -> mx.array: return latents diff --git a/src/mflux/models/common/schedulers/linear_scheduler.py b/src/mflux/models/common/schedulers/linear_scheduler.py index 277f606..5d7187d 100644 --- a/src/mflux/models/common/schedulers/linear_scheduler.py +++ b/src/mflux/models/common/schedulers/linear_scheduler.py @@ -3,14 +3,14 @@ from typing import TYPE_CHECKING import mlx.core as mx if TYPE_CHECKING: - from mflux.config.runtime_config import RuntimeConfig + from mflux.models.common.config.config import Config from mflux.models.common.schedulers.base_scheduler import BaseScheduler class LinearScheduler(BaseScheduler): - def __init__(self, runtime_config: "RuntimeConfig"): - self.runtime_config = runtime_config + def __init__(self, config: "Config"): + self.config = config self._sigmas = self._get_sigmas() self._timesteps = self._get_timesteps() @@ -23,11 +23,11 @@ class LinearScheduler(BaseScheduler): return self._timesteps def _get_sigmas(self) -> mx.array: - model_config = self.runtime_config.model_config + model_config = self.config.model_config sigmas = mx.linspace( 1.0, - 1.0 / self.runtime_config.num_inference_steps, - self.runtime_config.num_inference_steps, + 1.0 / self.config.num_inference_steps, + self.config.num_inference_steps, ) sigmas = mx.array(sigmas).astype(mx.float32) sigmas = mx.concatenate([sigmas, mx.zeros(1)]) @@ -36,7 +36,7 @@ class LinearScheduler(BaseScheduler): x1 = 256 m = (1.15 - y1) / (4096 - x1) b = y1 - m * x1 - mu = m * self.runtime_config.width * self.runtime_config.height / 256 + b + mu = m * self.config.width * self.config.height / 256 + b mu = mx.array(mu) shifted_sigmas = mx.exp(mu) / (mx.exp(mu) + (1 / sigmas - 1)) shifted_sigmas[-1] = 0 @@ -45,11 +45,11 @@ class LinearScheduler(BaseScheduler): return sigmas def _get_timesteps(self) -> mx.array: - num_steps = self.runtime_config.num_inference_steps + num_steps = self.config.num_inference_steps timesteps = mx.arange(num_steps, dtype=mx.float32) return timesteps - def step(self, model_output: mx.array, timestep: int, sample: mx.array, **kwargs) -> mx.array: + def step(self, noise: mx.array, timestep: int, latents: mx.array, **kwargs) -> mx.array: dt = self._sigmas[timestep + 1] - self._sigmas[timestep] - return sample + model_output * dt + return latents + noise * dt diff --git a/src/mflux/models/common/tokenizer/__init__.py b/src/mflux/models/common/tokenizer/__init__.py new file mode 100644 index 0000000..e760f9d --- /dev/null +++ b/src/mflux/models/common/tokenizer/__init__.py @@ -0,0 +1,17 @@ +from mflux.models.common.tokenizer.tokenizer import ( + BaseTokenizer, + LanguageTokenizer, + Tokenizer, + VisionLanguageTokenizer, +) +from mflux.models.common.tokenizer.tokenizer_loader import TokenizerLoader +from mflux.models.common.tokenizer.tokenizer_output import TokenizerOutput + +__all__ = [ + "Tokenizer", + "BaseTokenizer", + "LanguageTokenizer", + "VisionLanguageTokenizer", + "TokenizerLoader", + "TokenizerOutput", +] diff --git a/src/mflux/models/common/tokenizer/tokenizer.py b/src/mflux/models/common/tokenizer/tokenizer.py new file mode 100644 index 0000000..7c1d6f6 --- /dev/null +++ b/src/mflux/models/common/tokenizer/tokenizer.py @@ -0,0 +1,188 @@ +from abc import ABC, abstractmethod +from typing import Protocol, runtime_checkable + +import mlx.core as mx +import numpy as np +from PIL import Image +from transformers import PreTrainedTokenizer + +from mflux.models.common.tokenizer.tokenizer_output import TokenizerOutput + + +@runtime_checkable +class Tokenizer(Protocol): + tokenizer: PreTrainedTokenizer + + def tokenize( + self, + prompt: str | list[str], + images: list[Image.Image] | None = None, + max_length: int | None = None, + **kwargs, + ) -> TokenizerOutput: ... + + +class BaseTokenizer(ABC): + def __init__(self, tokenizer: PreTrainedTokenizer, max_length: int = 512): + self.tokenizer = tokenizer + self.max_length = max_length + + @abstractmethod + def tokenize( + self, + prompt: str | list[str], + images: list[Image.Image] | None = None, + max_length: int | None = None, + **kwargs, + ) -> TokenizerOutput: ... + + +class LanguageTokenizer(BaseTokenizer): + def __init__( + self, + tokenizer: PreTrainedTokenizer, + max_length: int = 512, + padding: str = "max_length", + return_attention_mask: bool = True, + template: str | None = None, + use_chat_template: bool = False, + chat_template_kwargs: dict | None = None, + add_special_tokens: bool = True, + ): + super().__init__(tokenizer, max_length) + self.padding = padding + self.return_attention_mask = return_attention_mask + self.template = template + self.use_chat_template = use_chat_template + self.chat_template_kwargs = chat_template_kwargs or {} + self.add_special_tokens = add_special_tokens + + def tokenize( + self, + prompt: str | list[str], + images: list[Image.Image] | None = None, + max_length: int | None = None, + **kwargs, + ) -> TokenizerOutput: + max_length = max_length or self.max_length + + if isinstance(prompt, str): + prompts = [prompt] + else: + prompts = list(prompt) + + prompts = [p if p is not None else "" for p in prompts] + if all(p == "" for p in prompts): + batch_size = len(prompts) + input_ids = mx.array(np.empty((batch_size, 0), dtype=np.int32)) + attention_mask = mx.array(np.empty((batch_size, 0), dtype=np.int32)) + return TokenizerOutput(input_ids=input_ids, attention_mask=attention_mask) + + if self.template or self.use_chat_template: + formatted_prompts = [] + for p in prompts: + if self.template: + formatted = self.template.format(p) + elif self.use_chat_template: + formatted = self.tokenizer.apply_chat_template( + [{"role": "user", "content": p}], + tokenize=False, + add_generation_prompt=True, + **self.chat_template_kwargs, + ) + else: + formatted = p + formatted_prompts.append(formatted) + prompts = formatted_prompts + + tokens = self.tokenizer( + prompts, + padding=self.padding, + max_length=max_length, + truncation=True, + add_special_tokens=self.add_special_tokens, + return_length=False, + return_overflowing_tokens=False, + return_tensors="np", + ) + + input_ids = mx.array(tokens["input_ids"]) + if self.return_attention_mask: + attention_mask = mx.array(tokens["attention_mask"]) + else: + attention_mask = mx.ones_like(input_ids) + + return TokenizerOutput( + input_ids=input_ids, + attention_mask=attention_mask, + ) + + +class VisionLanguageTokenizer(BaseTokenizer): + def __init__( + self, + tokenizer: PreTrainedTokenizer, + processor, + max_length: int = 1024, + template: str | None = None, + image_token: str = "<|image_pad|>", + ): + super().__init__(tokenizer, max_length) + self.processor = processor + self.template = template + self.image_token = image_token + + def tokenize( + self, + prompt: str | list[str], + images: list[Image.Image] | None = None, + max_length: int | None = None, + **kwargs, + ) -> TokenizerOutput: + max_length = max_length or self.max_length + + if isinstance(prompt, str): + prompt = [prompt] + + if self.template and images: + img_prompt = "" + for i in range(len(images)): + img_prompt += f"Picture {i + 1}: <|vision_start|>{self.image_token}<|vision_end|>" + formatted_text = self.template.format(img_prompt + prompt[0]) + elif self.template: + formatted_text = self.template.format(prompt[0]) + else: + formatted_text = prompt[0] + + pixel_values = None + image_grid_thw = None + + if images: + model_inputs = self.processor( + text=[formatted_text], + images=images, + padding=True, + return_tensors=None, + ) + + input_ids = model_inputs["input_ids"] + attention_mask = model_inputs["attention_mask"] + pixel_values = mx.array(model_inputs["pixel_values"]) + image_grid_thw = mx.array(model_inputs["image_grid_thw"]) + else: + tokens = self.tokenizer( + [formatted_text], + max_length=max_length, + padding=True, + truncation=True, + return_tensors="np", + ) + input_ids = mx.array(tokens["input_ids"]) + attention_mask = mx.array(tokens["attention_mask"]) + + return TokenizerOutput( + input_ids=input_ids, + attention_mask=attention_mask, + pixel_values=pixel_values, + image_grid_thw=image_grid_thw, + ) diff --git a/src/mflux/models/common/tokenizer/tokenizer_loader.py b/src/mflux/models/common/tokenizer/tokenizer_loader.py new file mode 100644 index 0000000..319cf9c --- /dev/null +++ b/src/mflux/models/common/tokenizer/tokenizer_loader.py @@ -0,0 +1,144 @@ +from pathlib import Path +from typing import TYPE_CHECKING + +import transformers +from huggingface_hub import snapshot_download + +from mflux.models.common.tokenizer.tokenizer import ( + BaseTokenizer, + LanguageTokenizer, + VisionLanguageTokenizer, +) + +if TYPE_CHECKING: + from mflux.models.common.weights.loading.weight_definition import TokenizerDefinition + + +class TokenizerLoader: + @staticmethod + def load( + definition: "TokenizerDefinition", + model_path: str, + ) -> BaseTokenizer: + tokenizer_path = TokenizerLoader._resolve_path( + model_path=model_path, + hf_subdir=definition.hf_subdir, + fallback_subdirs=definition.fallback_subdirs, + download_patterns=definition.download_patterns, + ) + + raw_tokenizer = TokenizerLoader._load_raw_tokenizer( + tokenizer_path=tokenizer_path, + tokenizer_class=definition.tokenizer_class, + ) + + return TokenizerLoader._create_tokenizer( + raw_tokenizer=raw_tokenizer, + definition=definition, + ) + + @staticmethod + def load_all( + definitions: list["TokenizerDefinition"], + model_path: str, + max_length_overrides: dict[str, int] | None = None, + ) -> dict[str, BaseTokenizer]: + max_length_overrides = max_length_overrides or {} + result = {} + for d in definitions: + tokenizer = TokenizerLoader.load(d, model_path) + if d.name in max_length_overrides: + tokenizer.max_length = max_length_overrides[d.name] + result[d.name] = tokenizer + return result + + @staticmethod + def _resolve_path( + model_path: str, + hf_subdir: str, + fallback_subdirs: list[str] | None, + download_patterns: list[str] | None, + ) -> Path: + expanded = Path(model_path).expanduser() + if expanded.exists(): + root_path = expanded + elif "/" in model_path and model_path.count("/") == 1 and not model_path.startswith(("./", "../")): + patterns = download_patterns or [f"{hf_subdir}/**"] + root_path = Path( + snapshot_download( + repo_id=model_path, + allow_patterns=patterns, + ) + ) + else: + raise FileNotFoundError( + f"Model not found: '{model_path}'. " + f"If local path, make sure it exists. " + f"If HuggingFace repo, use 'org/model' format." + ) + + tokenizer_path = root_path / hf_subdir + if tokenizer_path.exists(): + return tokenizer_path + + if fallback_subdirs: + for subdir in fallback_subdirs: + if subdir == ".": + if TokenizerLoader._has_tokenizer_files(root_path): + return root_path + else: + fallback_path = root_path / subdir + if fallback_path.exists(): + return fallback_path + + return tokenizer_path + + @staticmethod + def _has_tokenizer_files(path: Path) -> bool: + tokenizer_indicators = ["vocab.json", "tokenizer.json", "tokenizer_config.json"] + return any((path / f).exists() for f in tokenizer_indicators) + + @staticmethod + def _load_raw_tokenizer( + tokenizer_path: Path, + tokenizer_class: str, + ): + if hasattr(transformers, tokenizer_class): + cls = getattr(transformers, tokenizer_class) + else: + raise ValueError(f"Unknown tokenizer class: {tokenizer_class}") + + return cls.from_pretrained( + pretrained_model_name_or_path=str(tokenizer_path), + local_files_only=True, + ) + + @staticmethod + def _create_tokenizer( + raw_tokenizer, + definition: "TokenizerDefinition", + ) -> BaseTokenizer: + encoder_class = definition.encoder_class + + if encoder_class is VisionLanguageTokenizer: + if definition.processor_class is None: + raise ValueError("VisionLanguageTokenizer requires processor_class in definition") + processor = definition.processor_class(tokenizer=raw_tokenizer) + return VisionLanguageTokenizer( + tokenizer=raw_tokenizer, + processor=processor, + max_length=definition.max_length, + template=definition.template, + image_token=definition.image_token, + ) + else: + # Default to LanguageTokenizer for all text-only cases + return LanguageTokenizer( + tokenizer=raw_tokenizer, + max_length=definition.max_length, + padding=definition.padding, + template=definition.template, + use_chat_template=definition.use_chat_template, + chat_template_kwargs=definition.chat_template_kwargs or {}, + add_special_tokens=definition.add_special_tokens, + ) diff --git a/src/mflux/models/common/tokenizer/tokenizer_output.py b/src/mflux/models/common/tokenizer/tokenizer_output.py new file mode 100644 index 0000000..efb44b1 --- /dev/null +++ b/src/mflux/models/common/tokenizer/tokenizer_output.py @@ -0,0 +1,11 @@ +from dataclasses import dataclass + +import mlx.core as mx + + +@dataclass +class TokenizerOutput: + input_ids: mx.array + attention_mask: mx.array + pixel_values: mx.array | None = None + image_grid_thw: mx.array | None = None diff --git a/src/mflux/models/common/weights/__init__.py b/src/mflux/models/common/weights/__init__.py index d602926..3c68bee 100644 --- a/src/mflux/models/common/weights/__init__.py +++ b/src/mflux/models/common/weights/__init__.py @@ -1,5 +1,14 @@ -"""Common weight mapping utilities.""" +from mflux.models.common.weights.loading.loaded_weights import LoadedWeights, MetaData +from mflux.models.common.weights.loading.weight_applier import WeightApplier +from mflux.models.common.weights.loading.weight_definition import ComponentDefinition +from mflux.models.common.weights.loading.weight_loader import WeightLoader +from mflux.models.common.weights.saving.model_saver import ModelSaver -from mflux.models.common.weights.model_saver import ModelSaver - -__all__ = ["ModelSaver"] +__all__ = [ + "ComponentDefinition", + "LoadedWeights", + "MetaData", + "ModelSaver", + "WeightApplier", + "WeightLoader", +] diff --git a/src/mflux/ui/__init__.py b/src/mflux/models/common/weights/loading/__init__.py similarity index 100% rename from src/mflux/ui/__init__.py rename to src/mflux/models/common/weights/loading/__init__.py diff --git a/src/mflux/models/common/weights/loading/loaded_weights.py b/src/mflux/models/common/weights/loading/loaded_weights.py new file mode 100644 index 0000000..b45e0f2 --- /dev/null +++ b/src/mflux/models/common/weights/loading/loaded_weights.py @@ -0,0 +1,40 @@ +from dataclasses import dataclass + + +@dataclass +class MetaData: + quantization_level: int | None = None + mflux_version: str | None = None + + +@dataclass +class LoadedWeights: + components: dict[str, dict] + meta_data: MetaData + + def __getattr__(self, name: str) -> dict | None: + if name in ("components", "meta_data"): + return object.__getattribute__(self, name) + return self.components.get(name) + + def num_transformer_blocks(self, component_name: str = "transformer") -> int: + transformer = self.components.get(component_name) + if transformer is None: + for comp in self.components.values(): + if isinstance(comp, dict) and "transformer_blocks" in comp: + transformer = comp + break + if transformer and "transformer_blocks" in transformer: + return len(transformer["transformer_blocks"]) + return 0 + + def num_single_transformer_blocks(self, component_name: str = "transformer") -> int: + transformer = self.components.get(component_name) + if transformer is None: + for comp in self.components.values(): + if isinstance(comp, dict) and "single_transformer_blocks" in comp: + transformer = comp + break + if transformer and "single_transformer_blocks" in transformer: + return len(transformer["single_transformer_blocks"]) + return 0 diff --git a/src/mflux/models/common/weights/loading/weight_applier.py b/src/mflux/models/common/weights/loading/weight_applier.py new file mode 100644 index 0000000..4b267c8 --- /dev/null +++ b/src/mflux/models/common/weights/loading/weight_applier.py @@ -0,0 +1,103 @@ +from typing import TYPE_CHECKING + +import mlx.nn as nn + +from mflux.models.common.resolution.quantization_resolution import QuantizationResolution +from mflux.models.common.weights.loading.loaded_weights import LoadedWeights +from mflux.models.common.weights.loading.weight_definition import ComponentDefinition + +if TYPE_CHECKING: + from mflux.models.common.weights.loading.weight_definition import WeightDefinitionType + + +class WeightApplier: + @staticmethod + def apply_and_quantize_single( + weights: LoadedWeights, + model: nn.Module, + component: ComponentDefinition, + quantize_arg: int | None, + quantization_predicate=None, + ) -> int | None: + stored_q = weights.meta_data.quantization_level + component_weights = weights.components.get(component.name) + + if component_weights is None: + raise ValueError(f"No weights found for component: {component.name}") + + if quantization_predicate is None: + + def quantization_predicate(path, module): + return hasattr(module, "to_quantized") + + bits, warning = QuantizationResolution.resolve(stored=stored_q, requested=quantize_arg) + + if warning: + print(f"โš ๏ธ {warning}") + + if bits is None: + model.update(component_weights, strict=False) + elif stored_q is None: + model.update(component_weights, strict=False) + if not component.skip_quantization: + nn.quantize(model, class_predicate=quantization_predicate, bits=bits) + else: + if not component.skip_quantization: + nn.quantize(model, class_predicate=quantization_predicate, bits=bits) + model.update(component_weights, strict=False) + + return bits + + @staticmethod + def apply_and_quantize( + weights: LoadedWeights, + models: dict[str, nn.Module], + quantize_arg: int | None, + weight_definition: "WeightDefinitionType", + ) -> int | None: + stored_q = weights.meta_data.quantization_level + components = {c.name: c for c in weight_definition.get_components()} + + bits, warning = QuantizationResolution.resolve(stored=stored_q, requested=quantize_arg) + + if warning: + print(f"โš ๏ธ {warning}") + + if bits is None: + WeightApplier._set_weights(weights, models, components) + elif stored_q is None: + WeightApplier._set_weights(weights, models, components) + WeightApplier._quantize(models, bits, components, weight_definition) + else: + WeightApplier._quantize(models, bits, components, weight_definition) + WeightApplier._set_weights(weights, models, components) + + return bits + + @staticmethod + def _set_weights( + weights: LoadedWeights, + models: dict[str, nn.Module], + components: dict | None = None, + ) -> None: + for name, model in models.items(): + component_weights = weights.components.get(name) + if component_weights is not None: + if components is not None: + component = components.get(name) + if component is not None and component.weight_subkey is not None: + component_weights = component_weights.get(component.weight_subkey, component_weights) + model.update(component_weights, strict=False) + + @staticmethod + def _quantize( + models: dict[str, nn.Module], + bits: int, + components: dict, + weight_definition: "WeightDefinitionType", + ) -> None: + for name, model in models.items(): + component = components.get(name) + if component and component.skip_quantization: + continue + nn.quantize(model, class_predicate=weight_definition.quantization_predicate, bits=bits) diff --git a/src/mflux/models/common/weights/loading/weight_definition.py b/src/mflux/models/common/weights/loading/weight_definition.py new file mode 100644 index 0000000..ba86034 --- /dev/null +++ b/src/mflux/models/common/weights/loading/weight_definition.py @@ -0,0 +1,59 @@ +from dataclasses import dataclass, field +from typing import TYPE_CHECKING, Callable, List, TypeAlias + +import mlx.core as mx + +from mflux.models.common.weights.mapping.weight_mapping import WeightTarget + +if TYPE_CHECKING: + from mflux.models.common.tokenizer.tokenizer import BaseTokenizer + from mflux.models.depth_pro.weights.depth_pro_weight_definition import DepthProWeightDefinition + from mflux.models.fibo.weights.fibo_weight_definition import FIBOWeightDefinition + from mflux.models.fibo_vlm.weights.fibo_vlm_weight_definition import FIBOVLMWeightDefinition + from mflux.models.flux.weights.flux_weight_definition import FluxWeightDefinition + from mflux.models.qwen.weights.qwen_weight_definition import QwenWeightDefinition + from mflux.models.z_image.weights.z_image_weight_definition import ZImageWeightDefinition + + WeightDefinitionType: TypeAlias = type[ + FluxWeightDefinition + | FIBOWeightDefinition + | FIBOVLMWeightDefinition + | QwenWeightDefinition + | ZImageWeightDefinition + | DepthProWeightDefinition + ] + + +@dataclass +class ComponentDefinition: + name: str + hf_subdir: str + mapping_getter: Callable[[], List[WeightTarget]] | None = None + model_attr: str | None = None + num_blocks: int | None = None + num_layers: int | None = None + loading_mode: str = "mlx_native" + precision: mx.Dtype | None = None + skip_quantization: bool = False + bulk_transform: Callable[[mx.array], mx.array] | None = None + weight_subkey: str | None = None + download_url: str | None = None + weight_prefix_filters: List[str] | None = None + + +@dataclass +class TokenizerDefinition: + name: str + hf_subdir: str + tokenizer_class: str = "AutoTokenizer" + fallback_subdirs: List[str] | None = None + download_patterns: List[str] | None = None + encoder_class: type["BaseTokenizer"] | None = None + max_length: int = 512 + padding: str = "max_length" + template: str | None = None + use_chat_template: bool = False + chat_template_kwargs: dict | None = field(default_factory=dict) + add_special_tokens: bool = True + processor_class: type | None = None + image_token: str = "<|image_pad|>" diff --git a/src/mflux/models/common/weights/loading/weight_loader.py b/src/mflux/models/common/weights/loading/weight_loader.py new file mode 100644 index 0000000..c483dda --- /dev/null +++ b/src/mflux/models/common/weights/loading/weight_loader.py @@ -0,0 +1,317 @@ +import json +import logging +import urllib.error +import urllib.request +from pathlib import Path +from typing import TYPE_CHECKING + +import mlx.core as mx +import torch +from huggingface_hub import snapshot_download +from mlx.utils import tree_unflatten +from safetensors.torch import load_file as torch_load_file + +from mflux.cli.defaults.defaults import MFLUX_CACHE_DIR +from mflux.models.common.resolution.path_resolution import PathResolution +from mflux.models.common.weights.loading.loaded_weights import LoadedWeights, MetaData +from mflux.models.common.weights.loading.weight_definition import ComponentDefinition +from mflux.models.common.weights.mapping.weight_mapper import WeightMapper + +if TYPE_CHECKING: + from mflux.models.common.weights.loading.weight_definition import WeightDefinitionType + +logger = logging.getLogger(__name__) + + +class WeightLoader: + @staticmethod + def load_single( + component: ComponentDefinition, + repo_id: str, + file_pattern: str = "*.safetensors", + ) -> LoadedWeights: + root_path = Path(snapshot_download(repo_id=repo_id, allow_patterns=[file_pattern, "config.json"])) + weights, q_level, version = WeightLoader._load_component(root_path, component) + return LoadedWeights( + components={component.name: weights}, + meta_data=MetaData(quantization_level=q_level, mflux_version=version), + ) + + @staticmethod + def load( + weight_definition: "WeightDefinitionType", + model_path: str | None = None, + ) -> LoadedWeights: + root_path = PathResolution.resolve( + path=model_path, + patterns=weight_definition.get_download_patterns(), + ) + + # 2. Load each component (with caching for shared sources) + components = {} + quantization_level = None + mflux_version = None + raw_weights_cache: dict[tuple, dict] = {} # Cache by (path, loading_mode) + + for component in weight_definition.get_components(): + weights, q_level, version = WeightLoader._load_component(root_path, component, raw_weights_cache) + components[component.name] = weights + + # Track metadata from first component that has it + if quantization_level is None and q_level is not None: + quantization_level = q_level + mflux_version = version + + return LoadedWeights( + components=components, + meta_data=MetaData( + quantization_level=quantization_level, + mflux_version=mflux_version, + ), + ) + + @staticmethod + def _load_component( + root_path: Path | None, + component: ComponentDefinition, + raw_weights_cache: dict[tuple, dict] | None = None, + ) -> tuple[dict, int | None, str | None]: + # Handle direct URL downloads (e.g., Apple CDN for DepthPro) + if component.download_url is not None: + file_path = WeightLoader._download_from_url(component.download_url, component.name) + raw_weights = WeightLoader._load_weights_file(file_path, component.loading_mode) + else: + if root_path is None: + raise ValueError(f"No root_path and no download_url for component: {component.name}") + component_path = root_path / component.hf_subdir + + # Try mflux saved format first + weights, q_level, version = WeightLoader._try_load_mflux_format(component_path) + if weights is not None: + return weights, q_level, version + + # Check cache for shared loading (e.g., FIBO VLM decoder + visual from same source) + cache_key = (str(component_path), component.loading_mode) + if raw_weights_cache is not None and cache_key in raw_weights_cache: + raw_weights = raw_weights_cache[cache_key] + else: + # Fall back to HuggingFace format with mapping + raw_weights = WeightLoader._load_safetensors(component_path, component.loading_mode) + # Cache for potential reuse by other components + if raw_weights_cache is not None: + raw_weights_cache[cache_key] = raw_weights + + # Apply prefix filtering if specified (e.g., filter "model.language_model" vs "model.visual") + if component.weight_prefix_filters is not None: + raw_weights = { + k: v + for k, v in raw_weights.items() + if any(k.startswith(prefix) for prefix in component.weight_prefix_filters) + } + + # Apply precision conversion if specified + if component.precision is not None: + raw_weights = WeightLoader._convert_precision(raw_weights, component.precision) + + # Passthrough mode: apply bulk transform and unflatten (no key mapping) + if component.mapping_getter is None: + if component.bulk_transform is not None: + raw_weights = {k: component.bulk_transform(v) for k, v in raw_weights.items()} + return tree_unflatten(list(raw_weights.items())), None, None + + # Standard mode: apply declarative weight mapping + mapped_weights = WeightMapper.apply_mapping( + hf_weights=raw_weights, + mapping=component.mapping_getter(), + num_blocks=component.num_blocks, + num_layers=component.num_layers, + ) + return mapped_weights, None, None + + @staticmethod + def _try_load_mflux_format(path: Path) -> tuple[dict | None, int | None, str | None]: + if not path.exists(): + return None, None, None + + shard_files = sorted(f for f in path.glob("*.safetensors") if not f.name.startswith("._")) + if not shard_files: + return None, None, None + + # Check metadata on first file + data = mx.load(str(shard_files[0]), return_metadata=True) + if len(data) <= 1: + return None, None, None + + quantization_level_str = data[1].get("quantization_level") + mflux_version = data[1].get("mflux_version") + + # If no mflux metadata, this isn't our format + if quantization_level_str is None and mflux_version is None: + return None, None, None + + # Convert quantization level from string to int + quantization_level = int(quantization_level_str) if quantization_level_str is not None else None + + # Load all shards + all_weights: dict[str, mx.array] = {} + for shard in shard_files: + shard_data = mx.load(str(shard), return_metadata=True) + all_weights.update(dict(shard_data[0].items())) + + unflattened = tree_unflatten(list(all_weights.items())) + return unflattened, quantization_level, mflux_version + + @staticmethod + def _download_from_url(url: str, component_name: str) -> Path: + cache_dir = MFLUX_CACHE_DIR / component_name + cache_dir.mkdir(parents=True, exist_ok=True) + + # Extract filename from URL + filename = url.split("/")[-1] + file_path = cache_dir / filename + + if not file_path.exists(): + logger.info(f"Downloading {component_name} weights from {url}...") + try: + urllib.request.urlretrieve(url, file_path) + logger.info(f"Downloaded to {file_path}") + except (urllib.error.URLError, urllib.error.HTTPError) as e: + logger.error(f"Failed to download: {e}") + logger.info(f"Please manually download from: {url}") + raise FileNotFoundError(f"Model file not found at {file_path}") from e + + return file_path + + @staticmethod + def _load_weights_file(file_path: Path, loading_mode: str) -> dict[str, mx.array]: + if loading_mode == "torch_checkpoint": + return WeightLoader._load_torch_checkpoint(file_path) + elif loading_mode in ("mlx_native", "single"): + data = mx.load(str(file_path), return_metadata=True) + return dict(data[0].items()) + else: + raise ValueError(f"Unsupported loading mode for single file: {loading_mode}") + + @staticmethod + def _load_torch_checkpoint(file_path: Path) -> dict[str, mx.array]: + pt_weights = torch.load(file_path, map_location="cpu", weights_only=False) + return {k: mx.array(v.numpy()) for k, v in pt_weights.items() if isinstance(v, torch.Tensor)} + + @staticmethod + def _load_safetensors(path: Path, loading_mode: str) -> dict[str, mx.array]: + if loading_mode == "mlx_native": + return WeightLoader._load_mlx_native(path) + elif loading_mode == "torch_convert": + return WeightLoader._load_torch_convert(path) + elif loading_mode == "multi_json": + return WeightLoader._load_multi_json(path) + elif loading_mode == "torch_bfloat16": + return WeightLoader._load_torch_bfloat16(path) + elif loading_mode == "single": + return WeightLoader._load_single(path) + elif loading_mode == "multi_glob": + return WeightLoader._load_multi_glob(path) + else: + raise ValueError(f"Unknown loading mode: {loading_mode}") + + @staticmethod + def _load_mlx_native(path: Path) -> dict[str, mx.array]: + shard_files = sorted(f for f in path.glob("*.safetensors") if not f.name.startswith("._")) + if not shard_files: + raise FileNotFoundError(f"No safetensors files found in {path}") + + all_weights: dict[str, mx.array] = {} + for shard in shard_files: + weights = mx.load(str(shard)) + all_weights.update(weights) + + return all_weights + + @staticmethod + def _load_torch_convert(path: Path) -> dict[str, mx.array]: + shard_files = sorted(f for f in path.glob("*.safetensors") if not f.name.startswith("._")) + if not shard_files: + raise FileNotFoundError(f"No safetensors files found in {path}") + + all_weights: dict[str, mx.array] = {} + for shard in shard_files: + torch_weights = torch_load_file(str(shard)) + for key, tensor in torch_weights.items(): + if tensor.dtype == torch.bfloat16: + tensor = tensor.to(torch.float16) + all_weights[key] = mx.array(tensor.numpy()) + + return all_weights + + @staticmethod + def _load_multi_json(path: Path) -> dict[str, mx.array]: + index_path = path / "model.safetensors.index.json" + with open(index_path) as f: + index = json.load(f) + + # Group weights by file + files_to_load: dict[str, list[str]] = {} + for param_name, file_name in index["weight_map"].items(): + if file_name not in files_to_load: + files_to_load[file_name] = [] + files_to_load[file_name].append(param_name) + + all_weights: dict[str, mx.array] = {} + for file_name, param_names in files_to_load.items(): + file_path = path / file_name + + # Use mx.load which handles bfloat16 natively + file_weights = mx.load(str(file_path)) + + for param_name in param_names: + if param_name in file_weights: + all_weights[param_name] = file_weights[param_name] + + return all_weights + + @staticmethod + def _load_torch_bfloat16(path: Path) -> dict[str, mx.array]: + index_path = path / "model.safetensors.index.json" + with open(index_path) as f: + index = json.load(f) + + weight_files = sorted(set(index["weight_map"].values())) + + all_weights: dict[str, mx.array] = {} + for wf in weight_files: + file_path = path / wf + data = torch_load_file(str(file_path)) + for k, v in data.items(): + if v.dtype == torch.bfloat16: + v = v.to(torch.float16) + np_arr = v.detach().cpu().numpy() + all_weights[k] = mx.array(np_arr) + + return all_weights + + @staticmethod + def _load_single(path: Path) -> dict[str, mx.array]: + safetensors_files = [f for f in path.glob("*.safetensors") if not f.name.startswith("._")] + if not safetensors_files: + raise FileNotFoundError(f"No safetensors files found in {path}") + + weights_file = safetensors_files[0] + data = mx.load(str(weights_file), return_metadata=True) + return dict(data[0].items()) + + @staticmethod + def _load_multi_glob(path: Path) -> dict[str, mx.array]: + shard_files = sorted(f for f in path.glob("*.safetensors") if not f.name.startswith("._")) + if not shard_files: + raise FileNotFoundError(f"No safetensors files found in {path}") + + all_weights: dict[str, mx.array] = {} + for shard in shard_files: + data, _ = mx.load(str(shard), return_metadata=True) + all_weights.update(dict(data.items())) + + return all_weights + + @staticmethod + def _convert_precision(weights: dict[str, mx.array], precision: mx.Dtype) -> dict[str, mx.array]: + return {k: v.astype(precision) for k, v in weights.items()} diff --git a/src/mflux/models/common/weights/mapping/__init__.py b/src/mflux/models/common/weights/mapping/__init__.py index ded25f5..d5d2c98 100644 --- a/src/mflux/models/common/weights/mapping/__init__.py +++ b/src/mflux/models/common/weights/mapping/__init__.py @@ -1,6 +1,10 @@ -"""Weight mapping utilities for transforming HuggingFace weights to MLX structure.""" - from mflux.models.common.weights.mapping.weight_mapper import WeightMapper from mflux.models.common.weights.mapping.weight_mapping import WeightMapping, WeightTarget +from mflux.models.common.weights.mapping.weight_transforms import WeightTransforms -__all__ = ["WeightMapping", "WeightTarget", "WeightMapper"] +__all__ = [ + "WeightMapping", + "WeightTarget", + "WeightMapper", + "WeightTransforms", +] diff --git a/src/mflux/models/common/weights/mapping/weight_mapper.py b/src/mflux/models/common/weights/mapping/weight_mapper.py index 02a7160..718f06a 100644 --- a/src/mflux/models/common/weights/mapping/weight_mapper.py +++ b/src/mflux/models/common/weights/mapping/weight_mapper.py @@ -1,9 +1,3 @@ -""" -Weight Mapper - Applies declarative weight mappings to transform HF weights to MLX structure. - -Similar to LoRALoader, but for weight mapping instead of LoRA application. -""" - import re from typing import Callable, Dict, List, Optional @@ -13,8 +7,6 @@ from mflux.models.common.weights.mapping.weight_mapping import WeightTarget class WeightMapper: - """Maps HuggingFace weights to MLX nested structure using declarative mappings.""" - @staticmethod def apply_mapping( hf_weights: Dict[str, mx.array], @@ -22,18 +14,6 @@ class WeightMapper: num_blocks: Optional[int] = None, num_layers: Optional[int] = None, ) -> Dict: - """ - Apply weight mapping to transform HF weights to MLX structure. - - Args: - hf_weights: Raw HuggingFace weights (flat dict with dot-notation keys) - mapping: List of WeightTarget mappings - num_blocks: Number of transformer blocks (auto-detected if None) - num_layers: Number of text encoder layers (auto-detected if None) - - Returns: - Nested dict structure matching MLX model - """ # Auto-detect number of blocks if not provided if num_blocks is None: num_blocks = WeightMapper._detect_num_blocks(hf_weights) @@ -42,7 +22,7 @@ class WeightMapper: if num_layers is None: num_layers = WeightMapper._detect_num_layers(hf_weights) - # Build flat mapping: HF pattern -> (MLX path, transform) + # Build flat mapping: HF pattern -> [(MLX path, transform), ...] (supports one-to-many) flat_mapping = WeightMapper._build_flat_mapping(mapping, num_blocks, num_layers) # Map weights @@ -51,18 +31,19 @@ class WeightMapper: skipped_count = 0 for hf_key, hf_tensor in hf_weights.items(): - # Try to find matching mapping - mlx_path, transform = WeightMapper._find_mapping(hf_key, flat_mapping) + # Try to find matching mappings (can be multiple targets for one source) + targets = flat_mapping.get(hf_key, []) - if mlx_path: - # Apply transform if specified - tensor = hf_tensor - if transform: - tensor = transform(tensor) + if targets: + for mlx_path, transform in targets: + # Apply transform if specified + tensor = hf_tensor + if transform: + tensor = transform(tensor) - # Build nested structure - WeightMapper._set_nested_value(mapped_weights, mlx_path, tensor) - mapped_count += 1 + # Build nested structure + WeightMapper._set_nested_value(mapped_weights, mlx_path, tensor) + mapped_count += 1 else: # Weight not in mapping - might be intentionally skipped (e.g., lm_head) # or optional weight (e.g., conv_shortcut) - that's OK @@ -75,7 +56,6 @@ class WeightMapper: @staticmethod def _detect_num_blocks(hf_weights: Dict[str, mx.array]) -> int: - """Detect number of transformer blocks from weight keys.""" block_numbers = set() for key in hf_weights.keys(): # Match pattern: transformer_blocks.{number}.something @@ -89,7 +69,6 @@ class WeightMapper: @staticmethod def _detect_num_layers(hf_weights: Dict[str, mx.array]) -> int: - """Detect number of text encoder layers from weight keys.""" layer_numbers = set() for key in hf_weights.keys(): # Match pattern: model.layers.{number}.something @@ -104,89 +83,85 @@ class WeightMapper: @staticmethod def _build_flat_mapping( mapping: List[WeightTarget], num_blocks: int = 0, num_layers: int = 28 - ) -> Dict[str, tuple[str, Optional[Callable[[mx.array], mx.array]]]]: - """ - Build flat mapping from declarative targets. + ) -> Dict[str, List[tuple[str, Optional[Callable[[mx.array], mx.array]]]]]: + flat: Dict[str, List[tuple[str, Optional[Callable[[mx.array], mx.array]]]]] = {} - Returns: - Dict mapping HF pattern -> (MLX path, transform) - """ - flat = {} + def add_mapping(hf_key: str, mlx_path: str, transform: Optional[Callable[[mx.array], mx.array]]): + if hf_key not in flat: + flat[hf_key] = [] + flat[hf_key].append((mlx_path, transform)) for target in mapping: # Expand placeholders for each pattern - for hf_pattern in target.hf_patterns: - # Check which placeholders are present - has_block = "{block}" in hf_pattern or "{block}" in target.mlx_path - has_i = "{i}" in hf_pattern or "{i}" in target.mlx_path - has_res = "{res}" in hf_pattern or "{res}" in target.mlx_path - has_layer = "{layer}" in hf_pattern or "{layer}" in target.mlx_path + for hf_pattern in target.from_pattern: + # Check which placeholders are present in BOTH patterns + hf_has_block = "{block}" in hf_pattern + to_has_block = "{block}" in target.to_pattern + has_i = "{i}" in hf_pattern or "{i}" in target.to_pattern + has_res = "{res}" in hf_pattern or "{res}" in target.to_pattern + has_layer = "{layer}" in hf_pattern or "{layer}" in target.to_pattern # Handle multiple placeholders together - if has_block and has_res: + if (hf_has_block or to_has_block) and has_res: # Up blocks: expand both {block} and {res} max_blocks = num_blocks if num_blocks > 0 else 4 # Default 4 for up_blocks for block_num in range(max_blocks): for res in range(3): # 3 resnets per up_block concrete_hf = hf_pattern.replace("{block}", str(block_num)).replace("{res}", str(res)) - concrete_mlx = target.mlx_path.replace("{block}", str(block_num)).replace("{res}", str(res)) - flat[concrete_hf] = (concrete_mlx, target.transform) - elif has_block: - # Expand {block} only (for transformer blocks or visual blocks) - # Check if target has max_blocks override + concrete_mlx = target.to_pattern.replace("{block}", str(block_num)).replace( + "{res}", str(res) + ) + add_mapping(concrete_hf, concrete_mlx, target.transform) + elif hf_has_block and to_has_block: + # Both have {block} - standard one-to-one expansion if target.max_blocks is not None: max_blocks = target.max_blocks - # Check if this is for visual blocks (32 blocks) or transformer blocks - elif "visual.blocks" in hf_pattern or "visual.blocks" in target.mlx_path: + elif "visual.blocks" in hf_pattern or "visual.blocks" in target.to_pattern: max_blocks = 32 # Visual blocks are always 32 else: - max_blocks = num_blocks if num_blocks > 0 else 4 # Default 4 for up_blocks + max_blocks = num_blocks if num_blocks > 0 else 4 for block_num in range(max_blocks): concrete_hf = hf_pattern.replace("{block}", str(block_num)) - concrete_mlx = target.mlx_path.replace("{block}", str(block_num)) - flat[concrete_hf] = (concrete_mlx, target.transform) + concrete_mlx = target.to_pattern.replace("{block}", str(block_num)) + add_mapping(concrete_hf, concrete_mlx, target.transform) + elif to_has_block and not hf_has_block: + # One-to-many: single HF key maps to multiple MLX targets (e.g., relative_attention_bias) + if target.max_blocks is not None: + max_blocks = target.max_blocks + else: + max_blocks = num_blocks if num_blocks > 0 else 24 # Default for T5 + for block_num in range(max_blocks): + concrete_mlx = target.to_pattern.replace("{block}", str(block_num)) + add_mapping(hf_pattern, concrete_mlx, target.transform) elif has_layer: # Expand {layer} for text encoder layers or visual blocks max_layers = num_layers if num_layers > 0 else 28 # Default 28 for text encoder for layer_num in range(max_layers): concrete_hf = hf_pattern.replace("{layer}", str(layer_num)) - concrete_mlx = target.mlx_path.replace("{layer}", str(layer_num)) - flat[concrete_hf] = (concrete_mlx, target.transform) + concrete_mlx = target.to_pattern.replace("{layer}", str(layer_num)) + add_mapping(concrete_hf, concrete_mlx, target.transform) elif has_i: # Expand {i} only (for mid_block resnets) for i in range(2): # 2 resnets in mid_block concrete_hf = hf_pattern.replace("{i}", str(i)) - concrete_mlx = target.mlx_path.replace("{i}", str(i)) - flat[concrete_hf] = (concrete_mlx, target.transform) + concrete_mlx = target.to_pattern.replace("{i}", str(i)) + add_mapping(concrete_hf, concrete_mlx, target.transform) elif has_res: # This shouldn't happen for VAE (encoder down_blocks are explicit) # But handle it just in case if "up_block" in hf_pattern: for res in range(3): concrete_hf = hf_pattern.replace("{res}", str(res)) - concrete_mlx = target.mlx_path.replace("{res}", str(res)) - flat[concrete_hf] = (concrete_mlx, target.transform) + concrete_mlx = target.to_pattern.replace("{res}", str(res)) + add_mapping(concrete_hf, concrete_mlx, target.transform) else: # No placeholder, use as-is - flat[hf_pattern] = (target.mlx_path, target.transform) + add_mapping(hf_pattern, target.to_pattern, target.transform) return flat - @staticmethod - def _find_mapping( - hf_key: str, flat_mapping: Dict[str, tuple[str, Optional[Callable[[mx.array], mx.array]]]] - ) -> tuple[Optional[str], Optional[Callable[[mx.array], mx.array]]]: - """Find MLX path and transform for a given HF key.""" - return flat_mapping.get(hf_key, (None, None)) - @staticmethod def _set_nested_value(d: Dict, path: str, value: mx.array): - """ - Set value in nested dict using dot-notation path. - - Creates nested structure as needed. - Handles both dict keys and list indices. - """ parts = path.split(".") current = d i = 0 diff --git a/src/mflux/models/common/weights/mapping/weight_mapping.py b/src/mflux/models/common/weights/mapping/weight_mapping.py index 501c37a..c7ed8a8 100644 --- a/src/mflux/models/common/weights/mapping/weight_mapping.py +++ b/src/mflux/models/common/weights/mapping/weight_mapping.py @@ -1,9 +1,3 @@ -""" -Base classes for declarative weight mapping. - -Similar to LoRA mapping, but for transforming HuggingFace weights to MLX structure. -""" - from dataclasses import dataclass from typing import Callable, List, Optional, Protocol @@ -12,23 +6,14 @@ import mlx.core as mx @dataclass class WeightTarget: - """ - Declarative weight mapping target. - - Maps HuggingFace weight names to MLX nested structure paths. - """ - - mlx_path: str # MLX nested path, e.g., "transformer_blocks.{block}.attn.to_q.weight" - hf_patterns: List[str] # HuggingFace naming patterns, e.g., ["transformer_blocks.{block}.attn.to_q.weight"] - transform: Optional[Callable[[mx.array], mx.array]] = None # Optional transform (reshape, transpose, etc.) - required: bool = True # If False, weight is optional (may not exist in all models) - max_blocks: Optional[int] = None # Override num_blocks for this target (e.g., for fixed-size lists) + to_pattern: str + from_pattern: List[str] + transform: Optional[Callable[[mx.array], mx.array]] = None + required: bool = True + max_blocks: Optional[int] = None class WeightMapping(Protocol): - """Protocol for weight mapping classes.""" - @staticmethod def get_mapping() -> List[WeightTarget]: - """Return list of weight mapping targets.""" return [] diff --git a/src/mflux/models/common/weights/mapping/weight_transforms.py b/src/mflux/models/common/weights/mapping/weight_transforms.py new file mode 100644 index 0000000..9f64bcb --- /dev/null +++ b/src/mflux/models/common/weights/mapping/weight_transforms.py @@ -0,0 +1,33 @@ +import mlx.core as mx + + +class WeightTransforms: + @staticmethod + def reshape_gamma_to_1d(tensor: mx.array) -> mx.array: + if len(tensor.shape) > 1: + return mx.reshape(tensor, (tensor.shape[0],)) + return tensor + + @staticmethod + def transpose_patch_embed(tensor: mx.array) -> mx.array: + if len(tensor.shape) == 5: + return tensor.transpose(0, 2, 3, 4, 1) + return tensor + + @staticmethod + def transpose_conv3d_weight(tensor: mx.array) -> mx.array: + if len(tensor.shape) == 5: + return tensor.transpose(0, 2, 3, 4, 1) + return tensor + + @staticmethod + def transpose_conv2d_weight(tensor: mx.array) -> mx.array: + if len(tensor.shape) == 4: + return tensor.transpose(0, 2, 3, 1) + return tensor + + @staticmethod + def transpose_conv_transpose2d_weight(tensor: mx.array) -> mx.array: + if len(tensor.shape) == 4: + return tensor.transpose(1, 2, 3, 0) + return tensor diff --git a/src/mflux/models/common/weights/model_saver.py b/src/mflux/models/common/weights/model_saver.py deleted file mode 100644 index 44ee146..0000000 --- a/src/mflux/models/common/weights/model_saver.py +++ /dev/null @@ -1,114 +0,0 @@ -from pathlib import Path -from typing import Any - -import mlx.core as mx -from mlx import nn -from mlx.utils import tree_flatten -from transformers import PreTrainedTokenizer - -from mflux.utils.version_util import VersionUtil - - -class ModelSaver: - @staticmethod - def save_model( - model: Any, - bits: int, - base_path: str, - tokenizers: list[tuple[str, str]] | None = None, - components: list[tuple[str, str]] | None = None, - ) -> None: - # Default tokenizers: try common patterns - if tokenizers is None: - tokenizers = ModelSaver._detect_tokenizers(model) - - # Default components: try common patterns - if components is None: - components = ModelSaver._detect_components(model) - - # Save tokenizers - for attr_path, subdir in tokenizers: - tokenizer = ModelSaver._get_nested_attr(model, attr_path) - if tokenizer is not None: - ModelSaver._save_tokenizer(base_path, tokenizer, subdir) - - # Save model components - for attr_name, subdir in components: - component = getattr(model, attr_name, None) - if component is not None: - ModelSaver._save_weights(base_path, bits, component, subdir) - - @staticmethod - def _detect_tokenizers(model: Any) -> list[tuple[str, str]]: - tokenizers = [] - if hasattr(model, "clip_tokenizer") and hasattr(model.clip_tokenizer, "tokenizer"): - tokenizers.append(("clip_tokenizer.tokenizer", "tokenizer")) - if hasattr(model, "t5_tokenizer") and hasattr(model.t5_tokenizer, "tokenizer"): - tokenizers.append(("t5_tokenizer.tokenizer", "tokenizer_2")) - if hasattr(model, "qwen_tokenizer") and hasattr(model.qwen_tokenizer, "tokenizer"): - tokenizers.append(("qwen_tokenizer.tokenizer", "tokenizer")) - if hasattr(model, "fibo_tokenizer") and hasattr(model.fibo_tokenizer, "tokenizer"): - tokenizers.append(("fibo_tokenizer.tokenizer", "tokenizer")) - return tokenizers - - @staticmethod - def _detect_components(model: Any) -> list[tuple[str, str]]: - components = [] - if hasattr(model, "vae"): - components.append(("vae", "vae")) - if hasattr(model, "transformer"): - components.append(("transformer", "transformer")) - if hasattr(model, "clip_text_encoder"): - components.append(("clip_text_encoder", "text_encoder")) - if hasattr(model, "t5_text_encoder"): - components.append(("t5_text_encoder", "text_encoder_2")) - if hasattr(model, "text_encoder"): - # Only add if we haven't already added clip_text_encoder or t5_text_encoder - if not any(c[1] == "text_encoder" for c in components): - components.append(("text_encoder", "text_encoder")) - return components - - @staticmethod - def _get_nested_attr(obj: Any, attr_path: str) -> Any: - attrs = attr_path.split(".") - result = obj - for attr in attrs: - if not hasattr(result, attr): - return None - result = getattr(result, attr) - return result - - @staticmethod - def _save_tokenizer(base_path: str, tokenizer: PreTrainedTokenizer, subdir: str) -> None: - path = Path(base_path) / subdir - path.mkdir(parents=True, exist_ok=True) - tokenizer.save_pretrained(path) - - @staticmethod - def _save_weights(base_path: str, bits: int, model: nn.Module, subdir: str) -> None: - path = Path(base_path) / subdir - path.mkdir(parents=True, exist_ok=True) - weights = ModelSaver._split_weights(base_path, dict(tree_flatten(model.parameters()))) - for i, weight in enumerate(weights): - mx.save_safetensors( - str(path / f"{i}.safetensors"), - weight, - { - "quantization_level": str(bits), - "mflux_version": VersionUtil.get_mflux_version(), - }, - ) - - @staticmethod - def _split_weights(base_path: str, weights: dict, max_file_size_gb: int = 2) -> list: - max_file_size_bytes = max_file_size_gb << 30 - shards = [] - shard, shard_size = {}, 0 - for k, v in weights.items(): - if shard_size + v.nbytes > max_file_size_bytes: - shards.append(shard) - shard, shard_size = {}, 0 - shard[k] = v - shard_size += v.nbytes - shards.append(shard) - return shards diff --git a/src/mflux/ui/cli/__init__.py b/src/mflux/models/common/weights/saving/__init__.py similarity index 100% rename from src/mflux/ui/cli/__init__.py rename to src/mflux/models/common/weights/saving/__init__.py diff --git a/src/mflux/models/common/weights/saving/model_saver.py b/src/mflux/models/common/weights/saving/model_saver.py new file mode 100644 index 0000000..6ebeba8 --- /dev/null +++ b/src/mflux/models/common/weights/saving/model_saver.py @@ -0,0 +1,96 @@ +import json +from pathlib import Path +from typing import TYPE_CHECKING, Any + +import mlx.core as mx +from mlx import nn +from mlx.utils import tree_flatten +from tqdm import tqdm +from transformers import PreTrainedTokenizer + +from mflux.utils.version_util import VersionUtil + +if TYPE_CHECKING: + from mflux.models.common.weights.loading.weight_definition import WeightDefinitionType + + +class ModelSaver: + @staticmethod + def save_model( + model: Any, + bits: int, + base_path: str, + weight_definition: "WeightDefinitionType", + ) -> None: + # Save tokenizers from model.tokenizers dict + tokenizer_defs = weight_definition.get_tokenizers() + for t in tokenizer_defs: + if hasattr(model, "tokenizers") and t.name in model.tokenizers: + tokenizer_wrapper = model.tokenizers[t.name] + if hasattr(tokenizer_wrapper, "tokenizer"): + ModelSaver._save_tokenizer(base_path, tokenizer_wrapper.tokenizer, t.hf_subdir) + + # Save model components with progress bar + components = [(c.model_attr or c.name, c.hf_subdir) for c in weight_definition.get_components()] + for attr_name, subdir in tqdm(components, desc="Saving components", unit="component"): + component = getattr(model, attr_name, None) + if component is not None: + ModelSaver._save_weights(base_path, bits, component, subdir) + + @staticmethod + def _save_tokenizer(base_path: str, tokenizer: PreTrainedTokenizer, subdir: str) -> None: + path = Path(base_path) / subdir + path.mkdir(parents=True, exist_ok=True) + tokenizer.save_pretrained(path) + + @staticmethod + def _save_weights(base_path: str, bits: int, model: nn.Module, subdir: str) -> None: + path = Path(base_path) / subdir + path.mkdir(parents=True, exist_ok=True) + weights = dict(tree_flatten(model.parameters())) + shards = ModelSaver._split_weights(weights) + + # Build weight_map for index.json (maps each weight key to its shard file) + weight_map = {} + shard_iter = tqdm(enumerate(shards), total=len(shards), desc=f" {subdir}", unit="shard", leave=False) + for i, shard in shard_iter: + shard_filename = f"{i}.safetensors" + mx.save_safetensors( + str(path / shard_filename), + shard, + { + "quantization_level": str(bits), + "mflux_version": VersionUtil.get_mflux_version(), + }, + ) + # Record which file each weight belongs to + for key in shard.keys(): + weight_map[key] = shard_filename + + # Write model.safetensors.index.json for HuggingFace compatibility + # This ensures the saved model works even if custom metadata is stripped + index_data = { + "metadata": { + "quantization_level": str(bits), + "mflux_version": VersionUtil.get_mflux_version(), + }, + "weight_map": weight_map, + } + with open(path / "model.safetensors.index.json", "w") as f: + json.dump(index_data, f, indent=2) + + @staticmethod + def _split_weights(weights: dict, max_file_size_gb: int = 2) -> list[dict]: + max_file_size_bytes = max_file_size_gb << 30 + shards: list[dict] = [] + shard: dict = {} + shard_size = 0 + for k, v in weights.items(): + if shard_size + v.nbytes > max_file_size_bytes: + shards.append(shard) + shard, shard_size = {}, 0 + shard[k] = v + shard_size += v.nbytes + if shard: # Don't append empty shard + shards.append(shard) + return shards diff --git a/tests/model_config/__init__.py b/src/mflux/models/depth_pro/cli/__init__.py similarity index 100% rename from tests/model_config/__init__.py rename to src/mflux/models/depth_pro/cli/__init__.py diff --git a/src/mflux/save_depth.py b/src/mflux/models/depth_pro/cli/save_depth.py similarity index 86% rename from src/mflux/save_depth.py rename to src/mflux/models/depth_pro/cli/save_depth.py index cd54517..bed9d1b 100644 --- a/src/mflux/save_depth.py +++ b/src/mflux/models/depth_pro/cli/save_depth.py @@ -1,7 +1,7 @@ from pathlib import Path -from mflux.models.depth_pro.depth_pro import DepthPro -from mflux.ui.cli.parsers import CommandLineParser +from mflux.cli.parser.parsers import CommandLineParser +from mflux.models.depth_pro.model.depth_pro import DepthPro def main(): diff --git a/src/mflux/models/depth_pro/depth_pro_initializer.py b/src/mflux/models/depth_pro/depth_pro_initializer.py index d3edb92..56d56d6 100644 --- a/src/mflux/models/depth_pro/depth_pro_initializer.py +++ b/src/mflux/models/depth_pro/depth_pro_initializer.py @@ -1,25 +1,21 @@ -import mlx.nn as nn - +from mflux.models.common.weights.loading.weight_applier import WeightApplier +from mflux.models.common.weights.loading.weight_loader import WeightLoader from mflux.models.depth_pro.model.depth_pro_model import DepthProModel -from mflux.models.depth_pro.weights.weight_handler_depth_pro import WeightHandlerDepthPro +from mflux.models.depth_pro.weights.depth_pro_weight_definition import DepthProWeightDefinition class DepthProInitializer: @staticmethod - def init(depth_pro_model: DepthProModel, quantize: int | None = None) -> None: - # 1. Load the weights - depth_pro_weights = WeightHandlerDepthPro.load_weights() - WeightHandlerDepthPro.reposition_encoder_weights(depth_pro_weights, "upsample_latent0") - WeightHandlerDepthPro.reposition_encoder_weights(depth_pro_weights, "upsample_latent1") - WeightHandlerDepthPro.reposition_encoder_weights(depth_pro_weights, "upsample0") - WeightHandlerDepthPro.reposition_encoder_weights(depth_pro_weights, "upsample1") - WeightHandlerDepthPro.reposition_encoder_weights(depth_pro_weights, "upsample2") - WeightHandlerDepthPro.reposition_head_weights(depth_pro_weights) - WeightHandlerDepthPro.reshape_transposed_convolution_weights(depth_pro_weights) + def init(model: DepthProModel, quantize: int | None = None) -> None: + # 1. Load weights using unified loader (handles download from Apple CDN) + weights = WeightLoader.load(weight_definition=DepthProWeightDefinition) - # 2. Assign the weights to the model - depth_pro_model.update(depth_pro_weights.weights, strict=False) - - # 3. Optionally quantize the model - if quantize: - nn.quantize(depth_pro_model, bits=quantize) + # 2. Apply weights and quantize using unified applier + WeightApplier.apply_and_quantize( + weights=weights, + quantize_arg=quantize, + weight_definition=DepthProWeightDefinition, + models={ + "depth_pro": model, + }, + ) diff --git a/src/mflux/models/depth_pro/model/conv_utils.py b/src/mflux/models/depth_pro/model/conv_utils.py deleted file mode 100644 index 2f6be4f..0000000 --- a/src/mflux/models/depth_pro/model/conv_utils.py +++ /dev/null @@ -1,23 +0,0 @@ -import mlx.core as mx -import mlx.nn as nn - - -class ConvUtils: - @staticmethod - def apply_conv(x: mx.array, conv_module: nn.Module) -> mx.array: - """Apply a convolution with channel format conversion. - - MLX expects channels-last format (B,H,W,C) for convolutions, - but tensors are generally in channels-first format (B,C,H,W). - This helper handles the conversion automatically. - - Args: - x: Input tensor in channels-first format (B,C,H,W) - conv_module: Convolution module to apply - - Returns: - Output tensor in channels-first format (B,C,H,W) - """ - x = mx.transpose(x, (0, 2, 3, 1)) - x = conv_module(x) - return mx.transpose(x, (0, 3, 1, 2)) diff --git a/tests/ui/__init__.py b/src/mflux/models/depth_pro/model/decoder/__init__.py similarity index 100% rename from tests/ui/__init__.py rename to src/mflux/models/depth_pro/model/decoder/__init__.py diff --git a/src/mflux/models/depth_pro/model/feature_fusion_block_2d.py b/src/mflux/models/depth_pro/model/decoder/feature_fusion_block_2d.py similarity index 77% rename from src/mflux/models/depth_pro/model/feature_fusion_block_2d.py rename to src/mflux/models/depth_pro/model/decoder/feature_fusion_block_2d.py index 5dba7d9..8a19e38 100644 --- a/src/mflux/models/depth_pro/model/feature_fusion_block_2d.py +++ b/src/mflux/models/depth_pro/model/decoder/feature_fusion_block_2d.py @@ -1,8 +1,8 @@ import mlx.core as mx import mlx.nn as nn -from mflux.models.depth_pro.model.conv_utils import ConvUtils -from mflux.models.depth_pro.model.residual_block import ResidualBlock +from mflux.models.depth_pro.model.decoder.residual_block import ResidualBlock +from mflux.models.depth_pro.model.depth_pro_util import DepthProUtil class FeatureFusionBlock2d(nn.Module): @@ -21,6 +21,6 @@ class FeatureFusionBlock2d(nn.Module): x = x + res x = self.resnet2(x) if self.use_deconv: - x = ConvUtils.apply_conv(x, self.deconv) - x = ConvUtils.apply_conv(x, self.out_conv) + x = DepthProUtil.apply_conv(x, self.deconv) + x = DepthProUtil.apply_conv(x, self.out_conv) return x diff --git a/src/mflux/models/depth_pro/model/multires_conv_decoder.py b/src/mflux/models/depth_pro/model/decoder/multires_conv_decoder.py similarity index 74% rename from src/mflux/models/depth_pro/model/multires_conv_decoder.py rename to src/mflux/models/depth_pro/model/decoder/multires_conv_decoder.py index 655650b..b3db71d 100644 --- a/src/mflux/models/depth_pro/model/multires_conv_decoder.py +++ b/src/mflux/models/depth_pro/model/decoder/multires_conv_decoder.py @@ -1,8 +1,8 @@ import mlx.core as mx import mlx.nn as nn -from mflux.models.depth_pro.model.conv_utils import ConvUtils -from mflux.models.depth_pro.model.feature_fusion_block_2d import FeatureFusionBlock2d +from mflux.models.depth_pro.model.decoder.feature_fusion_block_2d import FeatureFusionBlock2d +from mflux.models.depth_pro.model.depth_pro_util import DepthProUtil class MultiresConvDecoder(nn.Module): @@ -32,20 +32,20 @@ class MultiresConvDecoder(nn.Module): x_global_features: mx.array, ) -> mx.array: # Process global features: - features = ConvUtils.apply_conv(x_global_features, self.convs[4]) + features = DepthProUtil.apply_conv(x_global_features, self.convs[4]) features = self.fusions[4](features) # Process remaining levels with skip connections: - x1_skip_features = ConvUtils.apply_conv(x1_features, self.convs[3]) + x1_skip_features = DepthProUtil.apply_conv(x1_features, self.convs[3]) features = self.fusions[3](features, x1_skip_features) - x0_skip_features = ConvUtils.apply_conv(x0_features, self.convs[2]) + x0_skip_features = DepthProUtil.apply_conv(x0_features, self.convs[2]) features = self.fusions[2](features, x0_skip_features) - x1_skip_latents = ConvUtils.apply_conv(x1_latent, self.convs[1]) + x1_skip_latents = DepthProUtil.apply_conv(x1_latent, self.convs[1]) features = self.fusions[1](features, x1_skip_latents) - x0_skip_latents = ConvUtils.apply_conv(x0_latent, self.convs[0]) + x0_skip_latents = DepthProUtil.apply_conv(x0_latent, self.convs[0]) features = self.fusions[0](features, x0_skip_latents) return features diff --git a/src/mflux/models/depth_pro/model/residual_block.py b/src/mflux/models/depth_pro/model/decoder/residual_block.py similarity index 80% rename from src/mflux/models/depth_pro/model/residual_block.py rename to src/mflux/models/depth_pro/model/decoder/residual_block.py index 9f4ca42..f1cd4d8 100644 --- a/src/mflux/models/depth_pro/model/residual_block.py +++ b/src/mflux/models/depth_pro/model/decoder/residual_block.py @@ -1,7 +1,7 @@ import mlx.core as mx import mlx.nn as nn -from mflux.models.depth_pro.model.conv_utils import ConvUtils +from mflux.models.depth_pro.model.depth_pro_util import DepthProUtil class ResidualBlock(nn.Module): @@ -30,7 +30,7 @@ class ResidualBlock(nn.Module): def __call__(self, x: mx.array) -> mx.array: delta_x = nn.relu(x) - delta_x = ConvUtils.apply_conv(delta_x, self.residual[1]) + delta_x = DepthProUtil.apply_conv(delta_x, self.residual[1]) delta_x = nn.relu(delta_x) - delta_x = ConvUtils.apply_conv(delta_x, self.residual[3]) + delta_x = DepthProUtil.apply_conv(delta_x, self.residual[3]) return x + delta_x diff --git a/src/mflux/models/depth_pro/depth_pro.py b/src/mflux/models/depth_pro/model/depth_pro.py similarity index 100% rename from src/mflux/models/depth_pro/depth_pro.py rename to src/mflux/models/depth_pro/model/depth_pro.py diff --git a/src/mflux/models/depth_pro/model/depth_pro_model.py b/src/mflux/models/depth_pro/model/depth_pro_model.py index d3bb45c..af3f664 100644 --- a/src/mflux/models/depth_pro/model/depth_pro_model.py +++ b/src/mflux/models/depth_pro/model/depth_pro_model.py @@ -1,9 +1,9 @@ import mlx.core as mx import mlx.nn as nn -from mflux.models.depth_pro.model.depth_pro_encoder import DepthProEncoder -from mflux.models.depth_pro.model.fov_head import FOVHead -from mflux.models.depth_pro.model.multires_conv_decoder import MultiresConvDecoder +from mflux.models.depth_pro.model.decoder.multires_conv_decoder import MultiresConvDecoder +from mflux.models.depth_pro.model.encoder.depth_pro_encoder import DepthProEncoder +from mflux.models.depth_pro.model.head.fov_head import FOVHead class DepthProModel(nn.Module): diff --git a/src/mflux/models/depth_pro/model/depth_pro_util.py b/src/mflux/models/depth_pro/model/depth_pro_util.py index c1c2024..99785c8 100644 --- a/src/mflux/models/depth_pro/model/depth_pro_util.py +++ b/src/mflux/models/depth_pro/model/depth_pro_util.py @@ -1,6 +1,7 @@ import math import mlx.core as mx +import mlx.nn as nn import numpy as np from PIL import Image @@ -64,3 +65,9 @@ class DepthProUtil: final_result_np = result_proc return mx.array(final_result_np) + + @staticmethod + def apply_conv(x: mx.array, conv_module: nn.Module) -> mx.array: + x = mx.transpose(x, (0, 2, 3, 1)) + x = conv_module(x) + return mx.transpose(x, (0, 3, 1, 2)) diff --git a/tests/weights/__init__.py b/src/mflux/models/depth_pro/model/encoder/__init__.py similarity index 100% rename from tests/weights/__init__.py rename to src/mflux/models/depth_pro/model/encoder/__init__.py diff --git a/src/mflux/models/depth_pro/model/depth_pro_encoder.py b/src/mflux/models/depth_pro/model/encoder/depth_pro_encoder.py similarity index 93% rename from src/mflux/models/depth_pro/model/depth_pro_encoder.py rename to src/mflux/models/depth_pro/model/encoder/depth_pro_encoder.py index fb0439d..c447fa9 100644 --- a/src/mflux/models/depth_pro/model/depth_pro_encoder.py +++ b/src/mflux/models/depth_pro/model/encoder/depth_pro_encoder.py @@ -3,9 +3,9 @@ import math import mlx.core as mx import mlx.nn as nn -from mflux.models.depth_pro.model.conv_utils import ConvUtils +from mflux.models.depth_pro.model.depth_pro_util import DepthProUtil from mflux.models.depth_pro.model.dino_v2.dino_vision_transformer import DinoVisionTransformer -from mflux.models.depth_pro.model.upsample_block import UpSampleBlock +from mflux.models.depth_pro.model.encoder.upsample_block import UpSampleBlock class DepthProEncoder(nn.Module): @@ -56,9 +56,9 @@ class DepthProEncoder(nn.Module): # 4. Apply the image encoder model. x_global_features, _, _ = self.image_encoder(x2) x_global_features = DepthProEncoder._reshape_feature(embeddings=x_global_features, width=24, height=24) - x_global_features = ConvUtils.apply_conv(x_global_features, self.upsample_lowres) + x_global_features = DepthProUtil.apply_conv(x_global_features, self.upsample_lowres) x_global_features = mx.concatenate((x2_features, x_global_features), axis=1) - x_global_features = ConvUtils.apply_conv(x_global_features, self.fuse_lowres) + x_global_features = DepthProUtil.apply_conv(x_global_features, self.fuse_lowres) return ( x_latent0_features, diff --git a/src/mflux/models/depth_pro/model/upsample_block.py b/src/mflux/models/depth_pro/model/encoder/upsample_block.py similarity index 92% rename from src/mflux/models/depth_pro/model/upsample_block.py rename to src/mflux/models/depth_pro/model/encoder/upsample_block.py index 3a31621..4d29a42 100644 --- a/src/mflux/models/depth_pro/model/upsample_block.py +++ b/src/mflux/models/depth_pro/model/encoder/upsample_block.py @@ -1,7 +1,7 @@ import mlx.core as mx import mlx.nn as nn -from mflux.models.depth_pro.model.conv_utils import ConvUtils +from mflux.models.depth_pro.model.depth_pro_util import DepthProUtil class UpSampleBlock(nn.Module): @@ -47,5 +47,5 @@ class UpSampleBlock(nn.Module): def __call__(self, x: mx.array) -> mx.array: for layer in self.layers: - x = ConvUtils.apply_conv(x, layer) + x = DepthProUtil.apply_conv(x, layer) return x diff --git a/src/mflux/models/depth_pro/model/head/__init__.py b/src/mflux/models/depth_pro/model/head/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/mflux/models/depth_pro/model/fov_head.py b/src/mflux/models/depth_pro/model/head/fov_head.py similarity index 70% rename from src/mflux/models/depth_pro/model/fov_head.py rename to src/mflux/models/depth_pro/model/head/fov_head.py index 1d94074..488175e 100644 --- a/src/mflux/models/depth_pro/model/fov_head.py +++ b/src/mflux/models/depth_pro/model/head/fov_head.py @@ -1,7 +1,7 @@ import mlx.core as mx import mlx.nn as nn -from mflux.models.depth_pro.model.conv_utils import ConvUtils +from mflux.models.depth_pro.model.depth_pro_util import DepthProUtil class FOVHead(nn.Module): @@ -16,10 +16,10 @@ class FOVHead(nn.Module): ] def __call__(self, x: mx.array) -> mx.array: - x = ConvUtils.apply_conv(x, self.convs[0]) - x = ConvUtils.apply_conv(x, self.convs[1]) - x = ConvUtils.apply_conv(x, self.convs[2]) + x = DepthProUtil.apply_conv(x, self.convs[0]) + x = DepthProUtil.apply_conv(x, self.convs[1]) + x = DepthProUtil.apply_conv(x, self.convs[2]) x = nn.relu(x) - x = ConvUtils.apply_conv(x, self.convs[4]) + x = DepthProUtil.apply_conv(x, self.convs[4]) x = nn.relu(x) return x diff --git a/src/mflux/models/depth_pro/weights/depth_pro_weight_definition.py b/src/mflux/models/depth_pro/weights/depth_pro_weight_definition.py new file mode 100644 index 0000000..27f72f8 --- /dev/null +++ b/src/mflux/models/depth_pro/weights/depth_pro_weight_definition.py @@ -0,0 +1,34 @@ +from typing import List + +import mlx.nn as nn + +from mflux.models.common.weights.loading.weight_definition import ComponentDefinition, TokenizerDefinition +from mflux.models.depth_pro.weights.depth_pro_weight_mapping import DepthProWeightMapping + + +class DepthProWeightDefinition: + @staticmethod + def get_components() -> List[ComponentDefinition]: + return [ + ComponentDefinition( + name="depth_pro", + hf_subdir="", + loading_mode="torch_checkpoint", + mapping_getter=DepthProWeightMapping.get_mapping, + download_url="https://ml-site.cdn-apple.com/models/depth-pro/depth_pro.pt", + ), + ] + + @staticmethod + def get_tokenizers() -> List[TokenizerDefinition]: + return [] + + @staticmethod + def get_download_patterns() -> List[str]: + return [] + + @staticmethod + def quantization_predicate(path: str, module) -> bool: + if isinstance(module, nn.Conv2d): + return False + return hasattr(module, "to_quantized") diff --git a/src/mflux/models/depth_pro/weights/depth_pro_weight_mapping.py b/src/mflux/models/depth_pro/weights/depth_pro_weight_mapping.py new file mode 100644 index 0000000..e73db3c --- /dev/null +++ b/src/mflux/models/depth_pro/weights/depth_pro_weight_mapping.py @@ -0,0 +1,307 @@ +from typing import List + +from mflux.models.common.weights.mapping.weight_mapping import WeightMapping, WeightTarget +from mflux.models.common.weights.mapping.weight_transforms import WeightTransforms + + +class DepthProWeightMapping(WeightMapping): + @staticmethod + def get_mapping() -> List[WeightTarget]: + return ( + DepthProWeightMapping._get_dino_encoder_mapping("patch_encoder") + + DepthProWeightMapping._get_dino_encoder_mapping("image_encoder") + + DepthProWeightMapping._get_upsample_block_mapping("upsample_latent0", num_layers=4) + + DepthProWeightMapping._get_upsample_block_mapping("upsample_latent1", num_layers=3) + + DepthProWeightMapping._get_upsample_block_mapping("upsample0", num_layers=2) + + DepthProWeightMapping._get_upsample_block_mapping("upsample1", num_layers=2) + + DepthProWeightMapping._get_upsample_block_mapping("upsample2", num_layers=2) + + DepthProWeightMapping._get_encoder_conv_mapping() + + DepthProWeightMapping._get_decoder_mapping() + + DepthProWeightMapping._get_head_mapping() + ) + + @staticmethod + def _get_dino_encoder_mapping(encoder_name: str) -> List[WeightTarget]: + prefix = f"encoder.{encoder_name}" + return [ + WeightTarget( + to_pattern=f"{prefix}.cls_token", + from_pattern=[f"{prefix}.cls_token"], + ), + WeightTarget( + to_pattern=f"{prefix}.pos_embed", + from_pattern=[f"{prefix}.pos_embed"], + ), + WeightTarget( + to_pattern=f"{prefix}.patch_embed.proj.weight", + from_pattern=[f"{prefix}.patch_embed.proj.weight"], + transform=WeightTransforms.transpose_conv2d_weight, + ), + WeightTarget( + to_pattern=f"{prefix}.patch_embed.proj.bias", + from_pattern=[f"{prefix}.patch_embed.proj.bias"], + ), + WeightTarget( + to_pattern=f"{prefix}.norm.weight", + from_pattern=[f"{prefix}.norm.weight"], + ), + WeightTarget( + to_pattern=f"{prefix}.norm.bias", + from_pattern=[f"{prefix}.norm.bias"], + ), + WeightTarget( + to_pattern=f"{prefix}.blocks.{{block}}.norm1.weight", + from_pattern=[f"{prefix}.blocks.{{block}}.norm1.weight"], + max_blocks=24, + ), + WeightTarget( + to_pattern=f"{prefix}.blocks.{{block}}.norm1.bias", + from_pattern=[f"{prefix}.blocks.{{block}}.norm1.bias"], + max_blocks=24, + ), + WeightTarget( + to_pattern=f"{prefix}.blocks.{{block}}.attn.qkv.weight", + from_pattern=[f"{prefix}.blocks.{{block}}.attn.qkv.weight"], + max_blocks=24, + ), + WeightTarget( + to_pattern=f"{prefix}.blocks.{{block}}.attn.qkv.bias", + from_pattern=[f"{prefix}.blocks.{{block}}.attn.qkv.bias"], + max_blocks=24, + ), + WeightTarget( + to_pattern=f"{prefix}.blocks.{{block}}.attn.proj.weight", + from_pattern=[f"{prefix}.blocks.{{block}}.attn.proj.weight"], + max_blocks=24, + ), + WeightTarget( + to_pattern=f"{prefix}.blocks.{{block}}.attn.proj.bias", + from_pattern=[f"{prefix}.blocks.{{block}}.attn.proj.bias"], + max_blocks=24, + ), + WeightTarget( + to_pattern=f"{prefix}.blocks.{{block}}.ls1.gamma", + from_pattern=[f"{prefix}.blocks.{{block}}.ls1.gamma"], + transform=WeightTransforms.reshape_gamma_to_1d, + max_blocks=24, + ), + WeightTarget( + to_pattern=f"{prefix}.blocks.{{block}}.norm2.weight", + from_pattern=[f"{prefix}.blocks.{{block}}.norm2.weight"], + max_blocks=24, + ), + WeightTarget( + to_pattern=f"{prefix}.blocks.{{block}}.norm2.bias", + from_pattern=[f"{prefix}.blocks.{{block}}.norm2.bias"], + max_blocks=24, + ), + WeightTarget( + to_pattern=f"{prefix}.blocks.{{block}}.mlp.fc1.weight", + from_pattern=[f"{prefix}.blocks.{{block}}.mlp.fc1.weight"], + max_blocks=24, + ), + WeightTarget( + to_pattern=f"{prefix}.blocks.{{block}}.mlp.fc1.bias", + from_pattern=[f"{prefix}.blocks.{{block}}.mlp.fc1.bias"], + max_blocks=24, + ), + WeightTarget( + to_pattern=f"{prefix}.blocks.{{block}}.mlp.fc2.weight", + from_pattern=[f"{prefix}.blocks.{{block}}.mlp.fc2.weight"], + max_blocks=24, + ), + WeightTarget( + to_pattern=f"{prefix}.blocks.{{block}}.mlp.fc2.bias", + from_pattern=[f"{prefix}.blocks.{{block}}.mlp.fc2.bias"], + max_blocks=24, + ), + WeightTarget( + to_pattern=f"{prefix}.blocks.{{block}}.ls2.gamma", + from_pattern=[f"{prefix}.blocks.{{block}}.ls2.gamma"], + transform=WeightTransforms.reshape_gamma_to_1d, + max_blocks=24, + ), + ] + + @staticmethod + def _get_upsample_block_mapping(block_name: str, num_layers: int) -> List[WeightTarget]: + prefix = f"encoder.{block_name}" + targets = [] + + targets.append( + WeightTarget( + to_pattern=f"{prefix}.layers.0.weight", + from_pattern=[f"{prefix}.0.weight"], + transform=WeightTransforms.transpose_conv2d_weight, + ) + ) + + targets.extend( + WeightTarget( + to_pattern=f"{prefix}.layers.{layer}.weight", + from_pattern=[f"{prefix}.{layer}.weight"], + transform=WeightTransforms.transpose_conv_transpose2d_weight, + ) + for layer in range(1, num_layers) + ) + + return targets + + @staticmethod + def _get_encoder_conv_mapping() -> List[WeightTarget]: + return [ + WeightTarget( + to_pattern="encoder.upsample_lowres.weight", + from_pattern=["encoder.upsample_lowres.weight"], + transform=WeightTransforms.transpose_conv_transpose2d_weight, + ), + WeightTarget( + to_pattern="encoder.upsample_lowres.bias", + from_pattern=["encoder.upsample_lowres.bias"], + ), + WeightTarget( + to_pattern="encoder.fuse_lowres.weight", + from_pattern=["encoder.fuse_lowres.weight"], + transform=WeightTransforms.transpose_conv2d_weight, + ), + WeightTarget( + to_pattern="encoder.fuse_lowres.bias", + from_pattern=["encoder.fuse_lowres.bias"], + ), + ] + + @staticmethod + def _get_decoder_mapping() -> List[WeightTarget]: + return ( + DepthProWeightMapping._get_decoder_convs_mapping() + + DepthProWeightMapping._get_fusion_block_mapping(0) + + DepthProWeightMapping._get_fusion_block_mapping(1) + + DepthProWeightMapping._get_fusion_block_mapping(2) + + DepthProWeightMapping._get_fusion_block_mapping(3) + + DepthProWeightMapping._get_fusion_block_mapping(4) + ) + + @staticmethod + def _get_decoder_convs_mapping() -> List[WeightTarget]: + return [ + WeightTarget( + to_pattern="decoder.convs.1.weight", + from_pattern=["decoder.convs.1.weight"], + transform=WeightTransforms.transpose_conv2d_weight, + ), + WeightTarget( + to_pattern="decoder.convs.2.weight", + from_pattern=["decoder.convs.2.weight"], + transform=WeightTransforms.transpose_conv2d_weight, + ), + WeightTarget( + to_pattern="decoder.convs.3.weight", + from_pattern=["decoder.convs.3.weight"], + transform=WeightTransforms.transpose_conv2d_weight, + ), + WeightTarget( + to_pattern="decoder.convs.4.weight", + from_pattern=["decoder.convs.4.weight"], + transform=WeightTransforms.transpose_conv2d_weight, + ), + ] + + @staticmethod + def _get_fusion_block_mapping(i: int) -> List[WeightTarget]: + targets = [ + WeightTarget( + to_pattern=f"decoder.fusions.{i}.resnet1.residual.1.weight", + from_pattern=[f"decoder.fusions.{i}.resnet1.residual.1.weight"], + transform=WeightTransforms.transpose_conv2d_weight, + ), + WeightTarget( + to_pattern=f"decoder.fusions.{i}.resnet1.residual.1.bias", + from_pattern=[f"decoder.fusions.{i}.resnet1.residual.1.bias"], + ), + WeightTarget( + to_pattern=f"decoder.fusions.{i}.resnet1.residual.3.weight", + from_pattern=[f"decoder.fusions.{i}.resnet1.residual.3.weight"], + transform=WeightTransforms.transpose_conv2d_weight, + ), + WeightTarget( + to_pattern=f"decoder.fusions.{i}.resnet1.residual.3.bias", + from_pattern=[f"decoder.fusions.{i}.resnet1.residual.3.bias"], + ), + WeightTarget( + to_pattern=f"decoder.fusions.{i}.resnet2.residual.1.weight", + from_pattern=[f"decoder.fusions.{i}.resnet2.residual.1.weight"], + transform=WeightTransforms.transpose_conv2d_weight, + ), + WeightTarget( + to_pattern=f"decoder.fusions.{i}.resnet2.residual.1.bias", + from_pattern=[f"decoder.fusions.{i}.resnet2.residual.1.bias"], + ), + WeightTarget( + to_pattern=f"decoder.fusions.{i}.resnet2.residual.3.weight", + from_pattern=[f"decoder.fusions.{i}.resnet2.residual.3.weight"], + transform=WeightTransforms.transpose_conv2d_weight, + ), + WeightTarget( + to_pattern=f"decoder.fusions.{i}.resnet2.residual.3.bias", + from_pattern=[f"decoder.fusions.{i}.resnet2.residual.3.bias"], + ), + WeightTarget( + to_pattern=f"decoder.fusions.{i}.out_conv.weight", + from_pattern=[f"decoder.fusions.{i}.out_conv.weight"], + transform=WeightTransforms.transpose_conv2d_weight, + ), + WeightTarget( + to_pattern=f"decoder.fusions.{i}.out_conv.bias", + from_pattern=[f"decoder.fusions.{i}.out_conv.bias"], + ), + ] + if i > 0: + targets.append( + WeightTarget( + to_pattern=f"decoder.fusions.{i}.deconv.weight", + from_pattern=[f"decoder.fusions.{i}.deconv.weight"], + transform=WeightTransforms.transpose_conv_transpose2d_weight, + ) + ) + return targets + + @staticmethod + def _get_head_mapping() -> List[WeightTarget]: + return [ + WeightTarget( + to_pattern="head.convs.0.weight", + from_pattern=["head.0.weight"], + transform=WeightTransforms.transpose_conv2d_weight, + ), + WeightTarget( + to_pattern="head.convs.0.bias", + from_pattern=["head.0.bias"], + ), + WeightTarget( + to_pattern="head.convs.1.weight", + from_pattern=["head.1.weight"], + transform=WeightTransforms.transpose_conv_transpose2d_weight, + ), + WeightTarget( + to_pattern="head.convs.1.bias", + from_pattern=["head.1.bias"], + ), + WeightTarget( + to_pattern="head.convs.2.weight", + from_pattern=["head.2.weight"], + transform=WeightTransforms.transpose_conv2d_weight, + ), + WeightTarget( + to_pattern="head.convs.2.bias", + from_pattern=["head.2.bias"], + ), + WeightTarget( + to_pattern="head.convs.4.weight", + from_pattern=["head.4.weight"], + transform=WeightTransforms.transpose_conv2d_weight, + ), + WeightTarget( + to_pattern="head.convs.4.bias", + from_pattern=["head.4.bias"], + ), + ] diff --git a/src/mflux/models/depth_pro/weights/weight_handler_depth_pro.py b/src/mflux/models/depth_pro/weights/weight_handler_depth_pro.py deleted file mode 100644 index 244c853..0000000 --- a/src/mflux/models/depth_pro/weights/weight_handler_depth_pro.py +++ /dev/null @@ -1,131 +0,0 @@ -import logging -import urllib.error -import urllib.request - -import mlx.core as mx -import torch -from mlx.utils import tree_unflatten - -from mflux.models.flux.weights.weight_handler import MetaData -from mflux.models.flux.weights.weight_util import WeightUtil -from mflux.ui.defaults import MFLUX_CACHE_DIR - -logger = logging.getLogger(__name__) - - -class WeightHandlerDepthPro: - def __init__(self, weights: dict, meta_data: MetaData): - self.weights = weights - self.meta_data = meta_data - - @staticmethod - def load_weights() -> "WeightHandlerDepthPro": - model_path = WeightHandlerDepthPro._download_or_get_cached_weights() - pt_weights = torch.load(model_path, map_location="cpu") - weights = WeightHandlerDepthPro._to_mlx_weights(pt_weights) - weights = [WeightUtil.reshape_weights(k, v) for k, v in weights.items()] - weights = WeightUtil.flatten(weights) - weights = tree_unflatten(weights) - return WeightHandlerDepthPro( - weights=weights, - meta_data=MetaData(quantization_level=None) - ) # fmt:off - - @staticmethod - def _to_mlx_weights(pt_weights) -> dict: - mlx_weights = {} - for key, value in pt_weights.items(): - if isinstance(value, torch.Tensor): - mlx_weights[key] = mx.array(value.numpy()) - else: - mlx_weights[key] = value - return mlx_weights - - @staticmethod - def _download_or_get_cached_weights(): - APPLE_MODEL_URL = "https://ml-site.cdn-apple.com/models/depth-pro/depth_pro.pt" - - # 1. Create cache directory for the model - cache_dir = MFLUX_CACHE_DIR / "depth_pro" - - cache_dir.mkdir(parents=True, exist_ok=True) - model_path = cache_dir / "depth_pro.pt" - - # 2. Download if model doesn't exist - if not model_path.exists(): - logger.info("Downloading Depth Pro model from Apple...") - try: - urllib.request.urlretrieve(APPLE_MODEL_URL, model_path) - logger.info(f"Downloaded model to {model_path}") - except (urllib.error.URLError, urllib.error.HTTPError) as e: - logger.error(f"Failed to download model: {e}") - logger.info(f"Please manually download from: {APPLE_MODEL_URL}") - if not model_path.exists(): - raise FileNotFoundError(f"Model file not found at {model_path}") - - return model_path - - @staticmethod - def reposition_encoder_weights(depth_pro_weights, name): - tmp = depth_pro_weights.weights["encoder"][name] - depth_pro_weights.weights["encoder"][name] = {} - depth_pro_weights.weights["encoder"][name]["layers"] = tmp - - @staticmethod - def reposition_head_weights(depth_pro_weights): - tmp = depth_pro_weights.weights["head"] - depth_pro_weights.weights["head"] = {} - depth_pro_weights.weights["head"]["convs"] = tmp - - @staticmethod - def reshape_transposed_convolution_weights(depth_pro_weights): - WeightHandlerDepthPro._reshape_upsample(depth_pro_weights, "upsample_latent0", 1) - WeightHandlerDepthPro._reshape_upsample(depth_pro_weights, "upsample_latent0", 2) - WeightHandlerDepthPro._reshape_upsample(depth_pro_weights, "upsample_latent0", 3) - - WeightHandlerDepthPro._reshape_upsample(depth_pro_weights, "upsample_latent1", 1) - WeightHandlerDepthPro._reshape_upsample(depth_pro_weights, "upsample_latent1", 2) - - WeightHandlerDepthPro._reshape_upsample(depth_pro_weights, "upsample0", 1) - WeightHandlerDepthPro._reshape_upsample(depth_pro_weights, "upsample1", 1) - WeightHandlerDepthPro._reshape_upsample(depth_pro_weights, "upsample2", 1) - - WeightHandlerDepthPro._reshape_upsample_lowres(depth_pro_weights) - - WeightHandlerDepthPro._reshape_deconv(depth_pro_weights, 1) - WeightHandlerDepthPro._reshape_deconv(depth_pro_weights, 2) - WeightHandlerDepthPro._reshape_deconv(depth_pro_weights, 3) - WeightHandlerDepthPro._reshape_deconv(depth_pro_weights, 4) - - WeightHandlerDepthPro._reshape_head(depth_pro_weights, 1) - - @staticmethod - def _reshape_upsample(depth_pro_weights, name, layer): - tmp = depth_pro_weights.weights["encoder"][name]["layers"][layer]["weight"] - tmp = WeightHandlerDepthPro._reshape(tmp) - depth_pro_weights.weights["encoder"][name]["layers"][layer]["weight"] = tmp - - @staticmethod - def _reshape_upsample_lowres(depth_pro_weights): - tmp = depth_pro_weights.weights["encoder"]["upsample_lowres"]["weight"] - tmp = WeightHandlerDepthPro._reshape(tmp) - depth_pro_weights.weights["encoder"]["upsample_lowres"]["weight"] = tmp - - @staticmethod - def _reshape_deconv(depth_pro_weights, layer): - tmp = depth_pro_weights.weights["decoder"]["fusions"][layer]["deconv"]["weight"] - tmp = WeightHandlerDepthPro._reshape(tmp) - depth_pro_weights.weights["decoder"]["fusions"][layer]["deconv"]["weight"] = tmp - - @staticmethod - def _reshape_head(depth_pro_weights, layer): - tmp = depth_pro_weights.weights["head"]["convs"][layer]["weight"] - tmp = WeightHandlerDepthPro._reshape(tmp) - depth_pro_weights.weights["head"]["convs"][layer]["weight"] = tmp - - @staticmethod - def _reshape(tensor): - tensor = tensor.transpose(0, 3, 1, 2) - tensor = tensor.transpose(1, 0, 2, 3) - tensor = tensor.transpose(0, 2, 3, 1) - return tensor diff --git a/src/mflux/models/fibo/cli/__init__.py b/src/mflux/models/fibo/cli/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/mflux/generate_fibo.py b/src/mflux/models/fibo/cli/fibo_generate.py similarity index 52% rename from src/mflux/generate_fibo.py rename to src/mflux/models/fibo/cli/fibo_generate.py index ac1696b..8feac1b 100644 --- a/src/mflux/generate_fibo.py +++ b/src/mflux/models/fibo/cli/fibo_generate.py @@ -1,17 +1,12 @@ -import gc -import json - -import mlx.core as mx - from mflux.callbacks.callback_manager import CallbackManager -from mflux.config.config import Config -from mflux.config.model_config import ModelConfig +from mflux.cli.defaults import defaults as ui_defaults +from mflux.cli.parser.parsers import CommandLineParser +from mflux.models.fibo.latent_creator.fibo_latent_creator import FiboLatentCreator from mflux.models.fibo.variants.txt2img.fibo import FIBO -from mflux.models.fibo_vlm.model.fibo_vlm import FiboVLM -from mflux.ui import defaults as ui_defaults -from mflux.ui.cli.parsers import CommandLineParser -from mflux.ui.prompt_utils import PromptUtils +from mflux.models.fibo.variants.txt2img.util import FiboUtil +from mflux.utils.dimension_resolver import DimensionResolver from mflux.utils.exceptions import PromptFileReadError, StopImageGenerationException +from mflux.utils.prompt_util import PromptUtil def main(): @@ -20,7 +15,7 @@ def main(): parser.add_general_arguments() parser.add_model_arguments(require_model_arg=False) parser.add_lora_arguments() - parser.add_image_generator_arguments(supports_metadata_config=True) + parser.add_image_generator_arguments(supports_metadata_config=True, supports_dimension_scale_factor=True) parser.add_image_to_image_arguments(required=False) parser.add_output_arguments() args = parser.parse_args() @@ -29,34 +24,42 @@ def main(): if args.guidance is None: args.guidance = ui_defaults.GUIDANCE_SCALE - json_prompt = _get_json_prompt(args) + json_prompt = FiboUtil.get_json_prompt(args, quantize=args.quantize) # 1. Load the FIBO model fibo = FIBO( - model_config=ModelConfig.fibo(), quantize=args.quantize, - local_path=args.path, + model_path=args.model_path, ) # 2. Register callbacks - memory_saver = CallbackManager.register_callbacks(args=args, model=fibo) + memory_saver = CallbackManager.register_callbacks( + args=args, + model=fibo, + latent_creator=FiboLatentCreator, + ) try: + # Resolve dimensions (supports ScaleFactor like "2x" when --image-path is provided) + width, height = DimensionResolver.resolve( + width=args.width, + height=args.height, + reference_image_path=args.image_path, + ) + for seed in args.seed: # 3. Generate an image for each seed value image = fibo.generate_image( seed=seed, prompt=json_prompt, - negative_prompt=PromptUtils.get_effective_negative_prompt(args), - config=Config( - num_inference_steps=args.steps, - height=args.height, - width=args.width, - guidance=args.guidance, - image_path=args.image_path, - image_strength=args.image_strength, - scheduler="flow_match_euler_discrete", - ), + width=width, + height=height, + guidance=args.guidance, + image_path=args.image_path, + num_inference_steps=args.steps, + image_strength=args.image_strength, + scheduler="flow_match_euler_discrete", + negative_prompt=PromptUtil.read_negative_prompt(args), ) # 4. Save the image @@ -68,20 +71,5 @@ def main(): print(memory_saver.memory_stats()) -def _get_json_prompt(args): - prompt = PromptUtils.get_effective_prompt(args) - - try: - json.loads(prompt) - json_prompt = prompt - except json.JSONDecodeError: - vlm = FiboVLM() - json_prompt = vlm.generate(prompt=prompt, seed=42) - del vlm - gc.collect() - mx.clear_cache() - return json_prompt - - if __name__ == "__main__": main() diff --git a/src/mflux/models/fibo/fibo_initializer.py b/src/mflux/models/fibo/fibo_initializer.py index b41f526..c73640b 100644 --- a/src/mflux/models/fibo/fibo_initializer.py +++ b/src/mflux/models/fibo/fibo_initializer.py @@ -1,47 +1,66 @@ -from mflux.config.model_config import ModelConfig +from mflux.callbacks.callback_registry import CallbackRegistry +from mflux.models.common.config import ModelConfig +from mflux.models.common.tokenizer import TokenizerLoader +from mflux.models.common.weights.loading.loaded_weights import LoadedWeights +from mflux.models.common.weights.loading.weight_applier import WeightApplier +from mflux.models.common.weights.loading.weight_loader import WeightLoader from mflux.models.fibo.model.fibo_text_encoder import SmolLM3_3B_TextEncoder from mflux.models.fibo.model.fibo_transformer import FiboTransformer from mflux.models.fibo.model.fibo_vae.wan_2_2_vae import Wan2_2_VAE -from mflux.models.fibo.tokenizer import FiboTokenizerHandler -from mflux.models.fibo.weights.fibo_weight_handler import FIBOWeightHandler -from mflux.models.fibo.weights.fibo_weight_util import FIBOWeightUtil +from mflux.models.fibo.weights.fibo_weight_definition import FIBOWeightDefinition class FIBOInitializer: @staticmethod def init( - fibo_model, - model_config: ModelConfig | None = None, + model, + model_config: ModelConfig, quantize: int | None = None, - local_path: str | None = None, + model_path: str | None = None, + lora_paths: list[str] | None = None, # noqa: ARG004 + lora_scales: list[float] | None = None, # noqa: ARG004 ) -> None: - # 1. Load VAE weights - weights = FIBOWeightHandler.load_regular_weights( - repo_id=model_config.model_name, - local_path=local_path, + path = model_path if model_path else model_config.model_name + FIBOInitializer._init_config(model, model_config) + weights = FIBOInitializer._load_weights(path) + FIBOInitializer._init_tokenizers(model, path) + FIBOInitializer._init_models(model) + FIBOInitializer._apply_weights(model, weights, quantize) + + @staticmethod + def _init_config(model, model_config: ModelConfig) -> None: + model.model_config = model_config + model.callbacks = CallbackRegistry() + + @staticmethod + def _load_weights(model_path: str) -> LoadedWeights: + return WeightLoader.load( + weight_definition=FIBOWeightDefinition, + model_path=model_path, ) - # 2. Initialize tokenizers - tokenizer_handler = FiboTokenizerHandler( - repo_id=model_config.model_name, - local_path=local_path, - ) - fibo_model.fibo_tokenizer = tokenizer_handler.fibo - - # 3. Initialize all models - fibo_model.vae = Wan2_2_VAE() - fibo_model.text_encoder = SmolLM3_3B_TextEncoder() - fibo_model.transformer = FiboTransformer( - in_channels=48, - num_layers=8, - num_single_layers=38, + @staticmethod + def _init_tokenizers(model, model_path: str) -> None: + model.tokenizers = TokenizerLoader.load_all( + definitions=FIBOWeightDefinition.get_tokenizers(), + model_path=model_path, ) - # 4. Apply weights and quantize VAE, transformer, and text encoder - fibo_model.bits = FIBOWeightUtil.set_weights_and_quantize( - quantize_arg=quantize, + @staticmethod + def _init_models(model) -> None: + model.vae = Wan2_2_VAE() + model.text_encoder = SmolLM3_3B_TextEncoder() + model.transformer = FiboTransformer() + + @staticmethod + def _apply_weights(model, weights: LoadedWeights, quantize: int | None) -> None: + model.bits = WeightApplier.apply_and_quantize( weights=weights, - vae=fibo_model.vae, - transformer=fibo_model.transformer, - text_encoder=fibo_model.text_encoder, + quantize_arg=quantize, + weight_definition=FIBOWeightDefinition, + models={ + "vae": model.vae, + "transformer": model.transformer, + "text_encoder": model.text_encoder, + }, ) diff --git a/src/mflux/models/fibo/latent_creator/fibo_latent_creator.py b/src/mflux/models/fibo/latent_creator/fibo_latent_creator.py index d07f9f2..687d840 100644 --- a/src/mflux/models/fibo/latent_creator/fibo_latent_creator.py +++ b/src/mflux/models/fibo/latent_creator/fibo_latent_creator.py @@ -17,3 +17,13 @@ class FiboLatentCreator: batch_size, channels, latent_height, latent_width = latents.shape latents = mx.transpose(latents, (0, 2, 3, 1)) return mx.reshape(latents, (batch_size, latent_height * latent_width, channels)) + + @staticmethod + def unpack_latents(latents: mx.array, height: int, width: int) -> mx.array: + batch_size, seq_len, channels = latents.shape + vae_scale_factor = 16 + latent_height = height // vae_scale_factor + latent_width = width // vae_scale_factor + latents = mx.reshape(latents, (batch_size, latent_height, latent_width, channels)) + latents = mx.transpose(latents, (0, 3, 1, 2)) + return latents diff --git a/src/mflux/models/fibo/model/__init__.py b/src/mflux/models/fibo/model/__init__.py index 55a5bd5..e69de29 100644 --- a/src/mflux/models/fibo/model/__init__.py +++ b/src/mflux/models/fibo/model/__init__.py @@ -1 +0,0 @@ -"""FIBO model components.""" diff --git a/src/mflux/models/fibo/model/fibo_text_encoder/prompt_encoder.py b/src/mflux/models/fibo/model/fibo_text_encoder/prompt_encoder.py index b61d7a9..0564222 100644 --- a/src/mflux/models/fibo/model/fibo_text_encoder/prompt_encoder.py +++ b/src/mflux/models/fibo/model/fibo_text_encoder/prompt_encoder.py @@ -3,8 +3,8 @@ from typing import List, Union import mlx.core as mx +from mflux.models.common.tokenizer import Tokenizer from mflux.models.fibo.model.fibo_text_encoder.smol_lm3_3b_text_encoder import SmolLM3_3B_TextEncoder -from mflux.models.fibo.tokenizer.fibo_tokenizer import TokenizerFibo class PromptEncoder: @@ -12,7 +12,7 @@ class PromptEncoder: def encode_prompt( prompt: str, negative_prompt: str | None, - tokenizer: TokenizerFibo, + tokenizer: Tokenizer, text_encoder: SmolLM3_3B_TextEncoder, ) -> tuple[str, mx.array, List[mx.array]]: # 0. Set default negative prompt if not provided @@ -87,7 +87,7 @@ class PromptEncoder: def _get_prompt_embeds( prompt: Union[str, List[str]], text_encoder: SmolLM3_3B_TextEncoder, - tokenizer: TokenizerFibo, + tokenizer: Tokenizer, num_images_per_prompt: int = 1, max_sequence_length: int = 2048, tokenization_prefix: str | None = None, @@ -97,13 +97,9 @@ class PromptEncoder: raise ValueError("`prompt` must be a non-empty string or list of strings.") # 1) Tokenize and convert to MX - input_ids_mx, attention_mask_mx = tokenizer.tokenize( - prompts=prompts, - max_length=max_sequence_length, - padding="longest", - truncation=True, - add_special_tokens=True, - ) + tokenizer_output = tokenizer.tokenize(prompt=prompts, max_length=max_sequence_length) + input_ids_mx = tokenizer_output.input_ids + attention_mask_mx = tokenizer_output.attention_mask # 2) Run MLX text encoder and collect hidden states hidden_states_list = text_encoder( diff --git a/src/mflux/models/fibo/model/fibo_text_encoder/smol_lm3_3b_attention.py b/src/mflux/models/fibo/model/fibo_text_encoder/smol_lm3_3b_attention.py index 5e779dd..b4f9276 100644 --- a/src/mflux/models/fibo/model/fibo_text_encoder/smol_lm3_3b_attention.py +++ b/src/mflux/models/fibo/model/fibo_text_encoder/smol_lm3_3b_attention.py @@ -58,9 +58,6 @@ class SmolLM3_3B_SelfAttention(nn.Module): k = k.astype(hidden_states.dtype) v = v.astype(hidden_states.dtype) - # Force evaluation to ensure computation is complete - mx.eval(q, k, v) - # Reshape to (batch, heads, seq, head_dim) q = q.reshape(batch_size, seq_len, self.num_attention_heads, self.head_dim).transpose(0, 2, 1, 3) k = k.reshape(batch_size, seq_len, self.num_key_value_heads, self.head_dim).transpose(0, 2, 1, 3) diff --git a/src/mflux/models/fibo/model/fibo_transformer/transformer.py b/src/mflux/models/fibo/model/fibo_transformer/transformer.py index 17ba14a..ed70564 100644 --- a/src/mflux/models/fibo/model/fibo_transformer/transformer.py +++ b/src/mflux/models/fibo/model/fibo_transformer/transformer.py @@ -1,7 +1,7 @@ import mlx.core as mx from mlx import nn -from mflux.config.runtime_config import RuntimeConfig +from mflux.models.common.config.config import Config from mflux.models.fibo.model.fibo_transformer.fibo_embed_nd import FiboEmbedND from mflux.models.fibo.model.fibo_transformer.joint_transformer_block import FiboJointTransformerBlock from mflux.models.fibo.model.fibo_transformer.single_transformer_block import FiboSingleTransformerBlock @@ -31,7 +31,7 @@ class FiboTransformer(nn.Module): def __call__( self, t: int, - config: RuntimeConfig, + config: Config, hidden_states: mx.array, encoder_hidden_states: mx.array, text_encoder_layers: list[mx.array], @@ -150,7 +150,7 @@ class FiboTransformer(nn.Module): @staticmethod def _compute_time_embeddings( t: int, - config: RuntimeConfig, + config: Config, batch_size: int, dtype: mx.Dtype, time_embed: BriaFiboTimestepProjEmbeddings, @@ -163,7 +163,7 @@ class FiboTransformer(nn.Module): def _compute_rotary_embeddings( encoder_hidden_states: mx.array, pos_embed: FiboEmbedND, - config: RuntimeConfig, + config: Config, dtype: mx.Dtype, ) -> mx.array: max_tokens = encoder_hidden_states.shape[1] @@ -209,7 +209,7 @@ class FiboTransformer(nn.Module): @staticmethod def _compute_attention_mask( batch_size: int, - config: RuntimeConfig, + config: Config, encoder_hidden_states: mx.array, max_tokens: int, ) -> mx.array: diff --git a/src/mflux/models/fibo/model/fibo_vae/__init__.py b/src/mflux/models/fibo/model/fibo_vae/__init__.py index 2136841..e69de29 100644 --- a/src/mflux/models/fibo/model/fibo_vae/__init__.py +++ b/src/mflux/models/fibo/model/fibo_vae/__init__.py @@ -1 +0,0 @@ -"""FIBO VAE components.""" diff --git a/src/mflux/models/fibo/model/fibo_vae/common/__init__.py b/src/mflux/models/fibo/model/fibo_vae/common/__init__.py index 0683107..db586b8 100644 --- a/src/mflux/models/fibo/model/fibo_vae/common/__init__.py +++ b/src/mflux/models/fibo/model/fibo_vae/common/__init__.py @@ -1,5 +1,3 @@ -"""FIBO VAE common/shared components.""" - from mflux.models.fibo.model.fibo_vae.common.wan_2_2_attention_block import Wan2_2_AttentionBlock from mflux.models.fibo.model.fibo_vae.common.wan_2_2_causal_conv_3d import Wan2_2_CausalConv3d from mflux.models.fibo.model.fibo_vae.common.wan_2_2_mid_block import Wan2_2_MidBlock diff --git a/src/mflux/models/fibo/model/fibo_vae/decoder/__init__.py b/src/mflux/models/fibo/model/fibo_vae/decoder/__init__.py index 76a4c21..c298475 100644 --- a/src/mflux/models/fibo/model/fibo_vae/decoder/__init__.py +++ b/src/mflux/models/fibo/model/fibo_vae/decoder/__init__.py @@ -1,5 +1,3 @@ -"""FIBO VAE decoder components.""" - from mflux.models.fibo.model.fibo_vae.decoder.wan_2_2_decoder_3d import Wan2_2_Decoder3d __all__ = ["Wan2_2_Decoder3d"] diff --git a/src/mflux/models/fibo/model/fibo_vae/encoder/__init__.py b/src/mflux/models/fibo/model/fibo_vae/encoder/__init__.py index 1ba10c4..ba1ab80 100644 --- a/src/mflux/models/fibo/model/fibo_vae/encoder/__init__.py +++ b/src/mflux/models/fibo/model/fibo_vae/encoder/__init__.py @@ -1,5 +1,3 @@ -"""FIBO VAE encoder components.""" - from mflux.models.fibo.model.fibo_vae.encoder.wan_2_2_encoder_3d import Wan2_2_Encoder3d __all__ = ["Wan2_2_Encoder3d"] diff --git a/src/mflux/models/fibo/tokenizer/__init__.py b/src/mflux/models/fibo/tokenizer/__init__.py deleted file mode 100644 index 8c086d5..0000000 --- a/src/mflux/models/fibo/tokenizer/__init__.py +++ /dev/null @@ -1,7 +0,0 @@ -from mflux.models.fibo.tokenizer.fibo_tokenizer import TokenizerFibo -from mflux.models.fibo.tokenizer.smol_lm3_3b_tokenizer import FiboTokenizerHandler - -__all__ = [ - "FiboTokenizerHandler", - "TokenizerFibo", -] diff --git a/src/mflux/models/fibo/tokenizer/fibo_tokenizer.py b/src/mflux/models/fibo/tokenizer/fibo_tokenizer.py deleted file mode 100644 index 461a49d..0000000 --- a/src/mflux/models/fibo/tokenizer/fibo_tokenizer.py +++ /dev/null @@ -1,37 +0,0 @@ -import mlx.core as mx -import numpy as np -from transformers import PreTrainedTokenizer - - -class TokenizerFibo: - def __init__(self, tokenizer: PreTrainedTokenizer, bot_token_id: int = 128000): - self.tokenizer = tokenizer - self.bot_token_id = bot_token_id - - def tokenize( - self, - prompts: list[str], - max_length: int = 2048, - padding: str = "longest", - truncation: bool = True, - add_special_tokens: bool = True, - ) -> tuple[mx.array, mx.array]: - prompts = [p if p is not None else "" for p in prompts] - - if all(p == "" for p in prompts): - batch_size = len(prompts) - input_ids_mx = mx.array(np.empty((batch_size, 0), dtype=np.int32)) - attention_mask_mx = mx.array(np.empty((batch_size, 0), dtype=np.int32)) - else: - tokenized = self.tokenizer( - prompts, - padding=padding, - max_length=max_length, - truncation=truncation, - add_special_tokens=add_special_tokens, - return_tensors="mlx", - ) - input_ids_mx = tokenized["input_ids"] - attention_mask_mx = tokenized["attention_mask"] - - return input_ids_mx, attention_mask_mx diff --git a/src/mflux/models/fibo/tokenizer/smol_lm3_3b_tokenizer.py b/src/mflux/models/fibo/tokenizer/smol_lm3_3b_tokenizer.py deleted file mode 100644 index b7aa04e..0000000 --- a/src/mflux/models/fibo/tokenizer/smol_lm3_3b_tokenizer.py +++ /dev/null @@ -1,42 +0,0 @@ -from pathlib import Path - -import transformers - -from mflux.models.fibo.tokenizer.fibo_tokenizer import TokenizerFibo -from mflux.utils.download import snapshot_download - - -class FiboTokenizerHandler: - def __init__( - self, - repo_id: str, - bot_token_id: int = 128000, - local_path: str | None = None, - ): - root_path = Path(local_path) if local_path else FiboTokenizerHandler._download_or_get_cached_tokenizer(repo_id) - - # Try different possible tokenizer paths - tokenizer_path = root_path / "tokenizer" - if not tokenizer_path.exists(): - tokenizer_path = root_path / "text_encoder" - if not tokenizer_path.exists(): - tokenizer_path = root_path - - # Load the raw tokenizer - self.tokenizer_raw = transformers.AutoTokenizer.from_pretrained( - pretrained_model_name_or_path=str(tokenizer_path), - local_files_only=True, - fix_mistral_regex=True, # Fix Mistral regex pattern warning - ) - - # Wrap in our TokenizerFibo class - self.fibo = TokenizerFibo(self.tokenizer_raw, bot_token_id=bot_token_id) - - @staticmethod - def _download_or_get_cached_tokenizer(repo_id: str) -> Path: - return Path( - snapshot_download( - repo_id=repo_id, - allow_patterns=["tokenizer/**", "text_encoder/**"], - ) - ) diff --git a/src/mflux/models/fibo/variants/__init__.py b/src/mflux/models/fibo/variants/__init__.py index e27de1f..e69de29 100644 --- a/src/mflux/models/fibo/variants/__init__.py +++ b/src/mflux/models/fibo/variants/__init__.py @@ -1 +0,0 @@ -"""FIBO model variants.""" diff --git a/src/mflux/models/fibo/variants/txt2img/__init__.py b/src/mflux/models/fibo/variants/txt2img/__init__.py index 38b2180..e69de29 100644 --- a/src/mflux/models/fibo/variants/txt2img/__init__.py +++ b/src/mflux/models/fibo/variants/txt2img/__init__.py @@ -1 +0,0 @@ -"""FIBO text-to-image variant.""" diff --git a/src/mflux/models/fibo/variants/txt2img/fibo.py b/src/mflux/models/fibo/variants/txt2img/fibo.py index 7babb7c..1423744 100644 --- a/src/mflux/models/fibo/variants/txt2img/fibo.py +++ b/src/mflux/models/fibo/variants/txt2img/fibo.py @@ -1,20 +1,19 @@ +from pathlib import Path + import mlx.core as mx from mlx import nn -from tqdm import tqdm -from mflux.callbacks.callbacks import Callbacks -from mflux.config.config import Config -from mflux.config.model_config import ModelConfig -from mflux.config.runtime_config import RuntimeConfig +from mflux.models.common.config.config import Config +from mflux.models.common.config.model_config import ModelConfig from mflux.models.common.latent_creator.latent_creator import Img2Img, LatentCreator -from mflux.models.common.weights.model_saver import ModelSaver +from mflux.models.common.weights.saving.model_saver import ModelSaver from mflux.models.fibo.fibo_initializer import FIBOInitializer from mflux.models.fibo.latent_creator.fibo_latent_creator import FiboLatentCreator from mflux.models.fibo.model.fibo_text_encoder.prompt_encoder import PromptEncoder from mflux.models.fibo.model.fibo_text_encoder.smol_lm3_3b_text_encoder import SmolLM3_3B_TextEncoder from mflux.models.fibo.model.fibo_transformer import FiboTransformer from mflux.models.fibo.model.fibo_vae.wan_2_2_vae import Wan2_2_VAE -from mflux.models.fibo.tokenizer.fibo_tokenizer import TokenizerFibo +from mflux.models.fibo.weights.fibo_weight_definition import FIBOWeightDefinition from mflux.utils.exceptions import StopImageGenerationException from mflux.utils.generated_image import GeneratedImage from mflux.utils.image_util import ImageUtil @@ -24,48 +23,61 @@ class FIBO(nn.Module): vae: Wan2_2_VAE transformer: FiboTransformer text_encoder: SmolLM3_3B_TextEncoder - fibo_tokenizer: TokenizerFibo def __init__( self, - model_config: ModelConfig, quantize: int | None = None, - local_path: str | None = None, + model_path: str | None = None, + lora_paths: list[str] | None = None, + lora_scales: list[float] | None = None, + model_config: ModelConfig = ModelConfig.fibo(), ): super().__init__() - self.model_config = model_config - self.bits = quantize - self.local_path = local_path - FIBOInitializer.init( - fibo_model=self, - model_config=model_config, + model=self, quantize=quantize, - local_path=local_path, + model_path=model_path, + lora_paths=lora_paths, + lora_scales=lora_scales, + model_config=model_config, ) def generate_image( self, seed: int, prompt: str, - config: Config, + num_inference_steps: int = 4, + height: int = 1024, + width: int = 1024, + guidance: float = 4.0, + image_path: Path | str | None = None, + image_strength: float | None = None, + scheduler: str = "linear", negative_prompt: str | None = None, ) -> GeneratedImage: - # 0. Create a new runtime config based on the model type and input parameters - runtime_config = RuntimeConfig(config, self.model_config) - time_steps = tqdm(range(runtime_config.init_time_step, runtime_config.num_inference_steps)) + # 0. Create a new config based on the model type and input parameters + config = Config( + width=width, + height=height, + guidance=guidance, + scheduler=scheduler, + image_path=image_path, + image_strength=image_strength, + model_config=self.model_config, + num_inference_steps=num_inference_steps, + ) # 1. Create the initial latents latents = LatentCreator.create_for_txt2img_or_img2img( seed=seed, - height=runtime_config.height, - width=runtime_config.width, + width=config.width, + height=config.height, img2img=Img2Img( vae=self.vae, latent_creator=FiboLatentCreator, - image_path=runtime_config.image_path, - sigmas=runtime_config.scheduler.sigmas, - init_time_step=runtime_config.init_time_step, + image_path=config.image_path, + sigmas=config.scheduler.sigmas, + init_time_step=config.init_time_step, ), ) @@ -73,85 +85,58 @@ class FIBO(nn.Module): json_prompt, encoder_hidden_states, text_encoder_layers = PromptEncoder.encode_prompt( prompt=prompt, negative_prompt=negative_prompt, - tokenizer=self.fibo_tokenizer, + tokenizer=self.tokenizers["fibo"], text_encoder=self.text_encoder, ) - # (Optional) Call subscribers for beginning of loop - Callbacks.before_loop( - seed=seed, - prompt=json_prompt, - latents=latents, - config=runtime_config, - ) + # 3. Create callback context and call before_loop + ctx = self.callbacks.start(seed=seed, prompt=json_prompt, config=config) + ctx.before_loop(latents) - for t in time_steps: + for t in config.time_steps: try: - # 3.t Predict the noise + # 4.t Predict the noise noise = self.transformer( t=t, - config=runtime_config, + config=config, hidden_states=latents, - encoder_hidden_states=encoder_hidden_states, text_encoder_layers=text_encoder_layers, + encoder_hidden_states=encoder_hidden_states, ) - noise = FIBO._apply_classifier_free_guidance(noise, runtime_config.guidance) + noise = FIBO._apply_classifier_free_guidance(noise, config.guidance) - # 4.t Take one denoise step - latents = runtime_config.scheduler.step( - model_output=noise, - timestep=t, - sample=latents, - ) + # 5.t Take one denoise step + latents = config.scheduler.step(noise=noise, timestep=t, latents=latents) - # (Optional) Call subscribers in-loop - Callbacks.in_loop( - t=t, - seed=seed, - prompt=json_prompt, - latents=latents, - config=runtime_config, - time_steps=time_steps, - ) + # 6.t Call subscribers in-loop + ctx.in_loop(t, latents) # (Optional) Evaluate to enable progress tracking mx.eval(latents) except KeyboardInterrupt: # noqa: PERF203 - Callbacks.interruption( - t=t, - seed=seed, - prompt=json_prompt, - latents=latents, - config=runtime_config, - time_steps=time_steps, - ) + ctx.interruption(t, latents) raise StopImageGenerationException( - f"Stopping image generation at step {t + 1}/{runtime_config.num_inference_steps}" + f"Stopping image generation at step {t + 1}/{config.num_inference_steps}" ) - # (Optional) Call subscribers after loop - Callbacks.after_loop( - seed=seed, - prompt=json_prompt, - latents=latents, - config=runtime_config, - ) + # 7. Call subscribers after loop + ctx.after_loop(latents) - # 5. Decode the latent array and return the image - latents = FIBO._unpack_latents(latents, runtime_config.height, runtime_config.width) + # 8. Decode the latent array and return the image + latents = FiboLatentCreator.unpack_latents(latents, config.height, config.width) decoded = self.vae.decode(latents) return ImageUtil.to_image( decoded_latents=decoded, - config=runtime_config, + config=config, seed=seed, prompt=json_prompt, quantization=self.bits, lora_paths=None, lora_scales=None, - image_path=runtime_config.image_path, - image_strength=runtime_config.image_strength, - generation_time=time_steps.format_dict["elapsed"], + image_path=config.image_path, + image_strength=config.image_strength, + generation_time=config.time_steps.format_dict["elapsed"], ) @staticmethod @@ -161,27 +146,10 @@ class FIBO(nn.Module): noise_text = noise[half:] return noise_uncond + guidance * (noise_text - noise_uncond) - @staticmethod - def _unpack_latents(latents: mx.array, height: int, width: int) -> mx.array: - batch_size, seq_len, channels = latents.shape - vae_scale_factor = 16 - latent_height = height // vae_scale_factor - latent_width = width // vae_scale_factor - latents = mx.reshape(latents, (batch_size, latent_height, latent_width, channels)) - latents = mx.transpose(latents, (0, 3, 1, 2)) - return latents - def save_model(self, base_path: str) -> None: ModelSaver.save_model( model=self, bits=self.bits, base_path=base_path, - tokenizers=[ - ("fibo_tokenizer.tokenizer", "tokenizer"), - ], - components=[ - ("vae", "vae"), - ("transformer", "transformer"), - ("text_encoder", "text_encoder"), - ], + weight_definition=FIBOWeightDefinition, ) diff --git a/src/mflux/models/fibo/variants/txt2img/util.py b/src/mflux/models/fibo/variants/txt2img/util.py new file mode 100644 index 0000000..775d810 --- /dev/null +++ b/src/mflux/models/fibo/variants/txt2img/util.py @@ -0,0 +1,24 @@ +import gc +import json + +import mlx.core as mx + +from mflux.models.fibo_vlm.model.fibo_vlm import FiboVLM +from mflux.utils.prompt_util import PromptUtil + + +class FiboUtil: + @staticmethod + def get_json_prompt(args, quantize: int | None): + prompt = PromptUtil.read_prompt(args) + + try: + json.loads(prompt) + json_prompt = prompt + except json.JSONDecodeError: + vlm = FiboVLM(quantize=quantize) + json_prompt = vlm.generate(prompt=prompt, seed=42) + del vlm + gc.collect() + mx.clear_cache() + return json_prompt diff --git a/src/mflux/models/fibo/weights/__init__.py b/src/mflux/models/fibo/weights/__init__.py index 5ec85eb..001dd3e 100644 --- a/src/mflux/models/fibo/weights/__init__.py +++ b/src/mflux/models/fibo/weights/__init__.py @@ -1,7 +1,4 @@ -"""FIBO weight handling.""" - -from mflux.models.fibo.weights.fibo_weight_handler import FIBOWeightHandler +from mflux.models.fibo.weights.fibo_weight_definition import FIBOWeightDefinition from mflux.models.fibo.weights.fibo_weight_mapping import FIBOWeightMapping -from mflux.models.fibo.weights.fibo_weight_util import FIBOWeightUtil -__all__ = ["FIBOWeightHandler", "FIBOWeightMapping", "FIBOWeightUtil"] +__all__ = ["FIBOWeightDefinition", "FIBOWeightMapping"] diff --git a/src/mflux/models/fibo/weights/fibo_weight_definition.py b/src/mflux/models/fibo/weights/fibo_weight_definition.py new file mode 100644 index 0000000..906629c --- /dev/null +++ b/src/mflux/models/fibo/weights/fibo_weight_definition.py @@ -0,0 +1,78 @@ +from typing import List + +import mlx.nn as nn + +from mflux.models.common.tokenizer import LanguageTokenizer +from mflux.models.common.weights.loading.weight_definition import ComponentDefinition, TokenizerDefinition +from mflux.models.fibo.weights.fibo_weight_mapping import FIBOWeightMapping + + +class FIBOWeightDefinition: + @staticmethod + def get_components() -> List[ComponentDefinition]: + return [ + ComponentDefinition( + name="vae", + hf_subdir="vae", + num_blocks=4, + loading_mode="torch_convert", + mapping_getter=FIBOWeightMapping.get_vae_mapping, + ), + ComponentDefinition( + name="transformer", + hf_subdir="transformer", + num_blocks=38, + num_layers=46, + loading_mode="torch_convert", + mapping_getter=FIBOWeightMapping.get_transformer_mapping, + ), + ComponentDefinition( + name="text_encoder", + hf_subdir="text_encoder", + num_blocks=36, + loading_mode="torch_convert", + mapping_getter=FIBOWeightMapping.get_text_encoder_mapping, + ), + ] + + @staticmethod + def get_tokenizers() -> List[TokenizerDefinition]: + return [ + TokenizerDefinition( + name="fibo", + hf_subdir="tokenizer", + tokenizer_class="AutoTokenizer", + encoder_class=LanguageTokenizer, + max_length=2048, + padding="longest", + fallback_subdirs=["text_encoder", "."], + download_patterns=["tokenizer/**", "text_encoder/**"], + ), + ] + + @staticmethod + def get_download_patterns() -> List[str]: + return [ + "vae/*.safetensors", + "vae/*.json", + "transformer/*.safetensors", + "transformer/*.json", + "text_encoder/*.safetensors", + "text_encoder/*.json", + ] + + @staticmethod + def quantization_predicate(path: str, module) -> bool: + # 1. Skip Conv2d layers + if isinstance(module, nn.Conv2d): + return False + + # 2. Skip any layer with incompatible dimensions + if hasattr(module, "weight") and hasattr(module.weight, "shape"): + if module.weight.shape == (1152, 4304): + return False + if module.weight.shape[-1] % 64 != 0: + return False + + # Only quantize layers that have to_quantized method + return hasattr(module, "to_quantized") diff --git a/src/mflux/models/fibo/weights/fibo_weight_handler.py b/src/mflux/models/fibo/weights/fibo_weight_handler.py deleted file mode 100644 index d3b8a10..0000000 --- a/src/mflux/models/fibo/weights/fibo_weight_handler.py +++ /dev/null @@ -1,179 +0,0 @@ -from pathlib import Path - -import mlx.core as mx -import torch -from mlx.utils import tree_unflatten -from safetensors.torch import load_file as torch_load_file - -from mflux.models.common.weights.mapping.weight_mapper import WeightMapper -from mflux.models.fibo.weights.fibo_weight_mapping import FIBOWeightMapping -from mflux.models.flux.weights.weight_handler import ( - MetaData, - WeightHandler as FluxWeightHandler, -) - - -class FIBOWeightHandler: - def __init__( - self, - meta_data: MetaData, - vae: dict | None = None, - transformer: dict | None = None, - text_encoder: dict | None = None, - decoder: dict | None = None, - visual: dict | None = None, - config: dict | None = None, - ): - self.vae = vae - self.transformer = transformer - self.text_encoder = text_encoder - self.decoder = decoder - self.visual = visual - self.config = config - self.meta_data = meta_data - - @staticmethod - def load_regular_weights( - repo_id: str | None = None, - local_path: str | None = None, - ) -> "FIBOWeightHandler": - root_path: Path | None = None - if local_path: - root_path = Path(local_path) - elif repo_id: - root_path = FluxWeightHandler.download_or_get_cached_weights(repo_id) - - vae_weights = None - transformer_weights = None - text_encoder_weights = None - quantization_level: int | None = None - mflux_version: str | None = None - - if root_path is not None: - vae_weights, _, _ = FIBOWeightHandler._try_load_saved_component(root_path, "vae") - text_encoder_weights, _, _ = FIBOWeightHandler._try_load_saved_component(root_path, "text_encoder") # fmt: off - transformer_weights, quantization_level, mflux_version = FIBOWeightHandler._try_load_saved_component(root_path, "transformer") # fmt: off - - if vae_weights is None or transformer_weights is None or text_encoder_weights is None: - vae_weights = FIBOWeightHandler._load_vae_weights(repo_id, local_path) - transformer_weights = FIBOWeightHandler._load_transformer_weights(repo_id, local_path) - text_encoder_weights = FIBOWeightHandler._load_text_encoder_weights(repo_id, local_path) - quantization_level = None - mflux_version = None - - return FIBOWeightHandler( - vae=vae_weights, - transformer=transformer_weights, - text_encoder=text_encoder_weights, - meta_data=MetaData( - quantization_level=quantization_level, - scale=None, - is_lora=False, - mflux_version=mflux_version, - ), - ) - - @staticmethod - def _load_vae_weights( - repo_id: str | None = None, - local_path: str | None = None, - ) -> dict: - root_path = FIBOWeightHandler._get_root_path(repo_id, local_path) - vae_path = root_path / "vae" - raw_weights = FIBOWeightHandler._load_safetensors_shards(vae_path) - mapping = FIBOWeightMapping.get_vae_mapping() - mapped_weights = WeightMapper.apply_mapping(raw_weights, mapping, num_blocks=4) - return mapped_weights - - @staticmethod - def _load_transformer_weights( - repo_id: str | None = None, - local_path: str | None = None, - ) -> dict: - root_path = FIBOWeightHandler._get_root_path(repo_id, local_path) - transformer_path = root_path / "transformer" - if transformer_path.exists() and list(transformer_path.glob("*.safetensors")): - raw_weights = FIBOWeightHandler._load_safetensors_shards(transformer_path) - else: - raw_weights = FIBOWeightHandler._load_safetensors_shards(root_path) - mapping = FIBOWeightMapping.get_transformer_mapping() - mapped_weights = WeightMapper.apply_mapping( - raw_weights, - mapping, - num_blocks=38, - num_layers=46, - ) - return mapped_weights - - @staticmethod - def _load_text_encoder_weights( - repo_id: str | None = None, - local_path: str | None = None, - ) -> dict: - root_path = FIBOWeightHandler._get_root_path(repo_id, local_path) - text_encoder_path = root_path / "text_encoder" - raw_weights = FIBOWeightHandler._load_safetensors_shards(text_encoder_path) - mapping = FIBOWeightMapping.get_text_encoder_mapping() - mapped_weights = WeightMapper.apply_mapping( - raw_weights, - mapping, - num_blocks=36, - ) - return mapped_weights - - @staticmethod - def _get_root_path( - repo_id: str | None = None, - local_path: str | None = None, - ) -> Path: - if local_path: - return Path(local_path) - return Path(FluxWeightHandler.download_or_get_cached_weights(repo_id or "briaai/FIBO")) - - @staticmethod - def _load_safetensors_shards(path: Path) -> dict[str, mx.array]: - shard_files = sorted(f for f in path.glob("*.safetensors") if not f.name.startswith("._")) - if not shard_files: - raise FileNotFoundError(f"No safetensors files found in {path}") - - all_weights: dict[str, mx.array] = {} - for shard in shard_files: - torch_weights = torch_load_file(str(shard)) - for key, tensor in torch_weights.items(): - if tensor.dtype == torch.bfloat16: - tensor = tensor.to(torch.float16) - all_weights[key] = mx.array(tensor.numpy()) - - return all_weights - - @staticmethod - def _try_load_saved_component( - root_path: Path, - component_name: str, - ) -> tuple[dict | None, int | None, str | None]: - component_path = root_path / component_name - if not component_path.exists(): - return None, None, None - - shard_files = sorted(f for f in component_path.glob("*.safetensors") if not f.name.startswith("._")) - if not shard_files: - return None, None, None - - all_weights: dict[str, mx.array] = {} - quantization_level: int | None = None - mflux_version: str | None = None - - for idx, shard in enumerate(shard_files): - data = mx.load(str(shard), return_metadata=True) - weights_dict = data[0] - all_weights.update(dict(weights_dict.items())) - - if idx == 0 and len(data) > 1: - quantization_level = data[1].get("quantization_level") - mflux_version = data[1].get("mflux_version") - - if quantization_level is None and mflux_version is None: - return None, None, None - - unflattened = tree_unflatten(list(all_weights.items())) - return unflattened, quantization_level, mflux_version diff --git a/src/mflux/models/fibo/weights/fibo_weight_mapping.py b/src/mflux/models/fibo/weights/fibo_weight_mapping.py index 5032579..9bbce49 100644 --- a/src/mflux/models/fibo/weights/fibo_weight_mapping.py +++ b/src/mflux/models/fibo/weights/fibo_weight_mapping.py @@ -1,278 +1,264 @@ from typing import List from mflux.models.common.weights.mapping.weight_mapping import WeightMapping, WeightTarget -from mflux.models.qwen.weights.qwen_weight_mapping import ( - reshape_gamma_to_1d, - transpose_conv2d_weight, - transpose_conv3d_weight, -) +from mflux.models.common.weights.mapping.weight_transforms import WeightTransforms class FIBOWeightMapping(WeightMapping): @staticmethod def get_transformer_mapping() -> List[WeightTarget]: return [ - # ========== Global projections ========== WeightTarget( - mlx_path="time_embed.timestep_embedder.linear_1.weight", - hf_patterns=["time_embed.timestep_embedder.linear_1.weight"], + to_pattern="time_embed.timestep_embedder.linear_1.weight", + from_pattern=["time_embed.timestep_embedder.linear_1.weight"], ), WeightTarget( - mlx_path="time_embed.timestep_embedder.linear_1.bias", - hf_patterns=["time_embed.timestep_embedder.linear_1.bias"], + to_pattern="time_embed.timestep_embedder.linear_1.bias", + from_pattern=["time_embed.timestep_embedder.linear_1.bias"], ), WeightTarget( - mlx_path="time_embed.timestep_embedder.linear_2.weight", - hf_patterns=["time_embed.timestep_embedder.linear_2.weight"], + to_pattern="time_embed.timestep_embedder.linear_2.weight", + from_pattern=["time_embed.timestep_embedder.linear_2.weight"], ), WeightTarget( - mlx_path="time_embed.timestep_embedder.linear_2.bias", - hf_patterns=["time_embed.timestep_embedder.linear_2.bias"], + to_pattern="time_embed.timestep_embedder.linear_2.bias", + from_pattern=["time_embed.timestep_embedder.linear_2.bias"], ), WeightTarget( - mlx_path="context_embedder.weight", - hf_patterns=["context_embedder.weight"], + to_pattern="context_embedder.weight", + from_pattern=["context_embedder.weight"], ), WeightTarget( - mlx_path="context_embedder.bias", - hf_patterns=["context_embedder.bias"], + to_pattern="context_embedder.bias", + from_pattern=["context_embedder.bias"], ), WeightTarget( - mlx_path="x_embedder.weight", - hf_patterns=["x_embedder.weight"], + to_pattern="x_embedder.weight", + from_pattern=["x_embedder.weight"], ), WeightTarget( - mlx_path="x_embedder.bias", - hf_patterns=["x_embedder.bias"], - ), - # ========== Joint transformer blocks ========== - # AdaLayerNormZero (image + context streams) - WeightTarget( - mlx_path="transformer_blocks.{block}.norm1.linear.weight", - hf_patterns=["transformer_blocks.{block}.norm1.linear.weight"], + to_pattern="x_embedder.bias", + from_pattern=["x_embedder.bias"], ), WeightTarget( - mlx_path="transformer_blocks.{block}.norm1.linear.bias", - hf_patterns=["transformer_blocks.{block}.norm1.linear.bias"], + to_pattern="transformer_blocks.{block}.norm1.linear.weight", + from_pattern=["transformer_blocks.{block}.norm1.linear.weight"], ), WeightTarget( - mlx_path="transformer_blocks.{block}.norm1_context.linear.weight", - hf_patterns=["transformer_blocks.{block}.norm1_context.linear.weight"], + to_pattern="transformer_blocks.{block}.norm1.linear.bias", + from_pattern=["transformer_blocks.{block}.norm1.linear.bias"], ), WeightTarget( - mlx_path="transformer_blocks.{block}.norm1_context.linear.bias", - hf_patterns=["transformer_blocks.{block}.norm1_context.linear.bias"], - ), - # Attention weights (BriaFiboAttention) - WeightTarget( - mlx_path="transformer_blocks.{block}.attn.norm_q.weight", - hf_patterns=["transformer_blocks.{block}.attn.norm_q.weight"], + to_pattern="transformer_blocks.{block}.norm1_context.linear.weight", + from_pattern=["transformer_blocks.{block}.norm1_context.linear.weight"], ), WeightTarget( - mlx_path="transformer_blocks.{block}.attn.norm_k.weight", - hf_patterns=["transformer_blocks.{block}.attn.norm_k.weight"], + to_pattern="transformer_blocks.{block}.norm1_context.linear.bias", + from_pattern=["transformer_blocks.{block}.norm1_context.linear.bias"], ), WeightTarget( - mlx_path="transformer_blocks.{block}.attn.to_q.weight", - hf_patterns=["transformer_blocks.{block}.attn.to_q.weight"], + to_pattern="transformer_blocks.{block}.attn.norm_q.weight", + from_pattern=["transformer_blocks.{block}.attn.norm_q.weight"], ), WeightTarget( - mlx_path="transformer_blocks.{block}.attn.to_q.bias", - hf_patterns=["transformer_blocks.{block}.attn.to_q.bias"], + to_pattern="transformer_blocks.{block}.attn.norm_k.weight", + from_pattern=["transformer_blocks.{block}.attn.norm_k.weight"], ), WeightTarget( - mlx_path="transformer_blocks.{block}.attn.to_k.weight", - hf_patterns=["transformer_blocks.{block}.attn.to_k.weight"], + to_pattern="transformer_blocks.{block}.attn.to_q.weight", + from_pattern=["transformer_blocks.{block}.attn.to_q.weight"], ), WeightTarget( - mlx_path="transformer_blocks.{block}.attn.to_k.bias", - hf_patterns=["transformer_blocks.{block}.attn.to_k.bias"], + to_pattern="transformer_blocks.{block}.attn.to_q.bias", + from_pattern=["transformer_blocks.{block}.attn.to_q.bias"], ), WeightTarget( - mlx_path="transformer_blocks.{block}.attn.to_v.weight", - hf_patterns=["transformer_blocks.{block}.attn.to_v.weight"], + to_pattern="transformer_blocks.{block}.attn.to_k.weight", + from_pattern=["transformer_blocks.{block}.attn.to_k.weight"], ), WeightTarget( - mlx_path="transformer_blocks.{block}.attn.to_v.bias", - hf_patterns=["transformer_blocks.{block}.attn.to_v.bias"], + to_pattern="transformer_blocks.{block}.attn.to_k.bias", + from_pattern=["transformer_blocks.{block}.attn.to_k.bias"], ), WeightTarget( - mlx_path="transformer_blocks.{block}.attn.to_out.0.weight", - hf_patterns=["transformer_blocks.{block}.attn.to_out.0.weight"], + to_pattern="transformer_blocks.{block}.attn.to_v.weight", + from_pattern=["transformer_blocks.{block}.attn.to_v.weight"], ), WeightTarget( - mlx_path="transformer_blocks.{block}.attn.to_out.0.bias", - hf_patterns=["transformer_blocks.{block}.attn.to_out.0.bias"], + to_pattern="transformer_blocks.{block}.attn.to_v.bias", + from_pattern=["transformer_blocks.{block}.attn.to_v.bias"], ), WeightTarget( - mlx_path="transformer_blocks.{block}.attn.norm_added_q.weight", - hf_patterns=["transformer_blocks.{block}.attn.norm_added_q.weight"], + to_pattern="transformer_blocks.{block}.attn.to_out.0.weight", + from_pattern=["transformer_blocks.{block}.attn.to_out.0.weight"], ), WeightTarget( - mlx_path="transformer_blocks.{block}.attn.norm_added_k.weight", - hf_patterns=["transformer_blocks.{block}.attn.norm_added_k.weight"], + to_pattern="transformer_blocks.{block}.attn.to_out.0.bias", + from_pattern=["transformer_blocks.{block}.attn.to_out.0.bias"], ), WeightTarget( - mlx_path="transformer_blocks.{block}.attn.add_q_proj.weight", - hf_patterns=["transformer_blocks.{block}.attn.add_q_proj.weight"], + to_pattern="transformer_blocks.{block}.attn.norm_added_q.weight", + from_pattern=["transformer_blocks.{block}.attn.norm_added_q.weight"], ), WeightTarget( - mlx_path="transformer_blocks.{block}.attn.add_q_proj.bias", - hf_patterns=["transformer_blocks.{block}.attn.add_q_proj.bias"], + to_pattern="transformer_blocks.{block}.attn.norm_added_k.weight", + from_pattern=["transformer_blocks.{block}.attn.norm_added_k.weight"], ), WeightTarget( - mlx_path="transformer_blocks.{block}.attn.add_k_proj.weight", - hf_patterns=["transformer_blocks.{block}.attn.add_k_proj.weight"], + to_pattern="transformer_blocks.{block}.attn.add_q_proj.weight", + from_pattern=["transformer_blocks.{block}.attn.add_q_proj.weight"], ), WeightTarget( - mlx_path="transformer_blocks.{block}.attn.add_k_proj.bias", - hf_patterns=["transformer_blocks.{block}.attn.add_k_proj.bias"], + to_pattern="transformer_blocks.{block}.attn.add_q_proj.bias", + from_pattern=["transformer_blocks.{block}.attn.add_q_proj.bias"], ), WeightTarget( - mlx_path="transformer_blocks.{block}.attn.add_v_proj.weight", - hf_patterns=["transformer_blocks.{block}.attn.add_v_proj.weight"], + to_pattern="transformer_blocks.{block}.attn.add_k_proj.weight", + from_pattern=["transformer_blocks.{block}.attn.add_k_proj.weight"], ), WeightTarget( - mlx_path="transformer_blocks.{block}.attn.add_v_proj.bias", - hf_patterns=["transformer_blocks.{block}.attn.add_v_proj.bias"], + to_pattern="transformer_blocks.{block}.attn.add_k_proj.bias", + from_pattern=["transformer_blocks.{block}.attn.add_k_proj.bias"], ), WeightTarget( - mlx_path="transformer_blocks.{block}.attn.to_add_out.weight", - hf_patterns=["transformer_blocks.{block}.attn.to_add_out.weight"], + to_pattern="transformer_blocks.{block}.attn.add_v_proj.weight", + from_pattern=["transformer_blocks.{block}.attn.add_v_proj.weight"], ), WeightTarget( - mlx_path="transformer_blocks.{block}.attn.to_add_out.bias", - hf_patterns=["transformer_blocks.{block}.attn.to_add_out.bias"], - ), - # LayerNorm / FFN for image stream - WeightTarget( - mlx_path="transformer_blocks.{block}.norm2.weight", - hf_patterns=["transformer_blocks.{block}.norm2.weight"], + to_pattern="transformer_blocks.{block}.attn.add_v_proj.bias", + from_pattern=["transformer_blocks.{block}.attn.add_v_proj.bias"], ), WeightTarget( - mlx_path="transformer_blocks.{block}.norm2.bias", - hf_patterns=["transformer_blocks.{block}.norm2.bias"], + to_pattern="transformer_blocks.{block}.attn.to_add_out.weight", + from_pattern=["transformer_blocks.{block}.attn.to_add_out.weight"], ), WeightTarget( - mlx_path="transformer_blocks.{block}.ff.net.0.proj.weight", - hf_patterns=["transformer_blocks.{block}.ff.net.0.proj.weight"], + to_pattern="transformer_blocks.{block}.attn.to_add_out.bias", + from_pattern=["transformer_blocks.{block}.attn.to_add_out.bias"], ), WeightTarget( - mlx_path="transformer_blocks.{block}.ff.net.0.proj.bias", - hf_patterns=["transformer_blocks.{block}.ff.net.0.proj.bias"], + to_pattern="transformer_blocks.{block}.norm2.weight", + from_pattern=["transformer_blocks.{block}.norm2.weight"], ), WeightTarget( - mlx_path="transformer_blocks.{block}.ff.net.2.weight", - hf_patterns=["transformer_blocks.{block}.ff.net.2.weight"], + to_pattern="transformer_blocks.{block}.norm2.bias", + from_pattern=["transformer_blocks.{block}.norm2.bias"], ), WeightTarget( - mlx_path="transformer_blocks.{block}.ff.net.2.bias", - hf_patterns=["transformer_blocks.{block}.ff.net.2.bias"], - ), - # LayerNorm / FFN for context stream - WeightTarget( - mlx_path="transformer_blocks.{block}.norm2_context.weight", - hf_patterns=["transformer_blocks.{block}.norm2_context.weight"], + to_pattern="transformer_blocks.{block}.ff.net.0.proj.weight", + from_pattern=["transformer_blocks.{block}.ff.net.0.proj.weight"], ), WeightTarget( - mlx_path="transformer_blocks.{block}.norm2_context.bias", - hf_patterns=["transformer_blocks.{block}.norm2_context.bias"], + to_pattern="transformer_blocks.{block}.ff.net.0.proj.bias", + from_pattern=["transformer_blocks.{block}.ff.net.0.proj.bias"], ), WeightTarget( - mlx_path="transformer_blocks.{block}.ff_context.net.0.proj.weight", - hf_patterns=["transformer_blocks.{block}.ff_context.net.0.proj.weight"], + to_pattern="transformer_blocks.{block}.ff.net.2.weight", + from_pattern=["transformer_blocks.{block}.ff.net.2.weight"], ), WeightTarget( - mlx_path="transformer_blocks.{block}.ff_context.net.0.proj.bias", - hf_patterns=["transformer_blocks.{block}.ff_context.net.0.proj.bias"], + to_pattern="transformer_blocks.{block}.ff.net.2.bias", + from_pattern=["transformer_blocks.{block}.ff.net.2.bias"], ), WeightTarget( - mlx_path="transformer_blocks.{block}.ff_context.net.2.weight", - hf_patterns=["transformer_blocks.{block}.ff_context.net.2.weight"], + to_pattern="transformer_blocks.{block}.norm2_context.weight", + from_pattern=["transformer_blocks.{block}.norm2_context.weight"], ), WeightTarget( - mlx_path="transformer_blocks.{block}.ff_context.net.2.bias", - hf_patterns=["transformer_blocks.{block}.ff_context.net.2.bias"], - ), - # ========== Single transformer blocks ========== - WeightTarget( - mlx_path="single_transformer_blocks.{block}.norm.linear.weight", - hf_patterns=["single_transformer_blocks.{block}.norm.linear.weight"], + to_pattern="transformer_blocks.{block}.norm2_context.bias", + from_pattern=["transformer_blocks.{block}.norm2_context.bias"], ), WeightTarget( - mlx_path="single_transformer_blocks.{block}.norm.linear.bias", - hf_patterns=["single_transformer_blocks.{block}.norm.linear.bias"], + to_pattern="transformer_blocks.{block}.ff_context.net.0.proj.weight", + from_pattern=["transformer_blocks.{block}.ff_context.net.0.proj.weight"], ), WeightTarget( - mlx_path="single_transformer_blocks.{block}.attn.norm_q.weight", - hf_patterns=["single_transformer_blocks.{block}.attn.norm_q.weight"], + to_pattern="transformer_blocks.{block}.ff_context.net.0.proj.bias", + from_pattern=["transformer_blocks.{block}.ff_context.net.0.proj.bias"], ), WeightTarget( - mlx_path="single_transformer_blocks.{block}.attn.norm_k.weight", - hf_patterns=["single_transformer_blocks.{block}.attn.norm_k.weight"], + to_pattern="transformer_blocks.{block}.ff_context.net.2.weight", + from_pattern=["transformer_blocks.{block}.ff_context.net.2.weight"], ), WeightTarget( - mlx_path="single_transformer_blocks.{block}.attn.to_q.weight", - hf_patterns=["single_transformer_blocks.{block}.attn.to_q.weight"], + to_pattern="transformer_blocks.{block}.ff_context.net.2.bias", + from_pattern=["transformer_blocks.{block}.ff_context.net.2.bias"], ), WeightTarget( - mlx_path="single_transformer_blocks.{block}.attn.to_q.bias", - hf_patterns=["single_transformer_blocks.{block}.attn.to_q.bias"], + to_pattern="single_transformer_blocks.{block}.norm.linear.weight", + from_pattern=["single_transformer_blocks.{block}.norm.linear.weight"], ), WeightTarget( - mlx_path="single_transformer_blocks.{block}.attn.to_k.weight", - hf_patterns=["single_transformer_blocks.{block}.attn.to_k.weight"], + to_pattern="single_transformer_blocks.{block}.norm.linear.bias", + from_pattern=["single_transformer_blocks.{block}.norm.linear.bias"], ), WeightTarget( - mlx_path="single_transformer_blocks.{block}.attn.to_k.bias", - hf_patterns=["single_transformer_blocks.{block}.attn.to_k.bias"], + to_pattern="single_transformer_blocks.{block}.attn.norm_q.weight", + from_pattern=["single_transformer_blocks.{block}.attn.norm_q.weight"], ), WeightTarget( - mlx_path="single_transformer_blocks.{block}.attn.to_v.weight", - hf_patterns=["single_transformer_blocks.{block}.attn.to_v.weight"], + to_pattern="single_transformer_blocks.{block}.attn.norm_k.weight", + from_pattern=["single_transformer_blocks.{block}.attn.norm_k.weight"], ), WeightTarget( - mlx_path="single_transformer_blocks.{block}.attn.to_v.bias", - hf_patterns=["single_transformer_blocks.{block}.attn.to_v.bias"], + to_pattern="single_transformer_blocks.{block}.attn.to_q.weight", + from_pattern=["single_transformer_blocks.{block}.attn.to_q.weight"], ), WeightTarget( - mlx_path="single_transformer_blocks.{block}.proj_mlp.weight", - hf_patterns=["single_transformer_blocks.{block}.proj_mlp.weight"], + to_pattern="single_transformer_blocks.{block}.attn.to_q.bias", + from_pattern=["single_transformer_blocks.{block}.attn.to_q.bias"], ), WeightTarget( - mlx_path="single_transformer_blocks.{block}.proj_mlp.bias", - hf_patterns=["single_transformer_blocks.{block}.proj_mlp.bias"], + to_pattern="single_transformer_blocks.{block}.attn.to_k.weight", + from_pattern=["single_transformer_blocks.{block}.attn.to_k.weight"], ), WeightTarget( - mlx_path="single_transformer_blocks.{block}.proj_out.weight", - hf_patterns=["single_transformer_blocks.{block}.proj_out.weight"], + to_pattern="single_transformer_blocks.{block}.attn.to_k.bias", + from_pattern=["single_transformer_blocks.{block}.attn.to_k.bias"], ), WeightTarget( - mlx_path="single_transformer_blocks.{block}.proj_out.bias", - hf_patterns=["single_transformer_blocks.{block}.proj_out.bias"], - ), - # ========== Caption projection & output head ========== - WeightTarget( - mlx_path="norm_out.linear.weight", - hf_patterns=["norm_out.linear.weight"], + to_pattern="single_transformer_blocks.{block}.attn.to_v.weight", + from_pattern=["single_transformer_blocks.{block}.attn.to_v.weight"], ), WeightTarget( - mlx_path="norm_out.linear.bias", - hf_patterns=["norm_out.linear.bias"], + to_pattern="single_transformer_blocks.{block}.attn.to_v.bias", + from_pattern=["single_transformer_blocks.{block}.attn.to_v.bias"], ), WeightTarget( - mlx_path="proj_out.weight", - hf_patterns=["proj_out.weight"], + to_pattern="single_transformer_blocks.{block}.proj_mlp.weight", + from_pattern=["single_transformer_blocks.{block}.proj_mlp.weight"], ), WeightTarget( - mlx_path="proj_out.bias", - hf_patterns=["proj_out.bias"], + to_pattern="single_transformer_blocks.{block}.proj_mlp.bias", + from_pattern=["single_transformer_blocks.{block}.proj_mlp.bias"], ), - # Caption_projection layers: we rely on explicit layer index to be - # expanded via num_layers; we pass num_layers explicitly from the loader. WeightTarget( - mlx_path="caption_projection.{layer}.linear.weight", - hf_patterns=["caption_projection.{layer}.linear.weight"], + to_pattern="single_transformer_blocks.{block}.proj_out.weight", + from_pattern=["single_transformer_blocks.{block}.proj_out.weight"], + ), + WeightTarget( + to_pattern="single_transformer_blocks.{block}.proj_out.bias", + from_pattern=["single_transformer_blocks.{block}.proj_out.bias"], + ), + WeightTarget( + to_pattern="norm_out.linear.weight", + from_pattern=["norm_out.linear.weight"], + ), + WeightTarget( + to_pattern="norm_out.linear.bias", + from_pattern=["norm_out.linear.bias"], + ), + WeightTarget( + to_pattern="proj_out.weight", + from_pattern=["proj_out.weight"], + ), + WeightTarget( + to_pattern="proj_out.bias", + from_pattern=["proj_out.bias"], + ), + WeightTarget( + to_pattern="caption_projection.{layer}.linear.weight", + from_pattern=["caption_projection.{layer}.linear.weight"], ), ] @@ -280,356 +266,340 @@ class FIBOWeightMapping(WeightMapping): def get_text_encoder_mapping() -> List[WeightTarget]: return [ WeightTarget( - mlx_path="embed_tokens.weight", - hf_patterns=["model.embed_tokens.weight"], + to_pattern="embed_tokens.weight", + from_pattern=["model.embed_tokens.weight"], ), WeightTarget( - mlx_path="layers.{block}.self_attn.q_proj.weight", - hf_patterns=["model.layers.{block}.self_attn.q_proj.weight"], + to_pattern="layers.{block}.self_attn.q_proj.weight", + from_pattern=["model.layers.{block}.self_attn.q_proj.weight"], ), WeightTarget( - mlx_path="layers.{block}.self_attn.k_proj.weight", - hf_patterns=["model.layers.{block}.self_attn.k_proj.weight"], + to_pattern="layers.{block}.self_attn.k_proj.weight", + from_pattern=["model.layers.{block}.self_attn.k_proj.weight"], ), WeightTarget( - mlx_path="layers.{block}.self_attn.v_proj.weight", - hf_patterns=["model.layers.{block}.self_attn.v_proj.weight"], + to_pattern="layers.{block}.self_attn.v_proj.weight", + from_pattern=["model.layers.{block}.self_attn.v_proj.weight"], ), WeightTarget( - mlx_path="layers.{block}.self_attn.o_proj.weight", - hf_patterns=["model.layers.{block}.self_attn.o_proj.weight"], + to_pattern="layers.{block}.self_attn.o_proj.weight", + from_pattern=["model.layers.{block}.self_attn.o_proj.weight"], ), WeightTarget( - mlx_path="layers.{block}.mlp.gate_proj.weight", - hf_patterns=["model.layers.{block}.mlp.gate_proj.weight"], + to_pattern="layers.{block}.mlp.gate_proj.weight", + from_pattern=["model.layers.{block}.mlp.gate_proj.weight"], ), WeightTarget( - mlx_path="layers.{block}.mlp.up_proj.weight", - hf_patterns=["model.layers.{block}.mlp.up_proj.weight"], + to_pattern="layers.{block}.mlp.up_proj.weight", + from_pattern=["model.layers.{block}.mlp.up_proj.weight"], ), WeightTarget( - mlx_path="layers.{block}.mlp.down_proj.weight", - hf_patterns=["model.layers.{block}.mlp.down_proj.weight"], + to_pattern="layers.{block}.mlp.down_proj.weight", + from_pattern=["model.layers.{block}.mlp.down_proj.weight"], ), WeightTarget( - mlx_path="layers.{block}.input_layernorm.weight", - hf_patterns=["model.layers.{block}.input_layernorm.weight"], + to_pattern="layers.{block}.input_layernorm.weight", + from_pattern=["model.layers.{block}.input_layernorm.weight"], ), WeightTarget( - mlx_path="layers.{block}.post_attention_layernorm.weight", - hf_patterns=["model.layers.{block}.post_attention_layernorm.weight"], + to_pattern="layers.{block}.post_attention_layernorm.weight", + from_pattern=["model.layers.{block}.post_attention_layernorm.weight"], ), WeightTarget( - mlx_path="norm.weight", - hf_patterns=["model.norm.weight"], + to_pattern="norm.weight", + from_pattern=["model.norm.weight"], ), ] @staticmethod def get_vae_mapping() -> List[WeightTarget]: return [ - # ========== Encoder conv_in ========== WeightTarget( - mlx_path="encoder.conv_in.conv3d.weight", - hf_patterns=["encoder.conv_in.weight"], - transform=transpose_conv3d_weight, + to_pattern="encoder.conv_in.conv3d.weight", + from_pattern=["encoder.conv_in.weight"], + transform=WeightTransforms.transpose_conv3d_weight, ), WeightTarget( - mlx_path="encoder.conv_in.conv3d.bias", - hf_patterns=["encoder.conv_in.bias"], - ), - # ========== Encoder down_blocks ========== - WeightTarget( - mlx_path="encoder.down_blocks.{block}.resnets.{res}.norm1.weight", - hf_patterns=["encoder.down_blocks.{block}.resnets.{res}.norm1.gamma"], - transform=reshape_gamma_to_1d, + to_pattern="encoder.conv_in.conv3d.bias", + from_pattern=["encoder.conv_in.bias"], ), WeightTarget( - mlx_path="encoder.down_blocks.{block}.resnets.{res}.conv1.conv3d.weight", - hf_patterns=["encoder.down_blocks.{block}.resnets.{res}.conv1.weight"], - transform=transpose_conv3d_weight, + to_pattern="encoder.down_blocks.{block}.resnets.{res}.norm1.weight", + from_pattern=["encoder.down_blocks.{block}.resnets.{res}.norm1.gamma"], + transform=WeightTransforms.reshape_gamma_to_1d, ), WeightTarget( - mlx_path="encoder.down_blocks.{block}.resnets.{res}.conv1.conv3d.bias", - hf_patterns=["encoder.down_blocks.{block}.resnets.{res}.conv1.bias"], + to_pattern="encoder.down_blocks.{block}.resnets.{res}.conv1.conv3d.weight", + from_pattern=["encoder.down_blocks.{block}.resnets.{res}.conv1.weight"], + transform=WeightTransforms.transpose_conv3d_weight, ), WeightTarget( - mlx_path="encoder.down_blocks.{block}.resnets.{res}.norm2.weight", - hf_patterns=["encoder.down_blocks.{block}.resnets.{res}.norm2.gamma"], - transform=reshape_gamma_to_1d, + to_pattern="encoder.down_blocks.{block}.resnets.{res}.conv1.conv3d.bias", + from_pattern=["encoder.down_blocks.{block}.resnets.{res}.conv1.bias"], ), WeightTarget( - mlx_path="encoder.down_blocks.{block}.resnets.{res}.conv2.conv3d.weight", - hf_patterns=["encoder.down_blocks.{block}.resnets.{res}.conv2.weight"], - transform=transpose_conv3d_weight, + to_pattern="encoder.down_blocks.{block}.resnets.{res}.norm2.weight", + from_pattern=["encoder.down_blocks.{block}.resnets.{res}.norm2.gamma"], + transform=WeightTransforms.reshape_gamma_to_1d, ), WeightTarget( - mlx_path="encoder.down_blocks.{block}.resnets.{res}.conv2.conv3d.bias", - hf_patterns=["encoder.down_blocks.{block}.resnets.{res}.conv2.bias"], + to_pattern="encoder.down_blocks.{block}.resnets.{res}.conv2.conv3d.weight", + from_pattern=["encoder.down_blocks.{block}.resnets.{res}.conv2.weight"], + transform=WeightTransforms.transpose_conv3d_weight, ), WeightTarget( - mlx_path="encoder.down_blocks.{block}.resnets.{res}.conv_shortcut.conv3d.weight", - hf_patterns=["encoder.down_blocks.{block}.resnets.{res}.conv_shortcut.weight"], - transform=transpose_conv3d_weight, + to_pattern="encoder.down_blocks.{block}.resnets.{res}.conv2.conv3d.bias", + from_pattern=["encoder.down_blocks.{block}.resnets.{res}.conv2.bias"], + ), + WeightTarget( + to_pattern="encoder.down_blocks.{block}.resnets.{res}.conv_shortcut.conv3d.weight", + from_pattern=["encoder.down_blocks.{block}.resnets.{res}.conv_shortcut.weight"], + transform=WeightTransforms.transpose_conv3d_weight, required=False, ), WeightTarget( - mlx_path="encoder.down_blocks.{block}.resnets.{res}.conv_shortcut.conv3d.bias", - hf_patterns=["encoder.down_blocks.{block}.resnets.{res}.conv_shortcut.bias"], + to_pattern="encoder.down_blocks.{block}.resnets.{res}.conv_shortcut.conv3d.bias", + from_pattern=["encoder.down_blocks.{block}.resnets.{res}.conv_shortcut.bias"], required=False, ), WeightTarget( - mlx_path="encoder.down_blocks.{block}.downsampler.resample_conv.weight", - hf_patterns=["encoder.down_blocks.{block}.downsampler.resample.1.weight"], - transform=transpose_conv2d_weight, + to_pattern="encoder.down_blocks.{block}.downsampler.resample_conv.weight", + from_pattern=["encoder.down_blocks.{block}.downsampler.resample.1.weight"], + transform=WeightTransforms.transpose_conv2d_weight, required=False, ), WeightTarget( - mlx_path="encoder.down_blocks.{block}.downsampler.resample_conv.bias", - hf_patterns=["encoder.down_blocks.{block}.downsampler.resample.1.bias"], + to_pattern="encoder.down_blocks.{block}.downsampler.resample_conv.bias", + from_pattern=["encoder.down_blocks.{block}.downsampler.resample.1.bias"], required=False, ), WeightTarget( - mlx_path="encoder.down_blocks.{block}.downsampler.time_conv.conv3d.weight", - hf_patterns=["encoder.down_blocks.{block}.downsampler.time_conv.weight"], - transform=transpose_conv3d_weight, + to_pattern="encoder.down_blocks.{block}.downsampler.time_conv.conv3d.weight", + from_pattern=["encoder.down_blocks.{block}.downsampler.time_conv.weight"], + transform=WeightTransforms.transpose_conv3d_weight, required=False, ), WeightTarget( - mlx_path="encoder.down_blocks.{block}.downsampler.time_conv.conv3d.bias", - hf_patterns=["encoder.down_blocks.{block}.downsampler.time_conv.bias"], + to_pattern="encoder.down_blocks.{block}.downsampler.time_conv.conv3d.bias", + from_pattern=["encoder.down_blocks.{block}.downsampler.time_conv.bias"], required=False, ), - # ========== Encoder mid_block ========== WeightTarget( - mlx_path="encoder.mid_block.resnets.{i}.norm1.weight", - hf_patterns=["encoder.mid_block.resnets.{i}.norm1.gamma"], - transform=reshape_gamma_to_1d, + to_pattern="encoder.mid_block.resnets.{i}.norm1.weight", + from_pattern=["encoder.mid_block.resnets.{i}.norm1.gamma"], + transform=WeightTransforms.reshape_gamma_to_1d, ), WeightTarget( - mlx_path="encoder.mid_block.resnets.{i}.conv1.conv3d.weight", - hf_patterns=["encoder.mid_block.resnets.{i}.conv1.weight"], - transform=transpose_conv3d_weight, + to_pattern="encoder.mid_block.resnets.{i}.conv1.conv3d.weight", + from_pattern=["encoder.mid_block.resnets.{i}.conv1.weight"], + transform=WeightTransforms.transpose_conv3d_weight, ), WeightTarget( - mlx_path="encoder.mid_block.resnets.{i}.conv1.conv3d.bias", - hf_patterns=["encoder.mid_block.resnets.{i}.conv1.bias"], + to_pattern="encoder.mid_block.resnets.{i}.conv1.conv3d.bias", + from_pattern=["encoder.mid_block.resnets.{i}.conv1.bias"], ), WeightTarget( - mlx_path="encoder.mid_block.resnets.{i}.norm2.weight", - hf_patterns=["encoder.mid_block.resnets.{i}.norm2.gamma"], - transform=reshape_gamma_to_1d, + to_pattern="encoder.mid_block.resnets.{i}.norm2.weight", + from_pattern=["encoder.mid_block.resnets.{i}.norm2.gamma"], + transform=WeightTransforms.reshape_gamma_to_1d, ), WeightTarget( - mlx_path="encoder.mid_block.resnets.{i}.conv2.conv3d.weight", - hf_patterns=["encoder.mid_block.resnets.{i}.conv2.weight"], - transform=transpose_conv3d_weight, + to_pattern="encoder.mid_block.resnets.{i}.conv2.conv3d.weight", + from_pattern=["encoder.mid_block.resnets.{i}.conv2.weight"], + transform=WeightTransforms.transpose_conv3d_weight, ), WeightTarget( - mlx_path="encoder.mid_block.resnets.{i}.conv2.conv3d.bias", - hf_patterns=["encoder.mid_block.resnets.{i}.conv2.bias"], + to_pattern="encoder.mid_block.resnets.{i}.conv2.conv3d.bias", + from_pattern=["encoder.mid_block.resnets.{i}.conv2.bias"], ), WeightTarget( - mlx_path="encoder.mid_block.attentions.{i}.norm.weight", - hf_patterns=["encoder.mid_block.attentions.{i}.norm.gamma"], - transform=reshape_gamma_to_1d, + to_pattern="encoder.mid_block.attentions.{i}.norm.weight", + from_pattern=["encoder.mid_block.attentions.{i}.norm.gamma"], + transform=WeightTransforms.reshape_gamma_to_1d, ), WeightTarget( - mlx_path="encoder.mid_block.attentions.{i}.to_qkv.weight", - hf_patterns=["encoder.mid_block.attentions.{i}.to_qkv.weight"], - transform=transpose_conv2d_weight, + to_pattern="encoder.mid_block.attentions.{i}.to_qkv.weight", + from_pattern=["encoder.mid_block.attentions.{i}.to_qkv.weight"], + transform=WeightTransforms.transpose_conv2d_weight, ), WeightTarget( - mlx_path="encoder.mid_block.attentions.{i}.to_qkv.bias", - hf_patterns=["encoder.mid_block.attentions.{i}.to_qkv.bias"], + to_pattern="encoder.mid_block.attentions.{i}.to_qkv.bias", + from_pattern=["encoder.mid_block.attentions.{i}.to_qkv.bias"], ), WeightTarget( - mlx_path="encoder.mid_block.attentions.{i}.proj.weight", - hf_patterns=["encoder.mid_block.attentions.{i}.proj.weight"], - transform=transpose_conv2d_weight, + to_pattern="encoder.mid_block.attentions.{i}.proj.weight", + from_pattern=["encoder.mid_block.attentions.{i}.proj.weight"], + transform=WeightTransforms.transpose_conv2d_weight, ), WeightTarget( - mlx_path="encoder.mid_block.attentions.{i}.proj.bias", - hf_patterns=["encoder.mid_block.attentions.{i}.proj.bias"], - ), - # ========== Encoder output ========== - WeightTarget( - mlx_path="encoder.norm_out.weight", - hf_patterns=["encoder.norm_out.gamma"], - transform=reshape_gamma_to_1d, + to_pattern="encoder.mid_block.attentions.{i}.proj.bias", + from_pattern=["encoder.mid_block.attentions.{i}.proj.bias"], ), WeightTarget( - mlx_path="encoder.conv_out.conv3d.weight", - hf_patterns=["encoder.conv_out.weight"], - transform=transpose_conv3d_weight, + to_pattern="encoder.norm_out.weight", + from_pattern=["encoder.norm_out.gamma"], + transform=WeightTransforms.reshape_gamma_to_1d, ), WeightTarget( - mlx_path="encoder.conv_out.conv3d.bias", - hf_patterns=["encoder.conv_out.bias"], - ), - # ========== Decoder conv_in ========== - WeightTarget( - mlx_path="decoder.conv_in.conv3d.weight", - hf_patterns=["decoder.conv_in.weight"], - transform=transpose_conv3d_weight, + to_pattern="encoder.conv_out.conv3d.weight", + from_pattern=["encoder.conv_out.weight"], + transform=WeightTransforms.transpose_conv3d_weight, ), WeightTarget( - mlx_path="decoder.conv_in.conv3d.bias", - hf_patterns=["decoder.conv_in.bias"], - ), - # ========== Decoder mid_block ========== - # Mid block resnets - WeightTarget( - mlx_path="decoder.mid_block.resnets.{i}.norm1.weight", - hf_patterns=["decoder.mid_block.resnets.{i}.norm1.gamma"], - transform=reshape_gamma_to_1d, + to_pattern="encoder.conv_out.conv3d.bias", + from_pattern=["encoder.conv_out.bias"], ), WeightTarget( - mlx_path="decoder.mid_block.resnets.{i}.conv1.conv3d.weight", - hf_patterns=["decoder.mid_block.resnets.{i}.conv1.weight"], - transform=transpose_conv3d_weight, + to_pattern="decoder.conv_in.conv3d.weight", + from_pattern=["decoder.conv_in.weight"], + transform=WeightTransforms.transpose_conv3d_weight, ), WeightTarget( - mlx_path="decoder.mid_block.resnets.{i}.conv1.conv3d.bias", - hf_patterns=["decoder.mid_block.resnets.{i}.conv1.bias"], + to_pattern="decoder.conv_in.conv3d.bias", + from_pattern=["decoder.conv_in.bias"], ), WeightTarget( - mlx_path="decoder.mid_block.resnets.{i}.norm2.weight", - hf_patterns=["decoder.mid_block.resnets.{i}.norm2.gamma"], - transform=reshape_gamma_to_1d, + to_pattern="decoder.mid_block.resnets.{i}.norm1.weight", + from_pattern=["decoder.mid_block.resnets.{i}.norm1.gamma"], + transform=WeightTransforms.reshape_gamma_to_1d, ), WeightTarget( - mlx_path="decoder.mid_block.resnets.{i}.conv2.conv3d.weight", - hf_patterns=["decoder.mid_block.resnets.{i}.conv2.weight"], - transform=transpose_conv3d_weight, + to_pattern="decoder.mid_block.resnets.{i}.conv1.conv3d.weight", + from_pattern=["decoder.mid_block.resnets.{i}.conv1.weight"], + transform=WeightTransforms.transpose_conv3d_weight, ), WeightTarget( - mlx_path="decoder.mid_block.resnets.{i}.conv2.conv3d.bias", - hf_patterns=["decoder.mid_block.resnets.{i}.conv2.bias"], - ), - # Mid block attention - WeightTarget( - mlx_path="decoder.mid_block.attentions.{i}.norm.weight", - hf_patterns=["decoder.mid_block.attentions.{i}.norm.gamma"], - transform=reshape_gamma_to_1d, + to_pattern="decoder.mid_block.resnets.{i}.conv1.conv3d.bias", + from_pattern=["decoder.mid_block.resnets.{i}.conv1.bias"], ), WeightTarget( - mlx_path="decoder.mid_block.attentions.{i}.to_qkv.weight", - hf_patterns=["decoder.mid_block.attentions.{i}.to_qkv.weight"], - transform=transpose_conv2d_weight, + to_pattern="decoder.mid_block.resnets.{i}.norm2.weight", + from_pattern=["decoder.mid_block.resnets.{i}.norm2.gamma"], + transform=WeightTransforms.reshape_gamma_to_1d, ), WeightTarget( - mlx_path="decoder.mid_block.attentions.{i}.to_qkv.bias", - hf_patterns=["decoder.mid_block.attentions.{i}.to_qkv.bias"], + to_pattern="decoder.mid_block.resnets.{i}.conv2.conv3d.weight", + from_pattern=["decoder.mid_block.resnets.{i}.conv2.weight"], + transform=WeightTransforms.transpose_conv3d_weight, ), WeightTarget( - mlx_path="decoder.mid_block.attentions.{i}.proj.weight", - hf_patterns=["decoder.mid_block.attentions.{i}.proj.weight"], - transform=transpose_conv2d_weight, + to_pattern="decoder.mid_block.resnets.{i}.conv2.conv3d.bias", + from_pattern=["decoder.mid_block.resnets.{i}.conv2.bias"], ), WeightTarget( - mlx_path="decoder.mid_block.attentions.{i}.proj.bias", - hf_patterns=["decoder.mid_block.attentions.{i}.proj.bias"], - ), - # ========== Decoder up_blocks ========== - # Up blocks resnets - WeightTarget( - mlx_path="decoder.up_blocks.{block}.resnets.{res}.norm1.weight", - hf_patterns=["decoder.up_blocks.{block}.resnets.{res}.norm1.gamma"], - transform=reshape_gamma_to_1d, + to_pattern="decoder.mid_block.attentions.{i}.norm.weight", + from_pattern=["decoder.mid_block.attentions.{i}.norm.gamma"], + transform=WeightTransforms.reshape_gamma_to_1d, ), WeightTarget( - mlx_path="decoder.up_blocks.{block}.resnets.{res}.conv1.conv3d.weight", - hf_patterns=["decoder.up_blocks.{block}.resnets.{res}.conv1.weight"], - transform=transpose_conv3d_weight, + to_pattern="decoder.mid_block.attentions.{i}.to_qkv.weight", + from_pattern=["decoder.mid_block.attentions.{i}.to_qkv.weight"], + transform=WeightTransforms.transpose_conv2d_weight, ), WeightTarget( - mlx_path="decoder.up_blocks.{block}.resnets.{res}.conv1.conv3d.bias", - hf_patterns=["decoder.up_blocks.{block}.resnets.{res}.conv1.bias"], + to_pattern="decoder.mid_block.attentions.{i}.to_qkv.bias", + from_pattern=["decoder.mid_block.attentions.{i}.to_qkv.bias"], ), WeightTarget( - mlx_path="decoder.up_blocks.{block}.resnets.{res}.norm2.weight", - hf_patterns=["decoder.up_blocks.{block}.resnets.{res}.norm2.gamma"], - transform=reshape_gamma_to_1d, + to_pattern="decoder.mid_block.attentions.{i}.proj.weight", + from_pattern=["decoder.mid_block.attentions.{i}.proj.weight"], + transform=WeightTransforms.transpose_conv2d_weight, ), WeightTarget( - mlx_path="decoder.up_blocks.{block}.resnets.{res}.conv2.conv3d.weight", - hf_patterns=["decoder.up_blocks.{block}.resnets.{res}.conv2.weight"], - transform=transpose_conv3d_weight, + to_pattern="decoder.mid_block.attentions.{i}.proj.bias", + from_pattern=["decoder.mid_block.attentions.{i}.proj.bias"], ), WeightTarget( - mlx_path="decoder.up_blocks.{block}.resnets.{res}.conv2.conv3d.bias", - hf_patterns=["decoder.up_blocks.{block}.resnets.{res}.conv2.bias"], - ), - # Up blocks resnets - conv_shortcut (optional, when in_dim != out_dim) - WeightTarget( - mlx_path="decoder.up_blocks.{block}.resnets.{res}.conv_shortcut.conv3d.weight", - hf_patterns=["decoder.up_blocks.{block}.resnets.{res}.conv_shortcut.weight"], - transform=transpose_conv3d_weight, - required=False, # Optional - only exists when dimensions differ + to_pattern="decoder.up_blocks.{block}.resnets.{res}.norm1.weight", + from_pattern=["decoder.up_blocks.{block}.resnets.{res}.norm1.gamma"], + transform=WeightTransforms.reshape_gamma_to_1d, ), WeightTarget( - mlx_path="decoder.up_blocks.{block}.resnets.{res}.conv_shortcut.conv3d.bias", - hf_patterns=["decoder.up_blocks.{block}.resnets.{res}.conv_shortcut.bias"], - required=False, # Optional - only exists when dimensions differ - ), - # Up blocks upsamplers - time_conv (blocks 0, 1 only) - WeightTarget( - mlx_path="decoder.up_blocks.{block}.upsampler.time_conv.conv3d.weight", - hf_patterns=["decoder.up_blocks.{block}.upsampler.time_conv.weight"], - transform=transpose_conv3d_weight, - required=False, # Only exists for blocks 0, 1 + to_pattern="decoder.up_blocks.{block}.resnets.{res}.conv1.conv3d.weight", + from_pattern=["decoder.up_blocks.{block}.resnets.{res}.conv1.weight"], + transform=WeightTransforms.transpose_conv3d_weight, ), WeightTarget( - mlx_path="decoder.up_blocks.{block}.upsampler.time_conv.conv3d.bias", - hf_patterns=["decoder.up_blocks.{block}.upsampler.time_conv.bias"], - required=False, # Only exists for blocks 0, 1 - ), - # Up blocks upsamplers - resample_conv (blocks 0, 1, 2) - WeightTarget( - mlx_path="decoder.up_blocks.{block}.upsampler.resample_conv.weight", - hf_patterns=["decoder.up_blocks.{block}.upsampler.resample.1.weight"], - transform=transpose_conv2d_weight, - required=False, # Only exists for blocks 0, 1, 2 + to_pattern="decoder.up_blocks.{block}.resnets.{res}.conv1.conv3d.bias", + from_pattern=["decoder.up_blocks.{block}.resnets.{res}.conv1.bias"], ), WeightTarget( - mlx_path="decoder.up_blocks.{block}.upsampler.resample_conv.bias", - hf_patterns=["decoder.up_blocks.{block}.upsampler.resample.1.bias"], - required=False, # Only exists for blocks 0, 1, 2 - ), - # ========== Decoder output ========== - WeightTarget( - mlx_path="decoder.norm_out.weight", - hf_patterns=["decoder.norm_out.gamma"], - transform=reshape_gamma_to_1d, + to_pattern="decoder.up_blocks.{block}.resnets.{res}.norm2.weight", + from_pattern=["decoder.up_blocks.{block}.resnets.{res}.norm2.gamma"], + transform=WeightTransforms.reshape_gamma_to_1d, ), WeightTarget( - mlx_path="decoder.conv_out.conv3d.weight", - hf_patterns=["decoder.conv_out.weight"], - transform=transpose_conv3d_weight, + to_pattern="decoder.up_blocks.{block}.resnets.{res}.conv2.conv3d.weight", + from_pattern=["decoder.up_blocks.{block}.resnets.{res}.conv2.weight"], + transform=WeightTransforms.transpose_conv3d_weight, ), WeightTarget( - mlx_path="decoder.conv_out.conv3d.bias", - hf_patterns=["decoder.conv_out.bias"], - ), - # ========== Quant conv ========== - WeightTarget( - mlx_path="quant_conv.conv3d.weight", - hf_patterns=["quant_conv.weight"], - transform=transpose_conv3d_weight, + to_pattern="decoder.up_blocks.{block}.resnets.{res}.conv2.conv3d.bias", + from_pattern=["decoder.up_blocks.{block}.resnets.{res}.conv2.bias"], ), WeightTarget( - mlx_path="quant_conv.conv3d.bias", - hf_patterns=["quant_conv.bias"], - ), - # ========== Post quant conv ========== - WeightTarget( - mlx_path="post_quant_conv.conv3d.weight", - hf_patterns=["post_quant_conv.weight"], - transform=transpose_conv3d_weight, + to_pattern="decoder.up_blocks.{block}.resnets.{res}.conv_shortcut.conv3d.weight", + from_pattern=["decoder.up_blocks.{block}.resnets.{res}.conv_shortcut.weight"], + transform=WeightTransforms.transpose_conv3d_weight, + required=False, ), WeightTarget( - mlx_path="post_quant_conv.conv3d.bias", - hf_patterns=["post_quant_conv.bias"], + to_pattern="decoder.up_blocks.{block}.resnets.{res}.conv_shortcut.conv3d.bias", + from_pattern=["decoder.up_blocks.{block}.resnets.{res}.conv_shortcut.bias"], + required=False, + ), + WeightTarget( + to_pattern="decoder.up_blocks.{block}.upsampler.time_conv.conv3d.weight", + from_pattern=["decoder.up_blocks.{block}.upsampler.time_conv.weight"], + transform=WeightTransforms.transpose_conv3d_weight, + required=False, + ), + WeightTarget( + to_pattern="decoder.up_blocks.{block}.upsampler.time_conv.conv3d.bias", + from_pattern=["decoder.up_blocks.{block}.upsampler.time_conv.bias"], + required=False, + ), + WeightTarget( + to_pattern="decoder.up_blocks.{block}.upsampler.resample_conv.weight", + from_pattern=["decoder.up_blocks.{block}.upsampler.resample.1.weight"], + transform=WeightTransforms.transpose_conv2d_weight, + required=False, + ), + WeightTarget( + to_pattern="decoder.up_blocks.{block}.upsampler.resample_conv.bias", + from_pattern=["decoder.up_blocks.{block}.upsampler.resample.1.bias"], + required=False, + ), + WeightTarget( + to_pattern="decoder.norm_out.weight", + from_pattern=["decoder.norm_out.gamma"], + transform=WeightTransforms.reshape_gamma_to_1d, + ), + WeightTarget( + to_pattern="decoder.conv_out.conv3d.weight", + from_pattern=["decoder.conv_out.weight"], + transform=WeightTransforms.transpose_conv3d_weight, + ), + WeightTarget( + to_pattern="decoder.conv_out.conv3d.bias", + from_pattern=["decoder.conv_out.bias"], + ), + WeightTarget( + to_pattern="quant_conv.conv3d.weight", + from_pattern=["quant_conv.weight"], + transform=WeightTransforms.transpose_conv3d_weight, + ), + WeightTarget( + to_pattern="quant_conv.conv3d.bias", + from_pattern=["quant_conv.bias"], + ), + WeightTarget( + to_pattern="post_quant_conv.conv3d.weight", + from_pattern=["post_quant_conv.weight"], + transform=WeightTransforms.transpose_conv3d_weight, + ), + WeightTarget( + to_pattern="post_quant_conv.conv3d.bias", + from_pattern=["post_quant_conv.bias"], ), ] diff --git a/src/mflux/models/fibo/weights/fibo_weight_util.py b/src/mflux/models/fibo/weights/fibo_weight_util.py deleted file mode 100644 index d386ed9..0000000 --- a/src/mflux/models/fibo/weights/fibo_weight_util.py +++ /dev/null @@ -1,47 +0,0 @@ -from typing import TYPE_CHECKING - -import mlx.nn as nn - -from mflux.models.common.quantization.quantization_util import QuantizationUtil - -if TYPE_CHECKING: - from mflux.models.fibo.weights.fibo_weight_handler import FIBOWeightHandler - - -class FIBOWeightUtil: - @staticmethod - def set_weights_and_quantize( - quantize_arg: int | None, - weights: "FIBOWeightHandler", - vae: nn.Module, - transformer: nn.Module, - text_encoder: nn.Module | None = None, - ) -> int | None: - if weights.meta_data.quantization_level is None and quantize_arg is None: - FIBOWeightUtil._set_model_weights(weights, vae, transformer, text_encoder) - return None - - if weights.meta_data.quantization_level is None and quantize_arg is not None: - bits = quantize_arg - FIBOWeightUtil._set_model_weights(weights, vae, transformer, text_encoder) - QuantizationUtil.quantize_fibo_models(vae, transformer, text_encoder, bits, weights) - return bits - - if weights.meta_data.quantization_level is not None: - bits = weights.meta_data.quantization_level - QuantizationUtil.quantize_fibo_models(vae, transformer, text_encoder, bits, weights) - FIBOWeightUtil._set_model_weights(weights, vae, transformer, text_encoder) - return bits - - raise Exception("Error setting weights") - - @staticmethod - def _set_model_weights( - weights: "FIBOWeightHandler", - vae: nn.Module, - transformer: nn.Module, - text_encoder: nn.Module | None = None, - ): - vae.update(weights.vae, strict=False) - transformer.update(weights.transformer, strict=False) - text_encoder.update(weights.text_encoder, strict=False) diff --git a/src/mflux/models/fibo_vlm/cli/__init__.py b/src/mflux/models/fibo_vlm/cli/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/mflux/inspire_fibo.py b/src/mflux/models/fibo_vlm/cli/fibo_inspire.py similarity index 61% rename from src/mflux/inspire_fibo.py rename to src/mflux/models/fibo_vlm/cli/fibo_inspire.py index a3ae008..f2bfbd9 100644 --- a/src/mflux/inspire_fibo.py +++ b/src/mflux/models/fibo_vlm/cli/fibo_inspire.py @@ -1,10 +1,8 @@ -import json from pathlib import Path -from PIL import Image - +from mflux.cli.parser.parsers import CommandLineParser from mflux.models.fibo_vlm.model.fibo_vlm import FiboVLM -from mflux.ui.cli.parsers import CommandLineParser +from mflux.models.fibo_vlm.model.util import FiboVLMUtil from mflux.utils.exceptions import PromptFileReadError @@ -15,7 +13,7 @@ def main(): parser.add_argument("--image-path", type=Path, required=True, help="Path to image file to inspire from") parser.add_argument("--prompt", type=str, default=None, help="Optional text prompt to blend with the image (e.g., 'Make futuristic')") parser.add_argument("--output", type=Path, default=Path("inspired.json"), help="Output path for generated JSON prompt (default: inspired.json)") - parser.add_argument("--path", type=str, default=None, help="Local path for loading the VLM model from disk") + parser.add_argument("-q", "--quantize", type=int, choices=[3, 4, 5, 6, 8], default=None, help="Quantize the VLM model (3, 4, 5, 6, or 8 bits)") parser.add_argument("--top-p", type=float, default=0.9, help="Top-p sampling for VLM (default: 0.9)") parser.add_argument("--temperature", type=float, default=0.2, help="Temperature for VLM (default: 0.2)") parser.add_argument("--max-tokens", type=int, default=4096, help="Max tokens for VLM generation (default: 4096)") @@ -25,44 +23,24 @@ def main(): try: # 1. Load the image - image = _load_image(args.image_path) + image = FiboVLMUtil.load_image(args.image_path) # 2. Generate JSON prompt from image - vlm = FiboVLM(local_path=args.path) + vlm = FiboVLM(quantize=args.quantize) inspired_json = vlm.inspire( + seed=args.seed, image=image, prompt=args.prompt, top_p=args.top_p, temperature=args.temperature, max_tokens=args.max_tokens, - seed=args.seed, ) # 3. Parse and save generated JSON prompt - _save_prompt(args, inspired_json) + FiboVLMUtil.save_json_prompt(args.output, inspired_json) except (PromptFileReadError, ValueError) as exc: print(exc) -def _save_prompt(args, inspired_json): - try: - inspired_json_parsed = json.loads(inspired_json) - except json.JSONDecodeError as e: - raise ValueError(f"VLM did not return valid JSON: {e}") - args.output.parent.mkdir(parents=True, exist_ok=True) - with open(args.output, "w") as f: - json.dump(inspired_json_parsed, f, indent=2, ensure_ascii=False) - - -def _load_image(image_path: Path): - if not image_path.exists(): - raise PromptFileReadError(f"Image file does not exist: {image_path}") - try: - image = Image.open(image_path).convert("RGB") - except (OSError, IOError, ValueError) as e: - raise PromptFileReadError(f"Failed to load image: {e}") - return image - - if __name__ == "__main__": main() diff --git a/src/mflux/refine_fibo.py b/src/mflux/models/fibo_vlm/cli/fibo_refine.py similarity index 56% rename from src/mflux/refine_fibo.py rename to src/mflux/models/fibo_vlm/cli/fibo_refine.py index eb4b689..ce182a0 100644 --- a/src/mflux/refine_fibo.py +++ b/src/mflux/models/fibo_vlm/cli/fibo_refine.py @@ -1,8 +1,8 @@ -import json from pathlib import Path +from mflux.cli.parser.parsers import CommandLineParser from mflux.models.fibo_vlm.model.fibo_vlm import FiboVLM -from mflux.ui.cli.parsers import CommandLineParser +from mflux.models.fibo_vlm.model.util import FiboVLMUtil from mflux.utils.exceptions import PromptFileReadError @@ -13,7 +13,7 @@ def main(): parser.add_argument("--prompt-file", type=Path, required=True, help="Path to JSON prompt file to refine") parser.add_argument("--instructions", type=str, required=True, help="Text instructions for how to refine the prompt (e.g., 'make the dragon blue')") parser.add_argument("--output", type=Path, default=Path("refined.json"), help="Output path for refined JSON prompt (default: refined.json)") - parser.add_argument("--path", type=str, default=None, help="Local path for loading the VLM model from disk") + parser.add_argument("-q", "--quantize", type=int, choices=[3, 4, 5, 6, 8], default=None, help="Quantize the VLM model (3, 4, 5, 6, or 8 bits)") parser.add_argument("--top-p", type=float, default=0.9, help="Top-p sampling for VLM (default: 0.9)") parser.add_argument("--temperature", type=float, default=0.2, help="Temperature for VLM (default: 0.2)") parser.add_argument("--max-tokens", type=int, default=4096, help="Max tokens for VLM generation (default: 4096)") @@ -23,46 +23,21 @@ def main(): try: # 1. Refine the JSON prompt - vlm = FiboVLM(local_path=args.path) - + vlm = FiboVLM(quantize=args.quantize) refined_json = vlm.refine( - structured_prompt=_get_structured_prompt(args), + seed=args.seed, + structured_prompt=FiboVLMUtil.get_structured_prompt(args.prompt_file), editing_instructions=args.instructions, top_p=args.top_p, temperature=args.temperature, max_tokens=args.max_tokens, - seed=args.seed, ) # 2. Parse and save refined JSON prompt - _save_prompt(args, refined_json) + FiboVLMUtil.save_json_prompt(args.output, refined_json) except (PromptFileReadError, ValueError) as exc: print(exc) -def _save_prompt(args, refined_json): - try: - refined_json_parsed = json.loads(refined_json) - except json.JSONDecodeError as e: - raise ValueError(f"VLM did not return valid JSON: {e}") - args.output.parent.mkdir(parents=True, exist_ok=True) - with open(args.output, "w") as f: - json.dump(refined_json_parsed, f, indent=2, ensure_ascii=False) - - -def _get_structured_prompt(args): - if not args.prompt_file.exists(): - raise PromptFileReadError(f"Prompt file does not exist: {args.prompt_file}") - with open(args.prompt_file, "rt") as f: - structured_prompt = f.read().strip() - if not structured_prompt: - raise PromptFileReadError(f"Prompt file is empty: {args.prompt_file}") - try: - json.loads(structured_prompt) - except json.JSONDecodeError as e: - raise PromptFileReadError(f"Prompt file does not contain valid JSON: {e}") - return structured_prompt - - if __name__ == "__main__": main() diff --git a/src/mflux/models/fibo_vlm/fibo_vlm_initializer.py b/src/mflux/models/fibo_vlm/fibo_vlm_initializer.py index 9643307..54f8282 100644 --- a/src/mflux/models/fibo_vlm/fibo_vlm_initializer.py +++ b/src/mflux/models/fibo_vlm/fibo_vlm_initializer.py @@ -1,112 +1,55 @@ -import os -from pathlib import Path - -from transformers import Qwen2Tokenizer - -from mflux.models.fibo.tokenizer.qwen2vl_processor import Qwen2VLProcessor +from mflux.models.common.tokenizer import TokenizerLoader +from mflux.models.common.weights.loading.loaded_weights import LoadedWeights +from mflux.models.common.weights.loading.weight_applier import WeightApplier +from mflux.models.common.weights.loading.weight_loader import WeightLoader from mflux.models.fibo_vlm.model.qwen3_vl_decoder import Qwen3VLDecoder from mflux.models.fibo_vlm.model.qwen3_vl_vision_model import Qwen3VLVisionModel -from mflux.models.fibo_vlm.weights.fibo_vlm_weight_handler import FIBOVLMWeightHandler -from mflux.utils.download import snapshot_download +from mflux.models.fibo_vlm.weights.fibo_vlm_weight_definition import FIBOVLMWeightDefinition -class FIBOVLMInitializer: +class FiboVLMInitializer: @staticmethod def init( - vlm_model, - model_id: str = "briaai/FIBO-vlm", - local_path: str | None = None, + model, + model_path: str = "briaai/FIBO-vlm", + quantize: int | None = None, ) -> None: - # 1. Load VLM weights - weights = FIBOVLMWeightHandler.load_vlm_regular_weights( - repo_id=model_id, - local_path=local_path, + FiboVLMInitializer._init_config(model, model_path) + weights = FiboVLMInitializer._load_weights(model_path) + FiboVLMInitializer._init_tokenizers(model, model_path) + FiboVLMInitializer._init_models(model) + FiboVLMInitializer._apply_weights(model, weights, quantize) + + @staticmethod + def _init_config(model, model_path: str) -> None: + model.model_path = model_path + + @staticmethod + def _load_weights(model_path: str) -> LoadedWeights: + return WeightLoader.load( + weight_definition=FIBOVLMWeightDefinition, + model_path=model_path, ) - # 2. Initialize processor for tokenization - tokenizer = FIBOVLMInitializer._get_tokenizer(local_path, model_id) - vlm_model.processor = Qwen2VLProcessor(tokenizer=tokenizer) - - # 3. Initialize all models - vlm_model.decoder = Qwen3VLDecoder(visual=Qwen3VLVisionModel()) - - # 4. Apply weights to decoder and visual encoder - vlm_model.decoder.update(weights.decoder, strict=False) - vlm_model.decoder.visual.update(weights.visual, strict=False) - - # Store model ID and local path - vlm_model.model_id = model_id - vlm_model.local_path = local_path + @staticmethod + def _init_tokenizers(model, model_path: str) -> None: + model.tokenizers = TokenizerLoader.load_all( + definitions=FIBOVLMWeightDefinition.get_tokenizers(), + model_path=model_path, + ) @staticmethod - def _get_tokenizer(local_path, model_id): - # Get the root path - if local_path: - root_path = Path(local_path) - else: - root_path = FIBOVLMInitializer._get_model_path(model_id) - - # Try different possible tokenizer paths (like FiboTokenizerHandler does) - tokenizer_path = root_path / "tokenizer" - if not tokenizer_path.exists(): - tokenizer_path = root_path / "text_encoder" - if not tokenizer_path.exists(): - # Tokenizer files are in the root - this is the case for FIBO-vlm - tokenizer_path = root_path - - # Set HF_HUB_OFFLINE to force offline mode - old_offline = os.environ.get("HF_HUB_OFFLINE") - try: - os.environ["HF_HUB_OFFLINE"] = "1" - # Use Qwen2Tokenizer directly instead of AutoTokenizer to avoid config confusion - tokenizer = Qwen2Tokenizer.from_pretrained( - pretrained_model_name_or_path=str(tokenizer_path), - local_files_only=True, - ) - finally: - # Restore original value - if old_offline is None: - os.environ.pop("HF_HUB_OFFLINE", None) - else: - os.environ["HF_HUB_OFFLINE"] = old_offline - - return tokenizer + def _init_models(model) -> None: + model.decoder = Qwen3VLDecoder(visual=Qwen3VLVisionModel()) @staticmethod - def _get_model_path(model_id: str) -> Path: - # Try to use cached path first - try: - root_path = Path( - snapshot_download( - repo_id=model_id, - local_files_only=True, - ) - ) - # Check if tokenizer files actually exist - the model weights might be cached - # but tokenizer files may not have been downloaded yet - if not FIBOVLMInitializer._tokenizer_files_exist(root_path): - # Tokenizer files missing, need to download them - root_path = Path( - snapshot_download( - repo_id=model_id, - local_files_only=False, - ) - ) - except (FileNotFoundError, OSError): - # Model not in cache, allow download if online - root_path = Path( - snapshot_download( - repo_id=model_id, - ) - ) - return root_path - - @staticmethod - def _tokenizer_files_exist(root_path: Path) -> bool: - # Check for vocab.json in possible tokenizer locations - possible_paths = [ - root_path / "tokenizer" / "vocab.json", - root_path / "text_encoder" / "vocab.json", - root_path / "vocab.json", - ] - return any(p.exists() for p in possible_paths) + def _apply_weights(model, weights: LoadedWeights, quantize: int | None) -> None: + model.bits = WeightApplier.apply_and_quantize( + weights=weights, + quantize_arg=quantize, + weight_definition=FIBOVLMWeightDefinition, + models={ + "decoder": model.decoder, + "visual": model.decoder.visual, + }, + ) diff --git a/src/mflux/models/fibo_vlm/model/fibo_vlm.py b/src/mflux/models/fibo_vlm/model/fibo_vlm.py index 13063d0..cc2d3eb 100644 --- a/src/mflux/models/fibo_vlm/model/fibo_vlm.py +++ b/src/mflux/models/fibo_vlm/model/fibo_vlm.py @@ -6,27 +6,31 @@ import mlx.core as mx import numpy as np from PIL import Image -from mflux.models.fibo.tokenizer.qwen2vl_processor import Qwen2VLProcessor -from mflux.models.fibo_vlm.fibo_vlm_initializer import FIBOVLMInitializer +from mflux.models.fibo_vlm.fibo_vlm_initializer import FiboVLMInitializer from mflux.models.fibo_vlm.model.qwen3_vl_decoder import Qwen3VLDecoder from mflux.models.fibo_vlm.model.qwen3_vl_util import Qwen3VLUtil +from mflux.models.fibo_vlm.tokenizer.qwen2vl_processor import Qwen2VLProcessor class FiboVLM: decoder = Qwen3VLDecoder - processor: Qwen2VLProcessor def __init__( self, model_id: str = "briaai/FIBO-vlm", - local_path: str | None = None, + model_path: str | None = None, + quantize: int | None = None, ): - FIBOVLMInitializer.init( - vlm_model=self, - model_id=model_id, - local_path=local_path, + FiboVLMInitializer.init( + model=self, + model_path=model_path if model_path else model_id, + quantize=quantize, ) + @property + def processor(self) -> Qwen2VLProcessor: + return self.tokenizers["fibo_vlm"].processor + def generate( self, prompt: str, @@ -107,8 +111,8 @@ class FiboVLM: messages = FiboVLM._build_messages( task=task, image=image, - refine_image=refine_image, prompt=prompt, + refine_image=refine_image, structured_prompt=FiboVLM._normalize_json(structured_prompt), editing_instructions=editing_instructions, ) @@ -119,17 +123,17 @@ class FiboVLM: image_grid_thw = mx.array(formatted["image_grid_thw"]) if formatted.get("image_grid_thw") is not None else None stop_token_sequences = [self.processor.tokenizer.encode(s, add_special_tokens=False) for s in stop] generated_ids = Qwen3VLUtil.generate_text( + seed=seed, + top_p=top_p, decoder=self.decoder, input_ids=input_ids, attention_mask=attention_mask, pixel_values=pixel_values, image_grid_thw=image_grid_thw, max_new_tokens=max_tokens, - top_p=top_p, temperature=temperature, stop_token_sequences=stop_token_sequences, eos_token_id=self.processor.tokenizer.eos_token_id, - seed=seed, ) generated_tokens = generated_ids[:, input_ids.shape[1] :] generated_text = self.processor.tokenizer.decode(np.array(generated_tokens[0]), skip_special_tokens=True) diff --git a/src/mflux/models/fibo_vlm/model/util.py b/src/mflux/models/fibo_vlm/model/util.py new file mode 100644 index 0000000..e8382c2 --- /dev/null +++ b/src/mflux/models/fibo_vlm/model/util.py @@ -0,0 +1,42 @@ +import json +from pathlib import Path + +from PIL import Image + +from mflux.utils.exceptions import PromptFileReadError + + +class FiboVLMUtil: + @staticmethod + def save_json_prompt(output_path: Path, json_string: str) -> None: + try: + json_parsed = json.loads(json_string) + except json.JSONDecodeError as e: + raise ValueError(f"VLM did not return valid JSON: {e}") + output_path.parent.mkdir(parents=True, exist_ok=True) + with open(output_path, "w") as f: + json.dump(json_parsed, f, indent=2, ensure_ascii=False) + + @staticmethod + def get_structured_prompt(prompt_file: Path) -> str: + if not prompt_file.exists(): + raise PromptFileReadError(f"Prompt file does not exist: {prompt_file}") + with open(prompt_file, "rt") as f: + structured_prompt = f.read().strip() + if not structured_prompt: + raise PromptFileReadError(f"Prompt file is empty: {prompt_file}") + try: + json.loads(structured_prompt) + except json.JSONDecodeError as e: + raise PromptFileReadError(f"Prompt file does not contain valid JSON: {e}") + return structured_prompt + + @staticmethod + def load_image(image_path: Path) -> Image.Image: + if not image_path.exists(): + raise PromptFileReadError(f"Image file does not exist: {image_path}") + try: + image = Image.open(image_path).convert("RGB") + except (OSError, IOError, ValueError) as e: + raise PromptFileReadError(f"Failed to load image: {e}") + return image diff --git a/src/mflux/models/fibo_vlm/tokenizer/__init__.py b/src/mflux/models/fibo_vlm/tokenizer/__init__.py new file mode 100644 index 0000000..269c166 --- /dev/null +++ b/src/mflux/models/fibo_vlm/tokenizer/__init__.py @@ -0,0 +1 @@ +# FIBO Tokenizer - uses unified tokenizer system from mflux.models.common.tokenizer diff --git a/src/mflux/models/fibo/tokenizer/qwen2vl_image_processor.py b/src/mflux/models/fibo_vlm/tokenizer/qwen2vl_image_processor.py similarity index 100% rename from src/mflux/models/fibo/tokenizer/qwen2vl_image_processor.py rename to src/mflux/models/fibo_vlm/tokenizer/qwen2vl_image_processor.py diff --git a/src/mflux/models/fibo/tokenizer/qwen2vl_processor.py b/src/mflux/models/fibo_vlm/tokenizer/qwen2vl_processor.py similarity index 99% rename from src/mflux/models/fibo/tokenizer/qwen2vl_processor.py rename to src/mflux/models/fibo_vlm/tokenizer/qwen2vl_processor.py index aa03e6a..37a23da 100644 --- a/src/mflux/models/fibo/tokenizer/qwen2vl_processor.py +++ b/src/mflux/models/fibo_vlm/tokenizer/qwen2vl_processor.py @@ -3,7 +3,7 @@ from typing import Optional, Union import numpy as np from PIL import Image -from mflux.models.fibo.tokenizer.qwen2vl_image_processor import Qwen2VLImageProcessor +from mflux.models.fibo_vlm.tokenizer.qwen2vl_image_processor import Qwen2VLImageProcessor class Qwen2VLProcessor: diff --git a/src/mflux/models/fibo_vlm/weights/fibo_vlm_weight_definition.py b/src/mflux/models/fibo_vlm/weights/fibo_vlm_weight_definition.py new file mode 100644 index 0000000..8ac23c9 --- /dev/null +++ b/src/mflux/models/fibo_vlm/weights/fibo_vlm_weight_definition.py @@ -0,0 +1,62 @@ +from typing import List + +from mflux.models.common.tokenizer import VisionLanguageTokenizer +from mflux.models.common.weights.loading.weight_definition import ComponentDefinition, TokenizerDefinition +from mflux.models.fibo_vlm.tokenizer.qwen2vl_processor import Qwen2VLProcessor +from mflux.models.fibo_vlm.weights.fibo_vlm_weight_mapping import FIBOVLMWeightMapping + + +class FIBOVLMWeightDefinition: + @staticmethod + def get_components() -> List[ComponentDefinition]: + return [ + ComponentDefinition( + name="decoder", + hf_subdir="", + num_blocks=36, + loading_mode="torch_bfloat16", + weight_prefix_filters=["model.language_model", "lm_head"], + mapping_getter=lambda: FIBOVLMWeightMapping.get_vlm_decoder_mapping(36), + ), + ComponentDefinition( + name="visual", + hf_subdir="", + num_blocks=24, + loading_mode="torch_bfloat16", + weight_prefix_filters=["model.visual"], + mapping_getter=lambda: FIBOVLMWeightMapping.get_vlm_visual_mapping(24), + ), + ] + + @staticmethod + def get_tokenizers() -> List[TokenizerDefinition]: + return [ + TokenizerDefinition( + name="fibo_vlm", + hf_subdir=".", # Root directory + tokenizer_class="Qwen2Tokenizer", + encoder_class=VisionLanguageTokenizer, + processor_class=Qwen2VLProcessor, + max_length=1024, + fallback_subdirs=["tokenizer", "text_encoder"], + download_patterns=["vocab.json", "merges.txt", "tokenizer.json", "tokenizer_config.json"], + ), + ] + + @staticmethod + def get_download_patterns() -> List[str]: + return [ + "*.safetensors", + "*.json", + "vocab.json", + "merges.txt", + "tokenizer.json", + "tokenizer_config.json", + ] + + @staticmethod + def quantization_predicate(path: str, module) -> bool: + # Skip lm_head - it maps to vocab size and quantization corrupts dimensions + if "lm_head" in path: + return False + return hasattr(module, "to_quantized") diff --git a/src/mflux/models/fibo_vlm/weights/fibo_vlm_weight_handler.py b/src/mflux/models/fibo_vlm/weights/fibo_vlm_weight_handler.py deleted file mode 100644 index 66531f8..0000000 --- a/src/mflux/models/fibo_vlm/weights/fibo_vlm_weight_handler.py +++ /dev/null @@ -1,74 +0,0 @@ -import mlx.core as mx -import torch -from transformers import Qwen3VLForConditionalGeneration - -from mflux.models.common.weights.mapping.weight_mapper import WeightMapper -from mflux.models.fibo.weights import FIBOWeightHandler -from mflux.models.fibo_vlm.weights.fibo_vlm_weight_mapping import FIBOVLMWeightMapping -from mflux.models.flux.weights.weight_handler import MetaData - - -class FIBOVLMWeightHandler: - @staticmethod - def load_vlm_regular_weights( - repo_id: str = "briaai/FIBO-vlm", - local_path: str | None = None, - ) -> "FIBOWeightHandler": - # Load model - try offline first (use cache), fall back to online if needed - pretrained_path = local_path or repo_id - if local_path: - # If explicit local path, use local_files_only - model = Qwen3VLForConditionalGeneration.from_pretrained( - pretrained_model_name_or_path=pretrained_path, - dtype=torch.bfloat16, - local_files_only=True, - ) - else: - # Try offline first (use cache), fall back to online if not cached - try: - model = Qwen3VLForConditionalGeneration.from_pretrained( - pretrained_model_name_or_path=pretrained_path, - dtype=torch.bfloat16, - local_files_only=True, - ) - except (FileNotFoundError, OSError): - # Model not in cache, allow download if online - model = Qwen3VLForConditionalGeneration.from_pretrained( - pretrained_model_name_or_path=pretrained_path, - dtype=torch.bfloat16, - local_files_only=False, - ) - num_layers = model.config.text_config.num_hidden_layers - depth = model.config.vision_config.depth - state_dict = model.state_dict() - - raw_decoder_weights = { - k: FIBOVLMWeightHandler._to_mlx(v) - for k, v in state_dict.items() - if k.startswith(("model.language_model", "lm_head")) - } - - raw_visual_weights = { - k: FIBOVLMWeightHandler._to_mlx(v) for k, v in state_dict.items() if k.startswith("model.visual") - } - - decoder_weights = WeightMapper.apply_mapping( - hf_weights=raw_decoder_weights, - mapping=FIBOVLMWeightMapping.get_vlm_decoder_mapping(num_layers=num_layers), - num_blocks=num_layers, - ) - visual_weights = WeightMapper.apply_mapping( - hf_weights=raw_visual_weights, - mapping=FIBOVLMWeightMapping.get_vlm_visual_mapping(depth=depth), - num_blocks=depth, - ) - - return FIBOWeightHandler( - decoder=decoder_weights, - visual=visual_weights, - meta_data=MetaData(quantization_level=None, scale=None, is_lora=False, mflux_version=None), - ) - - @staticmethod - def _to_mlx(tensor: torch.Tensor) -> mx.array: - return mx.array((tensor.to(torch.float16) if tensor.dtype == torch.bfloat16 else tensor).detach().cpu().numpy()) diff --git a/src/mflux/models/fibo_vlm/weights/fibo_vlm_weight_mapping.py b/src/mflux/models/fibo_vlm/weights/fibo_vlm_weight_mapping.py index debf71d..628a199 100644 --- a/src/mflux/models/fibo_vlm/weights/fibo_vlm_weight_mapping.py +++ b/src/mflux/models/fibo_vlm/weights/fibo_vlm_weight_mapping.py @@ -1,7 +1,7 @@ from typing import List from mflux.models.common.weights.mapping.weight_mapping import WeightMapping, WeightTarget -from mflux.models.fibo.weights.fibo_weight_mapping import transpose_conv3d_weight +from mflux.models.common.weights.mapping.weight_transforms import WeightTransforms class FIBOVLMWeightMapping(WeightMapping): @@ -9,214 +9,210 @@ class FIBOVLMWeightMapping(WeightMapping): def get_vlm_decoder_mapping(num_layers: int = 36) -> List[WeightTarget]: return [ WeightTarget( - mlx_path="embed_tokens.weight", - hf_patterns=["model.language_model.embed_tokens.weight"], + to_pattern="embed_tokens.weight", + from_pattern=["model.language_model.embed_tokens.weight"], ), WeightTarget( - mlx_path="layers.{block}.self_attn.q_proj.weight", - hf_patterns=["model.language_model.layers.{block}.self_attn.q_proj.weight"], + to_pattern="layers.{block}.self_attn.q_proj.weight", + from_pattern=["model.language_model.layers.{block}.self_attn.q_proj.weight"], ), WeightTarget( - mlx_path="layers.{block}.self_attn.q_proj.bias", - hf_patterns=["model.language_model.layers.{block}.self_attn.q_proj.bias"], + to_pattern="layers.{block}.self_attn.q_proj.bias", + from_pattern=["model.language_model.layers.{block}.self_attn.q_proj.bias"], ), WeightTarget( - mlx_path="layers.{block}.self_attn.k_proj.weight", - hf_patterns=["model.language_model.layers.{block}.self_attn.k_proj.weight"], + to_pattern="layers.{block}.self_attn.k_proj.weight", + from_pattern=["model.language_model.layers.{block}.self_attn.k_proj.weight"], ), WeightTarget( - mlx_path="layers.{block}.self_attn.k_proj.bias", - hf_patterns=["model.language_model.layers.{block}.self_attn.k_proj.bias"], + to_pattern="layers.{block}.self_attn.k_proj.bias", + from_pattern=["model.language_model.layers.{block}.self_attn.k_proj.bias"], ), WeightTarget( - mlx_path="layers.{block}.self_attn.v_proj.weight", - hf_patterns=["model.language_model.layers.{block}.self_attn.v_proj.weight"], + to_pattern="layers.{block}.self_attn.v_proj.weight", + from_pattern=["model.language_model.layers.{block}.self_attn.v_proj.weight"], ), WeightTarget( - mlx_path="layers.{block}.self_attn.v_proj.bias", - hf_patterns=["model.language_model.layers.{block}.self_attn.v_proj.bias"], + to_pattern="layers.{block}.self_attn.v_proj.bias", + from_pattern=["model.language_model.layers.{block}.self_attn.v_proj.bias"], ), WeightTarget( - mlx_path="layers.{block}.self_attn.o_proj.weight", - hf_patterns=["model.language_model.layers.{block}.self_attn.o_proj.weight"], + to_pattern="layers.{block}.self_attn.o_proj.weight", + from_pattern=["model.language_model.layers.{block}.self_attn.o_proj.weight"], ), WeightTarget( - mlx_path="layers.{block}.self_attn.o_proj.bias", - hf_patterns=["model.language_model.layers.{block}.self_attn.o_proj.bias"], + to_pattern="layers.{block}.self_attn.o_proj.bias", + from_pattern=["model.language_model.layers.{block}.self_attn.o_proj.bias"], ), WeightTarget( - mlx_path="layers.{block}.self_attn.q_norm.weight", - hf_patterns=["model.language_model.layers.{block}.self_attn.q_norm.weight"], + to_pattern="layers.{block}.self_attn.q_norm.weight", + from_pattern=["model.language_model.layers.{block}.self_attn.q_norm.weight"], ), WeightTarget( - mlx_path="layers.{block}.self_attn.k_norm.weight", - hf_patterns=["model.language_model.layers.{block}.self_attn.k_norm.weight"], + to_pattern="layers.{block}.self_attn.k_norm.weight", + from_pattern=["model.language_model.layers.{block}.self_attn.k_norm.weight"], ), WeightTarget( - mlx_path="layers.{block}.mlp.gate_proj.weight", - hf_patterns=["model.language_model.layers.{block}.mlp.gate_proj.weight"], + to_pattern="layers.{block}.mlp.gate_proj.weight", + from_pattern=["model.language_model.layers.{block}.mlp.gate_proj.weight"], ), WeightTarget( - mlx_path="layers.{block}.mlp.gate_proj.bias", - hf_patterns=["model.language_model.layers.{block}.mlp.gate_proj.bias"], + to_pattern="layers.{block}.mlp.gate_proj.bias", + from_pattern=["model.language_model.layers.{block}.mlp.gate_proj.bias"], ), WeightTarget( - mlx_path="layers.{block}.mlp.up_proj.weight", - hf_patterns=["model.language_model.layers.{block}.mlp.up_proj.weight"], + to_pattern="layers.{block}.mlp.up_proj.weight", + from_pattern=["model.language_model.layers.{block}.mlp.up_proj.weight"], ), WeightTarget( - mlx_path="layers.{block}.mlp.up_proj.bias", - hf_patterns=["model.language_model.layers.{block}.mlp.up_proj.bias"], + to_pattern="layers.{block}.mlp.up_proj.bias", + from_pattern=["model.language_model.layers.{block}.mlp.up_proj.bias"], ), WeightTarget( - mlx_path="layers.{block}.mlp.down_proj.weight", - hf_patterns=["model.language_model.layers.{block}.mlp.down_proj.weight"], + to_pattern="layers.{block}.mlp.down_proj.weight", + from_pattern=["model.language_model.layers.{block}.mlp.down_proj.weight"], ), WeightTarget( - mlx_path="layers.{block}.mlp.down_proj.bias", - hf_patterns=["model.language_model.layers.{block}.mlp.down_proj.bias"], + to_pattern="layers.{block}.mlp.down_proj.bias", + from_pattern=["model.language_model.layers.{block}.mlp.down_proj.bias"], ), WeightTarget( - mlx_path="layers.{block}.input_layernorm.weight", - hf_patterns=["model.language_model.layers.{block}.input_layernorm.weight"], + to_pattern="layers.{block}.input_layernorm.weight", + from_pattern=["model.language_model.layers.{block}.input_layernorm.weight"], ), WeightTarget( - mlx_path="layers.{block}.post_attention_layernorm.weight", - hf_patterns=["model.language_model.layers.{block}.post_attention_layernorm.weight"], + to_pattern="layers.{block}.post_attention_layernorm.weight", + from_pattern=["model.language_model.layers.{block}.post_attention_layernorm.weight"], ), WeightTarget( - mlx_path="norm.weight", - hf_patterns=["model.language_model.norm.weight"], + to_pattern="norm.weight", + from_pattern=["model.language_model.norm.weight"], ), WeightTarget( - mlx_path="lm_head.weight", - hf_patterns=["lm_head.weight"], + to_pattern="lm_head.weight", + from_pattern=["model.language_model.embed_tokens.weight"], ), ] @staticmethod def get_vlm_visual_mapping(depth: int = 24) -> List[WeightTarget]: return [ - # Patch embedding WeightTarget( - mlx_path="patch_embed.proj.weight", - hf_patterns=["model.visual.patch_embed.proj.weight"], - transform=transpose_conv3d_weight, + to_pattern="patch_embed.proj.weight", + from_pattern=["model.visual.patch_embed.proj.weight"], + transform=WeightTransforms.transpose_conv3d_weight, ), WeightTarget( - mlx_path="patch_embed.proj.bias", - hf_patterns=["model.visual.patch_embed.proj.bias"], - ), - # Position embeddings - WeightTarget( - mlx_path="pos_embed.weight", - hf_patterns=["model.visual.pos_embed.weight"], - ), - # Vision transformer blocks - WeightTarget( - mlx_path="blocks.{block}.norm1.weight", - hf_patterns=["model.visual.blocks.{block}.norm1.weight"], + to_pattern="patch_embed.proj.bias", + from_pattern=["model.visual.patch_embed.proj.bias"], ), WeightTarget( - mlx_path="blocks.{block}.norm1.bias", - hf_patterns=["model.visual.blocks.{block}.norm1.bias"], + to_pattern="pos_embed.weight", + from_pattern=["model.visual.pos_embed.weight"], ), WeightTarget( - mlx_path="blocks.{block}.norm2.weight", - hf_patterns=["model.visual.blocks.{block}.norm2.weight"], + to_pattern="blocks.{block}.norm1.weight", + from_pattern=["model.visual.blocks.{block}.norm1.weight"], ), WeightTarget( - mlx_path="blocks.{block}.norm2.bias", - hf_patterns=["model.visual.blocks.{block}.norm2.bias"], + to_pattern="blocks.{block}.norm1.bias", + from_pattern=["model.visual.blocks.{block}.norm1.bias"], + ), + WeightTarget( + to_pattern="blocks.{block}.norm2.weight", + from_pattern=["model.visual.blocks.{block}.norm2.weight"], + ), + WeightTarget( + to_pattern="blocks.{block}.norm2.bias", + from_pattern=["model.visual.blocks.{block}.norm2.bias"], ), # Attention WeightTarget( - mlx_path="blocks.{block}.attn.qkv.weight", - hf_patterns=["model.visual.blocks.{block}.attn.qkv.weight"], + to_pattern="blocks.{block}.attn.qkv.weight", + from_pattern=["model.visual.blocks.{block}.attn.qkv.weight"], ), WeightTarget( - mlx_path="blocks.{block}.attn.qkv.bias", - hf_patterns=["model.visual.blocks.{block}.attn.qkv.bias"], + to_pattern="blocks.{block}.attn.qkv.bias", + from_pattern=["model.visual.blocks.{block}.attn.qkv.bias"], ), WeightTarget( - mlx_path="blocks.{block}.attn.proj.weight", - hf_patterns=["model.visual.blocks.{block}.attn.proj.weight"], + to_pattern="blocks.{block}.attn.proj.weight", + from_pattern=["model.visual.blocks.{block}.attn.proj.weight"], ), WeightTarget( - mlx_path="blocks.{block}.attn.proj.bias", - hf_patterns=["model.visual.blocks.{block}.attn.proj.bias"], + to_pattern="blocks.{block}.attn.proj.bias", + from_pattern=["model.visual.blocks.{block}.attn.proj.bias"], ), # MLP WeightTarget( - mlx_path="blocks.{block}.mlp.linear_fc1.weight", - hf_patterns=["model.visual.blocks.{block}.mlp.linear_fc1.weight"], + to_pattern="blocks.{block}.mlp.linear_fc1.weight", + from_pattern=["model.visual.blocks.{block}.mlp.linear_fc1.weight"], ), WeightTarget( - mlx_path="blocks.{block}.mlp.linear_fc1.bias", - hf_patterns=["model.visual.blocks.{block}.mlp.linear_fc1.bias"], + to_pattern="blocks.{block}.mlp.linear_fc1.bias", + from_pattern=["model.visual.blocks.{block}.mlp.linear_fc1.bias"], ), WeightTarget( - mlx_path="blocks.{block}.mlp.linear_fc2.weight", - hf_patterns=["model.visual.blocks.{block}.mlp.linear_fc2.weight"], + to_pattern="blocks.{block}.mlp.linear_fc2.weight", + from_pattern=["model.visual.blocks.{block}.mlp.linear_fc2.weight"], ), WeightTarget( - mlx_path="blocks.{block}.mlp.linear_fc2.bias", - hf_patterns=["model.visual.blocks.{block}.mlp.linear_fc2.bias"], + to_pattern="blocks.{block}.mlp.linear_fc2.bias", + from_pattern=["model.visual.blocks.{block}.mlp.linear_fc2.bias"], ), # Final merger WeightTarget( - mlx_path="merger.norm.weight", - hf_patterns=["model.visual.merger.norm.weight"], + to_pattern="merger.norm.weight", + from_pattern=["model.visual.merger.norm.weight"], ), WeightTarget( - mlx_path="merger.norm.bias", - hf_patterns=["model.visual.merger.norm.bias"], + to_pattern="merger.norm.bias", + from_pattern=["model.visual.merger.norm.bias"], ), WeightTarget( - mlx_path="merger.linear_fc1.weight", - hf_patterns=["model.visual.merger.linear_fc1.weight"], + to_pattern="merger.linear_fc1.weight", + from_pattern=["model.visual.merger.linear_fc1.weight"], ), WeightTarget( - mlx_path="merger.linear_fc1.bias", - hf_patterns=["model.visual.merger.linear_fc1.bias"], + to_pattern="merger.linear_fc1.bias", + from_pattern=["model.visual.merger.linear_fc1.bias"], ), WeightTarget( - mlx_path="merger.linear_fc2.weight", - hf_patterns=["model.visual.merger.linear_fc2.weight"], + to_pattern="merger.linear_fc2.weight", + from_pattern=["model.visual.merger.linear_fc2.weight"], ), WeightTarget( - mlx_path="merger.linear_fc2.bias", - hf_patterns=["model.visual.merger.linear_fc2.bias"], - ), - # DeepStack mergers (fixed 3 items, not depth-based) - WeightTarget( - mlx_path="deepstack_merger_list.{block}.norm.weight", - hf_patterns=["model.visual.deepstack_merger_list.{block}.norm.weight"], - max_blocks=3, # Fixed 3 items (0, 1, 2) + to_pattern="merger.linear_fc2.bias", + from_pattern=["model.visual.merger.linear_fc2.bias"], ), WeightTarget( - mlx_path="deepstack_merger_list.{block}.norm.bias", - hf_patterns=["model.visual.deepstack_merger_list.{block}.norm.bias"], + to_pattern="deepstack_merger_list.{block}.norm.weight", + from_pattern=["model.visual.deepstack_merger_list.{block}.norm.weight"], max_blocks=3, ), WeightTarget( - mlx_path="deepstack_merger_list.{block}.linear_fc1.weight", - hf_patterns=["model.visual.deepstack_merger_list.{block}.linear_fc1.weight"], + to_pattern="deepstack_merger_list.{block}.norm.bias", + from_pattern=["model.visual.deepstack_merger_list.{block}.norm.bias"], max_blocks=3, ), WeightTarget( - mlx_path="deepstack_merger_list.{block}.linear_fc1.bias", - hf_patterns=["model.visual.deepstack_merger_list.{block}.linear_fc1.bias"], + to_pattern="deepstack_merger_list.{block}.linear_fc1.weight", + from_pattern=["model.visual.deepstack_merger_list.{block}.linear_fc1.weight"], max_blocks=3, ), WeightTarget( - mlx_path="deepstack_merger_list.{block}.linear_fc2.weight", - hf_patterns=["model.visual.deepstack_merger_list.{block}.linear_fc2.weight"], + to_pattern="deepstack_merger_list.{block}.linear_fc1.bias", + from_pattern=["model.visual.deepstack_merger_list.{block}.linear_fc1.bias"], max_blocks=3, ), WeightTarget( - mlx_path="deepstack_merger_list.{block}.linear_fc2.bias", - hf_patterns=["model.visual.deepstack_merger_list.{block}.linear_fc2.bias"], + to_pattern="deepstack_merger_list.{block}.linear_fc2.weight", + from_pattern=["model.visual.deepstack_merger_list.{block}.linear_fc2.weight"], + max_blocks=3, + ), + WeightTarget( + to_pattern="deepstack_merger_list.{block}.linear_fc2.bias", + from_pattern=["model.visual.deepstack_merger_list.{block}.linear_fc2.bias"], max_blocks=3, ), ] diff --git a/src/mflux/models/flux/cli/__init__.py b/src/mflux/models/flux/cli/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/mflux/concept.py b/src/mflux/models/flux/cli/flux_concept.py similarity index 71% rename from src/mflux/concept.py rename to src/mflux/models/flux/cli/flux_concept.py index 55c4863..1dbeba6 100644 --- a/src/mflux/concept.py +++ b/src/mflux/models/flux/cli/flux_concept.py @@ -1,11 +1,11 @@ from mflux.callbacks.callback_manager import CallbackManager -from mflux.config.config import Config -from mflux.config.model_config import ModelConfig +from mflux.cli.defaults import defaults as ui_defaults +from mflux.cli.parser.parsers import CommandLineParser +from mflux.models.common.config import ModelConfig +from mflux.models.flux.latent_creator.flux_latent_creator import FluxLatentCreator from mflux.models.flux.variants.concept_attention.flux_concept import Flux1Concept -from mflux.ui import defaults as ui_defaults -from mflux.ui.cli.parsers import CommandLineParser -from mflux.ui.prompt_utils import PromptUtils from mflux.utils.exceptions import PromptFileReadError, StopImageGenerationException +from mflux.utils.prompt_util import PromptUtil def main(): @@ -28,31 +28,33 @@ def main(): flux = Flux1Concept( model_config=ModelConfig.from_name(model_name=args.model, base_model=args.base_model), quantize=args.quantize, - local_path=args.path, + model_path=args.model_path, lora_paths=args.lora_paths, lora_scales=args.lora_scales, ) # 2. Register callbacks - memory_saver = CallbackManager.register_callbacks(args=args, model=flux) + memory_saver = CallbackManager.register_callbacks( + args=args, + model=flux, + latent_creator=FluxLatentCreator, + ) try: for seed in args.seed: # 3. Generate an image for each seed value image = flux.generate_image( seed=seed, - prompt=PromptUtils.get_effective_prompt(args), + prompt=PromptUtil.read_prompt(args), + width=args.width, + height=args.height, concept=args.concept, + guidance=args.guidance, + image_path=args.image_path, + num_inference_steps=args.steps, + image_strength=args.image_strength, heatmap_timesteps=args.heatmap_timesteps, heatmap_layer_indices=args.heatmap_layer_indices, - config=Config( - num_inference_steps=args.steps, - height=args.height, - width=args.width, - guidance=args.guidance, - image_path=args.image_path, - image_strength=args.image_strength, - ), ) # 4. Save the image and heatmap image.save_with_heatmap(path=args.output.format(seed=seed), export_json_metadata=args.metadata) diff --git a/src/mflux/concept_from_image.py b/src/mflux/models/flux/cli/flux_concept_from_image.py similarity index 73% rename from src/mflux/concept_from_image.py rename to src/mflux/models/flux/cli/flux_concept_from_image.py index c45ec1f..2bbcac4 100644 --- a/src/mflux/concept_from_image.py +++ b/src/mflux/models/flux/cli/flux_concept_from_image.py @@ -1,11 +1,11 @@ from mflux.callbacks.callback_manager import CallbackManager -from mflux.config.config import Config -from mflux.config.model_config import ModelConfig +from mflux.cli.defaults import defaults as ui_defaults +from mflux.cli.parser.parsers import CommandLineParser +from mflux.models.common.config import ModelConfig +from mflux.models.flux.latent_creator.flux_latent_creator import FluxLatentCreator from mflux.models.flux.variants.concept_attention.flux_concept_from_image import Flux1ConceptFromImage -from mflux.ui import defaults as ui_defaults -from mflux.ui.cli.parsers import CommandLineParser -from mflux.ui.prompt_utils import PromptUtils from mflux.utils.exceptions import PromptFileReadError, StopImageGenerationException +from mflux.utils.prompt_util import PromptUtil def main(): @@ -28,32 +28,32 @@ def main(): flux = Flux1ConceptFromImage( model_config=ModelConfig.from_name(model_name=args.model, base_model=args.base_model), quantize=args.quantize, - local_path=args.path, + model_path=args.model_path, lora_paths=args.lora_paths, lora_scales=args.lora_scales, ) # 2. Register callbacks - memory_saver = CallbackManager.register_callbacks(args=args, model=flux) + memory_saver = CallbackManager.register_callbacks( + args=args, + model=flux, + latent_creator=FluxLatentCreator, + ) try: for seed in args.seed: # 3. Generate an image for each seed value image = flux.generate_image( seed=seed, - prompt=PromptUtils.get_effective_prompt(args), + prompt=PromptUtil.read_prompt(args), + width=args.width, + height=args.height, concept=args.concept, + guidance=args.guidance, + num_inference_steps=args.steps, image_path=str(args.input_image_path), heatmap_timesteps=args.heatmap_timesteps, heatmap_layer_indices=args.heatmap_layer_indices, - config=Config( - num_inference_steps=args.steps, - height=args.height, - width=args.width, - guidance=args.guidance, - image_path=args.image_path, - image_strength=args.image_strength, - ), ) # 4. Save the image and heatmap image.save_with_heatmap(path=args.output.format(seed=seed), export_json_metadata=args.metadata) diff --git a/src/mflux/generate.py b/src/mflux/models/flux/cli/flux_generate.py similarity index 53% rename from src/mflux/generate.py rename to src/mflux/models/flux/cli/flux_generate.py index 820a10a..35349cc 100644 --- a/src/mflux/generate.py +++ b/src/mflux/models/flux/cli/flux_generate.py @@ -1,11 +1,12 @@ from mflux.callbacks.callback_manager import CallbackManager -from mflux.config.config import Config -from mflux.config.model_config import ModelConfig +from mflux.cli.defaults import defaults as ui_defaults +from mflux.cli.parser.parsers import CommandLineParser +from mflux.models.common.config import ModelConfig +from mflux.models.flux.latent_creator.flux_latent_creator import FluxLatentCreator from mflux.models.flux.variants.txt2img.flux import Flux1 -from mflux.ui import defaults as ui_defaults -from mflux.ui.cli.parsers import CommandLineParser -from mflux.ui.prompt_utils import PromptUtils +from mflux.utils.dimension_resolver import DimensionResolver from mflux.utils.exceptions import PromptFileReadError, StopImageGenerationException +from mflux.utils.prompt_util import PromptUtil def main(): @@ -14,7 +15,7 @@ def main(): parser.add_general_arguments() parser.add_model_arguments(require_model_arg=False) parser.add_lora_arguments() - parser.add_image_generator_arguments(supports_metadata_config=True) + parser.add_image_generator_arguments(supports_metadata_config=True, supports_dimension_scale_factor=True) parser.add_image_to_image_arguments(required=False) parser.add_output_arguments() args = parser.parse_args() @@ -24,33 +25,42 @@ def main(): args.guidance = ui_defaults.GUIDANCE_SCALE # 1. Load the model - model = Flux1( + flux = Flux1( model_config=ModelConfig.from_name(model_name=args.model, base_model=args.base_model), quantize=args.quantize, - local_path=args.path, + model_path=args.model_path, lora_paths=args.lora_paths, lora_scales=args.lora_scales, ) # 2. Register callbacks - memory_saver = CallbackManager.register_callbacks(args=args, model=model) + memory_saver = CallbackManager.register_callbacks( + args=args, + model=flux, + latent_creator=FluxLatentCreator, + ) try: + # Resolve dimensions (supports ScaleFactor like "2x" when --image-path is provided) + width, height = DimensionResolver.resolve( + height=args.height, + width=args.width, + reference_image_path=args.image_path, + ) + for seed in args.seed: # 3. Generate an image for each seed value - image = model.generate_image( + image = flux.generate_image( seed=seed, - prompt=PromptUtils.get_effective_prompt(args), - negative_prompt=PromptUtils.get_effective_negative_prompt(args), - config=Config( - num_inference_steps=args.steps, - height=args.height, - width=args.width, - guidance=args.guidance, - image_path=args.image_path, - image_strength=args.image_strength, - scheduler=args.scheduler, - ), + prompt=PromptUtil.read_prompt(args), + width=width, + height=height, + guidance=args.guidance, + scheduler=args.scheduler, + image_path=args.image_path, + num_inference_steps=args.steps, + image_strength=args.image_strength, + negative_prompt=PromptUtil.read_negative_prompt(args), ) # 4. Save the image image.save(path=args.output.format(seed=seed), export_json_metadata=args.metadata) diff --git a/src/mflux/generate_controlnet.py b/src/mflux/models/flux/cli/flux_generate_controlnet.py similarity index 69% rename from src/mflux/generate_controlnet.py rename to src/mflux/models/flux/cli/flux_generate_controlnet.py index 20148b5..87a7782 100644 --- a/src/mflux/generate_controlnet.py +++ b/src/mflux/models/flux/cli/flux_generate_controlnet.py @@ -1,11 +1,11 @@ from mflux.callbacks.callback_manager import CallbackManager -from mflux.config.config import Config -from mflux.config.model_config import ModelConfig +from mflux.cli.defaults import defaults as ui_defaults +from mflux.cli.parser.parsers import CommandLineParser +from mflux.models.common.config import ModelConfig +from mflux.models.flux.latent_creator.flux_latent_creator import FluxLatentCreator from mflux.models.flux.variants.controlnet.flux_controlnet import Flux1Controlnet -from mflux.ui import defaults as ui_defaults -from mflux.ui.cli.parsers import CommandLineParser -from mflux.ui.prompt_utils import PromptUtils from mflux.utils.exceptions import PromptFileReadError, StopImageGenerationException +from mflux.utils.prompt_util import PromptUtil def main(): @@ -27,29 +27,32 @@ def main(): flux = Flux1Controlnet( model_config=_get_controlnet_model_config(args.model), quantize=args.quantize, - local_path=args.path, + model_path=args.model_path, lora_paths=args.lora_paths, lora_scales=args.lora_scales, ) # 2. Register callbacks - memory_saver = CallbackManager.register_callbacks(args=args, model=flux, enable_canny_saver=True) + memory_saver = CallbackManager.register_callbacks( + args=args, + model=flux, + latent_creator=FluxLatentCreator, + enable_canny_saver=True, + ) try: for seed in args.seed: # 3. Generate an image for each seed value image = flux.generate_image( seed=seed, - prompt=PromptUtils.get_effective_prompt(args), + prompt=PromptUtil.read_prompt(args), + width=args.width, + height=args.height, + guidance=args.guidance, + scheduler=args.scheduler, + num_inference_steps=args.steps, + controlnet_strength=args.controlnet_strength, controlnet_image_path=args.controlnet_image_path, - config=Config( - num_inference_steps=args.steps, - height=args.height, - width=args.width, - guidance=args.guidance, - controlnet_strength=args.controlnet_strength, - scheduler=args.scheduler, - ), ) # 4. Save the image diff --git a/src/mflux/generate_depth.py b/src/mflux/models/flux/cli/flux_generate_depth.py similarity index 65% rename from src/mflux/generate_depth.py rename to src/mflux/models/flux/cli/flux_generate_depth.py index bef1ac6..fae2467 100644 --- a/src/mflux/generate_depth.py +++ b/src/mflux/models/flux/cli/flux_generate_depth.py @@ -1,10 +1,10 @@ from mflux.callbacks.callback_manager import CallbackManager -from mflux.config.config import Config +from mflux.cli.defaults import defaults as ui_defaults +from mflux.cli.parser.parsers import CommandLineParser +from mflux.models.flux.latent_creator.flux_latent_creator import FluxLatentCreator from mflux.models.flux.variants.depth.flux_depth import Flux1Depth -from mflux.ui import defaults as ui_defaults -from mflux.ui.cli.parsers import CommandLineParser -from mflux.ui.prompt_utils import PromptUtils from mflux.utils.exceptions import PromptFileReadError, StopImageGenerationException +from mflux.utils.prompt_util import PromptUtil def main(): @@ -25,29 +25,32 @@ def main(): # 1. Load the model flux = Flux1Depth( quantize=args.quantize, - local_path=args.path, + model_path=args.model_path, lora_paths=args.lora_paths, lora_scales=args.lora_scales, ) # 2. Register callbacks - memory_saver = CallbackManager.register_callbacks(args=args, model=flux, enable_depth_saver=True) + memory_saver = CallbackManager.register_callbacks( + args=args, + model=flux, + latent_creator=FluxLatentCreator, + enable_depth_saver=True, + ) try: for seed in args.seed: # 3. Generate an image for each seed value image = flux.generate_image( seed=seed, - prompt=PromptUtils.get_effective_prompt(args), - config=Config( - num_inference_steps=args.steps, - height=args.height, - width=args.width, - guidance=args.guidance, - image_path=args.image_path, - depth_image_path=args.depth_image_path, - scheduler=args.scheduler, - ), + prompt=PromptUtil.read_prompt(args), + width=args.width, + height=args.height, + guidance=args.guidance, + scheduler=args.scheduler, + image_path=args.image_path, + num_inference_steps=args.steps, + depth_image_path=args.depth_image_path, ) # 4. Save the image diff --git a/src/mflux/generate_fill.py b/src/mflux/models/flux/cli/flux_generate_fill.py similarity index 66% rename from src/mflux/generate_fill.py rename to src/mflux/models/flux/cli/flux_generate_fill.py index 0e27ea9..74789f1 100644 --- a/src/mflux/generate_fill.py +++ b/src/mflux/models/flux/cli/flux_generate_fill.py @@ -1,10 +1,10 @@ from mflux.callbacks.callback_manager import CallbackManager -from mflux.config.config import Config +from mflux.cli.defaults import defaults as ui_defaults +from mflux.cli.parser.parsers import CommandLineParser +from mflux.models.flux.latent_creator.flux_latent_creator import FluxLatentCreator from mflux.models.flux.variants.fill.flux_fill import Flux1Fill -from mflux.ui import defaults as ui_defaults -from mflux.ui.cli.parsers import CommandLineParser -from mflux.ui.prompt_utils import PromptUtils from mflux.utils.exceptions import PromptFileReadError, StopImageGenerationException +from mflux.utils.prompt_util import PromptUtil def main(): @@ -25,29 +25,31 @@ def main(): # 1. Load the model flux = Flux1Fill( quantize=args.quantize, - local_path=args.path, + model_path=args.model_path, lora_paths=args.lora_paths, lora_scales=args.lora_scales, ) # 2. Register callbacks - memory_saver = CallbackManager.register_callbacks(args=args, model=flux) + memory_saver = CallbackManager.register_callbacks( + args=args, + model=flux, + latent_creator=FluxLatentCreator, + ) try: for seed in args.seed: # 3. Generate an image for each seed value image = flux.generate_image( seed=seed, - prompt=PromptUtils.get_effective_prompt(args), - config=Config( - num_inference_steps=args.steps, - height=args.height, - width=args.width, - guidance=args.guidance, - image_path=args.image_path, - masked_image_path=args.masked_image_path, - scheduler=args.scheduler, - ), + prompt=PromptUtil.read_prompt(args), + width=args.width, + height=args.height, + guidance=args.guidance, + scheduler=args.scheduler, + image_path=args.image_path, + num_inference_steps=args.steps, + masked_image_path=args.masked_image_path, ) # 4. Save the image diff --git a/src/mflux/generate_in_context_catvton.py b/src/mflux/models/flux/cli/flux_generate_in_context_catvton.py similarity index 76% rename from src/mflux/generate_in_context_catvton.py rename to src/mflux/models/flux/cli/flux_generate_in_context_catvton.py index b80fd7b..7928fdf 100644 --- a/src/mflux/generate_in_context_catvton.py +++ b/src/mflux/models/flux/cli/flux_generate_in_context_catvton.py @@ -1,13 +1,13 @@ from pathlib import Path from mflux.callbacks.callback_manager import CallbackManager -from mflux.config.config import Config -from mflux.config.model_config import ModelConfig +from mflux.cli.defaults import defaults as ui_defaults +from mflux.cli.parser.parsers import CommandLineParser +from mflux.models.common.config import ModelConfig +from mflux.models.flux.latent_creator.flux_latent_creator import FluxLatentCreator from mflux.models.flux.variants.in_context.flux_in_context_fill import Flux1InContextFill -from mflux.ui import defaults as ui_defaults -from mflux.ui.cli.parsers import CommandLineParser -from mflux.ui.prompt_utils import PromptUtils from mflux.utils.exceptions import PromptFileReadError, StopImageGenerationException +from mflux.utils.prompt_util import PromptUtil def main(): @@ -38,31 +38,32 @@ def main(): flux = Flux1InContextFill( model_config=ModelConfig.dev_fill_catvton(), quantize=args.quantize, - local_path=args.path, + model_path=args.model_path, lora_paths=args.lora_paths, lora_scales=args.lora_scales, ) # 2. Register callbacks - memory_saver = CallbackManager.register_callbacks(args=args, model=flux) + memory_saver = CallbackManager.register_callbacks( + args=args, + model=flux, + latent_creator=FluxLatentCreator, + ) try: for seed in args.seed: # 3. Generate an image for each seed value image = flux.generate_image( seed=seed, - prompt=PromptUtils.get_effective_prompt(args), + prompt=PromptUtil.read_prompt(args), + width=args.width, + height=args.height, + guidance=args.guidance, + scheduler=args.scheduler, + num_inference_steps=args.steps, left_image_path=args.garment_image, right_image_path=args.person_image, - config=Config( - num_inference_steps=args.steps, - height=args.height, - width=args.width, - guidance=args.guidance, - image_path=args.person_image, - masked_image_path=args.person_mask, - scheduler=args.scheduler, - ), + masked_image_path=args.person_mask, ) # 4. Save the image(s) diff --git a/src/mflux/generate_in_context_dev.py b/src/mflux/models/flux/cli/flux_generate_in_context_dev.py similarity index 61% rename from src/mflux/generate_in_context_dev.py rename to src/mflux/models/flux/cli/flux_generate_in_context_dev.py index 42dcca6..da5a1ad 100644 --- a/src/mflux/generate_in_context_dev.py +++ b/src/mflux/models/flux/cli/flux_generate_in_context_dev.py @@ -1,14 +1,14 @@ from pathlib import Path from mflux.callbacks.callback_manager import CallbackManager -from mflux.config.config import Config -from mflux.config.model_config import ModelConfig +from mflux.cli.defaults import defaults as ui_defaults +from mflux.cli.parser.parsers import CommandLineParser +from mflux.models.common.config import ModelConfig +from mflux.models.flux.latent_creator.flux_latent_creator import FluxLatentCreator from mflux.models.flux.variants.in_context.flux_in_context_dev import Flux1InContextDev -from mflux.models.flux.variants.in_context.utils.in_context_loras import LORA_REPO_ID, get_lora_filename -from mflux.ui import defaults as ui_defaults -from mflux.ui.cli.parsers import CommandLineParser -from mflux.ui.prompt_utils import PromptUtils +from mflux.models.flux.variants.in_context.utils.in_context_loras import get_lora_path from mflux.utils.exceptions import PromptFileReadError, StopImageGenerationException +from mflux.utils.prompt_util import PromptUtil def main(): @@ -31,33 +31,44 @@ def main(): if args.vae_tiling: args.vae_tiling_split = "vertical" + # Build lora_paths: style LoRA (if specified) + user-provided LoRAs + lora_paths = [] + lora_scales = [] + if args.lora_style: + lora_paths.append(get_lora_path(args.lora_style)) + lora_scales.append(1.0) + if args.lora_paths: + lora_paths.extend(args.lora_paths) + lora_scales.extend(args.lora_scales or [1.0] * len(args.lora_paths)) + # 1. Load the model flux = Flux1InContextDev( model_config=ModelConfig.dev(), quantize=args.quantize, - lora_names=[get_lora_filename(args.lora_style)] if args.lora_style else None, - lora_repo_id=LORA_REPO_ID if args.lora_style else None, - lora_paths=args.lora_paths, - lora_scales=args.lora_scales, + model_path=args.model_path, + lora_paths=lora_paths or None, + lora_scales=lora_scales or None, ) # 2. Register callbacks - memory_saver = CallbackManager.register_callbacks(args=args, model=flux) + memory_saver = CallbackManager.register_callbacks( + args=args, + model=flux, + latent_creator=FluxLatentCreator, + ) try: for seed in args.seed: # 3. Generate an image for each seed value image = flux.generate_image( seed=seed, - prompt=PromptUtils.get_effective_prompt(args), - config=Config( - num_inference_steps=args.steps, - height=args.height, - width=args.width, - guidance=args.guidance, - image_path=args.image_path, - scheduler=args.scheduler, - ), + prompt=PromptUtil.read_prompt(args), + width=args.width, + height=args.height, + guidance=args.guidance, + scheduler=args.scheduler, + image_path=args.image_path, + num_inference_steps=args.steps, ) # 4. Save the image output_path = Path(args.output.format(seed=seed)) diff --git a/src/mflux/generate_in_context_edit.py b/src/mflux/models/flux/cli/flux_generate_in_context_edit.py similarity index 50% rename from src/mflux/generate_in_context_edit.py rename to src/mflux/models/flux/cli/flux_generate_in_context_edit.py index cd1daa4..d3b85be 100644 --- a/src/mflux/generate_in_context_edit.py +++ b/src/mflux/models/flux/cli/flux_generate_in_context_edit.py @@ -1,15 +1,13 @@ from pathlib import Path -from PIL import Image - from mflux.callbacks.callback_manager import CallbackManager -from mflux.config.config import Config -from mflux.config.model_config import ModelConfig +from mflux.cli.defaults import defaults as ui_defaults +from mflux.cli.parser.parsers import CommandLineParser +from mflux.models.common.config import ModelConfig +from mflux.models.flux.latent_creator.flux_latent_creator import FluxLatentCreator from mflux.models.flux.variants.in_context.flux_in_context_fill import Flux1InContextFill -from mflux.models.flux.variants.in_context.utils.in_context_loras import prepare_ic_edit_loras -from mflux.ui import defaults as ui_defaults -from mflux.ui.cli.parsers import CommandLineParser -from mflux.ui.prompt_utils import PromptUtils +from mflux.models.flux.variants.in_context.utils.in_context_fill_util import FluxInContextFillUtil +from mflux.models.flux.variants.in_context.utils.in_context_loras import IC_EDIT_LORA_SCALE, get_ic_edit_lora_path from mflux.utils.exceptions import PromptFileReadError, StopImageGenerationException @@ -34,35 +32,44 @@ def main(): args.vae_tiling_split = "vertical" # Auto-resize to optimal width for IC-Edit - width, height = _resize_for_ic_edit_optimal_width(args) + width, height = FluxInContextFillUtil.resize_for_ic_edit_optimal_width(args) + + # Build lora_paths: IC-Edit LoRA (required) + user-provided LoRAs + lora_paths = [get_ic_edit_lora_path()] + lora_scales = [IC_EDIT_LORA_SCALE] + if args.lora_paths: + lora_paths.extend(args.lora_paths) + lora_scales.extend(args.lora_scales or [1.0] * len(args.lora_paths)) # 1. Load the model with IC-Edit LoRA flux = Flux1InContextFill( model_config=ModelConfig.dev_fill(), quantize=args.quantize, - local_path=args.path, - lora_paths=prepare_ic_edit_loras(args.lora_paths), - lora_scales=args.lora_scales, + model_path=args.model_path, + lora_paths=lora_paths, + lora_scales=lora_scales, ) # 2. Register callbacks - memory_saver = CallbackManager.register_callbacks(args=args, model=flux) + memory_saver = CallbackManager.register_callbacks( + args=args, + model=flux, + latent_creator=FluxLatentCreator, + ) try: for seed in args.seed: # 3. Generate an image for each seed value image = flux.generate_image( seed=seed, - prompt=_get_effective_ic_edit_prompt(args), + prompt=FluxInContextFillUtil.get_effective_ic_edit_prompt(args), + width=width, + height=height, + guidance=args.guidance, + scheduler=args.scheduler, + num_inference_steps=args.steps, left_image_path=args.reference_image, right_image_path=None, - config=Config( - num_inference_steps=args.steps, - height=height, - width=width, - guidance=args.guidance, - scheduler=args.scheduler, - ), ) # 4. Save the image(s) @@ -78,28 +85,5 @@ def main(): print(memory_saver.memory_stats()) -def _get_effective_ic_edit_prompt(args): - if hasattr(args, "instruction") and args.instruction: - return f"A diptych with two side-by-side images of the same scene. On the right, the scene is exactly the same as on the left but {args.instruction}" - else: - return PromptUtils.get_effective_prompt(args) - - -def _resize_for_ic_edit_optimal_width(args): - with Image.open(args.reference_image) as img: - actual_width, actual_height = img.size - aspect_ratio = actual_height / actual_width - original_args_width = args.width - original_args_height = args.height - optimal_width = 512 - optimal_height = int(512 * aspect_ratio) - optimal_height = (optimal_height // 8) * 8 - print(f"[INFO] IC-Edit LoRA trained on 512px width. Auto-resizing from actual image {actual_width}x{actual_height} to {optimal_width}x{optimal_height}") # fmt:off - print(f"[INFO] Aspect ratio maintained: {aspect_ratio:.3f}") - if original_args_width != actual_width or original_args_height != actual_height: - print(f"[INFO] Note: Command line args specified {original_args_width}x{original_args_height}, but using actual image dimensions for scaling") # fmt:off - return optimal_width, optimal_height - - if __name__ == "__main__": main() diff --git a/src/mflux/generate_kontext.py b/src/mflux/models/flux/cli/flux_generate_kontext.py similarity index 60% rename from src/mflux/generate_kontext.py rename to src/mflux/models/flux/cli/flux_generate_kontext.py index 6f89a29..794fd51 100644 --- a/src/mflux/generate_kontext.py +++ b/src/mflux/models/flux/cli/flux_generate_kontext.py @@ -1,12 +1,13 @@ from pathlib import Path from mflux.callbacks.callback_manager import CallbackManager -from mflux.config.config import Config +from mflux.cli.defaults import defaults as ui_defaults +from mflux.cli.parser.parsers import CommandLineParser +from mflux.models.flux.latent_creator.flux_latent_creator import FluxLatentCreator from mflux.models.flux.variants.kontext.flux_kontext import Flux1Kontext -from mflux.ui import defaults as ui_defaults -from mflux.ui.cli.parsers import CommandLineParser -from mflux.ui.prompt_utils import PromptUtils +from mflux.utils.dimension_resolver import DimensionResolver from mflux.utils.exceptions import PromptFileReadError, StopImageGenerationException +from mflux.utils.prompt_util import PromptUtil def main(): @@ -15,7 +16,7 @@ def main(): parser.add_general_arguments() parser.add_model_arguments(require_model_arg=False) parser.add_lora_arguments() - parser.add_image_generator_arguments(supports_metadata_config=True) + parser.add_image_generator_arguments(supports_metadata_config=True, supports_dimension_scale_factor=True) parser.add_image_to_image_arguments(required=True) parser.add_output_arguments() args = parser.parse_args() @@ -27,28 +28,37 @@ def main(): # 1. Load the model flux = Flux1Kontext( quantize=args.quantize, - local_path=args.path, + model_path=args.model_path, lora_paths=args.lora_paths, lora_scales=args.lora_scales, ) # 2. Register callbacks - memory_saver = CallbackManager.register_callbacks(args=args, model=flux) + memory_saver = CallbackManager.register_callbacks( + args=args, + model=flux, + latent_creator=FluxLatentCreator, + ) try: + # Resolve dimensions (supports ScaleFactor like "2x" based on --image-path) + width, height = DimensionResolver.resolve( + width=args.width, + height=args.height, + reference_image_path=args.image_path, + ) + for seed in args.seed: # 3. Generate an image for each seed value image = flux.generate_image( seed=seed, - prompt=PromptUtils.get_effective_prompt(args), - config=Config( - num_inference_steps=args.steps, - height=args.height, - width=args.width, - guidance=args.guidance, - image_path=args.image_path, - scheduler=args.scheduler, - ), + prompt=PromptUtil.read_prompt(args), + width=width, + height=height, + guidance=args.guidance, + scheduler=args.scheduler, + image_path=args.image_path, + num_inference_steps=args.steps, ) # 4. Save the image diff --git a/src/mflux/generate_redux.py b/src/mflux/models/flux/cli/flux_generate_redux.py similarity index 50% rename from src/mflux/generate_redux.py rename to src/mflux/models/flux/cli/flux_generate_redux.py index e198259..04621cd 100644 --- a/src/mflux/generate_redux.py +++ b/src/mflux/models/flux/cli/flux_generate_redux.py @@ -1,13 +1,12 @@ -from pathlib import Path - from mflux.callbacks.callback_manager import CallbackManager -from mflux.config.config import Config -from mflux.config.model_config import ModelConfig +from mflux.cli.defaults import defaults as ui_defaults +from mflux.cli.parser.parsers import CommandLineParser +from mflux.models.common.config import ModelConfig +from mflux.models.flux.latent_creator.flux_latent_creator import FluxLatentCreator from mflux.models.flux.variants.redux.flux_redux import Flux1Redux -from mflux.ui import defaults as ui_defaults -from mflux.ui.cli.parsers import CommandLineParser -from mflux.ui.prompt_utils import PromptUtils +from mflux.models.flux.variants.redux.redux_util import ReduxUtil from mflux.utils.exceptions import PromptFileReadError, StopImageGenerationException +from mflux.utils.prompt_util import PromptUtil def main(): @@ -26,7 +25,7 @@ def main(): args.guidance = ui_defaults.GUIDANCE_SCALE # Validate and normalize redux image strengths - redux_image_strengths = _validate_redux_image_strengths( + redux_image_strengths = ReduxUtil.validate_redux_image_strengths( redux_image_paths=args.redux_image_paths, redux_image_strengths=args.redux_image_strengths, ) @@ -35,29 +34,31 @@ def main(): flux = Flux1Redux( model_config=ModelConfig.dev_redux(), quantize=args.quantize, - local_path=args.path, + model_path=args.model_path, lora_paths=args.lora_paths, lora_scales=args.lora_scales, ) # 2. Register callbacks - memory_saver = CallbackManager.register_callbacks(args=args, model=flux) + memory_saver = CallbackManager.register_callbacks( + args=args, + model=flux, + latent_creator=FluxLatentCreator, + ) try: for seed in args.seed: # 3. Generate an image for each seed value image = flux.generate_image( seed=seed, - prompt=PromptUtils.get_effective_prompt(args), - config=Config( - num_inference_steps=args.steps, - height=args.height, - width=args.width, - guidance=args.guidance, - redux_image_paths=args.redux_image_paths, - redux_image_strengths=redux_image_strengths, - scheduler=args.scheduler, - ), + prompt=PromptUtil.read_prompt(args), + width=args.width, + height=args.height, + guidance=args.guidance, + scheduler=args.scheduler, + num_inference_steps=args.steps, + redux_image_paths=args.redux_image_paths, + redux_image_strengths=redux_image_strengths, ) # 4. Save the image @@ -69,25 +70,5 @@ def main(): print(memory_saver.memory_stats()) -def _validate_redux_image_strengths( - redux_image_paths: list[Path], - redux_image_strengths: list[float] | None, -) -> list[float] | None: - if not redux_image_strengths or len(redux_image_strengths) == 0: - return redux_image_strengths - - # If strengths provided but not enough for all images, fill with default (1.0) - if len(redux_image_strengths) < len(redux_image_paths): - redux_image_strengths.extend([1.0] * (len(redux_image_paths) - len(redux_image_strengths))) - - # If too many strengths provided, raise error - elif len(redux_image_strengths) > len(redux_image_paths): - raise ValueError( - f"Too many strengths provided ({len(redux_image_strengths)}), expted at most {len(redux_image_paths)}." - ) - - return redux_image_strengths - - if __name__ == "__main__": main() diff --git a/src/mflux/models/flux/cli/flux_upscale.py b/src/mflux/models/flux/cli/flux_upscale.py new file mode 100644 index 0000000..87fd1a6 --- /dev/null +++ b/src/mflux/models/flux/cli/flux_upscale.py @@ -0,0 +1,68 @@ +from mflux.callbacks.callback_manager import CallbackManager +from mflux.cli.parser.parsers import CommandLineParser +from mflux.models.common.config import ModelConfig +from mflux.models.flux.latent_creator.flux_latent_creator import FluxLatentCreator +from mflux.models.flux.variants.controlnet.flux_controlnet import Flux1Controlnet +from mflux.utils.dimension_resolver import DimensionResolver +from mflux.utils.exceptions import PromptFileReadError, StopImageGenerationException +from mflux.utils.prompt_util import PromptUtil + + +def main(): + # 0. Parse command line arguments + parser = CommandLineParser(description="Upscale an image.") + parser.add_general_arguments() + parser.add_model_arguments(require_model_arg=False) + parser.add_lora_arguments() + parser.add_image_generator_arguments(supports_metadata_config=False, supports_dimension_scale_factor=True) + parser.add_controlnet_arguments(require_image=True) + parser.add_output_arguments() + args = parser.parse_args() + + # 1. Load the model + flux = Flux1Controlnet( + model_config=ModelConfig.dev_controlnet_upscaler(), + quantize=args.quantize, + model_path=args.model_path, + lora_paths=args.lora_paths, + lora_scales=args.lora_scales, + ) + + # 2. Register the optional callbacks + memory_saver = CallbackManager.register_callbacks( + args=args, + model=flux, + latent_creator=FluxLatentCreator, + ) + + try: + # Resolve dimensions using the controlnet image as reference + width, height = DimensionResolver.resolve( + height=args.height, + width=args.width, + reference_image_path=args.controlnet_image_path, + ) + + for seed in args.seed: + # 3. Generate an upscaled image for each seed value + image = flux.generate_image( + seed=seed, + prompt=PromptUtil.read_prompt(args), + width=width, + height=height, + num_inference_steps=args.steps, + controlnet_strength=args.controlnet_strength, + controlnet_image_path=args.controlnet_image_path, + ) + + # 4. Save the image + image.save(path=args.output.format(seed=seed), export_json_metadata=args.metadata) + except (StopImageGenerationException, PromptFileReadError) as exc: + print(exc) + finally: + if memory_saver: + print(memory_saver.memory_stats()) + + +if __name__ == "__main__": + main() diff --git a/src/mflux/models/flux/flux_initializer.py b/src/mflux/models/flux/flux_initializer.py index 4db5cd3..36e480a 100644 --- a/src/mflux/models/flux/flux_initializer.py +++ b/src/mflux/models/flux/flux_initializer.py @@ -1,236 +1,217 @@ -from mflux.config.model_config import ModelConfig -from mflux.models.depth_pro.depth_pro import DepthPro +from mflux.callbacks.callback_registry import CallbackRegistry +from mflux.models.common.config import ModelConfig +from mflux.models.common.lora.mapping.lora_loader import LoRALoader +from mflux.models.common.tokenizer import TokenizerLoader +from mflux.models.common.weights.loading.loaded_weights import LoadedWeights +from mflux.models.common.weights.loading.weight_applier import WeightApplier +from mflux.models.common.weights.loading.weight_loader import WeightLoader +from mflux.models.depth_pro.model.depth_pro import DepthPro from mflux.models.flux.model.flux_text_encoder.clip_encoder.clip_encoder import CLIPEncoder from mflux.models.flux.model.flux_text_encoder.t5_encoder.t5_encoder import T5Encoder from mflux.models.flux.model.flux_transformer.transformer import Transformer from mflux.models.flux.model.flux_vae.vae import VAE from mflux.models.flux.model.redux_encoder.redux_encoder import ReduxEncoder from mflux.models.flux.model.siglip_vision_transformer.siglip_vision_transformer import SiglipVisionTransformer -from mflux.models.flux.tokenizer.clip_tokenizer import TokenizerCLIP -from mflux.models.flux.tokenizer.t5_tokenizer import TokenizerT5 -from mflux.models.flux.tokenizer.tokenizer_handler import TokenizerHandler from mflux.models.flux.variants.controlnet.transformer_controlnet import TransformerControlnet -from mflux.models.flux.variants.controlnet.weight_handler_controlnet import WeightHandlerControlnet -from mflux.models.flux.variants.redux.weight_handler_redux import WeightHandlerRedux -from mflux.models.common.lora.download.lora_huggingface_downloader import LoRAHuggingFaceDownloader -from mflux.models.flux.weights.weight_handler import WeightHandler -from mflux.models.flux.weights.weight_handler_lora import WeightHandlerLoRA -from mflux.models.flux.weights.weight_util import WeightUtil +from mflux.models.flux.weights.flux_lora_mapping import FluxLoRAMapping +from mflux.models.flux.weights.flux_weight_definition import ( + FluxControlnetWeightDefinition, + FluxReduxWeightDefinition, + FluxWeightDefinition, +) class FluxInitializer: @staticmethod def init( - flux_model, + model, model_config: ModelConfig, quantize: int | None, - local_path: str | None, + model_path: str | None = None, lora_paths: list[str] | None = None, lora_scales: list[float] | None = None, - lora_names: list[str] | None = None, - lora_repo_id: str | None = None, custom_transformer=None, ) -> None: - # 0. Set paths, configs, and prompt_cache for later - lora_paths = lora_paths or [] - flux_model.prompt_cache = {} - flux_model.model_config = model_config - - # 1. Load the regular weights - weights = WeightHandler.load_regular_weights( - repo_id=model_config.model_name, - local_path=local_path, - transformer_repo_id=model_config.custom_transformer_model, - ) - - # 2. Initialize tokenizers - tokenizers = TokenizerHandler( - repo_id=model_config.model_name, - max_t5_length=model_config.max_sequence_length, - local_path=local_path, - ) - flux_model.t5_tokenizer = TokenizerT5( - tokenizer=tokenizers.t5, - max_length=model_config.max_sequence_length, - ) - flux_model.clip_tokenizer = TokenizerCLIP( - tokenizer=tokenizers.clip, - ) - - # 3. Initialize all models - flux_model.vae = VAE() - flux_model.t5_text_encoder = T5Encoder() - flux_model.clip_text_encoder = CLIPEncoder() - if custom_transformer is not None: - flux_model.transformer = custom_transformer - else: - flux_model.transformer = Transformer( - model_config=model_config, - num_transformer_blocks=weights.num_transformer_blocks(), - num_single_transformer_blocks=weights.num_single_transformer_blocks(), - ) - - # 4. Apply weights and quantize the models - flux_model.bits = WeightUtil.set_weights_and_quantize( - quantize_arg=quantize, - weights=weights, - vae=flux_model.vae, - transformer=flux_model.transformer, - t5_text_encoder=flux_model.t5_text_encoder, - clip_text_encoder=flux_model.clip_text_encoder, - ) - - # 5. Set LoRA weights - hf_lora_paths = LoRAHuggingFaceDownloader.download_loras( - lora_names=lora_names, - repo_id=lora_repo_id, - model_name="Flux", - ) - flux_model.lora_paths = lora_paths + hf_lora_paths - flux_model.lora_scales = (lora_scales or []) + [1.0] * len(hf_lora_paths) - lora_weights = WeightHandlerLoRA.load_lora_weights( - transformer=flux_model.transformer, - lora_files=flux_model.lora_paths, - lora_scales=flux_model.lora_scales, - ) - WeightHandlerLoRA.set_lora_weights( - transformer=flux_model.transformer, - loras=lora_weights, - ) + path = model_path if model_path else model_config.model_name + FluxInitializer._init_config(model, model_config) + weights = FluxInitializer._load_weights(path) + FluxInitializer._init_tokenizers(model, path, model_config) + FluxInitializer._init_models(model, model_config, weights, custom_transformer) + FluxInitializer._apply_weights(model, weights, quantize) + FluxInitializer._apply_lora(model, lora_paths, lora_scales) @staticmethod def init_depth( - flux_model, + model, model_config: ModelConfig, quantize: int | None, - local_path: str | None, + model_path: str | None = None, lora_paths: list[str] | None = None, lora_scales: list[float] | None = None, - lora_names: list[str] | None = None, - lora_repo_id: str | None = None, - ): - # 1. Start with the same init as regular Flux + ) -> None: FluxInitializer.init( - flux_model=flux_model, + model=model, model_config=model_config, quantize=quantize, - local_path=local_path, + model_path=model_path, lora_paths=lora_paths, lora_scales=lora_scales, - lora_names=lora_names, - lora_repo_id=lora_repo_id, ) - - # 2. Initialize the DepthPro model - flux_model.depth_pro = DepthPro() + model.depth_pro = DepthPro() @staticmethod def init_redux( - flux_model, + model, + model_config: ModelConfig, quantize: int | None, - local_path: str | None, + model_path: str | None = None, lora_paths: list[str] | None = None, lora_scales: list[float] | None = None, - lora_names: list[str] | None = None, - lora_repo_id: str | None = None, - ): - # 1. Start with the same init as regular Flux dev + ) -> None: FluxInitializer.init( - flux_model=flux_model, - model_config=ModelConfig.dev(), + model=model, quantize=quantize, - local_path=local_path, + model_path=model_path, lora_paths=lora_paths, lora_scales=lora_scales, - lora_names=lora_names, - lora_repo_id=lora_repo_id, + model_config=model_config, ) - # 2. Initialize the redux specific addons - redux_weights = WeightHandlerRedux.load_weights() - flux_model.image_embedder = ReduxEncoder() - flux_model.image_encoder = SiglipVisionTransformer() - WeightUtil.set_redux_weights_and_quantize( - quantize_arg=quantize, + redux_weights = WeightLoader.load( + weight_definition=FluxReduxWeightDefinition, + model_path=ModelConfig.dev_redux().model_name, + ) + model.image_embedder = ReduxEncoder() + model.image_encoder = SiglipVisionTransformer() + WeightApplier.apply_and_quantize( weights=redux_weights, - redux_encoder=flux_model.image_embedder, - siglip_vision_transformer=flux_model.image_encoder, + quantize_arg=quantize, + weight_definition=FluxReduxWeightDefinition, + models={ + "siglip": model.image_encoder, + "redux_encoder": model.image_embedder, + }, ) @staticmethod def init_controlnet( - flux_model, + model, model_config: ModelConfig, quantize: int | None, - local_path: str | None, + model_path: str | None = None, lora_paths: list[str] | None = None, lora_scales: list[float] | None = None, - lora_names: list[str] | None = None, - lora_repo_id: str | None = None, ) -> None: - # 1. Start with the same init as regular Flux FluxInitializer.init( - flux_model=flux_model, + model=model, model_config=model_config, quantize=quantize, - local_path=local_path, + model_path=model_path, lora_paths=lora_paths, lora_scales=lora_scales, - lora_names=lora_names, - lora_repo_id=lora_repo_id, ) - # 2. Apply ControlNet-specific initialization - weights_controlnet = WeightHandlerControlnet.load_controlnet_transformer( - controlnet_model=model_config.controlnet_model + controlnet_component = FluxControlnetWeightDefinition.get_controlnet_component() + controlnet_weights = WeightLoader.load_single( + component=controlnet_component, + repo_id=model_config.controlnet_model, ) - flux_model.transformer_controlnet = TransformerControlnet( + model.transformer_controlnet = TransformerControlnet( model_config=model_config, - num_transformer_blocks=weights_controlnet.num_transformer_blocks(), - num_single_transformer_blocks=weights_controlnet.num_single_transformer_blocks(), + num_transformer_blocks=controlnet_weights.num_transformer_blocks(), + num_single_transformer_blocks=controlnet_weights.num_single_transformer_blocks(), ) - WeightUtil.set_controlnet_weights_and_quantize( + WeightApplier.apply_and_quantize_single( + weights=controlnet_weights, + model=model.transformer_controlnet, + component=controlnet_component, quantize_arg=quantize, - weights=weights_controlnet, - transformer_controlnet=flux_model.transformer_controlnet, + quantization_predicate=FluxWeightDefinition.quantization_predicate, ) @staticmethod def init_concept( - flux_model, + model, model_config: ModelConfig, quantize: int | None, - local_path: str | None, + model_path: str | None = None, lora_paths: list[str] | None = None, lora_scales: list[float] | None = None, - lora_names: list[str] | None = None, - lora_repo_id: str | None = None, - ): - # Import here to avoid circular dependency + ) -> None: from mflux.models.flux.variants.concept_attention.transformer_concept import TransformerConcept - # 1. Load weights first to get flux_transformer dimensions - weights = WeightHandler.load_regular_weights( - repo_id=model_config.model_name, - local_path=local_path, - ) - - # 2. Create custom TransformerConcept + path = model_path if model_path else model_config.model_name + FluxInitializer._init_config(model, model_config) + weights = FluxInitializer._load_weights(path) + FluxInitializer._init_tokenizers(model, path, model_config) custom_transformer = TransformerConcept( model_config=model_config, num_transformer_blocks=weights.num_transformer_blocks(), num_single_transformer_blocks=weights.num_single_transformer_blocks(), ) + FluxInitializer._init_models(model, model_config, weights, custom_transformer) + FluxInitializer._apply_weights(model, weights, quantize) + FluxInitializer._apply_lora(model, lora_paths, lora_scales) - # 3. Use the improved FluxInitializer with custom flux_transformer - FluxInitializer.init( - flux_model=flux_model, - model_config=model_config, - quantize=quantize, - local_path=local_path, + @staticmethod + def _init_config(model, model_config: ModelConfig) -> None: + model.prompt_cache = {} + model.model_config = model_config + model.callbacks = CallbackRegistry() + + @staticmethod + def _load_weights(model_path: str) -> LoadedWeights: + return WeightLoader.load( + weight_definition=FluxWeightDefinition, + model_path=model_path, + ) + + @staticmethod + def _init_tokenizers(model, model_path: str, model_config: ModelConfig) -> None: + model.tokenizers = TokenizerLoader.load_all( + definitions=FluxWeightDefinition.get_tokenizers(), + model_path=model_path, + max_length_overrides={"t5": model_config.max_sequence_length}, + ) + + @staticmethod + def _init_models( + model, + model_config: ModelConfig, + weights: LoadedWeights, + custom_transformer=None, + ) -> None: + model.vae = VAE() + model.t5_text_encoder = T5Encoder() + model.clip_text_encoder = CLIPEncoder() + if custom_transformer is not None: + model.transformer = custom_transformer + else: + model.transformer = Transformer( + model_config=model_config, + num_transformer_blocks=weights.num_transformer_blocks(), + num_single_transformer_blocks=weights.num_single_transformer_blocks(), + ) + + @staticmethod + def _apply_weights(model, weights: LoadedWeights, quantize: int | None) -> None: + model.bits = WeightApplier.apply_and_quantize( + weights=weights, + quantize_arg=quantize, + weight_definition=FluxWeightDefinition, + models={ + "vae": model.vae, + "transformer": model.transformer, + "t5_encoder": model.t5_text_encoder, + "clip_encoder": model.clip_text_encoder, + }, + ) + + @staticmethod + def _apply_lora(model, lora_paths: list[str] | None, lora_scales: list[float] | None) -> None: + model.lora_paths, model.lora_scales = LoRALoader.load_and_apply_lora( + lora_mapping=FluxLoRAMapping.get_mapping(), + transformer=model.transformer, lora_paths=lora_paths, lora_scales=lora_scales, - lora_names=lora_names, - lora_repo_id=lora_repo_id, - custom_transformer=custom_transformer, ) diff --git a/src/mflux/models/flux/latent_creator/flux_latent_creator.py b/src/mflux/models/flux/latent_creator/flux_latent_creator.py index 89d393e..2b41462 100644 --- a/src/mflux/models/flux/latent_creator/flux_latent_creator.py +++ b/src/mflux/models/flux/latent_creator/flux_latent_creator.py @@ -10,7 +10,13 @@ class FluxLatentCreator: ) @staticmethod - def pack_latents(latents: mx.array, height: int, width: int) -> mx.array: - latents = mx.reshape(latents, (1, 16, height // 16, 2, width // 16, 2)) + def pack_latents(latents: mx.array, height: int, width: int, num_channels_latents: int = 16) -> mx.array: + latents = mx.reshape(latents, (1, num_channels_latents, height // 16, 2, width // 16, 2)) latents = mx.transpose(latents, (0, 2, 4, 1, 3, 5)) - return mx.reshape(latents, (1, (width // 16) * (height // 16), 64)) + return mx.reshape(latents, (1, (width // 16) * (height // 16), num_channels_latents * 4)) + + @staticmethod + def unpack_latents(latents: mx.array, height: int, width: int) -> mx.array: + latents = mx.reshape(latents, (1, height // 16, width // 16, 16, 2, 2)) + latents = mx.transpose(latents, (0, 3, 1, 4, 2, 5)) + return mx.reshape(latents, (1, 16, height // 16 * 2, width // 16 * 2)) diff --git a/src/mflux/models/flux/model/flux_text_encoder/clip_encoder/clip_embeddings.py b/src/mflux/models/flux/model/flux_text_encoder/clip_encoder/clip_embeddings.py index cc6c553..5f5782d 100644 --- a/src/mflux/models/flux/model/flux_text_encoder/clip_encoder/clip_embeddings.py +++ b/src/mflux/models/flux/model/flux_text_encoder/clip_encoder/clip_embeddings.py @@ -1,13 +1,11 @@ import mlx.core as mx from mlx import nn -from mflux.models.flux.tokenizer.clip_tokenizer import TokenizerCLIP - class CLIPEmbeddings(nn.Module): def __init__(self, dims: int): super().__init__() - self.position_embedding = nn.Embedding(num_embeddings=TokenizerCLIP.MAX_TOKEN_LENGTH, dims=dims) + self.position_embedding = nn.Embedding(num_embeddings=77, dims=dims) self.token_embedding = nn.Embedding(num_embeddings=49408, dims=dims) def __call__(self, tokens: mx.array) -> mx.array: diff --git a/src/mflux/models/flux/model/flux_text_encoder/clip_encoder/clip_sdpa_attention.py b/src/mflux/models/flux/model/flux_text_encoder/clip_encoder/clip_sdpa_attention.py index cc560ea..7127387 100644 --- a/src/mflux/models/flux/model/flux_text_encoder/clip_encoder/clip_sdpa_attention.py +++ b/src/mflux/models/flux/model/flux_text_encoder/clip_encoder/clip_sdpa_attention.py @@ -2,7 +2,7 @@ import mlx.core as mx from mlx import nn from mlx.core.fast import scaled_dot_product_attention -from mflux.config.config import Config +from mflux.models.common.config import ModelConfig class CLIPSdpaAttention(nn.Module): @@ -18,7 +18,7 @@ class CLIPSdpaAttention(nn.Module): self.out_proj = nn.Linear(input_dims=768, output_dims=768) def __call__(self, hidden_states: mx.array, causal_attention_mask: mx.array) -> mx.array: - causal_attention_mask = causal_attention_mask.astype(Config.precision) + causal_attention_mask = causal_attention_mask.astype(ModelConfig.precision) query = self.q_proj(hidden_states) key = self.k_proj(hidden_states) diff --git a/src/mflux/models/flux/model/flux_text_encoder/prompt_encoder.py b/src/mflux/models/flux/model/flux_text_encoder/prompt_encoder.py index 5b702d6..a119cd6 100644 --- a/src/mflux/models/flux/model/flux_text_encoder/prompt_encoder.py +++ b/src/mflux/models/flux/model/flux_text_encoder/prompt_encoder.py @@ -1,9 +1,8 @@ import mlx.core as mx +from mflux.models.common.tokenizer import Tokenizer from mflux.models.flux.model.flux_text_encoder.clip_encoder.clip_encoder import CLIPEncoder from mflux.models.flux.model.flux_text_encoder.t5_encoder.t5_encoder import T5Encoder -from mflux.models.flux.tokenizer.clip_tokenizer import TokenizerCLIP -from mflux.models.flux.tokenizer.t5_tokenizer import TokenizerT5 class PromptEncoder: @@ -11,8 +10,8 @@ class PromptEncoder: def encode_prompt( prompt: str, prompt_cache: dict[str, tuple[mx.array, mx.array]], - t5_tokenizer: TokenizerT5, - clip_tokenizer: TokenizerCLIP, + t5_tokenizer: Tokenizer, + clip_tokenizer: Tokenizer, t5_text_encoder: T5Encoder, clip_text_encoder: CLIPEncoder, ) -> tuple[mx.array, mx.array]: @@ -21,10 +20,10 @@ class PromptEncoder: return prompt_cache[prompt] # 1. Encode the prompt - t5_tokens = t5_tokenizer.tokenize(prompt) - clip_tokens = clip_tokenizer.tokenize(prompt) - prompt_embeds = t5_text_encoder(t5_tokens) - pooled_prompt_embeds = clip_text_encoder(clip_tokens) + t5_output = t5_tokenizer.tokenize(prompt) + clip_output = clip_tokenizer.tokenize(prompt) + prompt_embeds = t5_text_encoder(t5_output.input_ids) + pooled_prompt_embeds = clip_text_encoder(clip_output.input_ids) # 2. Cache the encoded prompt prompt_cache[prompt] = (prompt_embeds, pooled_prompt_embeds) diff --git a/src/mflux/models/flux/model/flux_transformer/ada_layer_norm_continuous.py b/src/mflux/models/flux/model/flux_transformer/ada_layer_norm_continuous.py index 801e54c..3599851 100644 --- a/src/mflux/models/flux/model/flux_transformer/ada_layer_norm_continuous.py +++ b/src/mflux/models/flux/model/flux_transformer/ada_layer_norm_continuous.py @@ -1,7 +1,7 @@ import mlx.core as mx from mlx import nn -from mflux.config.config import Config +from mflux.models.common.config import ModelConfig class AdaLayerNormContinuous(nn.Module): @@ -12,7 +12,7 @@ class AdaLayerNormContinuous(nn.Module): self.norm = nn.LayerNorm(dims=embedding_dim, eps=1e-6, affine=False) def __call__(self, x: mx.array, text_embeddings: mx.array) -> mx.array: - text_embeddings = self.linear(nn.silu(text_embeddings).astype(Config.precision)) + text_embeddings = self.linear(nn.silu(text_embeddings).astype(ModelConfig.precision)) chunk_size = self.embedding_dim scale = text_embeddings[:, 0 * chunk_size : 1 * chunk_size] shift = text_embeddings[:, 1 * chunk_size : 2 * chunk_size] diff --git a/src/mflux/models/flux/model/flux_transformer/time_text_embed.py b/src/mflux/models/flux/model/flux_transformer/time_text_embed.py index a979fd6..87d008d 100644 --- a/src/mflux/models/flux/model/flux_transformer/time_text_embed.py +++ b/src/mflux/models/flux/model/flux_transformer/time_text_embed.py @@ -3,8 +3,7 @@ import math import mlx.core as mx from mlx import nn -from mflux.config.config import Config -from mflux.config.model_config import ModelConfig +from mflux.models.common.config import ModelConfig from mflux.models.flux.model.flux_transformer.guidance_embedder import GuidanceEmbedder from mflux.models.flux.model.flux_transformer.text_embedder import TextEmbedder from mflux.models.flux.model.flux_transformer.timestep_embedder import TimestepEmbedder @@ -29,7 +28,7 @@ class TimeTextEmbed(nn.Module): time_steps_emb += self.guidance_embedder(self._time_proj(guidance)) pooled_projections = self.text_embedder(pooled_projection) conditioning = time_steps_emb + pooled_projections - return conditioning.astype(Config.precision) + return conditioning.astype(ModelConfig.precision) @staticmethod def _time_proj(time_steps: mx.array) -> mx.array: diff --git a/src/mflux/models/flux/model/flux_transformer/transformer.py b/src/mflux/models/flux/model/flux_transformer/transformer.py index e8228ba..e72eb38 100644 --- a/src/mflux/models/flux/model/flux_transformer/transformer.py +++ b/src/mflux/models/flux/model/flux_transformer/transformer.py @@ -3,8 +3,8 @@ import math import mlx.core as mx from mlx import nn -from mflux.config.model_config import ModelConfig -from mflux.config.runtime_config import RuntimeConfig +from mflux.models.common.config.config import Config +from mflux.models.common.config.model_config import ModelConfig from mflux.models.flux.model.flux_transformer.ada_layer_norm_continuous import AdaLayerNormContinuous from mflux.models.flux.model.flux_transformer.embed_nd import EmbedND from mflux.models.flux.model.flux_transformer.joint_transformer_block import JointTransformerBlock @@ -32,7 +32,7 @@ class Transformer(nn.Module): def __call__( self, t: int, - config: RuntimeConfig, + config: Config, hidden_states: mx.array, prompt_embeds: mx.array, pooled_prompt_embeds: mx.array, @@ -130,7 +130,7 @@ class Transformer(nn.Module): def compute_rotary_embeddings( prompt_embeds: mx.array, pos_embed: EmbedND, - config: RuntimeConfig, + config: Config, kontext_image_ids: mx.array | None = None, ) -> mx.array: txt_ids = Transformer._prepare_text_ids(seq_len=prompt_embeds.shape[1]) @@ -148,7 +148,7 @@ class Transformer(nn.Module): t: int, pooled_prompt_embeds: mx.array, time_text_embed: TimeTextEmbed, - config: RuntimeConfig, + config: Config, ) -> mx.array: time_step = config.scheduler.sigmas[t] * config.num_train_steps time_step = mx.broadcast_to(time_step, (1,)).astype(config.precision) diff --git a/src/mflux/models/flux/model/flux_vae/common/attention.py b/src/mflux/models/flux/model/flux_vae/common/attention.py index 1ad1568..374610a 100644 --- a/src/mflux/models/flux/model/flux_vae/common/attention.py +++ b/src/mflux/models/flux/model/flux_vae/common/attention.py @@ -2,7 +2,7 @@ import mlx.core as mx from mlx import nn from mlx.core.fast import scaled_dot_product_attention -from mflux.config.config import Config +from mflux.models.common.config import ModelConfig class Attention(nn.Module): @@ -19,7 +19,7 @@ class Attention(nn.Module): B, H, W, C = input_array.shape - y = self.group_norm(input_array.astype(mx.float32)).astype(Config.precision) + y = self.group_norm(input_array.astype(mx.float32)).astype(ModelConfig.precision) queries = self.to_q(y).reshape(B, H * W, 1, C) keys = self.to_k(y).reshape(B, H * W, 1, C) diff --git a/src/mflux/models/flux/model/flux_vae/common/resnet_block_2d.py b/src/mflux/models/flux/model/flux_vae/common/resnet_block_2d.py index fe1e65a..3e1932b 100644 --- a/src/mflux/models/flux/model/flux_vae/common/resnet_block_2d.py +++ b/src/mflux/models/flux/model/flux_vae/common/resnet_block_2d.py @@ -1,7 +1,7 @@ import mlx.core as mx from mlx import nn -from mflux.config.config import Config +from mflux.models.common.config import ModelConfig class ResnetBlock2D(nn.Module): @@ -60,10 +60,10 @@ class ResnetBlock2D(nn.Module): def __call__(self, input_array: mx.array) -> mx.array: input_array = mx.transpose(input_array, (0, 2, 3, 1)) - hidden_states = self.norm1(input_array.astype(mx.float32)).astype(Config.precision) + hidden_states = self.norm1(input_array.astype(mx.float32)).astype(ModelConfig.precision) hidden_states = nn.silu(hidden_states) hidden_states = self.conv1(hidden_states) - hidden_states = self.norm2(hidden_states.astype(mx.float32)).astype(Config.precision) + hidden_states = self.norm2(hidden_states.astype(mx.float32)).astype(ModelConfig.precision) hidden_states = nn.silu(hidden_states) hidden_states = self.conv2(hidden_states) if self.conv_shortcut is not None: diff --git a/src/mflux/models/flux/model/flux_vae/decoder/conv_norm_out.py b/src/mflux/models/flux/model/flux_vae/decoder/conv_norm_out.py index 05e5fe8..7937e75 100644 --- a/src/mflux/models/flux/model/flux_vae/decoder/conv_norm_out.py +++ b/src/mflux/models/flux/model/flux_vae/decoder/conv_norm_out.py @@ -1,7 +1,7 @@ import mlx.core as mx import mlx.nn as nn -from mflux.config.config import Config +from mflux.models.common.config import ModelConfig class ConvNormOut(nn.Module): @@ -17,5 +17,5 @@ class ConvNormOut(nn.Module): def __call__(self, input_array: mx.array) -> mx.array: input_array = mx.transpose(input_array, (0, 2, 3, 1)) - hidden_states = self.norm(input_array.astype(mx.float32)).astype(Config.precision) + hidden_states = self.norm(input_array.astype(mx.float32)).astype(ModelConfig.precision) return mx.transpose(hidden_states, (0, 3, 1, 2)) diff --git a/src/mflux/models/flux/tokenizer/clip_tokenizer.py b/src/mflux/models/flux/tokenizer/clip_tokenizer.py deleted file mode 100644 index 2508241..0000000 --- a/src/mflux/models/flux/tokenizer/clip_tokenizer.py +++ /dev/null @@ -1,20 +0,0 @@ -import mlx.core as mx -from transformers import CLIPTokenizer - - -class TokenizerCLIP: - MAX_TOKEN_LENGTH = 77 - - def __init__(self, tokenizer: CLIPTokenizer): - self.tokenizer = tokenizer - - def tokenize(self, prompt: str) -> mx.array: - return self.tokenizer( - [prompt], - padding="max_length", - max_length=TokenizerCLIP.MAX_TOKEN_LENGTH, - truncation=True, - return_length=False, - return_overflowing_tokens=False, - return_tensors="mlx", - ).input_ids diff --git a/src/mflux/models/flux/tokenizer/t5_tokenizer.py b/src/mflux/models/flux/tokenizer/t5_tokenizer.py deleted file mode 100644 index b59c1f0..0000000 --- a/src/mflux/models/flux/tokenizer/t5_tokenizer.py +++ /dev/null @@ -1,19 +0,0 @@ -import mlx.core as mx -from transformers import T5Tokenizer - - -class TokenizerT5: - def __init__(self, tokenizer: T5Tokenizer, max_length: int = 256): - self.tokenizer = tokenizer - self.max_length = max_length - - def tokenize(self, prompt: str) -> mx.array: - return self.tokenizer( - [prompt], - padding="max_length", - max_length=self.max_length, - truncation=True, - return_length=False, - return_overflowing_tokens=False, - return_tensors="mlx", - ).input_ids diff --git a/src/mflux/models/flux/tokenizer/tokenizer_handler.py b/src/mflux/models/flux/tokenizer/tokenizer_handler.py deleted file mode 100644 index e144025..0000000 --- a/src/mflux/models/flux/tokenizer/tokenizer_handler.py +++ /dev/null @@ -1,36 +0,0 @@ -from pathlib import Path - -import transformers - -from mflux.models.flux.tokenizer.clip_tokenizer import TokenizerCLIP -from mflux.utils.download import snapshot_download - - -class TokenizerHandler: - def __init__( - self, - repo_id: str, - max_t5_length: int = 256, - local_path: str | None = None, - ): - root_path = Path(local_path) if local_path else TokenizerHandler._download_or_get_cached_tokenizers(repo_id) - - self.clip = transformers.CLIPTokenizer.from_pretrained( - pretrained_model_name_or_path=root_path / "tokenizer", - local_files_only=True, - max_length=TokenizerCLIP.MAX_TOKEN_LENGTH, - ) - self.t5 = transformers.T5Tokenizer.from_pretrained( - pretrained_model_name_or_path=root_path / "tokenizer_2", - local_files_only=True, - max_length=max_t5_length, - ) - - @staticmethod - def _download_or_get_cached_tokenizers(repo_id: str) -> Path: - return Path( - snapshot_download( - repo_id=repo_id, - allow_patterns=["tokenizer/**", "tokenizer_2/**"], - ) - ) diff --git a/src/mflux/models/flux/variants/concept_attention/flux_concept.py b/src/mflux/models/flux/variants/concept_attention/flux_concept.py index 98d107a..7b90034 100644 --- a/src/mflux/models/flux/variants/concept_attention/flux_concept.py +++ b/src/mflux/models/flux/variants/concept_attention/flux_concept.py @@ -1,11 +1,10 @@ +from pathlib import Path + import mlx.core as mx from mlx import nn -from tqdm import tqdm -from mflux.callbacks.callbacks import Callbacks -from mflux.config.config import Config -from mflux.config.model_config import ModelConfig -from mflux.config.runtime_config import RuntimeConfig +from mflux.models.common.config.config import Config +from mflux.models.common.config.model_config import ModelConfig from mflux.models.common.latent_creator.latent_creator import Img2Img, LatentCreator from mflux.models.flux.flux_initializer import FluxInitializer from mflux.models.flux.latent_creator.flux_latent_creator import FluxLatentCreator @@ -16,7 +15,6 @@ from mflux.models.flux.model.flux_vae.vae import VAE from mflux.models.flux.variants.concept_attention.attention_data import GenerationAttentionData from mflux.models.flux.variants.concept_attention.concept_util import ConceptUtil from mflux.models.flux.variants.concept_attention.transformer_concept import TransformerConcept -from mflux.utils.array_util import ArrayUtil from mflux.utils.exceptions import StopImageGenerationException from mflux.utils.generated_image import GeneratedImage from mflux.utils.image_util import ImageUtil @@ -30,20 +28,20 @@ class Flux1Concept(nn.Module): def __init__( self, - model_config: ModelConfig, quantize: int | None = None, - local_path: str | None = None, + model_path: str | None = None, lora_paths: list[str] | None = None, lora_scales: list[float] | None = None, + model_config: ModelConfig = ModelConfig.schnell(), ): super().__init__() FluxInitializer.init_concept( - flux_model=self, - model_config=model_config, + model=self, quantize=quantize, - local_path=local_path, + model_path=model_path, lora_paths=lora_paths, lora_scales=lora_scales, + model_config=model_config, ) def generate_image( @@ -51,19 +49,33 @@ class Flux1Concept(nn.Module): seed: int, prompt: str, concept: str, - config: Config, + num_inference_steps: int = 4, + height: int = 1024, + width: int = 1024, + guidance: float = 4.0, + image_path: Path | str | None = None, + image_strength: float | None = None, + scheduler: str = "linear", heatmap_layer_indices: list[int] | None = None, heatmap_timesteps: list[int] | None = None, ) -> GeneratedImage: - # 0. Create a new runtime config based on the model type and input parameters - config = RuntimeConfig(config, self.model_config) - time_steps = tqdm(range(config.init_time_step, config.num_inference_steps)) + # 0. Create a new config based on the model type and input parameters + config = Config( + width=width, + height=height, + guidance=guidance, + scheduler=scheduler, + image_path=image_path, + image_strength=image_strength, + model_config=self.model_config, + num_inference_steps=num_inference_steps, + ) # 1. Create the initial latents latents = LatentCreator.create_for_txt2img_or_img2img( seed=seed, - height=config.height, width=config.width, + height=config.height, img2img=Img2Img( vae=self.vae, latent_creator=FluxLatentCreator, @@ -77,8 +89,8 @@ class Flux1Concept(nn.Module): prompt_embeds, pooled_prompt_embeds = PromptEncoder.encode_prompt( prompt=prompt, prompt_cache=self.prompt_cache, - t5_tokenizer=self.t5_tokenizer, - clip_tokenizer=self.clip_tokenizer, + t5_tokenizer=self.tokenizers["t5"], + clip_tokenizer=self.tokenizers["clip"], t5_text_encoder=self.t5_text_encoder, clip_text_encoder=self.clip_text_encoder, ) @@ -87,27 +99,23 @@ class Flux1Concept(nn.Module): prompt_embeds_concept, pooled_prompt_embeds_concept = PromptEncoder.encode_prompt( prompt=concept, prompt_cache=self.prompt_cache, - t5_tokenizer=self.t5_tokenizer, - clip_tokenizer=self.clip_tokenizer, + t5_tokenizer=self.tokenizers["t5"], + clip_tokenizer=self.tokenizers["clip"], t5_text_encoder=self.t5_text_encoder, clip_text_encoder=self.clip_text_encoder, ) - # (Optional) Call subscribers for beginning of loop - Callbacks.before_loop( - seed=seed, - prompt=prompt, - latents=latents, - config=config, - ) + # 4. Create callback context and call before_loop + ctx = self.callbacks.start(seed=seed, prompt=prompt, config=config) + ctx.before_loop(latents) attention_data = GenerationAttentionData() - for t in time_steps: + for t in config.time_steps: try: # Scale model input if needed by the scheduler latents = config.scheduler.scale_model_input(latents, t) - # 4.t Predict the noise + # 5.t Predict the noise noise, attention = self.transformer( t=t, config=config, @@ -119,46 +127,25 @@ class Flux1Concept(nn.Module): ) attention_data.append(attention) - # 5.t Take one denoise step - latents = config.scheduler.step( - model_output=noise, - timestep=t, - sample=latents, - ) + # 6.t Take one denoise step + latents = config.scheduler.step(noise=noise, timestep=t, latents=latents) - # (Optional) Call subscribers in-loop - Callbacks.in_loop( - t=t, - seed=seed, - prompt=prompt, - latents=latents, - config=config, - time_steps=time_steps, - ) + # 7.t Call subscribers in-loop + ctx.in_loop(t, latents) # (Optional) Evaluate to enable progress tracking mx.eval(latents) except KeyboardInterrupt: # noqa: PERF203 - Callbacks.interruption( - t=t, - seed=seed, - prompt=prompt, - latents=latents, - config=config, - time_steps=time_steps, + ctx.interruption(t, latents) + raise StopImageGenerationException( + f"Stopping image generation at step {t + 1}/{config.num_inference_steps}" ) - raise StopImageGenerationException(f"Stopping image generation at step {t + 1}/{len(time_steps)}") - # (Optional) Call subscribers after loop - Callbacks.after_loop( - seed=seed, - prompt=prompt, - latents=latents, - config=config, - ) + # 8. Call subscribers after loop + ctx.after_loop(latents) - # 6. Generate concept attention heatmap + # 9. Generate concept attention heatmap concept_heatmap = ConceptUtil.create_heatmap( concept=concept, attention_data=attention_data, @@ -168,10 +155,9 @@ class Flux1Concept(nn.Module): timesteps=heatmap_timesteps or list(range(config.num_inference_steps)), ) - # 7. Decode the latent array and return the image - latents = ArrayUtil.unpack_latents(latents=latents, height=config.height, width=config.width) + # 10. Decode the latent array and return the image + latents = FluxLatentCreator.unpack_latents(latents=latents, height=config.height, width=config.width) decoded = self.vae.decode(latents) - return ImageUtil.to_image( decoded_latents=decoded, config=config, @@ -182,6 +168,6 @@ class Flux1Concept(nn.Module): lora_scales=self.lora_scales, image_path=config.image_path, image_strength=config.image_strength, - generation_time=time_steps.format_dict["elapsed"], + generation_time=config.time_steps.format_dict["elapsed"], concept_heatmap=concept_heatmap, ) diff --git a/src/mflux/models/flux/variants/concept_attention/flux_concept_from_image.py b/src/mflux/models/flux/variants/concept_attention/flux_concept_from_image.py index 36a4035..b30764f 100644 --- a/src/mflux/models/flux/variants/concept_attention/flux_concept_from_image.py +++ b/src/mflux/models/flux/variants/concept_attention/flux_concept_from_image.py @@ -1,11 +1,10 @@ +from pathlib import Path + import mlx.core as mx from mlx import nn -from tqdm import tqdm -from mflux.callbacks.callbacks import Callbacks -from mflux.config.config import Config -from mflux.config.model_config import ModelConfig -from mflux.config.runtime_config import RuntimeConfig +from mflux.models.common.config.config import Config +from mflux.models.common.config.model_config import ModelConfig from mflux.models.common.latent_creator.latent_creator import LatentCreator from mflux.models.flux.flux_initializer import FluxInitializer from mflux.models.flux.latent_creator.flux_latent_creator import FluxLatentCreator @@ -16,7 +15,6 @@ from mflux.models.flux.model.flux_vae.vae import VAE from mflux.models.flux.variants.concept_attention.attention_data import GenerationAttentionData from mflux.models.flux.variants.concept_attention.concept_util import ConceptUtil from mflux.models.flux.variants.concept_attention.transformer_concept import TransformerConcept -from mflux.utils.array_util import ArrayUtil from mflux.utils.exceptions import StopImageGenerationException from mflux.utils.generated_image import GeneratedImage from mflux.utils.image_util import ImageUtil @@ -30,20 +28,20 @@ class Flux1ConceptFromImage(nn.Module): def __init__( self, - model_config: ModelConfig, quantize: int | None = None, - local_path: str | None = None, + model_path: str | None = None, lora_paths: list[str] | None = None, lora_scales: list[float] | None = None, + model_config: ModelConfig = ModelConfig.schnell(), ): super().__init__() FluxInitializer.init_concept( - flux_model=self, - model_config=model_config, + model=self, quantize=quantize, - local_path=local_path, + model_path=model_path, lora_paths=lora_paths, lora_scales=lora_scales, + model_config=model_config, ) def generate_image( @@ -51,33 +49,46 @@ class Flux1ConceptFromImage(nn.Module): seed: int, prompt: str, concept: str, - image_path: str, - config: Config, + image_path: Path | str, + num_inference_steps: int = 4, + height: int = 1024, + width: int = 1024, + guidance: float = 4.0, + image_strength: float | None = None, + scheduler: str = "linear", heatmap_layer_indices: list[int] | None = None, heatmap_timesteps: list[int] | None = None, ) -> GeneratedImage: - # 0. Create a new runtime config based on the model type and input parameters - config = RuntimeConfig(config, self.model_config) - time_steps = tqdm(range(config.init_time_step, config.num_inference_steps)) + # 0. Create a new config based on the model type and input parameters + config = Config( + width=width, + height=height, + guidance=guidance, + scheduler=scheduler, + image_path=image_path, + image_strength=image_strength, + model_config=self.model_config, + num_inference_steps=num_inference_steps, + ) # 1. Create the initial latents from the reference image encoded_image = LatentCreator.encode_image( vae=self.vae, - image_path=image_path, - height=config.height, width=config.width, + height=config.height, + image_path=image_path, ) # Create static noise for blending at each timestep static_noise = FluxLatentCreator.create_noise( seed=seed, - height=config.height, width=config.width, + height=config.height, ) # Start with an appropriately noised version of the encoded image latents = LatentCreator.add_noise_by_interpolation( - clean=ArrayUtil.pack_latents(latents=encoded_image, height=config.height, width=config.width), + clean=FluxLatentCreator.pack_latents(latents=encoded_image, height=config.height, width=config.width), noise=static_noise, sigma=config.scheduler.sigmas[config.init_time_step], ) @@ -86,8 +97,8 @@ class Flux1ConceptFromImage(nn.Module): prompt_embeds, pooled_prompt_embeds = PromptEncoder.encode_prompt( prompt=prompt, prompt_cache=self.prompt_cache, - t5_tokenizer=self.t5_tokenizer, - clip_tokenizer=self.clip_tokenizer, + t5_tokenizer=self.tokenizers["t5"], + clip_tokenizer=self.tokenizers["clip"], t5_text_encoder=self.t5_text_encoder, clip_text_encoder=self.clip_text_encoder, ) @@ -96,27 +107,23 @@ class Flux1ConceptFromImage(nn.Module): prompt_embeds_concept, pooled_prompt_embeds_concept = PromptEncoder.encode_prompt( prompt=concept, prompt_cache=self.prompt_cache, - t5_tokenizer=self.t5_tokenizer, - clip_tokenizer=self.clip_tokenizer, + t5_tokenizer=self.tokenizers["t5"], + clip_tokenizer=self.tokenizers["clip"], t5_text_encoder=self.t5_text_encoder, clip_text_encoder=self.clip_text_encoder, ) - # (Optional) Call subscribers for beginning of loop - Callbacks.before_loop( - seed=seed, - prompt=prompt, - latents=latents, - config=config, - ) + # 4. Create callback context and call before_loop + ctx = self.callbacks.start(seed=seed, prompt=prompt, config=config) + ctx.before_loop(latents) attention_data = GenerationAttentionData() - for t in time_steps: + for t in config.time_steps: try: # Scale model input if needed by the scheduler latents = config.scheduler.scale_model_input(latents, t) - # 4.t Predict the noise (we don't use the noise, only the attention) + # 5.t Predict the noise (we don't use the noise, only the attention) _, attention = self.transformer( t=t, config=config, @@ -128,22 +135,17 @@ class Flux1ConceptFromImage(nn.Module): ) attention_data.append(attention) - # 5.t Follow reverse diffusion trajectory + # 6.t Follow reverse diffusion trajectory latents = LatentCreator.add_noise_by_interpolation( - clean=ArrayUtil.pack_latents(latents=encoded_image, height=config.height, width=config.width), + clean=FluxLatentCreator.pack_latents( + latents=encoded_image, height=config.height, width=config.width + ), noise=static_noise, sigma=config.scheduler.sigmas[t + 1], ) - # (Optional) Call subscribers in-loop - Callbacks.in_loop( - t=t, - seed=seed, - prompt=prompt, - latents=latents, - config=config, - time_steps=time_steps, - ) + # 7.t Call subscribers in-loop + ctx.in_loop(t, latents) # Evaluate attention data to force MLX computation for progress tracking mx.eval( @@ -152,25 +154,15 @@ class Flux1ConceptFromImage(nn.Module): ) except KeyboardInterrupt: # noqa: PERF203 - Callbacks.interruption( - t=t, - seed=seed, - prompt=prompt, - latents=latents, - config=config, - time_steps=time_steps, + ctx.interruption(t, latents) + raise StopImageGenerationException( + f"Stopping image generation at step {t + 1}/{config.num_inference_steps}" ) - raise StopImageGenerationException(f"Stopping image generation at step {t + 1}/{len(time_steps)}") - # (Optional) Call subscribers after loop - Callbacks.after_loop( - seed=seed, - prompt=prompt, - latents=latents, - config=config, - ) + # 8. Call subscribers after loop + ctx.after_loop(latents) - # 6. Generate concept attention heatmap + # 9. Generate concept attention heatmap concept_heatmap = ConceptUtil.create_heatmap( concept=concept, attention_data=attention_data, @@ -180,8 +172,8 @@ class Flux1ConceptFromImage(nn.Module): timesteps=heatmap_timesteps or list(range(config.num_inference_steps)), ) - # 7. Decode the latent array and return the image - latents = ArrayUtil.unpack_latents(latents=latents, height=config.height, width=config.width) + # 10. Decode the latent array and return the image + latents = FluxLatentCreator.unpack_latents(latents=latents, height=config.height, width=config.width) decoded = self.vae.decode(latents) return ImageUtil.to_image( @@ -194,6 +186,6 @@ class Flux1ConceptFromImage(nn.Module): lora_scales=self.lora_scales, image_path=image_path, image_strength=config.image_strength, - generation_time=time_steps.format_dict["elapsed"], + generation_time=config.time_steps.format_dict["elapsed"], concept_heatmap=concept_heatmap, ) diff --git a/src/mflux/models/flux/variants/concept_attention/transformer_concept.py b/src/mflux/models/flux/variants/concept_attention/transformer_concept.py index 6e452c1..08734a5 100644 --- a/src/mflux/models/flux/variants/concept_attention/transformer_concept.py +++ b/src/mflux/models/flux/variants/concept_attention/transformer_concept.py @@ -1,8 +1,8 @@ import mlx.core as mx from mlx import nn -from mflux.config.model_config import ModelConfig -from mflux.config.runtime_config import RuntimeConfig +from mflux.models.common.config.config import Config +from mflux.models.common.config.model_config import ModelConfig from mflux.models.flux.model.flux_transformer.ada_layer_norm_continuous import AdaLayerNormContinuous from mflux.models.flux.model.flux_transformer.embed_nd import EmbedND from mflux.models.flux.model.flux_transformer.single_transformer_block import SingleTransformerBlock @@ -32,7 +32,7 @@ class TransformerConcept(nn.Module): def __call__( self, t: int, - config: RuntimeConfig, + config: Config, hidden_states: mx.array, prompt_embeds: mx.array, prompt_embeds_concept: mx.array, diff --git a/src/mflux/models/flux/variants/controlnet/controlnet_util.py b/src/mflux/models/flux/variants/controlnet/controlnet_util.py index 911d436..6dabd60 100644 --- a/src/mflux/models/flux/variants/controlnet/controlnet_util.py +++ b/src/mflux/models/flux/variants/controlnet/controlnet_util.py @@ -5,8 +5,8 @@ import mlx.core as mx import numpy as np import PIL.Image +from mflux.models.flux.latent_creator.flux_latent_creator import FluxLatentCreator from mflux.models.flux.model.flux_vae.vae import VAE -from mflux.utils.array_util import ArrayUtil from mflux.utils.image_util import StrOrBytesPath log = logging.getLogger(__name__) @@ -31,7 +31,7 @@ class ControlnetUtil: controlnet_cond = vae.encode(controlnet_cond) if is_canny: controlnet_cond = (controlnet_cond / vae.scaling_factor) + vae.shift_factor - controlnet_cond = ArrayUtil.pack_latents(latents=controlnet_cond, height=height, width=width) + controlnet_cond = FluxLatentCreator.pack_latents(latents=controlnet_cond, height=height, width=width) return controlnet_cond, control_image @staticmethod diff --git a/src/mflux/models/flux/variants/controlnet/flux_controlnet.py b/src/mflux/models/flux/variants/controlnet/flux_controlnet.py index 2061a18..8599897 100644 --- a/src/mflux/models/flux/variants/controlnet/flux_controlnet.py +++ b/src/mflux/models/flux/variants/controlnet/flux_controlnet.py @@ -1,12 +1,9 @@ import mlx.core as mx from mlx import nn -from tqdm import tqdm -from mflux.callbacks.callbacks import Callbacks -from mflux.config.config import Config -from mflux.config.model_config import ModelConfig -from mflux.config.runtime_config import RuntimeConfig -from mflux.models.common.weights.model_saver import ModelSaver +from mflux.models.common.config.config import Config +from mflux.models.common.config.model_config import ModelConfig +from mflux.models.common.weights.saving.model_saver import ModelSaver from mflux.models.flux.flux_initializer import FluxInitializer from mflux.models.flux.latent_creator.flux_latent_creator import FluxLatentCreator from mflux.models.flux.model.flux_text_encoder.clip_encoder.clip_encoder import CLIPEncoder @@ -16,7 +13,7 @@ from mflux.models.flux.model.flux_transformer.transformer import Transformer from mflux.models.flux.model.flux_vae.vae import VAE from mflux.models.flux.variants.controlnet.controlnet_util import ControlnetUtil from mflux.models.flux.variants.controlnet.transformer_controlnet import TransformerControlnet -from mflux.utils.array_util import ArrayUtil +from mflux.models.flux.weights.flux_weight_definition import FluxControlnetWeightDefinition from mflux.utils.exceptions import StopImageGenerationException from mflux.utils.generated_image import GeneratedImage from mflux.utils.image_util import ImageUtil, StrOrBytesPath @@ -31,21 +28,21 @@ class Flux1Controlnet(nn.Module): def __init__( self, - model_config: ModelConfig, quantize: int | None = None, - local_path: str | None = None, + model_path: str | None = None, lora_paths: list[str] | None = None, lora_scales: list[float] | None = None, controlnet_path: str | None = None, + model_config: ModelConfig = ModelConfig.dev_controlnet_canny(), ): super().__init__() FluxInitializer.init_controlnet( - flux_model=self, - model_config=model_config, + model=self, quantize=quantize, - local_path=local_path, + model_path=model_path, lora_paths=lora_paths, lora_scales=lora_scales, + model_config=model_config, ) def generate_image( @@ -53,17 +50,29 @@ class Flux1Controlnet(nn.Module): seed: int, prompt: str, controlnet_image_path: StrOrBytesPath, - config: Config, + num_inference_steps: int = 4, + height: int = 1024, + width: int = 1024, + guidance: float = 4.0, + controlnet_strength: float = 1.0, + scheduler: str = "linear", ) -> GeneratedImage: - # 0. Create a new runtime config based on the model type and input parameters - config = RuntimeConfig(config, self.model_config) - time_steps = tqdm(range(config.num_inference_steps)) + # 0. Create a new config based on the model type and input parameters + config = Config( + width=width, + height=height, + guidance=guidance, + scheduler=scheduler, + model_config=self.model_config, + num_inference_steps=num_inference_steps, + controlnet_strength=controlnet_strength, + ) # 1. Encode the controlnet reference image controlnet_condition, canny_image = ControlnetUtil.encode_image( vae=self.vae, - height=config.height, width=config.width, + height=config.height, controlnet_image_path=controlnet_image_path, is_canny=self.model_config.is_canny(), ) @@ -71,35 +80,30 @@ class Flux1Controlnet(nn.Module): # 2. Create the initial latents latents = FluxLatentCreator.create_noise( seed=seed, - height=config.height, width=config.width, + height=config.height, ) # 3. Encode the prompt prompt_embeds, pooled_prompt_embeds = PromptEncoder.encode_prompt( prompt=prompt, prompt_cache=self.prompt_cache, - t5_tokenizer=self.t5_tokenizer, - clip_tokenizer=self.clip_tokenizer, + t5_tokenizer=self.tokenizers["t5"], + clip_tokenizer=self.tokenizers["clip"], t5_text_encoder=self.t5_text_encoder, clip_text_encoder=self.clip_text_encoder, ) - # (Optional) Call subscribers for beginning of loop - Callbacks.before_loop( - seed=seed, - prompt=prompt, - latents=latents, - config=config, - canny_image=canny_image, - ) + # 4. Create callback context and call before_loop + ctx = self.callbacks.start(seed=seed, prompt=prompt, config=config) + ctx.before_loop(latents, canny_image=canny_image) - for t in time_steps: + for t in config.time_steps: try: # Scale model input if needed by the scheduler latents = config.scheduler.scale_model_input(latents, t) - # 4.t Compute controlnet samples + # 5.t Compute controlnet samples controlnet_block_samples, controlnet_single_block_samples = self.transformer_controlnet( t=t, config=config, @@ -109,7 +113,7 @@ class Flux1Controlnet(nn.Module): controlnet_condition=controlnet_condition, ) - # 5.t Predict the noise + # 6.t Predict the noise noise = self.transformer( t=t, config=config, @@ -120,47 +124,26 @@ class Flux1Controlnet(nn.Module): controlnet_single_block_samples=controlnet_single_block_samples, ) - # 6.t Take one denoise step - latents = config.scheduler.step( - model_output=noise, - timestep=t, - sample=latents, - ) + # 7.t Take one denoise step + latents = config.scheduler.step(noise=noise, timestep=t, latents=latents) - # (Optional) Call subscribers in-loop - Callbacks.in_loop( - t=t, - seed=seed, - prompt=prompt, - latents=latents, - config=config, - time_steps=time_steps, - ) + # 8.t Call subscribers in-loop + ctx.in_loop(t, latents) # (Optional) Evaluate to enable progress tracking mx.eval(latents) except KeyboardInterrupt: # noqa: PERF203 - Callbacks.interruption( - t=t, - seed=seed, - prompt=prompt, - latents=latents, - config=config, - time_steps=time_steps, + ctx.interruption(t, latents) + raise StopImageGenerationException( + f"Stopping image generation at step {t + 1}/{config.num_inference_steps}" ) - raise StopImageGenerationException(f"Stopping image generation at step {t + 1}/{len(time_steps)}") - # (Optional) Call subscribers after loop - Callbacks.after_loop( - seed=seed, - prompt=prompt, - latents=latents, - config=config, - ) + # 9. Call subscribers after loop + ctx.after_loop(latents) - # 7. Decode the latent array and return the image - latents = ArrayUtil.unpack_latents(latents=latents, height=config.height, width=config.width) + # 10. Decode the latent array and return the image + latents = FluxLatentCreator.unpack_latents(latents=latents, height=config.height, width=config.width) decoded = self.vae.decode(latents) return ImageUtil.to_image( decoded_latents=decoded, @@ -171,7 +154,7 @@ class Flux1Controlnet(nn.Module): lora_paths=self.lora_paths, lora_scales=self.lora_scales, controlnet_image_path=controlnet_image_path, - generation_time=time_steps.format_dict["elapsed"], + generation_time=config.time_steps.format_dict["elapsed"], ) def save_model(self, base_path: str) -> None: @@ -179,15 +162,5 @@ class Flux1Controlnet(nn.Module): model=self, bits=self.bits, base_path=base_path, - tokenizers=[ - ("clip_tokenizer.tokenizer", "tokenizer"), - ("t5_tokenizer.tokenizer", "tokenizer_2"), - ], - components=[ - ("vae", "vae"), - ("transformer", "transformer"), - ("clip_text_encoder", "text_encoder"), - ("t5_text_encoder", "text_encoder_2"), - ("transformer_controlnet", "transformer_controlnet"), - ], + weight_definition=FluxControlnetWeightDefinition, ) diff --git a/src/mflux/models/flux/variants/controlnet/transformer_controlnet.py b/src/mflux/models/flux/variants/controlnet/transformer_controlnet.py index 39da5a0..5f5b23d 100644 --- a/src/mflux/models/flux/variants/controlnet/transformer_controlnet.py +++ b/src/mflux/models/flux/variants/controlnet/transformer_controlnet.py @@ -1,8 +1,8 @@ import mlx.core as mx from mlx import nn -from mflux.config.model_config import ModelConfig -from mflux.config.runtime_config import RuntimeConfig +from mflux.models.common.config.config import Config +from mflux.models.common.config.model_config import ModelConfig from mflux.models.flux.model.flux_transformer.embed_nd import EmbedND from mflux.models.flux.model.flux_transformer.joint_transformer_block import JointTransformerBlock from mflux.models.flux.model.flux_transformer.single_transformer_block import SingleTransformerBlock @@ -32,7 +32,7 @@ class TransformerControlnet(nn.Module): def __call__( self, t: int, - config: RuntimeConfig, + config: Config, hidden_states: mx.array, prompt_embeds: mx.array, pooled_prompt_embeds: mx.array, @@ -80,7 +80,7 @@ class TransformerControlnet(nn.Module): def _apply_single_transformer_block( self, idx: int, - config: RuntimeConfig, + config: Config, block: SingleTransformerBlock, hidden_states: mx.array, encoder_hidden_states: mx.array, @@ -98,7 +98,7 @@ class TransformerControlnet(nn.Module): # 2. Apply controlnet block states = hidden_states[:, encoder_hidden_states.shape[1] :] controlnet_sample = self.controlnet_single_blocks[idx](states) - scaled_controlnet_sample = controlnet_sample * config.config.controlnet_strength + scaled_controlnet_sample = controlnet_sample * config.controlnet_strength controlnet_single_block_samples.append(scaled_controlnet_sample) return hidden_states @@ -106,7 +106,7 @@ class TransformerControlnet(nn.Module): def _apply_joint_transformer_block( self, idx: int, - config: RuntimeConfig, + config: Config, block: JointTransformerBlock, hidden_states: mx.array, encoder_hidden_states: mx.array, @@ -124,7 +124,7 @@ class TransformerControlnet(nn.Module): # 2. Apply controlnet block controlnet_sample = self.controlnet_blocks[idx](hidden_states) - scaled_controlnet_example = controlnet_sample * config.config.controlnet_strength + scaled_controlnet_example = controlnet_sample * config.controlnet_strength controlnet_block_samples.append(scaled_controlnet_example) return encoder_hidden_states, hidden_states diff --git a/src/mflux/models/flux/variants/controlnet/weight_handler_controlnet.py b/src/mflux/models/flux/variants/controlnet/weight_handler_controlnet.py deleted file mode 100644 index 59a3bc3..0000000 --- a/src/mflux/models/flux/variants/controlnet/weight_handler_controlnet.py +++ /dev/null @@ -1,68 +0,0 @@ -import json -from pathlib import Path - -import mlx.core as mx -from mlx.utils import tree_unflatten - -from mflux.models.flux.weights.weight_handler import MetaData -from mflux.models.flux.weights.weight_util import WeightUtil -from mflux.utils.download import snapshot_download - - -class WeightHandlerControlnet: - def __init__(self, meta_data: MetaData, config: dict, controlnet_transformer: dict | None = None): - self.meta_data = meta_data - self.controlnet_transformer = controlnet_transformer - self.config = config - - @staticmethod - def load_controlnet_transformer(controlnet_model: str) -> "WeightHandlerControlnet": - controlnet_path = Path(snapshot_download(repo_id=controlnet_model, allow_patterns=["*.safetensors", "config.json"])) # fmt:off - file = next(controlnet_path.glob("diffusion_pytorch_model.safetensors")) - quantization_level = mx.load(str(file), return_metadata=True)[1].get("quantization_level") - weights = list(mx.load(str(file)).items()) - config = json.load(open(controlnet_path / "config.json")) - - if quantization_level is not None: - return WeightHandlerControlnet( - config=config, - controlnet_transformer=tree_unflatten(weights), - meta_data=MetaData(quantization_level=quantization_level), - ) - - weights = [WeightUtil.reshape_weights(k, v) for k, v in weights] - weights = WeightUtil.flatten(weights) - weights = tree_unflatten(weights) - - # Quantized weights (i.e. ones exported from this project) don't need any post-processing. - if quantization_level is not None: - return WeightHandlerControlnet( - config=config, - controlnet_transformer=weights, - meta_data=MetaData(quantization_level=quantization_level), - ) - - # Reshape and process the huggingface weights - if "transformer_blocks" in weights: - for block in weights["transformer_blocks"]: - block["ff"] = { - "linear1": block["ff"]["net"][0]["proj"], - "linear2": block["ff"]["net"][2], - } - if block.get("ff_context") is not None: - block["ff_context"] = { - "linear1": block["ff_context"]["net"][0]["proj"], - "linear2": block["ff_context"]["net"][2], - } - - return WeightHandlerControlnet( - config=config, - controlnet_transformer=weights, - meta_data=MetaData(quantization_level=quantization_level), - ) - - def num_transformer_blocks(self) -> int: - return self.config["num_layers"] - - def num_single_transformer_blocks(self) -> int: - return self.config["num_single_layers"] diff --git a/src/mflux/models/flux/variants/depth/depth_util.py b/src/mflux/models/flux/variants/depth/depth_util.py index dae93c1..76a42bc 100644 --- a/src/mflux/models/flux/variants/depth/depth_util.py +++ b/src/mflux/models/flux/variants/depth/depth_util.py @@ -5,10 +5,10 @@ from pathlib import Path import mlx.core as mx import PIL.Image -from mflux.config.runtime_config import RuntimeConfig -from mflux.models.depth_pro.depth_pro import DepthPro +from mflux.models.common.config.config import Config +from mflux.models.depth_pro.model.depth_pro import DepthPro +from mflux.models.flux.latent_creator.flux_latent_creator import FluxLatentCreator from mflux.models.flux.model.flux_vae.vae import VAE -from mflux.utils.array_util import ArrayUtil from mflux.utils.image_util import ImageUtil logger = logging.getLogger(__name__) @@ -19,7 +19,7 @@ class DepthUtil: def encode_depth_map( vae: VAE, depth_pro: DepthPro, - config: RuntimeConfig, + config: Config, image_path: str | Path | None = None, depth_image_path: str | Path | None = None, ) -> tuple[mx.array, PIL.Image.Image]: @@ -38,7 +38,7 @@ class DepthUtil: ) depth_map_array = ImageUtil.to_array(scaled_depth_map) encoded_depth = vae.encode(depth_map_array) - depth_latents = ArrayUtil.pack_latents(latents=encoded_depth, height=config.height, width=config.width) + depth_latents = FluxLatentCreator.pack_latents(latents=encoded_depth, height=config.height, width=config.width) return depth_latents, depth_image diff --git a/src/mflux/models/flux/variants/depth/flux_depth.py b/src/mflux/models/flux/variants/depth/flux_depth.py index a415058..8a9558b 100644 --- a/src/mflux/models/flux/variants/depth/flux_depth.py +++ b/src/mflux/models/flux/variants/depth/flux_depth.py @@ -1,12 +1,11 @@ +from pathlib import Path + import mlx.core as mx from mlx import nn -from tqdm import tqdm -from mflux.callbacks.callbacks import Callbacks -from mflux.config.config import Config -from mflux.config.model_config import ModelConfig -from mflux.config.runtime_config import RuntimeConfig -from mflux.models.depth_pro.depth_pro import DepthPro +from mflux.models.common.config.config import Config +from mflux.models.common.config.model_config import ModelConfig +from mflux.models.depth_pro.model.depth_pro import DepthPro from mflux.models.flux.flux_initializer import FluxInitializer from mflux.models.flux.latent_creator.flux_latent_creator import FluxLatentCreator from mflux.models.flux.model.flux_text_encoder.clip_encoder.clip_encoder import CLIPEncoder @@ -15,7 +14,6 @@ from mflux.models.flux.model.flux_text_encoder.t5_encoder.t5_encoder import T5En from mflux.models.flux.model.flux_transformer.transformer import Transformer from mflux.models.flux.model.flux_vae.vae import VAE from mflux.models.flux.variants.depth.depth_util import DepthUtil -from mflux.utils.array_util import ArrayUtil from mflux.utils.exceptions import StopImageGenerationException from mflux.utils.generated_image import GeneratedImage from mflux.utils.image_util import ImageUtil @@ -31,29 +29,46 @@ class Flux1Depth(nn.Module): def __init__( self, quantize: int | None = None, - local_path: str | None = None, + model_path: str | None = None, lora_paths: list[str] | None = None, lora_scales: list[float] | None = None, + model_config: ModelConfig = ModelConfig.dev_depth(), ): super().__init__() FluxInitializer.init_depth( - flux_model=self, - model_config=ModelConfig.dev_depth(), + model=self, quantize=quantize, - local_path=local_path, + model_path=model_path, lora_paths=lora_paths, lora_scales=lora_scales, + model_config=model_config, ) def generate_image( self, seed: int, prompt: str, - config: Config, + num_inference_steps: int = 4, + height: int = 1024, + width: int = 1024, + guidance: float = 4.0, + image_path: Path | str | None = None, + image_strength: float | None = None, + depth_image_path: Path | str | None = None, + scheduler: str = "linear", ) -> GeneratedImage: - # 0. Create a new runtime config based on the model type and input parameters - config = RuntimeConfig(config, self.model_config) - time_steps = tqdm(range(config.init_time_step, config.num_inference_steps)) + # 0. Create a new config based on the model type and input parameters + config = Config( + width=width, + height=height, + guidance=guidance, + scheduler=scheduler, + image_path=image_path, + image_strength=image_strength, + model_config=self.model_config, + depth_image_path=depth_image_path, + num_inference_steps=num_inference_steps, + ) # 1. Create the initial latents latents = FluxLatentCreator.create_noise( @@ -66,8 +81,8 @@ class Flux1Depth(nn.Module): prompt_embeds, pooled_prompt_embeds = PromptEncoder.encode_prompt( prompt=prompt, prompt_cache=self.prompt_cache, - t5_tokenizer=self.t5_tokenizer, - clip_tokenizer=self.clip_tokenizer, + t5_tokenizer=self.tokenizers["t5"], + clip_tokenizer=self.tokenizers["clip"], t5_text_encoder=self.t5_text_encoder, clip_text_encoder=self.clip_text_encoder, ) @@ -81,24 +96,19 @@ class Flux1Depth(nn.Module): depth_image_path=config.depth_image_path, ) - # (Optional) Call subscribers for beginning of loop - Callbacks.before_loop( - seed=seed, - prompt=prompt, - latents=latents, - config=config, - depth_image=depth_image, - ) # fmt: off + # 4. Create callback context and call before_loop + ctx = self.callbacks.start(seed=seed, prompt=prompt, config=config) + ctx.before_loop(latents, depth_image=depth_image) - for t in time_steps: + for t in config.time_steps: try: # Scale model input if needed by the scheduler latents = config.scheduler.scale_model_input(latents, t) - # 4.t Concatenate the updated latents with the (static) depth map + # 5.t Concatenate the updated latents with the (static) depth map hidden_states = mx.concatenate([latents, static_depth_map], axis=-1) - # 5.t Predict the noise + # 6.t Predict the noise noise = self.transformer( t=t, config=config, @@ -107,47 +117,26 @@ class Flux1Depth(nn.Module): pooled_prompt_embeds=pooled_prompt_embeds, ) - # 6.t Take one denoise step - latents = config.scheduler.step( - model_output=noise, - timestep=t, - sample=latents, - ) + # 7.t Take one denoise step + latents = config.scheduler.step(noise=noise, timestep=t, latents=latents) - # (Optional) Call subscribers in-loop - Callbacks.in_loop( - t=t, - seed=seed, - prompt=prompt, - latents=latents, - config=config, - time_steps=time_steps, - ) # fmt: off + # 8.t Call subscribers in-loop + ctx.in_loop(t, latents) # (Optional) Evaluate to enable progress tracking mx.eval(latents) except KeyboardInterrupt: # noqa: PERF203 - Callbacks.interruption( - t=t, - seed=seed, - prompt=prompt, - latents=latents, - config=config, - time_steps=time_steps, + ctx.interruption(t, latents) + raise StopImageGenerationException( + f"Stopping image generation at step {t + 1}/{config.num_inference_steps}" ) - raise StopImageGenerationException(f"Stopping image generation at step {t + 1}/{len(time_steps)}") - # (Optional) Call subscribers after loop - Callbacks.after_loop( - seed=seed, - prompt=prompt, - latents=latents, - config=config, - ) # fmt: off + # 9. Call subscribers after loop + ctx.after_loop(latents) - # 7. Decode the latent array and return the image - latents = ArrayUtil.unpack_latents(latents=latents, height=config.height, width=config.width) + # 10. Decode the latent array and return the image + latents = FluxLatentCreator.unpack_latents(latents=latents, height=config.height, width=config.width) decoded = self.vae.decode(latents) return ImageUtil.to_image( decoded_latents=decoded, @@ -159,5 +148,5 @@ class Flux1Depth(nn.Module): lora_scales=self.lora_scales, image_path=config.image_path, depth_image_path=config.depth_image_path, - generation_time=time_steps.format_dict["elapsed"], + generation_time=config.time_steps.format_dict["elapsed"], ) diff --git a/src/mflux/models/flux/variants/dreambooth/dataset/dataset.py b/src/mflux/models/flux/variants/dreambooth/dataset/dataset.py index 3d6a66f..21424f9 100644 --- a/src/mflux/models/flux/variants/dreambooth/dataset/dataset.py +++ b/src/mflux/models/flux/variants/dreambooth/dataset/dataset.py @@ -5,11 +5,11 @@ import PIL.Image from mlx import nn from tqdm import tqdm +from mflux.models.flux.latent_creator.flux_latent_creator import FluxLatentCreator from mflux.models.flux.variants.dreambooth.dataset.batch import Example from mflux.models.flux.variants.dreambooth.dataset.dreambooth_preprocessing import DreamBoothPreProcessing from mflux.models.flux.variants.dreambooth.state.training_spec import ExampleSpec from mflux.models.flux.variants.txt2img.flux import Flux1 -from mflux.utils.array_util import ArrayUtil from mflux.utils.image_util import ImageUtil @@ -50,8 +50,10 @@ class Dataset: encoded_image = Dataset._encode_image(flux.vae, entry.image, width=width, height=height) # Encode the prompt - prompt_embeds = flux.t5_text_encoder(flux.t5_tokenizer.tokenize(entry.prompt)) - pooled_prompt_embeds = flux.clip_text_encoder(flux.clip_tokenizer.tokenize(entry.prompt)) + t5_output = flux.tokenizers["t5"].tokenize(entry.prompt) + clip_output = flux.tokenizers["clip"].tokenize(entry.prompt) + prompt_embeds = flux.t5_text_encoder(t5_output.input_ids) + pooled_prompt_embeds = flux.clip_text_encoder(clip_output.input_ids) # Create the example object example = Example( @@ -65,9 +67,7 @@ class Dataset: examples.append(example) # Evaluate to enable progress tracking - mx.eval(encoded_image) - mx.eval(prompt_embeds) - mx.eval(pooled_prompt_embeds) + mx.eval(encoded_image, prompt_embeds, pooled_prompt_embeds) return examples @@ -76,5 +76,5 @@ class Dataset: image = PIL.Image.open(image_path.resolve()).convert("RGB") scaled_user_image = ImageUtil.scale_to_dimensions(image, target_width=width, target_height=height) encoded = vae.encode(ImageUtil.to_array(scaled_user_image)) - latents = ArrayUtil.pack_latents(encoded, width=width, height=height) + latents = FluxLatentCreator.pack_latents(encoded, width=width, height=height) return latents diff --git a/src/mflux/models/flux/variants/dreambooth/dataset/iterator.py b/src/mflux/models/flux/variants/dreambooth/dataset/iterator.py index c605ba3..0af5d4f 100644 --- a/src/mflux/models/flux/variants/dreambooth/dataset/iterator.py +++ b/src/mflux/models/flux/variants/dreambooth/dataset/iterator.py @@ -102,7 +102,6 @@ class Iterator: return Batch(examples=examples, rng=self.rng) def to_dict(self) -> dict[str, Any]: - """Returns the current state as a dictionary.""" return { "position": self._position, "epoch": self._epoch, @@ -116,7 +115,6 @@ class Iterator: @classmethod def from_dict(cls, state_dict: dict[str, Any], dataset: Dataset) -> "Iterator": - """Creates an iterator from a state dictionary.""" # Convert the RNG state elements to tuples rng_state = state_dict["rng_state"] rng_state = (rng_state[0], tuple(rng_state[1]), rng_state[2]) @@ -134,7 +132,6 @@ class Iterator: ) def to_json(self, filepath: str) -> None: - """Save iterator state to a JSON file.""" with open(filepath, "w") as f: json.dump(self.to_dict(), f, indent=4) diff --git a/src/mflux/models/flux/variants/dreambooth/dreambooth.py b/src/mflux/models/flux/variants/dreambooth/dreambooth.py index 7ba51a3..3cb0413 100644 --- a/src/mflux/models/flux/variants/dreambooth/dreambooth.py +++ b/src/mflux/models/flux/variants/dreambooth/dreambooth.py @@ -1,34 +1,33 @@ from mlx import nn from tqdm import tqdm -from mflux.config.runtime_config import RuntimeConfig +from mflux.models.common.config.config import Config +from mflux.models.common.lora.layer.linear_lora_layer import LoRALinear from mflux.models.flux.variants.dreambooth.optimization.dreambooth_loss import DreamBoothLoss from mflux.models.flux.variants.dreambooth.state.training_spec import TrainingSpec from mflux.models.flux.variants.dreambooth.state.training_state import TrainingState from mflux.models.flux.variants.dreambooth.statistics.plotter import Plotter from mflux.models.flux.variants.txt2img.flux import Flux1 -from mflux.models.flux.weights.weight_handler_lora import WeightHandlerLoRA class DreamBooth: @staticmethod def train( flux: Flux1, - runtime_config: RuntimeConfig, + config: Config, training_spec: TrainingSpec, training_state: TrainingState, ): - # Freeze the model and assign the LoRA layers to the model + # Freeze the model (LoRA layers are already applied to transformer in from_spec) flux.freeze() - WeightHandlerLoRA.set_lora_layers( - transformer_module=flux.transformer, - lora_layers=training_state.lora_layers, - ) + + # Unfreeze LoRA layers so they can be trained + DreamBooth._unfreeze_lora_layers(flux.transformer) # Define loss computation as a function of a batch 'b' train_step_function = nn.value_and_grad( model=flux, - fn=lambda b: DreamBoothLoss.compute_loss(flux, runtime_config, b), + fn=lambda b: DreamBoothLoss.compute_loss(flux, config, b), ) # Setup progress bar @@ -48,7 +47,7 @@ class DreamBooth: # Plot loss progress periodically if training_state.should_plot_loss(training_spec): validation_batch = training_state.iterator.get_validation_batch() - validation_loss = DreamBoothLoss.compute_loss(flux, runtime_config, validation_batch) + validation_loss = DreamBoothLoss.compute_loss(flux, config, validation_batch) training_state.statistics.append_values(step=training_state.iterator.num_iterations, loss=validation_loss) # fmt: off Plotter.update_loss_plot(training_spec=training_spec, training_state=training_state) del validation_loss @@ -57,7 +56,6 @@ class DreamBooth: if training_state.should_generate_image(training_spec): image = flux.generate_image( seed=training_spec.seed, - config=runtime_config.config, prompt=training_spec.instrumentation.validation_prompt, ) image.save(path=training_state.get_current_validation_image_path(training_spec)) @@ -66,7 +64,13 @@ class DreamBooth: # Save checkpoint periodically if training_state.should_save(training_spec): - training_state.save(training_spec) + training_state.save(flux, training_spec) # Save the final state - training_state.save(training_spec) + training_state.save(flux, training_spec) + + @staticmethod + def _unfreeze_lora_layers(module: nn.Module) -> None: + for name, child in module.named_modules(): + if isinstance(child, LoRALinear): + child.unfreeze(keys=["lora_A", "lora_B"], strict=False) diff --git a/src/mflux/models/flux/variants/dreambooth/dreambooth_initializer.py b/src/mflux/models/flux/variants/dreambooth/dreambooth_initializer.py index d8c1e5f..5bc471f 100644 --- a/src/mflux/models/flux/variants/dreambooth/dreambooth_initializer.py +++ b/src/mflux/models/flux/variants/dreambooth/dreambooth_initializer.py @@ -1,8 +1,7 @@ import mlx.core.random as random -from mflux.config.config import Config -from mflux.config.model_config import ModelConfig -from mflux.config.runtime_config import RuntimeConfig +from mflux.models.common.config.config import Config +from mflux.models.common.config.model_config import ModelConfig from mflux.models.flux.variants.dreambooth.dataset.dataset import Dataset from mflux.models.flux.variants.dreambooth.dataset.iterator import Iterator from mflux.models.flux.variants.dreambooth.lora_layers.lora_layers import LoRALayers @@ -18,7 +17,7 @@ class DreamBoothInitializer: def initialize( config_path: str | None, checkpoint_path: str | None, - ) -> tuple[Flux1, RuntimeConfig, TrainingSpec, TrainingState]: + ) -> tuple[Flux1, Config, TrainingSpec, TrainingState]: # The training specification describing the details of the training process. It is resolved # differently depending on if training starts from scratch or resumes from checkpoint. training_spec = TrainingSpec.resolve( @@ -35,21 +34,19 @@ class DreamBoothInitializer: model_config=model_config, quantize=training_spec.quantize, ) - runtime_config = RuntimeConfig( + config = Config( model_config=model_config, - config=Config( - num_inference_steps=training_spec.steps, - width=training_spec.width, - height=training_spec.height, - guidance=training_spec.guidance, - ), + num_inference_steps=training_spec.steps, + width=training_spec.width, + height=training_spec.height, + guidance=training_spec.guidance, ) # Create the optimizer optimizer = Optimizer.from_spec(training_spec) - # Create the LoRA layers by matching them against the corresponding Flux layers - lora_layers = LoRALayers.from_spec(flux=flux, training_spec=training_spec) + # Create and apply the LoRA layers directly to the transformer + LoRALayers.from_spec(flux=flux, training_spec=training_spec) # Prepare the fine-tuning dataset and create the iterator dataset = Dataset.prepare_dataset( @@ -69,9 +66,8 @@ class DreamBoothInitializer: # The training state consisting of everything that moves during training training_state = TrainingState( optimizer=optimizer, - lora_layers=lora_layers, iterator=iterator, statistics=statistics, ) - return flux, runtime_config, training_spec, training_state + return flux, config, training_spec, training_state diff --git a/src/mflux/models/flux/variants/dreambooth/lora_layers/lora_layers.py b/src/mflux/models/flux/variants/dreambooth/lora_layers/lora_layers.py index 6628f93..e9b8f3d 100644 --- a/src/mflux/models/flux/variants/dreambooth/lora_layers/lora_layers.py +++ b/src/mflux/models/flux/variants/dreambooth/lora_layers/lora_layers.py @@ -1,12 +1,11 @@ from pathlib import Path from typing import TYPE_CHECKING -import mlx import mlx.core as mx -from mlx import nn from mlx.utils import tree_flatten from mflux.models.common.lora.layer.linear_lora_layer import LoRALinear +from mflux.models.common.lora.mapping.lora_loader import LoRALoader from mflux.models.flux.model.flux_transformer.joint_transformer_block import JointTransformerBlock from mflux.models.flux.model.flux_transformer.single_transformer_block import SingleTransformerBlock from mflux.models.flux.variants.dreambooth.state.training_spec import ( @@ -15,7 +14,7 @@ from mflux.models.flux.variants.dreambooth.state.training_spec import ( TransformerBlocks, ) from mflux.models.flux.variants.dreambooth.state.zip_util import ZipUtil -from mflux.models.flux.weights.weight_handler import MetaData, WeightHandler +from mflux.models.flux.weights.flux_lora_mapping import FluxLoRAMapping from mflux.utils.version_util import VersionUtil if TYPE_CHECKING: @@ -23,59 +22,46 @@ if TYPE_CHECKING: class LoRALayers: - def __init__(self, weights: "WeightHandler"): - self.layers = weights - @staticmethod - def from_spec(flux: "Flux1", training_spec: TrainingSpec) -> "LoRALayers": + def from_spec(flux: "Flux1", training_spec: TrainingSpec) -> None: if training_spec.lora_layers.state_path is not None: - # Load from state if present in the spec - from mflux.models.flux.weights.weight_handler_lora import WeightHandlerLoRA - - weights = ZipUtil.unzip( + # Load from checkpoint using the unified LoRALoader + ZipUtil.unzip( zip_path=training_spec.checkpoint_path, filename=training_spec.lora_layers.state_path, - loader=lambda x: WeightHandlerLoRA.load_lora_weights( - transformer=flux.transformer, lora_files=[x], lora_scales=[1.0] + loader=lambda lora_file: LoRALoader.load_and_apply_lora( + lora_mapping=FluxLoRAMapping.get_mapping(), + transformer=flux.transformer, + lora_paths=[lora_file], + lora_scales=[1.0], ), ) - return LoRALayers(weights=weights[0]) else: - # Construct the LoRA weights from the spec - transformer_lora_layers = {} - single_transformer_lora_layers = {} - + # Construct fresh LoRA layers and apply directly to transformer if training_spec.lora_layers.transformer_blocks: - transformer_lora_layers = LoRALayers._construct_layers( + LoRALayers._construct_and_apply_layers( + transformer=flux.transformer, blocks=flux.transformer.transformer_blocks, block_spec=training_spec.lora_layers.transformer_blocks, - block_prefix="transformer.transformer_blocks", + block_attr="transformer_blocks", ) if training_spec.lora_layers.single_transformer_blocks: - single_transformer_lora_layers = LoRALayers._construct_layers( + LoRALayers._construct_and_apply_layers( + transformer=flux.transformer, blocks=flux.transformer.single_transformer_blocks, block_spec=training_spec.lora_layers.single_transformer_blocks, - block_prefix="transformer.single_transformer_blocks", + block_attr="single_transformer_blocks", ) - lora_layers = {**transformer_lora_layers, **single_transformer_lora_layers} - - weights = WeightHandler( - meta_data=MetaData(mflux_version=VersionUtil.get_mflux_version()), - transformer=mlx.utils.tree_unflatten(list(lora_layers.items()))["transformer"], - ) - - return LoRALayers(weights=weights) - @staticmethod - def _construct_layers( - block_spec: TransformerBlocks | SingleTransformerBlocks, + def _construct_and_apply_layers( + transformer, blocks: list[JointTransformerBlock] | list[SingleTransformerBlock], - block_prefix: str, - ) -> dict: + block_spec: TransformerBlocks | SingleTransformerBlocks, + block_attr: str, + ) -> None: block_indices = block_spec.block_range.get_blocks() - lora_layers = {} for idx in block_indices: if idx >= len(blocks): raise IndexError(f"Index {idx} over range") @@ -89,192 +75,40 @@ class LoRALayers: linear=original_layer[0] if is_list else original_layer, r=block_spec.lora_rank, ) - layer_path = f"{block_prefix}.{idx}.{layer_type}" - lora_layers[layer_path] = [lora_layer] if is_list else lora_layer - - return lora_layers + # Apply the LoRA layer directly to the transformer + LoRALayers._set_layer_at_path( + transformer=transformer, + block_attr=block_attr, + block_idx=idx, + layer_type=layer_type, + lora_layer=lora_layer, + is_list=is_list, + ) @staticmethod - def transformer_dict_from_template(weights: dict, transformer: nn.Module, scale: float) -> dict: - lora_layers = {} - for key in weights.keys(): - if key.endswith(".lora_A"): - base_path = key[: -len(".lora_A")] - parts = base_path.split(".") + def _set_layer_at_path( + transformer, + block_attr: str, + block_idx: int, + layer_type: str, + lora_layer: LoRALinear, + is_list: bool, + ) -> None: + block = getattr(transformer, block_attr)[block_idx] + parts = layer_type.split(".") - if parts[1] == "transformer_blocks": - LoRALayers._handle_transformer_blocks( - weights=weights, - scale=scale, - transformer=transformer, - lora_layers=lora_layers, - base_path=base_path, - ) + # Navigate to parent + current = block + for part in parts[:-1]: + current = getattr(current, part) - elif parts[1] == "single_transformer_blocks": - LoRALayers._handle_single_transformer_blocks( - weights=weights, - scale=scale, - transformer=transformer, - lora_layers=lora_layers, - base_path=base_path, - ) - - # Handle top-level transformer components like x_embedder, context_embedder, proj_out - elif len(parts) == 2 and parts[0] == "transformer": - LoRALayers._handle_top_level_component( - weights=weights, - scale=scale, - transformer=transformer, - lora_layers=lora_layers, - base_path=base_path, - component_name=parts[1], - ) - - return lora_layers - - @staticmethod - def _resolve_legacy_paths(module, module_name: str, attr_name: str, parts: list, block_idx: int) -> tuple: - # Handle legacy naming: ff.net.2 -> ff.linear2 - if module_name == "ff" and attr_name == "net" and len(parts) >= 6 and parts[5] == "2": - return getattr(module, "linear2"), f"transformer.transformer_blocks.{block_idx}.ff.linear2" - - # Handle attn.to_out.0 -> attn.to_out[0] (list access) - if module_name == "attn" and attr_name == "to_out" and len(parts) >= 6 and parts[5] == "0": - return module.to_out[0], f"transformer.transformer_blocks.{block_idx}.attn.to_out" - - # Default case - get the attribute and check if it's actually a list - original_layer = getattr(module, attr_name) - - # Some layers (like attn.to_out) are legitimately lists in the transformer architecture - # In such cases, we need to extract the first element for LoRA creation - if isinstance(original_layer, list): - # For list layers, we use the first element for LoRA creation - # but we need to return the list itself for proper storage - return original_layer, ".".join(parts) - - return original_layer, ".".join(parts) - - @staticmethod - def _create_lora_layer(weights: dict, base_path: str, original_layer, scale: float): - lora_A = weights[f"{base_path}.lora_A"] - rank = lora_A.shape[1] - - # Handle the case where original_layer is a list (like attn.to_out) - # In such cases, use the first element for LoRA creation (same as construction code) - is_list = isinstance(original_layer, list) - layer_for_lora = original_layer[0] if is_list else original_layer - - lora_layer = LoRALinear.from_linear(linear=layer_for_lora, r=rank, scale=scale) - lora_layer.lora_A = lora_A - lora_layer.lora_B = weights[f"{base_path}.lora_B"] - return lora_layer - - @staticmethod - def _handle_transformer_blocks( - weights: dict, scale: float, transformer: nn.Module, lora_layers: dict, base_path: str - ): - parts = base_path.split(".") - block_idx = int(parts[2]) - module_name = parts[3] - attr_name = parts[4] - block = transformer.transformer_blocks[block_idx] - module = getattr(block, module_name) - - # Resolve legacy naming and get the actual layer and storage path - original_layer, storage_path = LoRALayers._resolve_legacy_paths( - module=module, - module_name=module_name, - attr_name=attr_name, - parts=parts, - block_idx=block_idx, - ) - - # Create and store LoRA layer - lora_layer = LoRALayers._create_lora_layer(weights, base_path, original_layer, scale) - - # Store as list if original layer was a list (matching construction logic) - is_list = isinstance(original_layer, list) - lora_layers[storage_path] = [lora_layer] if is_list else lora_layer - - @staticmethod - def _handle_single_transformer_blocks( - weights: dict, scale: float, transformer: nn.Module, lora_layers: dict, base_path: str - ): - parts = base_path.split(".") - block_idx = int(parts[2]) - module_name = parts[3] - - if len(parts) == 4: - original_layer = getattr(transformer.single_transformer_blocks[block_idx], module_name) + # Set the final attribute + final_attr = parts[-1] + if is_list: + getattr(current, final_attr)[0] = lora_layer else: - attr_name = parts[4] - block = transformer.single_transformer_blocks[block_idx] - module = getattr(block, module_name) - original_layer = getattr(module, attr_name) - - # Create and store LoRA layer - lora_layer = LoRALayers._create_lora_layer(weights, base_path, original_layer, scale) - - # Store as list if original layer was a list (matching construction logic) - is_list = isinstance(original_layer, list) - lora_layers[base_path] = [lora_layer] if is_list else lora_layer - - @staticmethod - def _handle_top_level_component( - weights: dict, scale: float, transformer: nn.Module, lora_layers: dict, base_path: str, component_name: str - ): - original_layer = getattr(transformer, component_name) - lora_layer = LoRALayers._create_lora_layer(weights, base_path, original_layer, scale) - - # Store as list if original layer was a list (matching construction logic) - is_list = isinstance(original_layer, list) - lora_layers[base_path] = [lora_layer] if is_list else lora_layer - - @staticmethod - def set_transformer_block(transformer_block, dictionary: dict): - for key, val in dictionary.items(): - if key == "attn": - LoRALayers._set_attribute(transformer_block, key, val, "to_q") - LoRALayers._set_attribute(transformer_block, key, val, "to_k") - LoRALayers._set_attribute(transformer_block, key, val, "to_v") - LoRALayers._set_attribute(transformer_block, key, val, "to_out") - LoRALayers._set_attribute(transformer_block, key, val, "add_q_proj") - LoRALayers._set_attribute(transformer_block, key, val, "add_k_proj") - LoRALayers._set_attribute(transformer_block, key, val, "add_v_proj") - LoRALayers._set_attribute(transformer_block, key, val, "to_add_out") - elif key == "ff" or key == "ff_context": - LoRALayers._set_attribute(transformer_block, key, val, "linear1") - LoRALayers._set_attribute(transformer_block, key, val, "linear2") - elif key == "norm1" or key == "norm1_context": - LoRALayers._set_attribute(transformer_block, key, val, "linear") - else: - raise Exception("Could not set LoRA weights") - - @staticmethod - def set_single_transformer_block(single_transformer_block, dictionary: dict): - for key, val in dictionary.items(): - if key == "attn": - LoRALayers._set_attribute(single_transformer_block, key, val, "to_q") - LoRALayers._set_attribute(single_transformer_block, key, val, "to_k") - LoRALayers._set_attribute(single_transformer_block, key, val, "to_v") - elif key == "norm": - LoRALayers._set_attribute(single_transformer_block, key, val, "linear") - elif key == "proj_mlp" or key == "proj_out": - single_transformer_block[key] = val - else: - raise Exception("Could not set LoRA weights") - - @staticmethod - def _set_attribute(block, key: str, val: dict, name: str): - if block[key].get(name, False) and val.get(name, False): - if name == "to_out" and isinstance(block[key][name], list): - if len(block[key][name]) > 0: - lora_layer = val[name][0] if isinstance(val[name], list) else val[name] - block[key][name][0] = lora_layer - else: - block[key][name] = val[name] + setattr(current, final_attr, lora_layer) @staticmethod def _get_nested_attr(obj, attr_path): @@ -283,19 +117,19 @@ class LoRALayers: obj = getattr(obj, attr) return obj - def save(self, path: Path, training_spec: TrainingSpec) -> None: + @staticmethod + def save(transformer, path: Path, training_spec: TrainingSpec) -> None: weights = {} - for entry in tree_flatten(self.layers.transformer): + for entry in tree_flatten(transformer): name = entry[0] weight = entry[1] if name.endswith(".lora_A") or name.endswith(".lora_B"): weights[name] = weight - weights = {key: mx.transpose(val) for key, val in weights.items()} - weights = {"transformer": weights} + weights = {f"transformer.{key}": mx.transpose(val) for key, val in weights.items()} mx.save_safetensors( str(path), - dict(tree_flatten(weights)), + weights, metadata={ "mflux_version": VersionUtil.get_mflux_version(), "transformer_blocks": str(training_spec.lora_layers.transformer_blocks), diff --git a/src/mflux/models/flux/variants/dreambooth/optimization/dreambooth_loss.py b/src/mflux/models/flux/variants/dreambooth/optimization/dreambooth_loss.py index b2b49a4..8631a5b 100644 --- a/src/mflux/models/flux/variants/dreambooth/optimization/dreambooth_loss.py +++ b/src/mflux/models/flux/variants/dreambooth/optimization/dreambooth_loss.py @@ -2,8 +2,8 @@ import random import mlx.core as mx -from mflux.config.config import Config -from mflux.config.runtime_config import RuntimeConfig +from mflux.models.common.config.config import Config +from mflux.models.common.config.model_config import ModelConfig from mflux.models.common.latent_creator.latent_creator import LatentCreator from mflux.models.flux.variants.dreambooth.dataset.batch import Batch, Example from mflux.models.flux.variants.txt2img.flux import Flux1 @@ -11,7 +11,7 @@ from mflux.models.flux.variants.txt2img.flux import Flux1 class DreamBoothLoss: @staticmethod - def compute_loss(flux: Flux1, config: RuntimeConfig, batch: Batch) -> mx.float16: + def compute_loss(flux: Flux1, config: Config, batch: Batch) -> mx.float16: losses = [ DreamBoothLoss._single_example_loss(flux, config, example, batch.rng) for example in batch.examples @@ -19,7 +19,7 @@ class DreamBoothLoss: return mx.mean(mx.array(losses)) @staticmethod - def _single_example_loss(flux: Flux1, config: RuntimeConfig, example: Example, rng: random.Random) -> mx.float16: + def _single_example_loss(flux: Flux1, config: Config, example: Example, rng: random.Random) -> mx.float16: # Must be a better way to handle the randomness than this, but we already # save/restore the random state via the iterator so this is a continent shortcut. time_seed = rng.randint(0, 2**32 - 1) @@ -41,7 +41,7 @@ class DreamBoothLoss: # Generate pure noise pure_noise = mx.random.normal( shape=clean_image.shape, - dtype=Config.precision, + dtype=ModelConfig.precision, key=mx.random.key(noise_seed), ) diff --git a/src/mflux/models/flux/variants/dreambooth/state/training_state.py b/src/mflux/models/flux/variants/dreambooth/state/training_state.py index 824a298..b2f2660 100644 --- a/src/mflux/models/flux/variants/dreambooth/state/training_state.py +++ b/src/mflux/models/flux/variants/dreambooth/state/training_state.py @@ -3,6 +3,7 @@ import json import tempfile import zipfile from pathlib import Path +from typing import TYPE_CHECKING from mflux.models.flux.variants.dreambooth.dataset.iterator import Iterator from mflux.models.flux.variants.dreambooth.lora_layers.lora_layers import LoRALayers @@ -11,6 +12,9 @@ from mflux.models.flux.variants.dreambooth.state.training_spec import TrainingSp from mflux.models.flux.variants.dreambooth.state.zip_util import ZipUtil from mflux.models.flux.variants.dreambooth.statistics.statistics import Statistics +if TYPE_CHECKING: + from mflux.models.flux.variants.txt2img.flux import Flux1 + DREAMBOOTH_PATH_CHECKPOINTS = "_checkpoints" DREAMBOOTH_FILE_NAME_CHECKPOINT = "checkpoint" @@ -31,16 +35,14 @@ class TrainingState: def __init__( self, iterator: Iterator, - lora_layers: LoRALayers, optimizer: Optimizer, statistics: Statistics, ): self.iterator = iterator self.optimizer = optimizer - self.lora_layers = lora_layers self.statistics = statistics - def save(self, training_spec: TrainingSpec) -> None: + def save(self, flux: "Flux1", training_spec: TrainingSpec) -> None: # Create a temporary directory to store files before zipping with tempfile.TemporaryDirectory() as temp_dir: # Save files to temporary directory @@ -54,7 +56,7 @@ class TrainingState: # Save individual files to temporary directory self.optimizer.save(optimizer_path) - self.lora_layers.save(lora_path, training_spec) + LoRALayers.save(flux.transformer, lora_path, training_spec) self.iterator.save(iterator_path) self.statistics.save(loss_path) self._save_train_config(config_path, training_spec) # For completeness, we also save the (initial) config diff --git a/src/mflux/models/flux/variants/fill/flux_fill.py b/src/mflux/models/flux/variants/fill/flux_fill.py index 261c8b4..05b4bb2 100644 --- a/src/mflux/models/flux/variants/fill/flux_fill.py +++ b/src/mflux/models/flux/variants/fill/flux_fill.py @@ -1,11 +1,10 @@ +from pathlib import Path + import mlx.core as mx from mlx import nn -from tqdm import tqdm -from mflux.callbacks.callbacks import Callbacks -from mflux.config.config import Config -from mflux.config.model_config import ModelConfig -from mflux.config.runtime_config import RuntimeConfig +from mflux.models.common.config.config import Config +from mflux.models.common.config.model_config import ModelConfig from mflux.models.flux.flux_initializer import FluxInitializer from mflux.models.flux.latent_creator.flux_latent_creator import FluxLatentCreator from mflux.models.flux.model.flux_text_encoder.clip_encoder.clip_encoder import CLIPEncoder @@ -14,7 +13,6 @@ from mflux.models.flux.model.flux_text_encoder.t5_encoder.t5_encoder import T5En from mflux.models.flux.model.flux_transformer.transformer import Transformer from mflux.models.flux.model.flux_vae.vae import VAE from mflux.models.flux.variants.fill.mask_util import MaskUtil -from mflux.utils.array_util import ArrayUtil from mflux.utils.exceptions import StopImageGenerationException from mflux.utils.generated_image import GeneratedImage from mflux.utils.image_util import ImageUtil @@ -29,43 +27,60 @@ class Flux1Fill(nn.Module): def __init__( self, quantize: int | None = None, - local_path: str | None = None, + model_path: str | None = None, lora_paths: list[str] | None = None, lora_scales: list[float] | None = None, + model_config: ModelConfig = ModelConfig.dev_fill(), ): super().__init__() FluxInitializer.init( - flux_model=self, - model_config=ModelConfig.dev_fill(), + model=self, quantize=quantize, - local_path=local_path, + model_path=model_path, lora_paths=lora_paths, lora_scales=lora_scales, + model_config=model_config, ) def generate_image( self, seed: int, prompt: str, - config: Config, + image_path: Path | str, + masked_image_path: Path | str, + num_inference_steps: int = 4, + height: int = 1024, + width: int = 1024, + guidance: float = 4.0, + image_strength: float | None = None, + scheduler: str = "linear", ) -> GeneratedImage: - # 0. Create a new runtime config based on the model type and input parameters - config = RuntimeConfig(config, self.model_config) - time_steps = tqdm(range(config.init_time_step, config.num_inference_steps)) + # 0. Create a new config based on the model type and input parameters + config = Config( + width=width, + height=height, + guidance=guidance, + scheduler=scheduler, + image_path=image_path, + image_strength=image_strength, + model_config=self.model_config, + masked_image_path=masked_image_path, + num_inference_steps=num_inference_steps, + ) # 1. Create the initial latents latents = FluxLatentCreator.create_noise( seed=seed, - height=config.height, width=config.width, + height=config.height, ) # 2. Encode the prompt prompt_embeds, pooled_prompt_embeds = PromptEncoder.encode_prompt( prompt=prompt, prompt_cache=self.prompt_cache, - t5_tokenizer=self.t5_tokenizer, - clip_tokenizer=self.clip_tokenizer, + t5_tokenizer=self.tokenizers["t5"], + clip_tokenizer=self.tokenizers["clip"], t5_text_encoder=self.t5_text_encoder, clip_text_encoder=self.clip_text_encoder, ) @@ -73,29 +88,25 @@ class Flux1Fill(nn.Module): # 3. Create the static masked latents static_masked_latents = MaskUtil.create_masked_latents( vae=self.vae, - height=config.height, width=config.width, + height=config.height, img_path=config.image_path, mask_path=config.masked_image_path, ) - # (Optional) Call subscribers for beginning of loop - Callbacks.before_loop( - seed=seed, - prompt=prompt, - latents=latents, - config=config, - ) + # 4. Create callback context and call before_loop + ctx = self.callbacks.start(seed=seed, prompt=prompt, config=config) + ctx.before_loop(latents) - for t in time_steps: + for t in config.time_steps: try: # Scale model input if needed by the scheduler latents = config.scheduler.scale_model_input(latents, t) - # 4.t Concatenate the updated latents with the static masked latents + # 5.t Concatenate the updated latents with the static masked latents hidden_states = mx.concatenate([latents, static_masked_latents], axis=-1) - # 5.t Predict the noise + # 6.t Predict the noise noise = self.transformer( t=t, config=config, @@ -104,47 +115,26 @@ class Flux1Fill(nn.Module): pooled_prompt_embeds=pooled_prompt_embeds, ) - # 6.t Take one denoise step - latents = config.scheduler.step( - model_output=noise, - timestep=t, - sample=latents, - ) + # 7.t Take one denoise step + latents = config.scheduler.step(noise=noise, timestep=t, latents=latents) - # (Optional) Call subscribers in-loop - Callbacks.in_loop( - t=t, - seed=seed, - prompt=prompt, - latents=latents, - config=config, - time_steps=time_steps, - ) + # 8.t Call subscribers in-loop + ctx.in_loop(t, latents) # (Optional) Evaluate to enable progress tracking mx.eval(latents) except KeyboardInterrupt: # noqa: PERF203 - Callbacks.interruption( - t=t, - seed=seed, - prompt=prompt, - latents=latents, - config=config, - time_steps=time_steps, + ctx.interruption(t, latents) + raise StopImageGenerationException( + f"Stopping image generation at step {t + 1}/{config.num_inference_steps}" ) - raise StopImageGenerationException(f"Stopping image generation at step {t + 1}/{len(time_steps)}") - # (Optional) Call subscribers after loop - Callbacks.after_loop( - seed=seed, - prompt=prompt, - latents=latents, - config=config, - ) + # 9. Call subscribers after loop + ctx.after_loop(latents) - # 7. Decode the latent array and return the image - latents = ArrayUtil.unpack_latents(latents=latents, height=config.height, width=config.width) + # 10. Decode the latent array and return the image + latents = FluxLatentCreator.unpack_latents(latents=latents, height=config.height, width=config.width) decoded = self.vae.decode(latents) return ImageUtil.to_image( decoded_latents=decoded, @@ -157,5 +147,5 @@ class Flux1Fill(nn.Module): image_path=config.image_path, image_strength=config.image_strength, masked_image_path=config.masked_image_path, - generation_time=time_steps.format_dict["elapsed"], + generation_time=config.time_steps.format_dict["elapsed"], ) diff --git a/src/mflux/models/flux/variants/fill/mask_util.py b/src/mflux/models/flux/variants/fill/mask_util.py index 90da69e..b872598 100644 --- a/src/mflux/models/flux/variants/fill/mask_util.py +++ b/src/mflux/models/flux/variants/fill/mask_util.py @@ -2,8 +2,8 @@ from pathlib import Path import mlx.core as mx +from mflux.models.flux.latent_creator.flux_latent_creator import FluxLatentCreator from mflux.models.flux.model.flux_vae.vae import VAE -from mflux.utils.array_util import ArrayUtil from mflux.utils.image_util import ImageUtil @@ -39,11 +39,11 @@ class MaskUtil: # 3. Create and pack the masked image masked_image = image * (1 - the_mask) masked_image = vae.encode(masked_image) - masked_image = ArrayUtil.pack_latents(latents=masked_image, height=height, width=width) + masked_image = FluxLatentCreator.pack_latents(latents=masked_image, height=height, width=width) # 4. Resize mask and pack latents mask = MaskUtil.reshape_mask(the_mask=the_mask, height=height, width=width) - mask = ArrayUtil.pack_latents(latents=mask, height=height, width=width, num_channels_latents=64) + mask = FluxLatentCreator.pack_latents(latents=mask, height=height, width=width, num_channels_latents=64) # 5. Concat the masked_image and the mask masked_image_latents = mx.concatenate([masked_image, mask], axis=-1) diff --git a/src/mflux/models/flux/variants/in_context/flux_in_context_dev.py b/src/mflux/models/flux/variants/in_context/flux_in_context_dev.py index 03a7f27..3c3fe28 100644 --- a/src/mflux/models/flux/variants/in_context/flux_in_context_dev.py +++ b/src/mflux/models/flux/variants/in_context/flux_in_context_dev.py @@ -1,19 +1,18 @@ +from pathlib import Path + import mlx.core as mx from mlx import nn -from tqdm import tqdm -from mflux.callbacks.callbacks import Callbacks -from mflux.config.config import Config -from mflux.config.model_config import ModelConfig -from mflux.config.runtime_config import RuntimeConfig +from mflux.models.common.config.config import Config +from mflux.models.common.config.model_config import ModelConfig from mflux.models.common.latent_creator.latent_creator import LatentCreator from mflux.models.flux.flux_initializer import FluxInitializer +from mflux.models.flux.latent_creator.flux_latent_creator import FluxLatentCreator from mflux.models.flux.model.flux_text_encoder.clip_encoder.clip_encoder import CLIPEncoder from mflux.models.flux.model.flux_text_encoder.prompt_encoder import PromptEncoder from mflux.models.flux.model.flux_text_encoder.t5_encoder.t5_encoder import T5Encoder from mflux.models.flux.model.flux_transformer.transformer import Transformer from mflux.models.flux.model.flux_vae.vae import VAE -from mflux.utils.array_util import ArrayUtil from mflux.utils.exceptions import StopImageGenerationException from mflux.utils.generated_image import GeneratedImage from mflux.utils.image_util import ImageUtil @@ -27,42 +26,52 @@ class Flux1InContextDev(nn.Module): def __init__( self, - model_config: ModelConfig, quantize: int | None = None, - local_path: str | None = None, + model_path: str | None = None, lora_paths: list[str] | None = None, lora_scales: list[float] | None = None, - lora_names: list[str] | None = None, - lora_repo_id: str | None = None, + model_config: ModelConfig = ModelConfig.dev(), ): super().__init__() FluxInitializer.init( - flux_model=self, - model_config=model_config, + model=self, quantize=quantize, - local_path=local_path, + model_path=model_path, lora_paths=lora_paths, lora_scales=lora_scales, - lora_names=lora_names, - lora_repo_id=lora_repo_id, + model_config=model_config, ) def generate_image( self, seed: int, prompt: str, - config: Config, + num_inference_steps: int = 4, + height: int = 1024, + width: int = 1024, + guidance: float = 4.0, + image_path: Path | str | None = None, + image_strength: float | None = None, + scheduler: str = "linear", ) -> GeneratedImage: - # 0. Create a new runtime config based on the model type and input parameters - config = RuntimeConfig(config, self.model_config) - time_steps = tqdm(range(config.init_time_step, config.num_inference_steps)) + # 0. Create a new config based on the model type and input parameters + config = Config( + width=width, + height=height, + guidance=guidance, + scheduler=scheduler, + image_path=image_path, + image_strength=image_strength, + model_config=self.model_config, + num_inference_steps=num_inference_steps, + ) # 1. Encode the reference image encoded_image = LatentCreator.encode_image( vae=self.vae, - image_path=config.image_path, - height=config.height, width=config.width, + height=config.height, + image_path=config.image_path, ) # 2. Create the initial latents and keep the initial static noise for later blending @@ -73,26 +82,22 @@ class Flux1InContextDev(nn.Module): prompt_embeds, pooled_prompt_embeds = PromptEncoder.encode_prompt( prompt=prompt, prompt_cache=self.prompt_cache, - t5_tokenizer=self.t5_tokenizer, - clip_tokenizer=self.clip_tokenizer, + t5_tokenizer=self.tokenizers["t5"], + clip_tokenizer=self.tokenizers["clip"], t5_text_encoder=self.t5_text_encoder, clip_text_encoder=self.clip_text_encoder, ) - # (Optional) Call subscribers for beginning of loop - Callbacks.before_loop( - seed=seed, - prompt=prompt, - latents=latents, - config=config, - ) + # 4. Create callback context and call before_loop + ctx = self.callbacks.start(seed=seed, prompt=prompt, config=config) + ctx.before_loop(latents) - for t in time_steps: + for t in config.time_steps: try: # Scale model input if needed by the scheduler latents = config.scheduler.scale_model_input(latents, t) - # 4.t Predict the noise + # 5.t Predict the noise noise = self.transformer( t=t, config=config, @@ -101,14 +106,10 @@ class Flux1InContextDev(nn.Module): pooled_prompt_embeds=pooled_prompt_embeds, ) - # 5.t Take one denoise step and update latents - latents = config.scheduler.step( - model_output=noise, - timestep=t, - sample=latents, - ) + # 6.t Take one denoise step and update latents + latents = config.scheduler.step(noise=noise, timestep=t, latents=latents) - # 6.t Override the left-hand side of latents by linearly interpolating between latents and static noise + # 7.t Override the left-hand side of latents by linearly interpolating between latents and static noise latents = Flux1InContextDev._update_latents( t=t, config=config, @@ -118,40 +119,23 @@ class Flux1InContextDev(nn.Module): sigmas=config.scheduler.sigmas, ) - # (Optional) Call subscribers in-loop - Callbacks.in_loop( - t=t, - seed=seed, - prompt=prompt, - latents=latents, - config=config, - time_steps=time_steps, - ) + # 8.t Call subscribers in-loop + ctx.in_loop(t, latents) # (Optional) Evaluate to enable progress tracking mx.eval(latents) except KeyboardInterrupt: # noqa: PERF203 - Callbacks.interruption( - t=t, - seed=seed, - prompt=prompt, - latents=latents, - config=config, - time_steps=time_steps, + ctx.interruption(t, latents) + raise StopImageGenerationException( + f"Stopping image generation at step {t + 1}/{config.num_inference_steps}" ) - raise StopImageGenerationException(f"Stopping image generation at step {t + 1}/{len(time_steps)}") - # (Optional) Call subscribers after loop - Callbacks.after_loop( - seed=seed, - prompt=prompt, - latents=latents, - config=config, - ) + # 9. Call subscribers after loop + ctx.after_loop(latents) - # 6. Decode the latent array and return the image - latents = ArrayUtil.unpack_latents(latents=latents, height=config.height, width=config.width) + # 10. Decode the latent array and return the image + latents = FluxLatentCreator.unpack_latents(latents=latents, height=config.height, width=config.width) decoded = self.vae.decode(latents) return ImageUtil.to_image( decoded_latents=decoded, @@ -163,11 +147,11 @@ class Flux1InContextDev(nn.Module): lora_scales=self.lora_scales, image_path=config.image_path, image_strength=config.image_strength, - generation_time=time_steps.format_dict["elapsed"], + generation_time=config.time_steps.format_dict["elapsed"], ) @staticmethod - def _create_in_context_latents(seed: int, config: RuntimeConfig): + def _create_in_context_latents(seed: int, config: Config): # 1. Double the width for side-by-side generation config.width = 2 * config.width @@ -177,21 +161,23 @@ class Flux1InContextDev(nn.Module): # 3. Create noise with appropriate dimensions static_noise = mx.random.normal(shape=[1, 16, latent_height, latent_width], key=mx.random.key(seed)) - latents = ArrayUtil.pack_latents(latents=static_noise, height=config.height, width=config.width) + latents = FluxLatentCreator.pack_latents(latents=static_noise, height=config.height, width=config.width) return latents @staticmethod def _update_latents( t: int, - config: RuntimeConfig, + config: Config, latents: mx.array, encoded_image: mx.array, static_noise: mx.array, sigmas: mx.array, ) -> mx.array: # 1. Unpack the latents - unpacked = ArrayUtil.unpack_latents(latents=latents, height=config.height, width=config.width) - unpacked_static_noise = ArrayUtil.unpack_latents(latents=static_noise, height=config.height, width=config.width) + unpacked = FluxLatentCreator.unpack_latents(latents=latents, height=config.height, width=config.width) + unpacked_static_noise = FluxLatentCreator.unpack_latents( + latents=static_noise, height=config.height, width=config.width + ) # 2. Calculate latent_width from the config (original width is half of current width) latent_width = (config.width // 2) // 8 @@ -204,4 +190,4 @@ class Flux1InContextDev(nn.Module): ) # 4. Repack the latents - return ArrayUtil.pack_latents(latents=unpacked, height=config.height, width=config.width) + return FluxLatentCreator.pack_latents(latents=unpacked, height=config.height, width=config.width) diff --git a/src/mflux/models/flux/variants/in_context/flux_in_context_fill.py b/src/mflux/models/flux/variants/in_context/flux_in_context_fill.py index 1655fb0..18dc333 100644 --- a/src/mflux/models/flux/variants/in_context/flux_in_context_fill.py +++ b/src/mflux/models/flux/variants/in_context/flux_in_context_fill.py @@ -1,11 +1,10 @@ +from pathlib import Path + import mlx.core as mx from mlx import nn -from tqdm import tqdm -from mflux.callbacks.callbacks import Callbacks -from mflux.config.config import Config -from mflux.config.model_config import ModelConfig -from mflux.config.runtime_config import RuntimeConfig +from mflux.models.common.config.config import Config +from mflux.models.common.config.model_config import ModelConfig from mflux.models.flux.flux_initializer import FluxInitializer from mflux.models.flux.latent_creator.flux_latent_creator import FluxLatentCreator from mflux.models.flux.model.flux_text_encoder.clip_encoder.clip_encoder import CLIPEncoder @@ -14,7 +13,6 @@ from mflux.models.flux.model.flux_text_encoder.t5_encoder.t5_encoder import T5En from mflux.models.flux.model.flux_transformer.transformer import Transformer from mflux.models.flux.model.flux_vae.vae import VAE from mflux.models.flux.variants.in_context.utils.in_context_mask_util import InContextMaskUtil -from mflux.utils.array_util import ArrayUtil from mflux.utils.exceptions import StopImageGenerationException from mflux.utils.generated_image import GeneratedImage from mflux.utils.image_util import ImageUtil @@ -28,38 +26,51 @@ class Flux1InContextFill(nn.Module): def __init__( self, - model_config: ModelConfig, quantize: int | None = None, - local_path: str | None = None, + model_path: str | None = None, lora_paths: list[str] | None = None, lora_scales: list[float] | None = None, + model_config: ModelConfig = ModelConfig.dev(), ): super().__init__() FluxInitializer.init( - flux_model=self, - model_config=model_config, + model=self, quantize=quantize, - local_path=local_path, + model_path=model_path, lora_paths=lora_paths, lora_scales=lora_scales, + model_config=model_config, ) def generate_image( self, seed: int, prompt: str, - config: Config, left_image_path: str, + num_inference_steps: int = 4, + height: int = 1024, + width: int = 1024, + guidance: float = 4.0, right_image_path: str | None = None, + masked_image_path: Path | str | None = None, + image_strength: float | None = None, + scheduler: str = "linear", ) -> GeneratedImage: - # 0. Create a new runtime config based on the model type and input parameters - config = RuntimeConfig(config, self.model_config) - # For in-context learning with side-by-side approach, double the width - original_width = config.width - config.width = original_width * 2 + original_width = width + doubled_width = original_width * 2 - time_steps = tqdm(range(config.init_time_step, config.num_inference_steps)) + # 0. Create a new config based on the model type and input parameters + config = Config( + height=height, + width=doubled_width, # Use doubled width for in-context + guidance=guidance, + scheduler=scheduler, + image_strength=image_strength, + model_config=self.model_config, + masked_image_path=masked_image_path, + num_inference_steps=num_inference_steps, + ) # 1. Create the initial latents latents = FluxLatentCreator.create_noise( @@ -72,8 +83,8 @@ class Flux1InContextFill(nn.Module): prompt_embeds, pooled_prompt_embeds = PromptEncoder.encode_prompt( prompt=prompt, prompt_cache=self.prompt_cache, - t5_tokenizer=self.t5_tokenizer, - clip_tokenizer=self.clip_tokenizer, + t5_tokenizer=self.tokenizers["t5"], + clip_tokenizer=self.tokenizers["clip"], t5_text_encoder=self.t5_text_encoder, clip_text_encoder=self.clip_text_encoder, ) @@ -82,30 +93,26 @@ class Flux1InContextFill(nn.Module): static_masked_latents = InContextMaskUtil.create_masked_latents( vae=self.vae, height=config.height, - width=config.width, + width=doubled_width, original_width=original_width, left_image_path=left_image_path, right_image_path=right_image_path, mask_path=config.masked_image_path, ) - # (Optional) Call subscribers for beginning of loop - Callbacks.before_loop( - seed=seed, - prompt=prompt, - latents=latents, - config=config, - ) + # 4. Create callback context and call before_loop + ctx = self.callbacks.start(seed=seed, prompt=prompt, config=config) + ctx.before_loop(latents) - for t in time_steps: + for t in config.time_steps: try: # Scale model input if needed by the scheduler latents = config.scheduler.scale_model_input(latents, t) - # 4.t Concatenate the updated latents with the static masked latents + # 5.t Concatenate the updated latents with the static masked latents hidden_states = mx.concatenate([latents, static_masked_latents], axis=-1) - # 5.t Predict the noise + # 6.t Predict the noise noise = self.transformer( t=t, config=config, @@ -114,47 +121,26 @@ class Flux1InContextFill(nn.Module): pooled_prompt_embeds=pooled_prompt_embeds, ) - # 6.t Take one denoise step - latents = config.scheduler.step( - model_output=noise, - timestep=t, - sample=latents, - ) + # 7.t Take one denoise step + latents = config.scheduler.step(noise=noise, timestep=t, latents=latents) - # (Optional) Call subscribers in-loop - Callbacks.in_loop( - t=t, - seed=seed, - prompt=prompt, - latents=latents, - config=config, - time_steps=time_steps, - ) + # 8.t Call subscribers in-loop + ctx.in_loop(t, latents) # (Optional) Evaluate to enable progress tracking mx.eval(latents) except KeyboardInterrupt: # noqa: PERF203 - Callbacks.interruption( - t=t, - seed=seed, - prompt=prompt, - latents=latents, - config=config, - time_steps=time_steps, + ctx.interruption(t, latents) + raise StopImageGenerationException( + f"Stopping image generation at step {t + 1}/{config.num_inference_steps}" ) - raise StopImageGenerationException(f"Stopping image generation at step {t + 1}/{len(time_steps)}") - # (Optional) Call subscribers after loop - Callbacks.after_loop( - seed=seed, - prompt=prompt, - latents=latents, - config=config, - ) + # 9. Call subscribers after loop + ctx.after_loop(latents) - # 7. Decode the latent array and return the full image - latents = ArrayUtil.unpack_latents(latents=latents, height=config.height, width=config.width) + # 10. Decode the latent array and return the full image + latents = FluxLatentCreator.unpack_latents(latents=latents, height=config.height, width=config.width) decoded = self.vae.decode(latents) return ImageUtil.to_image( decoded_latents=decoded, @@ -167,5 +153,5 @@ class Flux1InContextFill(nn.Module): image_path=right_image_path, image_strength=config.image_strength, masked_image_path=config.masked_image_path, - generation_time=time_steps.format_dict["elapsed"], + generation_time=config.time_steps.format_dict["elapsed"], ) diff --git a/src/mflux/models/flux/variants/in_context/utils/in_context_fill_util.py b/src/mflux/models/flux/variants/in_context/utils/in_context_fill_util.py new file mode 100644 index 0000000..0a09fea --- /dev/null +++ b/src/mflux/models/flux/variants/in_context/utils/in_context_fill_util.py @@ -0,0 +1,28 @@ +from PIL import Image + +from mflux.utils.prompt_util import PromptUtil + + +class FluxInContextFillUtil: + @staticmethod + def get_effective_ic_edit_prompt(args): + if hasattr(args, "instruction") and args.instruction: + return f"A diptych with two side-by-side images of the same scene. On the right, the scene is exactly the same as on the left but {args.instruction}" + else: + return PromptUtil.read_prompt(args) + + @staticmethod + def resize_for_ic_edit_optimal_width(args): + with Image.open(args.reference_image) as img: + actual_width, actual_height = img.size + aspect_ratio = actual_height / actual_width + original_args_width = args.width + original_args_height = args.height + optimal_width = 512 + optimal_height = int(512 * aspect_ratio) + optimal_height = (optimal_height // 8) * 8 + print(f"[INFO] IC-Edit LoRA trained on 512px width. Auto-resizing from actual image {actual_width}x{actual_height} to {optimal_width}x{optimal_height}") # fmt:off + print(f"[INFO] Aspect ratio maintained: {aspect_ratio:.3f}") + if original_args_width != actual_width or original_args_height != actual_height: + print(f"[INFO] Note: Command line args specified {original_args_width}x{original_args_height}, but using actual image dimensions for scaling") # fmt:off + return optimal_width, optimal_height diff --git a/src/mflux/models/flux/variants/in_context/utils/in_context_loras.py b/src/mflux/models/flux/variants/in_context/utils/in_context_loras.py index f82351b..19b8bc5 100644 --- a/src/mflux/models/flux/variants/in_context/utils/in_context_loras.py +++ b/src/mflux/models/flux/variants/in_context/utils/in_context_loras.py @@ -1,6 +1,3 @@ -"""Configuration for In-Context LoRAs from Hugging Face.""" -from mflux.models.common.lora.download.lora_huggingface_downloader import LoRAHuggingFaceDownloader - # Default Hugging Face repository for In-Context LoRAs LORA_REPO_ID = "ali-vilab/In-Context-LoRA" @@ -24,31 +21,12 @@ IC_EDIT_LORA_FILENAME = "pytorch_lora_weights.safetensors" IC_EDIT_LORA_SCALE = 1.0 -def get_lora_filename(simple_name: str) -> str: +def get_lora_path(simple_name: str) -> str: if simple_name not in LORA_NAME_MAP: valid_names = ", ".join(sorted(LORA_NAME_MAP.keys())) raise ValueError(f"Unknown LoRA name: {simple_name}. Valid names are: {valid_names}") - return LORA_NAME_MAP[simple_name] + return f"{LORA_REPO_ID}:{LORA_NAME_MAP[simple_name]}" -def prepare_ic_edit_loras(additional_lora_paths: list[str] | None = None) -> list[str]: - print(f"๐Ÿ” Downloading IC-Edit LoRA from {IC_EDIT_LORA_REPO_ID}") - - # Download the required IC-Edit LoRA - ic_edit_lora_path = LoRAHuggingFaceDownloader.download_lora( - repo_id=IC_EDIT_LORA_REPO_ID, - lora_name=IC_EDIT_LORA_FILENAME, - ) - - # IC-Edit LoRA is always required and goes first - lora_paths = [ic_edit_lora_path] - - # Add any additional user-specified LoRAs - if additional_lora_paths: - lora_paths.extend(additional_lora_paths) - - print(f"โœ… IC-Edit LoRA ready: {ic_edit_lora_path}") - if len(lora_paths) > 1: - print(f"๐Ÿ“‹ Additional LoRAs: {lora_paths[1:]}") - - return lora_paths +def get_ic_edit_lora_path() -> str: + return f"{IC_EDIT_LORA_REPO_ID}:{IC_EDIT_LORA_FILENAME}" diff --git a/src/mflux/models/flux/variants/in_context/utils/in_context_mask_util.py b/src/mflux/models/flux/variants/in_context/utils/in_context_mask_util.py index 2484d84..3fb6266 100644 --- a/src/mflux/models/flux/variants/in_context/utils/in_context_mask_util.py +++ b/src/mflux/models/flux/variants/in_context/utils/in_context_mask_util.py @@ -1,8 +1,8 @@ import mlx.core as mx +from mflux.models.flux.latent_creator.flux_latent_creator import FluxLatentCreator from mflux.models.flux.model.flux_vae.vae import VAE from mflux.models.flux.variants.fill.mask_util import MaskUtil -from mflux.utils.array_util import ArrayUtil from mflux.utils.image_util import ImageUtil @@ -67,7 +67,7 @@ class InContextMaskUtil: # Encode and process exactly like MaskUtil.create_masked_latents encoded_image = vae.encode(masked_concatenated_image) - encoded_image = ArrayUtil.pack_latents( + encoded_image = FluxLatentCreator.pack_latents( latents=encoded_image, height=height, width=width, @@ -78,7 +78,7 @@ class InContextMaskUtil: height=height, width=width, ) - processed_mask = ArrayUtil.pack_latents( + processed_mask = FluxLatentCreator.pack_latents( latents=processed_mask, height=height, width=width, diff --git a/src/mflux/models/flux/variants/kontext/flux_kontext.py b/src/mflux/models/flux/variants/kontext/flux_kontext.py index 9827e12..56db271 100644 --- a/src/mflux/models/flux/variants/kontext/flux_kontext.py +++ b/src/mflux/models/flux/variants/kontext/flux_kontext.py @@ -1,11 +1,10 @@ +from pathlib import Path + import mlx.core as mx from mlx import nn -from tqdm import tqdm -from mflux.callbacks.callbacks import Callbacks -from mflux.config.config import Config -from mflux.config.model_config import ModelConfig -from mflux.config.runtime_config import RuntimeConfig +from mflux.models.common.config.config import Config +from mflux.models.common.config.model_config import ModelConfig from mflux.models.flux.flux_initializer import FluxInitializer from mflux.models.flux.latent_creator.flux_latent_creator import FluxLatentCreator from mflux.models.flux.model.flux_text_encoder.clip_encoder.clip_encoder import CLIPEncoder @@ -13,8 +12,7 @@ from mflux.models.flux.model.flux_text_encoder.prompt_encoder import PromptEncod from mflux.models.flux.model.flux_text_encoder.t5_encoder.t5_encoder import T5Encoder from mflux.models.flux.model.flux_transformer.transformer import Transformer from mflux.models.flux.model.flux_vae.vae import VAE -from mflux.models.flux.variants.kontext.utils.kontext_util import KontextUtil -from mflux.utils.array_util import ArrayUtil +from mflux.models.flux.variants.kontext.kontext_util import KontextUtil from mflux.utils.exceptions import StopImageGenerationException from mflux.utils.generated_image import GeneratedImage from mflux.utils.image_util import ImageUtil @@ -29,43 +27,58 @@ class Flux1Kontext(nn.Module): def __init__( self, quantize: int | None = None, - local_path: str | None = None, + model_path: str | None = None, lora_paths: list[str] | None = None, lora_scales: list[float] | None = None, + model_config: ModelConfig = ModelConfig.dev_kontext(), ): super().__init__() FluxInitializer.init( - flux_model=self, - model_config=ModelConfig.dev_kontext(), + model=self, quantize=quantize, - local_path=local_path, + model_path=model_path, lora_paths=lora_paths, lora_scales=lora_scales, + model_config=model_config, ) def generate_image( self, seed: int, prompt: str, - config: Config, + num_inference_steps: int = 4, + height: int = 1024, + width: int = 1024, + guidance: float = 4.0, + image_path: Path | str | None = None, + image_strength: float | None = None, + scheduler: str = "linear", ) -> GeneratedImage: - # 0. Create a new runtime config based on the model type and input parameters - config = RuntimeConfig(config, self.model_config) - time_steps = tqdm(range(config.init_time_step, config.num_inference_steps)) + # 0. Create a new config based on the model type and input parameters + config = Config( + width=width, + height=height, + guidance=guidance, + scheduler=scheduler, + image_path=image_path, + image_strength=image_strength, + model_config=self.model_config, + num_inference_steps=num_inference_steps, + ) # 1. Create the initial latents latents = FluxLatentCreator.create_noise( seed=seed, - height=config.height, width=config.width, + height=config.height, ) # 2. Encode the prompt prompt_embeds, pooled_prompt_embeds = PromptEncoder.encode_prompt( prompt=prompt, prompt_cache=self.prompt_cache, - t5_tokenizer=self.t5_tokenizer, - clip_tokenizer=self.clip_tokenizer, + t5_tokenizer=self.tokenizers["t5"], + clip_tokenizer=self.tokenizers["clip"], t5_text_encoder=self.t5_text_encoder, clip_text_encoder=self.clip_text_encoder, ) @@ -73,28 +86,24 @@ class Flux1Kontext(nn.Module): # 3. Create the static image conditioning latents and IDs static_image_latents, kontext_image_ids = KontextUtil.create_image_conditioning_latents( vae=self.vae, - height=config.height, width=config.width, + height=config.height, image_path=config.image_path, ) - # (Optional) Call subscribers for beginning of loop - Callbacks.before_loop( - seed=seed, - prompt=prompt, - latents=latents, - config=config, - ) + # 4. Create callback context and call before_loop + ctx = self.callbacks.start(seed=seed, prompt=prompt, config=config) + ctx.before_loop(latents) - for t in time_steps: + for t in config.time_steps: try: # Scale model input if needed by the scheduler latents = config.scheduler.scale_model_input(latents, t) - # 4.t Concatenate the updated latents with the static image latents + # 5.t Concatenate the updated latents with the static image latents hidden_states = mx.concatenate([latents, static_image_latents], axis=1) - # 5.t Predict the noise + # 6.t Predict the noise noise = self.transformer( t=t, config=config, @@ -104,50 +113,29 @@ class Flux1Kontext(nn.Module): kontext_image_ids=kontext_image_ids, ) - # 6.t Extract only the noise for the generation latents (first part) + # 7.t Extract only the noise for the generation latents (first part) noise = noise[:, : latents.shape[1]] - # 7.t Take one denoise step - latents = config.scheduler.step( - model_output=noise, - timestep=t, - sample=latents, - ) + # 8.t Take one denoise step + latents = config.scheduler.step(noise=noise, timestep=t, latents=latents) - # (Optional) Call subscribers in-loop - Callbacks.in_loop( - t=t, - seed=seed, - prompt=prompt, - latents=latents, - config=config, - time_steps=time_steps, - ) + # 9.t Call subscribers in-loop + ctx.in_loop(t, latents) # (Optional) Evaluate to enable progress tracking mx.eval(latents) except KeyboardInterrupt: # noqa: PERF203 - Callbacks.interruption( - t=t, - seed=seed, - prompt=prompt, - latents=latents, - config=config, - time_steps=time_steps, + ctx.interruption(t, latents) + raise StopImageGenerationException( + f"Stopping image generation at step {t + 1}/{config.num_inference_steps}" ) - raise StopImageGenerationException(f"Stopping image generation at step {t + 1}/{len(time_steps)}") - # (Optional) Call subscribers after loop - Callbacks.after_loop( - seed=seed, - prompt=prompt, - latents=latents, - config=config, - ) + # 10. Call subscribers after loop + ctx.after_loop(latents) - # 8. Decode the latent array and return the image - latents = ArrayUtil.unpack_latents(latents=latents, height=config.height, width=config.width) + # 11. Decode the latent array and return the image + latents = FluxLatentCreator.unpack_latents(latents=latents, height=config.height, width=config.width) decoded = self.vae.decode(latents) return ImageUtil.to_image( decoded_latents=decoded, @@ -158,5 +146,5 @@ class Flux1Kontext(nn.Module): lora_paths=self.lora_paths, lora_scales=self.lora_scales, image_path=config.image_path, - generation_time=time_steps.format_dict["elapsed"], + generation_time=config.time_steps.format_dict["elapsed"], ) diff --git a/src/mflux/models/flux/variants/kontext/utils/kontext_util.py b/src/mflux/models/flux/variants/kontext/kontext_util.py similarity index 94% rename from src/mflux/models/flux/variants/kontext/utils/kontext_util.py rename to src/mflux/models/flux/variants/kontext/kontext_util.py index fd67393..f87b930 100644 --- a/src/mflux/models/flux/variants/kontext/utils/kontext_util.py +++ b/src/mflux/models/flux/variants/kontext/kontext_util.py @@ -1,7 +1,7 @@ import mlx.core as mx from mflux.models.common.latent_creator.latent_creator import LatentCreator -from mflux.utils.array_util import ArrayUtil +from mflux.models.flux.latent_creator.flux_latent_creator import FluxLatentCreator class KontextUtil: @@ -21,7 +21,7 @@ class KontextUtil: ) # Pack image latents for conditioning - image_latents = ArrayUtil.pack_latents( + image_latents = FluxLatentCreator.pack_latents( latents=input_image, height=height, width=width, diff --git a/src/mflux/models/flux/variants/redux/flux_redux.py b/src/mflux/models/flux/variants/redux/flux_redux.py index d590a4f..9042fd3 100644 --- a/src/mflux/models/flux/variants/redux/flux_redux.py +++ b/src/mflux/models/flux/variants/redux/flux_redux.py @@ -2,12 +2,10 @@ from pathlib import Path import mlx.core as mx from mlx import nn -from tqdm import tqdm -from mflux.callbacks.callbacks import Callbacks -from mflux.config.config import Config -from mflux.config.model_config import ModelConfig -from mflux.config.runtime_config import RuntimeConfig +from mflux.models.common.config.config import Config +from mflux.models.common.config.model_config import ModelConfig +from mflux.models.common.tokenizer import Tokenizer from mflux.models.flux.flux_initializer import FluxInitializer from mflux.models.flux.latent_creator.flux_latent_creator import FluxLatentCreator from mflux.models.flux.model.flux_text_encoder.clip_encoder.clip_encoder import CLIPEncoder @@ -17,10 +15,7 @@ from mflux.models.flux.model.flux_transformer.transformer import Transformer from mflux.models.flux.model.flux_vae.vae import VAE from mflux.models.flux.model.redux_encoder.redux_encoder import ReduxEncoder from mflux.models.flux.model.siglip_vision_transformer.siglip_vision_transformer import SiglipVisionTransformer -from mflux.models.flux.tokenizer.clip_tokenizer import TokenizerCLIP -from mflux.models.flux.tokenizer.t5_tokenizer import TokenizerT5 from mflux.models.flux.variants.redux.redux_util import ReduxUtil -from mflux.utils.array_util import ArrayUtil from mflux.utils.exceptions import StopImageGenerationException from mflux.utils.generated_image import GeneratedImage from mflux.utils.image_util import ImageUtil @@ -36,136 +31,128 @@ class Flux1Redux(nn.Module): def __init__( self, - model_config: ModelConfig, quantize: int | None = None, - local_path: str | None = None, + model_path: str | None = None, lora_paths: list[str] | None = None, lora_scales: list[float] | None = None, + model_config: ModelConfig = ModelConfig.dev(), ): super().__init__() FluxInitializer.init_redux( - flux_model=self, + model=self, quantize=quantize, - local_path=local_path, + model_path=model_path, lora_paths=lora_paths, lora_scales=lora_scales, + model_config=model_config, ) def generate_image( self, seed: int, prompt: str, - config: Config, + redux_image_paths: list[Path | str], + num_inference_steps: int = 4, + height: int = 1024, + width: int = 1024, + guidance: float = 4.0, + redux_image_strengths: list[float] | None = None, + image_strength: float | None = None, + scheduler: str = "linear", ) -> GeneratedImage: - # 0. Create a new runtime config based on the model type and input parameters - runtime_config = RuntimeConfig(config, self.model_config) - time_steps = tqdm(range(runtime_config.init_time_step, runtime_config.num_inference_steps)) + # 0. Create a new config based on the model type and input parameters + config = Config( + width=width, + height=height, + guidance=guidance, + scheduler=scheduler, + image_strength=image_strength, + model_config=self.model_config, + redux_image_paths=redux_image_paths, + num_inference_steps=num_inference_steps, + redux_image_strengths=redux_image_strengths, + ) # 1. Create the initial latents latents = FluxLatentCreator.create_noise( seed=seed, - height=runtime_config.height, - width=runtime_config.width, + width=config.width, + height=config.height, ) # 2. Get prompt embeddings by fusing the prompt and image embeddings prompt_embeds, pooled_prompt_embeds = Flux1Redux._get_prompt_embeddings( prompt=prompt, prompt_cache=self.prompt_cache, - t5_tokenizer=self.t5_tokenizer, - clip_tokenizer=self.clip_tokenizer, + t5_tokenizer=self.tokenizers["t5"], + clip_tokenizer=self.tokenizers["clip"], t5_text_encoder=self.t5_text_encoder, clip_text_encoder=self.clip_text_encoder, - image_paths=runtime_config.redux_image_paths, + image_paths=config.redux_image_paths, image_encoder=self.image_encoder, image_embedder=self.image_embedder, - image_strengths=runtime_config.redux_image_strengths, - ) # fmt: off + image_strengths=config.redux_image_strengths, + ) - # (Optional) Call subscribers for beginning of loop - Callbacks.before_loop( - seed=seed, - prompt=prompt, - latents=latents, - config=runtime_config, - ) # fmt: off + # 3. Create callback context and call before_loop + ctx = self.callbacks.start(seed=seed, prompt=prompt, config=config) + ctx.before_loop(latents) - for t in time_steps: + for t in config.time_steps: try: # Scale model input if needed by the scheduler - latents = runtime_config.scheduler.scale_model_input(latents, t) + latents = config.scheduler.scale_model_input(latents, t) - # 3.t Predict the noise + # 4.t Predict the noise noise = self.transformer( t=t, - config=runtime_config, + config=config, hidden_states=latents, prompt_embeds=prompt_embeds, pooled_prompt_embeds=pooled_prompt_embeds, ) - # 4.t Take one denoise step - latents = runtime_config.scheduler.step( - model_output=noise, - timestep=t, - sample=latents, - ) + # 5.t Take one denoise step + latents = config.scheduler.step(noise=noise, timestep=t, latents=latents) - # (Optional) Call subscribers in-loop - Callbacks.in_loop( - t=t, - seed=seed, - prompt=prompt, - latents=latents, - config=runtime_config, - time_steps=time_steps, - ) # fmt: off + # 6.t Call subscribers in-loop + ctx.in_loop(t, latents) # (Optional) Evaluate to enable progress tracking mx.eval(latents) except KeyboardInterrupt: # noqa: PERF203 - Callbacks.interruption( - t=t, - seed=seed, - prompt=prompt, - latents=latents, - config=runtime_config, - time_steps=time_steps, + ctx.interruption(t, latents) + raise StopImageGenerationException( + f"Stopping image generation at step {t + 1}/{config.num_inference_steps}" ) - raise StopImageGenerationException(f"Stopping image generation at step {t + 1}/{len(time_steps)}") - # (Optional) Call subscribers after loop - Callbacks.after_loop( - seed=seed, - prompt=prompt, - latents=latents, - config=runtime_config, - ) # fmt: off + # 7. Call subscribers after loop + ctx.after_loop(latents) - # 7. Decode the latent array and return the image - latents = ArrayUtil.unpack_latents(latents=latents, height=runtime_config.height, width=runtime_config.width) + # 8. Decode the latent array and return the image + latents = FluxLatentCreator.unpack_latents(latents=latents, height=config.height, width=config.width) decoded = self.vae.decode(latents) return ImageUtil.to_image( decoded_latents=decoded, - config=runtime_config, + config=config, seed=seed, prompt=prompt, quantization=self.bits, lora_paths=self.lora_paths, lora_scales=self.lora_scales, - redux_image_paths=runtime_config.redux_image_paths, - redux_image_strengths=runtime_config.redux_image_strengths, - image_strength=runtime_config.image_strength, - generation_time=time_steps.format_dict["elapsed"], + redux_image_paths=config.redux_image_paths, + redux_image_strengths=config.redux_image_strengths, + image_strength=config.image_strength, + generation_time=config.time_steps.format_dict["elapsed"], ) @staticmethod def _get_prompt_embeddings( prompt: str, prompt_cache: dict[str, tuple[mx.array, mx.array]], - t5_tokenizer: TokenizerT5, - clip_tokenizer: TokenizerCLIP, + t5_tokenizer: Tokenizer, + clip_tokenizer: Tokenizer, t5_text_encoder: T5Encoder, clip_text_encoder: CLIPEncoder, image_paths: list[str] | list[Path], @@ -189,7 +176,7 @@ class Flux1Redux(nn.Module): image_encoder=image_encoder, image_embedder=image_embedder, image_strengths=image_strengths, - ) # fmt:off + ) # 3. Join text embeddings with all image embeddings prompt_embeds = mx.concatenate([prompt_embeds_txt] + image_embeds, axis=1) diff --git a/src/mflux/models/flux/variants/redux/redux_util.py b/src/mflux/models/flux/variants/redux/redux_util.py index cd12353..2803c3f 100644 --- a/src/mflux/models/flux/variants/redux/redux_util.py +++ b/src/mflux/models/flux/variants/redux/redux_util.py @@ -8,6 +8,26 @@ from mflux.utils.image_util import ImageUtil class ReduxUtil: + @staticmethod + def validate_redux_image_strengths( + redux_image_paths: list[Path], + redux_image_strengths: list[float] | None, + ) -> list[float] | None: + if not redux_image_strengths or len(redux_image_strengths) == 0: + return redux_image_strengths + + # If strengths provided but not enough for all images, fill with default (1.0) + if len(redux_image_strengths) < len(redux_image_paths): + redux_image_strengths.extend([1.0] * (len(redux_image_paths) - len(redux_image_strengths))) + + # If too many strengths provided, raise error + elif len(redux_image_strengths) > len(redux_image_paths): + raise ValueError( + f"Too many strengths provided ({len(redux_image_strengths)}), expted at most {len(redux_image_paths)}." + ) + + return redux_image_strengths + @staticmethod def embed_images( image_paths: list[str] | list[Path], diff --git a/src/mflux/models/flux/variants/redux/weight_handler_redux.py b/src/mflux/models/flux/variants/redux/weight_handler_redux.py deleted file mode 100644 index aee798b..0000000 --- a/src/mflux/models/flux/variants/redux/weight_handler_redux.py +++ /dev/null @@ -1,35 +0,0 @@ -from pathlib import Path - -from mflux.config.model_config import ModelConfig -from mflux.models.flux.weights.weight_handler import MetaData, WeightHandler -from mflux.utils.download import snapshot_download - - -class WeightHandlerRedux: - def __init__(self, siglip: dict, redux_encoder: dict, meta_data: MetaData): - self.siglip = siglip - self.redux_encoder = redux_encoder - self.meta_data = meta_data - - @staticmethod - def load_weights() -> "WeightHandlerRedux": - root_path = Path(snapshot_download(repo_id=ModelConfig.dev_redux().model_name, allow_patterns=["*.safetensors", "config.json"])) # fmt:off - - siglip, _, _ = WeightHandlerRedux._load_siglip_weights(root_path=root_path) - redux_encoder, _, _ = WeightHandlerRedux._load_redux_encoder_weights(root_path=root_path) - - return WeightHandlerRedux( - siglip=siglip, - redux_encoder=redux_encoder, - meta_data=MetaData(quantization_level=None) - ) # fmt:off - - @staticmethod - def _load_siglip_weights(root_path: Path) -> tuple[dict, int, str | None]: - weights, _, _ = WeightHandler.get_weights("image_encoder", root_path) - return weights, _, _ - - @staticmethod - def _load_redux_encoder_weights(root_path: Path) -> tuple[dict, int, str | None]: - weights, _, _ = WeightHandler.get_weights("image_embedder", root_path) - return weights, _, _ diff --git a/src/mflux/models/flux/variants/txt2img/flux.py b/src/mflux/models/flux/variants/txt2img/flux.py index adb1986..0a20027 100644 --- a/src/mflux/models/flux/variants/txt2img/flux.py +++ b/src/mflux/models/flux/variants/txt2img/flux.py @@ -1,13 +1,12 @@ +from pathlib import Path + import mlx.core as mx from mlx import nn -from tqdm import tqdm -from mflux.callbacks.callbacks import Callbacks -from mflux.config.config import Config -from mflux.config.model_config import ModelConfig -from mflux.config.runtime_config import RuntimeConfig +from mflux.models.common.config.config import Config +from mflux.models.common.config.model_config import ModelConfig from mflux.models.common.latent_creator.latent_creator import Img2Img, LatentCreator -from mflux.models.common.weights.model_saver import ModelSaver +from mflux.models.common.weights.saving.model_saver import ModelSaver from mflux.models.flux.flux_initializer import FluxInitializer from mflux.models.flux.latent_creator.flux_latent_creator import FluxLatentCreator from mflux.models.flux.model.flux_text_encoder.clip_encoder.clip_encoder import CLIPEncoder @@ -15,7 +14,7 @@ from mflux.models.flux.model.flux_text_encoder.prompt_encoder import PromptEncod from mflux.models.flux.model.flux_text_encoder.t5_encoder.t5_encoder import T5Encoder from mflux.models.flux.model.flux_transformer.transformer import Transformer from mflux.models.flux.model.flux_vae.vae import VAE -from mflux.utils.array_util import ArrayUtil +from mflux.models.flux.weights.flux_weight_definition import FluxWeightDefinition from mflux.utils.exceptions import StopImageGenerationException from mflux.utils.generated_image import GeneratedImage from mflux.utils.image_util import ImageUtil @@ -29,38 +28,52 @@ class Flux1(nn.Module): def __init__( self, - model_config: ModelConfig, quantize: int | None = None, - local_path: str | None = None, + model_path: str | None = None, lora_paths: list[str] | None = None, lora_scales: list[float] | None = None, + model_config: ModelConfig = ModelConfig.schnell(), ): super().__init__() FluxInitializer.init( - flux_model=self, - model_config=model_config, + model=self, quantize=quantize, - local_path=local_path, + model_path=model_path, lora_paths=lora_paths, lora_scales=lora_scales, + model_config=model_config, ) def generate_image( self, seed: int, prompt: str, - config: Config, + num_inference_steps: int = 4, + height: int = 1024, + width: int = 1024, + guidance: float = 4.0, + image_path: Path | str | None = None, + image_strength: float | None = None, + scheduler: str = "linear", negative_prompt: str | None = None, ) -> GeneratedImage: - # 0. Create a new runtime config based on the model type and input parameters - config = RuntimeConfig(config, self.model_config) - time_steps = tqdm(range(config.init_time_step, config.num_inference_steps)) + # 0. Create a new config based on the model type and input parameters + config = Config( + width=width, + height=height, + guidance=guidance, + scheduler=scheduler, + image_path=image_path, + image_strength=image_strength, + model_config=self.model_config, + num_inference_steps=num_inference_steps, + ) # 1. Create the initial latents latents = LatentCreator.create_for_txt2img_or_img2img( seed=seed, - height=config.height, width=config.width, + height=config.height, img2img=Img2Img( vae=self.vae, latent_creator=FluxLatentCreator, @@ -74,26 +87,22 @@ class Flux1(nn.Module): prompt_embeds, pooled_prompt_embeds = PromptEncoder.encode_prompt( prompt=prompt, prompt_cache=self.prompt_cache, - t5_tokenizer=self.t5_tokenizer, - clip_tokenizer=self.clip_tokenizer, + t5_tokenizer=self.tokenizers["t5"], + clip_tokenizer=self.tokenizers["clip"], t5_text_encoder=self.t5_text_encoder, clip_text_encoder=self.clip_text_encoder, ) - # (Optional) Call subscribers for beginning of loop - Callbacks.before_loop( - seed=seed, - prompt=prompt, - latents=latents, - config=config, - ) + # 3. Create callback context and call before_loop + ctx = self.callbacks.start(seed=seed, prompt=prompt, config=config) + ctx.before_loop(latents) - for t in time_steps: + for t in config.time_steps: try: # Scale model input if needed by the scheduler latents = config.scheduler.scale_model_input(latents, t) - # 3.t Predict the noise + # 4.t Predict the noise noise = self.transformer( t=t, config=config, @@ -102,47 +111,26 @@ class Flux1(nn.Module): pooled_prompt_embeds=pooled_prompt_embeds, ) - # 4.t Take one denoise step - latents = config.scheduler.step( - model_output=noise, - timestep=t, - sample=latents, - ) + # 5.t Take one denoise step + latents = config.scheduler.step(noise=noise, timestep=t, latents=latents) - # (Optional) Call subscribers in-loop - Callbacks.in_loop( - t=t, - seed=seed, - prompt=prompt, - latents=latents, - config=config, - time_steps=time_steps, - ) + # 6.t Call subscribers in-loop + ctx.in_loop(t, latents) # (Optional) Evaluate to enable progress tracking mx.eval(latents) except KeyboardInterrupt: # noqa: PERF203 - Callbacks.interruption( - t=t, - seed=seed, - prompt=prompt, - latents=latents, - config=config, - time_steps=time_steps, + ctx.interruption(t, latents) + raise StopImageGenerationException( + f"Stopping image generation at step {t + 1}/{config.num_inference_steps}" ) - raise StopImageGenerationException(f"Stopping image generation at step {t + 1}/{len(time_steps)}") - # (Optional) Call subscribers after loop - Callbacks.after_loop( - seed=seed, - prompt=prompt, - latents=latents, - config=config, - ) + # 7. Call subscribers after loop + ctx.after_loop(latents) - # 7. Decode the latent array and return the image - latents = ArrayUtil.unpack_latents(latents=latents, height=config.height, width=config.width) + # 8. Decode the latent array and return the image + latents = FluxLatentCreator.unpack_latents(latents=latents, height=config.height, width=config.width) decoded = self.vae.decode(latents) return ImageUtil.to_image( decoded_latents=decoded, @@ -154,7 +142,7 @@ class Flux1(nn.Module): lora_scales=self.lora_scales, image_path=config.image_path, image_strength=config.image_strength, - generation_time=time_steps.format_dict["elapsed"], + generation_time=config.time_steps.format_dict["elapsed"], ) @staticmethod @@ -169,16 +157,7 @@ class Flux1(nn.Module): model=self, bits=self.bits, base_path=base_path, - tokenizers=[ - ("clip_tokenizer.tokenizer", "tokenizer"), - ("t5_tokenizer.tokenizer", "tokenizer_2"), - ], - components=[ - ("vae", "vae"), - ("transformer", "transformer"), - ("clip_text_encoder", "text_encoder"), - ("t5_text_encoder", "text_encoder_2"), - ], + weight_definition=FluxWeightDefinition, ) def freeze(self, **kwargs): diff --git a/src/mflux/models/flux/weights/__init__.py b/src/mflux/models/flux/weights/__init__.py index e69de29..8001de8 100644 --- a/src/mflux/models/flux/weights/__init__.py +++ b/src/mflux/models/flux/weights/__init__.py @@ -0,0 +1,4 @@ +from mflux.models.flux.weights.flux_weight_definition import FluxWeightDefinition +from mflux.models.flux.weights.flux_weight_mapping import FluxWeightMapping + +__all__ = ["FluxWeightDefinition", "FluxWeightMapping"] diff --git a/src/mflux/models/flux/weights/flux_lora_mapping.py b/src/mflux/models/flux/weights/flux_lora_mapping.py new file mode 100644 index 0000000..60821d7 --- /dev/null +++ b/src/mflux/models/flux/weights/flux_lora_mapping.py @@ -0,0 +1,576 @@ +from mflux.models.common.lora.mapping.lora_mapping import LoRAMapping, LoRATarget +from mflux.models.common.lora.mapping.lora_transforms import LoraTransforms + + +class FluxLoRAMapping(LoRAMapping): + @staticmethod + def get_mapping() -> list[LoRATarget]: + targets = [] + + targets.extend(FluxLoRAMapping._get_standard_transformer_block_targets()) + targets.extend(FluxLoRAMapping._get_standard_single_transformer_block_targets()) + + targets.extend(FluxLoRAMapping._get_bfl_transformer_block_targets()) + targets.extend(FluxLoRAMapping._get_bfl_single_transformer_block_targets()) + + return targets + + @staticmethod + def _get_standard_transformer_block_targets() -> list[LoRATarget]: + return [ + LoRATarget( + model_path="transformer_blocks.{block}.attn.to_q", + possible_up_patterns=[ + "transformer.transformer_blocks.{block}.attn.to_q.lora_B.weight", + "transformer.transformer_blocks.{block}.attn.to_q.lora_B", + "transformer_blocks.{block}.attn.to_q.lora_up.weight", + "transformer_blocks.{block}.attn.to_q.lora_B.weight", + ], + possible_down_patterns=[ + "transformer.transformer_blocks.{block}.attn.to_q.lora_A.weight", + "transformer.transformer_blocks.{block}.attn.to_q.lora_A", + "transformer_blocks.{block}.attn.to_q.lora_down.weight", + "transformer_blocks.{block}.attn.to_q.lora_A.weight", + ], + possible_alpha_patterns=[ + "transformer.transformer_blocks.{block}.attn.to_q.alpha", + "transformer_blocks.{block}.attn.to_q.alpha", + ], + ), + LoRATarget( + model_path="transformer_blocks.{block}.attn.to_k", + possible_up_patterns=[ + "transformer.transformer_blocks.{block}.attn.to_k.lora_B.weight", + "transformer.transformer_blocks.{block}.attn.to_k.lora_B", + "transformer_blocks.{block}.attn.to_k.lora_up.weight", + "transformer_blocks.{block}.attn.to_k.lora_B.weight", + ], + possible_down_patterns=[ + "transformer.transformer_blocks.{block}.attn.to_k.lora_A.weight", + "transformer.transformer_blocks.{block}.attn.to_k.lora_A", + "transformer_blocks.{block}.attn.to_k.lora_down.weight", + "transformer_blocks.{block}.attn.to_k.lora_A.weight", + ], + possible_alpha_patterns=[ + "transformer.transformer_blocks.{block}.attn.to_k.alpha", + "transformer_blocks.{block}.attn.to_k.alpha", + ], + ), + LoRATarget( + model_path="transformer_blocks.{block}.attn.to_v", + possible_up_patterns=[ + "transformer.transformer_blocks.{block}.attn.to_v.lora_B.weight", + "transformer.transformer_blocks.{block}.attn.to_v.lora_B", + "transformer_blocks.{block}.attn.to_v.lora_up.weight", + "transformer_blocks.{block}.attn.to_v.lora_B.weight", + ], + possible_down_patterns=[ + "transformer.transformer_blocks.{block}.attn.to_v.lora_A.weight", + "transformer.transformer_blocks.{block}.attn.to_v.lora_A", + "transformer_blocks.{block}.attn.to_v.lora_down.weight", + "transformer_blocks.{block}.attn.to_v.lora_A.weight", + ], + possible_alpha_patterns=[ + "transformer.transformer_blocks.{block}.attn.to_v.alpha", + "transformer_blocks.{block}.attn.to_v.alpha", + ], + ), + LoRATarget( + model_path="transformer_blocks.{block}.attn.to_out.0", + possible_up_patterns=[ + "transformer.transformer_blocks.{block}.attn.to_out.0.lora_B.weight", + "transformer.transformer_blocks.{block}.attn.to_out.0.lora_B", + "transformer_blocks.{block}.attn.to_out.0.lora_up.weight", + "transformer_blocks.{block}.attn.to_out.0.lora_B.weight", + ], + possible_down_patterns=[ + "transformer.transformer_blocks.{block}.attn.to_out.0.lora_A.weight", + "transformer.transformer_blocks.{block}.attn.to_out.0.lora_A", + "transformer_blocks.{block}.attn.to_out.0.lora_down.weight", + "transformer_blocks.{block}.attn.to_out.0.lora_A.weight", + ], + possible_alpha_patterns=[ + "transformer.transformer_blocks.{block}.attn.to_out.0.alpha", + "transformer_blocks.{block}.attn.to_out.0.alpha", + ], + ), + LoRATarget( + model_path="transformer_blocks.{block}.attn.add_q_proj", + possible_up_patterns=[ + "transformer.transformer_blocks.{block}.attn.add_q_proj.lora_B.weight", + "transformer.transformer_blocks.{block}.attn.add_q_proj.lora_B", + "transformer_blocks.{block}.attn.add_q_proj.lora_up.weight", + "transformer_blocks.{block}.attn.add_q_proj.lora_B.weight", + ], + possible_down_patterns=[ + "transformer.transformer_blocks.{block}.attn.add_q_proj.lora_A.weight", + "transformer.transformer_blocks.{block}.attn.add_q_proj.lora_A", + "transformer_blocks.{block}.attn.add_q_proj.lora_down.weight", + "transformer_blocks.{block}.attn.add_q_proj.lora_A.weight", + ], + possible_alpha_patterns=[ + "transformer.transformer_blocks.{block}.attn.add_q_proj.alpha", + "transformer_blocks.{block}.attn.add_q_proj.alpha", + ], + ), + LoRATarget( + model_path="transformer_blocks.{block}.attn.add_k_proj", + possible_up_patterns=[ + "transformer.transformer_blocks.{block}.attn.add_k_proj.lora_B.weight", + "transformer.transformer_blocks.{block}.attn.add_k_proj.lora_B", + "transformer_blocks.{block}.attn.add_k_proj.lora_up.weight", + "transformer_blocks.{block}.attn.add_k_proj.lora_B.weight", + ], + possible_down_patterns=[ + "transformer.transformer_blocks.{block}.attn.add_k_proj.lora_A.weight", + "transformer.transformer_blocks.{block}.attn.add_k_proj.lora_A", + "transformer_blocks.{block}.attn.add_k_proj.lora_down.weight", + "transformer_blocks.{block}.attn.add_k_proj.lora_A.weight", + ], + possible_alpha_patterns=[ + "transformer.transformer_blocks.{block}.attn.add_k_proj.alpha", + "transformer_blocks.{block}.attn.add_k_proj.alpha", + ], + ), + LoRATarget( + model_path="transformer_blocks.{block}.attn.add_v_proj", + possible_up_patterns=[ + "transformer.transformer_blocks.{block}.attn.add_v_proj.lora_B.weight", + "transformer.transformer_blocks.{block}.attn.add_v_proj.lora_B", + "transformer_blocks.{block}.attn.add_v_proj.lora_up.weight", + "transformer_blocks.{block}.attn.add_v_proj.lora_B.weight", + ], + possible_down_patterns=[ + "transformer.transformer_blocks.{block}.attn.add_v_proj.lora_A.weight", + "transformer.transformer_blocks.{block}.attn.add_v_proj.lora_A", + "transformer_blocks.{block}.attn.add_v_proj.lora_down.weight", + "transformer_blocks.{block}.attn.add_v_proj.lora_A.weight", + ], + possible_alpha_patterns=[ + "transformer.transformer_blocks.{block}.attn.add_v_proj.alpha", + "transformer_blocks.{block}.attn.add_v_proj.alpha", + ], + ), + LoRATarget( + model_path="transformer_blocks.{block}.attn.to_add_out", + possible_up_patterns=[ + "transformer.transformer_blocks.{block}.attn.to_add_out.lora_B.weight", + "transformer.transformer_blocks.{block}.attn.to_add_out.lora_B", + "transformer_blocks.{block}.attn.to_add_out.lora_up.weight", + "transformer_blocks.{block}.attn.to_add_out.lora_B.weight", + ], + possible_down_patterns=[ + "transformer.transformer_blocks.{block}.attn.to_add_out.lora_A.weight", + "transformer.transformer_blocks.{block}.attn.to_add_out.lora_A", + "transformer_blocks.{block}.attn.to_add_out.lora_down.weight", + "transformer_blocks.{block}.attn.to_add_out.lora_A.weight", + ], + possible_alpha_patterns=[ + "transformer.transformer_blocks.{block}.attn.to_add_out.alpha", + "transformer_blocks.{block}.attn.to_add_out.alpha", + ], + ), + LoRATarget( + model_path="transformer_blocks.{block}.ff.linear1", + possible_up_patterns=[ + "transformer.transformer_blocks.{block}.ff.net.0.proj.lora_B.weight", + "transformer.transformer_blocks.{block}.ff.net.0.proj.lora_B", + "transformer.transformer_blocks.{block}.ff.linear1.lora_B.weight", + "transformer.transformer_blocks.{block}.ff.linear1.lora_B", + "transformer_blocks.{block}.ff.net.0.proj.lora_up.weight", + "transformer_blocks.{block}.ff.linear1.lora_up.weight", + ], + possible_down_patterns=[ + "transformer.transformer_blocks.{block}.ff.net.0.proj.lora_A.weight", + "transformer.transformer_blocks.{block}.ff.net.0.proj.lora_A", + "transformer.transformer_blocks.{block}.ff.linear1.lora_A.weight", + "transformer.transformer_blocks.{block}.ff.linear1.lora_A", + "transformer_blocks.{block}.ff.net.0.proj.lora_down.weight", + "transformer_blocks.{block}.ff.linear1.lora_down.weight", + ], + possible_alpha_patterns=[ + "transformer.transformer_blocks.{block}.ff.net.0.proj.alpha", + "transformer.transformer_blocks.{block}.ff.linear1.alpha", + "transformer_blocks.{block}.ff.net.0.proj.alpha", + ], + ), + LoRATarget( + model_path="transformer_blocks.{block}.ff.linear2", + possible_up_patterns=[ + "transformer.transformer_blocks.{block}.ff.net.2.lora_B.weight", + "transformer.transformer_blocks.{block}.ff.net.2.lora_B", + "transformer.transformer_blocks.{block}.ff.linear2.lora_B.weight", + "transformer.transformer_blocks.{block}.ff.linear2.lora_B", + "transformer_blocks.{block}.ff.net.2.lora_up.weight", + "transformer_blocks.{block}.ff.linear2.lora_up.weight", + ], + possible_down_patterns=[ + "transformer.transformer_blocks.{block}.ff.net.2.lora_A.weight", + "transformer.transformer_blocks.{block}.ff.net.2.lora_A", + "transformer.transformer_blocks.{block}.ff.linear2.lora_A.weight", + "transformer.transformer_blocks.{block}.ff.linear2.lora_A", + "transformer_blocks.{block}.ff.net.2.lora_down.weight", + "transformer_blocks.{block}.ff.linear2.lora_down.weight", + ], + possible_alpha_patterns=[ + "transformer.transformer_blocks.{block}.ff.net.2.alpha", + "transformer.transformer_blocks.{block}.ff.linear2.alpha", + "transformer_blocks.{block}.ff.net.2.alpha", + ], + ), + LoRATarget( + model_path="transformer_blocks.{block}.ff_context.linear1", + possible_up_patterns=[ + "transformer.transformer_blocks.{block}.ff_context.net.0.proj.lora_B.weight", + "transformer.transformer_blocks.{block}.ff_context.net.0.proj.lora_B", + "transformer.transformer_blocks.{block}.ff_context.linear1.lora_B.weight", + "transformer.transformer_blocks.{block}.ff_context.linear1.lora_B", + "transformer_blocks.{block}.ff_context.net.0.proj.lora_up.weight", + "transformer_blocks.{block}.ff_context.linear1.lora_up.weight", + ], + possible_down_patterns=[ + "transformer.transformer_blocks.{block}.ff_context.net.0.proj.lora_A.weight", + "transformer.transformer_blocks.{block}.ff_context.net.0.proj.lora_A", + "transformer.transformer_blocks.{block}.ff_context.linear1.lora_A.weight", + "transformer.transformer_blocks.{block}.ff_context.linear1.lora_A", + "transformer_blocks.{block}.ff_context.net.0.proj.lora_down.weight", + "transformer_blocks.{block}.ff_context.linear1.lora_down.weight", + ], + possible_alpha_patterns=[ + "transformer.transformer_blocks.{block}.ff_context.net.0.proj.alpha", + "transformer.transformer_blocks.{block}.ff_context.linear1.alpha", + "transformer_blocks.{block}.ff_context.net.0.proj.alpha", + ], + ), + LoRATarget( + model_path="transformer_blocks.{block}.ff_context.linear2", + possible_up_patterns=[ + "transformer.transformer_blocks.{block}.ff_context.net.2.lora_B.weight", + "transformer.transformer_blocks.{block}.ff_context.net.2.lora_B", + "transformer.transformer_blocks.{block}.ff_context.linear2.lora_B.weight", + "transformer.transformer_blocks.{block}.ff_context.linear2.lora_B", + "transformer_blocks.{block}.ff_context.net.2.lora_up.weight", + "transformer_blocks.{block}.ff_context.linear2.lora_up.weight", + ], + possible_down_patterns=[ + "transformer.transformer_blocks.{block}.ff_context.net.2.lora_A.weight", + "transformer.transformer_blocks.{block}.ff_context.net.2.lora_A", + "transformer.transformer_blocks.{block}.ff_context.linear2.lora_A.weight", + "transformer.transformer_blocks.{block}.ff_context.linear2.lora_A", + "transformer_blocks.{block}.ff_context.net.2.lora_down.weight", + "transformer_blocks.{block}.ff_context.linear2.lora_down.weight", + ], + possible_alpha_patterns=[ + "transformer.transformer_blocks.{block}.ff_context.net.2.alpha", + "transformer.transformer_blocks.{block}.ff_context.linear2.alpha", + "transformer_blocks.{block}.ff_context.net.2.alpha", + ], + ), + LoRATarget( + model_path="transformer_blocks.{block}.norm1.linear", + possible_up_patterns=[ + "transformer.transformer_blocks.{block}.norm1.linear.lora_B.weight", + "transformer.transformer_blocks.{block}.norm1.linear.lora_B", + "transformer_blocks.{block}.norm1.linear.lora_up.weight", + "transformer_blocks.{block}.norm1.linear.lora_B.weight", + ], + possible_down_patterns=[ + "transformer.transformer_blocks.{block}.norm1.linear.lora_A.weight", + "transformer.transformer_blocks.{block}.norm1.linear.lora_A", + "transformer_blocks.{block}.norm1.linear.lora_down.weight", + "transformer_blocks.{block}.norm1.linear.lora_A.weight", + ], + possible_alpha_patterns=[ + "transformer.transformer_blocks.{block}.norm1.linear.alpha", + "transformer_blocks.{block}.norm1.linear.alpha", + ], + ), + LoRATarget( + model_path="transformer_blocks.{block}.norm1_context.linear", + possible_up_patterns=[ + "transformer.transformer_blocks.{block}.norm1_context.linear.lora_B.weight", + "transformer.transformer_blocks.{block}.norm1_context.linear.lora_B", + "transformer_blocks.{block}.norm1_context.linear.lora_up.weight", + "transformer_blocks.{block}.norm1_context.linear.lora_B.weight", + ], + possible_down_patterns=[ + "transformer.transformer_blocks.{block}.norm1_context.linear.lora_A.weight", + "transformer.transformer_blocks.{block}.norm1_context.linear.lora_A", + "transformer_blocks.{block}.norm1_context.linear.lora_down.weight", + "transformer_blocks.{block}.norm1_context.linear.lora_A.weight", + ], + possible_alpha_patterns=[ + "transformer.transformer_blocks.{block}.norm1_context.linear.alpha", + "transformer_blocks.{block}.norm1_context.linear.alpha", + ], + ), + ] + + @staticmethod + def _get_standard_single_transformer_block_targets() -> list[LoRATarget]: + return [ + LoRATarget( + model_path="single_transformer_blocks.{block}.attn.to_q", + possible_up_patterns=[ + "transformer.single_transformer_blocks.{block}.attn.to_q.lora_B.weight", + "transformer.single_transformer_blocks.{block}.attn.to_q.lora_B", + "single_transformer_blocks.{block}.attn.to_q.lora_up.weight", + "single_transformer_blocks.{block}.attn.to_q.lora_B.weight", + ], + possible_down_patterns=[ + "transformer.single_transformer_blocks.{block}.attn.to_q.lora_A.weight", + "transformer.single_transformer_blocks.{block}.attn.to_q.lora_A", + "single_transformer_blocks.{block}.attn.to_q.lora_down.weight", + "single_transformer_blocks.{block}.attn.to_q.lora_A.weight", + ], + possible_alpha_patterns=[ + "transformer.single_transformer_blocks.{block}.attn.to_q.alpha", + "single_transformer_blocks.{block}.attn.to_q.alpha", + ], + ), + LoRATarget( + model_path="single_transformer_blocks.{block}.attn.to_k", + possible_up_patterns=[ + "transformer.single_transformer_blocks.{block}.attn.to_k.lora_B.weight", + "transformer.single_transformer_blocks.{block}.attn.to_k.lora_B", + "single_transformer_blocks.{block}.attn.to_k.lora_up.weight", + "single_transformer_blocks.{block}.attn.to_k.lora_B.weight", + ], + possible_down_patterns=[ + "transformer.single_transformer_blocks.{block}.attn.to_k.lora_A.weight", + "transformer.single_transformer_blocks.{block}.attn.to_k.lora_A", + "single_transformer_blocks.{block}.attn.to_k.lora_down.weight", + "single_transformer_blocks.{block}.attn.to_k.lora_A.weight", + ], + possible_alpha_patterns=[ + "transformer.single_transformer_blocks.{block}.attn.to_k.alpha", + "single_transformer_blocks.{block}.attn.to_k.alpha", + ], + ), + LoRATarget( + model_path="single_transformer_blocks.{block}.attn.to_v", + possible_up_patterns=[ + "transformer.single_transformer_blocks.{block}.attn.to_v.lora_B.weight", + "transformer.single_transformer_blocks.{block}.attn.to_v.lora_B", + "single_transformer_blocks.{block}.attn.to_v.lora_up.weight", + "single_transformer_blocks.{block}.attn.to_v.lora_B.weight", + ], + possible_down_patterns=[ + "transformer.single_transformer_blocks.{block}.attn.to_v.lora_A.weight", + "transformer.single_transformer_blocks.{block}.attn.to_v.lora_A", + "single_transformer_blocks.{block}.attn.to_v.lora_down.weight", + "single_transformer_blocks.{block}.attn.to_v.lora_A.weight", + ], + possible_alpha_patterns=[ + "transformer.single_transformer_blocks.{block}.attn.to_v.alpha", + "single_transformer_blocks.{block}.attn.to_v.alpha", + ], + ), + LoRATarget( + model_path="single_transformer_blocks.{block}.proj_mlp", + possible_up_patterns=[ + "transformer.single_transformer_blocks.{block}.proj_mlp.lora_B.weight", + "transformer.single_transformer_blocks.{block}.proj_mlp.lora_B", + "single_transformer_blocks.{block}.proj_mlp.lora_up.weight", + "single_transformer_blocks.{block}.proj_mlp.lora_B.weight", + ], + possible_down_patterns=[ + "transformer.single_transformer_blocks.{block}.proj_mlp.lora_A.weight", + "transformer.single_transformer_blocks.{block}.proj_mlp.lora_A", + "single_transformer_blocks.{block}.proj_mlp.lora_down.weight", + "single_transformer_blocks.{block}.proj_mlp.lora_A.weight", + ], + possible_alpha_patterns=[ + "transformer.single_transformer_blocks.{block}.proj_mlp.alpha", + "single_transformer_blocks.{block}.proj_mlp.alpha", + ], + ), + LoRATarget( + model_path="single_transformer_blocks.{block}.proj_out", + possible_up_patterns=[ + "transformer.single_transformer_blocks.{block}.proj_out.lora_B.weight", + "transformer.single_transformer_blocks.{block}.proj_out.lora_B", + "single_transformer_blocks.{block}.proj_out.lora_up.weight", + "single_transformer_blocks.{block}.proj_out.lora_B.weight", + ], + possible_down_patterns=[ + "transformer.single_transformer_blocks.{block}.proj_out.lora_A.weight", + "transformer.single_transformer_blocks.{block}.proj_out.lora_A", + "single_transformer_blocks.{block}.proj_out.lora_down.weight", + "single_transformer_blocks.{block}.proj_out.lora_A.weight", + ], + possible_alpha_patterns=[ + "transformer.single_transformer_blocks.{block}.proj_out.alpha", + "single_transformer_blocks.{block}.proj_out.alpha", + ], + ), + LoRATarget( + model_path="single_transformer_blocks.{block}.norm.linear", + possible_up_patterns=[ + "transformer.single_transformer_blocks.{block}.norm.linear.lora_B.weight", + "transformer.single_transformer_blocks.{block}.norm.linear.lora_B", + "single_transformer_blocks.{block}.norm.linear.lora_up.weight", + "single_transformer_blocks.{block}.norm.linear.lora_B.weight", + ], + possible_down_patterns=[ + "transformer.single_transformer_blocks.{block}.norm.linear.lora_A.weight", + "transformer.single_transformer_blocks.{block}.norm.linear.lora_A", + "single_transformer_blocks.{block}.norm.linear.lora_down.weight", + "single_transformer_blocks.{block}.norm.linear.lora_A.weight", + ], + possible_alpha_patterns=[ + "transformer.single_transformer_blocks.{block}.norm.linear.alpha", + "single_transformer_blocks.{block}.norm.linear.alpha", + ], + ), + ] + + @staticmethod + def _get_bfl_transformer_block_targets() -> list[LoRATarget]: + return [ + LoRATarget( + model_path="transformer_blocks.{block}.attn.to_q", + possible_up_patterns=["lora_unet_double_blocks_{block}_img_attn_qkv.lora_up.weight"], + possible_down_patterns=["lora_unet_double_blocks_{block}_img_attn_qkv.lora_down.weight"], + possible_alpha_patterns=["lora_unet_double_blocks_{block}_img_attn_qkv.alpha"], + up_transform=LoraTransforms.split_q_up, + down_transform=LoraTransforms.split_q_down, + ), + LoRATarget( + model_path="transformer_blocks.{block}.attn.to_k", + possible_up_patterns=["lora_unet_double_blocks_{block}_img_attn_qkv.lora_up.weight"], + possible_down_patterns=["lora_unet_double_blocks_{block}_img_attn_qkv.lora_down.weight"], + possible_alpha_patterns=["lora_unet_double_blocks_{block}_img_attn_qkv.alpha"], + up_transform=LoraTransforms.split_k_up, + down_transform=LoraTransforms.split_k_down, + ), + LoRATarget( + model_path="transformer_blocks.{block}.attn.to_v", + possible_up_patterns=["lora_unet_double_blocks_{block}_img_attn_qkv.lora_up.weight"], + possible_down_patterns=["lora_unet_double_blocks_{block}_img_attn_qkv.lora_down.weight"], + possible_alpha_patterns=["lora_unet_double_blocks_{block}_img_attn_qkv.alpha"], + up_transform=LoraTransforms.split_v_up, + down_transform=LoraTransforms.split_v_down, + ), + LoRATarget( + model_path="transformer_blocks.{block}.attn.to_out.0", + possible_up_patterns=["lora_unet_double_blocks_{block}_img_attn_proj.lora_up.weight"], + possible_down_patterns=["lora_unet_double_blocks_{block}_img_attn_proj.lora_down.weight"], + possible_alpha_patterns=["lora_unet_double_blocks_{block}_img_attn_proj.alpha"], + ), + LoRATarget( + model_path="transformer_blocks.{block}.attn.add_q_proj", + possible_up_patterns=["lora_unet_double_blocks_{block}_txt_attn_qkv.lora_up.weight"], + possible_down_patterns=["lora_unet_double_blocks_{block}_txt_attn_qkv.lora_down.weight"], + possible_alpha_patterns=["lora_unet_double_blocks_{block}_txt_attn_qkv.alpha"], + up_transform=LoraTransforms.split_q_up, + down_transform=LoraTransforms.split_q_down, + ), + LoRATarget( + model_path="transformer_blocks.{block}.attn.add_k_proj", + possible_up_patterns=["lora_unet_double_blocks_{block}_txt_attn_qkv.lora_up.weight"], + possible_down_patterns=["lora_unet_double_blocks_{block}_txt_attn_qkv.lora_down.weight"], + possible_alpha_patterns=["lora_unet_double_blocks_{block}_txt_attn_qkv.alpha"], + up_transform=LoraTransforms.split_k_up, + down_transform=LoraTransforms.split_k_down, + ), + LoRATarget( + model_path="transformer_blocks.{block}.attn.add_v_proj", + possible_up_patterns=["lora_unet_double_blocks_{block}_txt_attn_qkv.lora_up.weight"], + possible_down_patterns=["lora_unet_double_blocks_{block}_txt_attn_qkv.lora_down.weight"], + possible_alpha_patterns=["lora_unet_double_blocks_{block}_txt_attn_qkv.alpha"], + up_transform=LoraTransforms.split_v_up, + down_transform=LoraTransforms.split_v_down, + ), + LoRATarget( + model_path="transformer_blocks.{block}.attn.to_add_out", + possible_up_patterns=["lora_unet_double_blocks_{block}_txt_attn_proj.lora_up.weight"], + possible_down_patterns=["lora_unet_double_blocks_{block}_txt_attn_proj.lora_down.weight"], + possible_alpha_patterns=["lora_unet_double_blocks_{block}_txt_attn_proj.alpha"], + ), + LoRATarget( + model_path="transformer_blocks.{block}.ff.linear1", + possible_up_patterns=["lora_unet_double_blocks_{block}_img_mlp_0.lora_up.weight"], + possible_down_patterns=["lora_unet_double_blocks_{block}_img_mlp_0.lora_down.weight"], + possible_alpha_patterns=["lora_unet_double_blocks_{block}_img_mlp_0.alpha"], + ), + LoRATarget( + model_path="transformer_blocks.{block}.ff.linear2", + possible_up_patterns=["lora_unet_double_blocks_{block}_img_mlp_2.lora_up.weight"], + possible_down_patterns=["lora_unet_double_blocks_{block}_img_mlp_2.lora_down.weight"], + possible_alpha_patterns=["lora_unet_double_blocks_{block}_img_mlp_2.alpha"], + ), + LoRATarget( + model_path="transformer_blocks.{block}.ff_context.linear1", + possible_up_patterns=["lora_unet_double_blocks_{block}_txt_mlp_0.lora_up.weight"], + possible_down_patterns=["lora_unet_double_blocks_{block}_txt_mlp_0.lora_down.weight"], + possible_alpha_patterns=["lora_unet_double_blocks_{block}_txt_mlp_0.alpha"], + ), + LoRATarget( + model_path="transformer_blocks.{block}.ff_context.linear2", + possible_up_patterns=["lora_unet_double_blocks_{block}_txt_mlp_2.lora_up.weight"], + possible_down_patterns=["lora_unet_double_blocks_{block}_txt_mlp_2.lora_down.weight"], + possible_alpha_patterns=["lora_unet_double_blocks_{block}_txt_mlp_2.alpha"], + ), + LoRATarget( + model_path="transformer_blocks.{block}.norm1.linear", + possible_up_patterns=["lora_unet_double_blocks_{block}_img_mod_lin.lora_up.weight"], + possible_down_patterns=["lora_unet_double_blocks_{block}_img_mod_lin.lora_down.weight"], + possible_alpha_patterns=["lora_unet_double_blocks_{block}_img_mod_lin.alpha"], + ), + LoRATarget( + model_path="transformer_blocks.{block}.norm1_context.linear", + possible_up_patterns=["lora_unet_double_blocks_{block}_txt_mod_lin.lora_up.weight"], + possible_down_patterns=["lora_unet_double_blocks_{block}_txt_mod_lin.lora_down.weight"], + possible_alpha_patterns=["lora_unet_double_blocks_{block}_txt_mod_lin.alpha"], + ), + ] + + @staticmethod + def _get_bfl_single_transformer_block_targets() -> list[LoRATarget]: + return [ + LoRATarget( + model_path="single_transformer_blocks.{block}.attn.to_q", + possible_up_patterns=["lora_unet_single_blocks_{block}_linear1.lora_up.weight"], + possible_down_patterns=["lora_unet_single_blocks_{block}_linear1.lora_down.weight"], + possible_alpha_patterns=["lora_unet_single_blocks_{block}_linear1.alpha"], + up_transform=LoraTransforms.split_single_q_up, + down_transform=LoraTransforms.split_single_q_down, + ), + LoRATarget( + model_path="single_transformer_blocks.{block}.attn.to_k", + possible_up_patterns=["lora_unet_single_blocks_{block}_linear1.lora_up.weight"], + possible_down_patterns=["lora_unet_single_blocks_{block}_linear1.lora_down.weight"], + possible_alpha_patterns=["lora_unet_single_blocks_{block}_linear1.alpha"], + up_transform=LoraTransforms.split_single_k_up, + down_transform=LoraTransforms.split_single_k_down, + ), + LoRATarget( + model_path="single_transformer_blocks.{block}.attn.to_v", + possible_up_patterns=["lora_unet_single_blocks_{block}_linear1.lora_up.weight"], + possible_down_patterns=["lora_unet_single_blocks_{block}_linear1.lora_down.weight"], + possible_alpha_patterns=["lora_unet_single_blocks_{block}_linear1.alpha"], + up_transform=LoraTransforms.split_single_v_up, + down_transform=LoraTransforms.split_single_v_down, + ), + LoRATarget( + model_path="single_transformer_blocks.{block}.proj_mlp", + possible_up_patterns=["lora_unet_single_blocks_{block}_linear1.lora_up.weight"], + possible_down_patterns=["lora_unet_single_blocks_{block}_linear1.lora_down.weight"], + possible_alpha_patterns=["lora_unet_single_blocks_{block}_linear1.alpha"], + up_transform=LoraTransforms.split_single_mlp_up, + down_transform=LoraTransforms.split_single_mlp_down, + ), + LoRATarget( + model_path="single_transformer_blocks.{block}.proj_out", + possible_up_patterns=["lora_unet_single_blocks_{block}_linear2.lora_up.weight"], + possible_down_patterns=["lora_unet_single_blocks_{block}_linear2.lora_down.weight"], + possible_alpha_patterns=["lora_unet_single_blocks_{block}_linear2.alpha"], + ), + LoRATarget( + model_path="single_transformer_blocks.{block}.norm.linear", + possible_up_patterns=["lora_unet_single_blocks_{block}_modulation_lin.lora_up.weight"], + possible_down_patterns=["lora_unet_single_blocks_{block}_modulation_lin.lora_down.weight"], + possible_alpha_patterns=["lora_unet_single_blocks_{block}_modulation_lin.alpha"], + ), + ] diff --git a/src/mflux/models/flux/weights/flux_weight_definition.py b/src/mflux/models/flux/weights/flux_weight_definition.py new file mode 100644 index 0000000..01a8ab2 --- /dev/null +++ b/src/mflux/models/flux/weights/flux_weight_definition.py @@ -0,0 +1,163 @@ +from typing import List + +import mlx.nn as nn + +from mflux.models.common.config.model_config import ModelConfig +from mflux.models.common.tokenizer import LanguageTokenizer +from mflux.models.common.weights.loading.weight_definition import ComponentDefinition, TokenizerDefinition +from mflux.models.common.weights.mapping.weight_transforms import WeightTransforms +from mflux.models.flux.weights.flux_weight_mapping import FluxWeightMapping + + +class FluxWeightDefinition: + @staticmethod + def get_components() -> List[ComponentDefinition]: + return [ + ComponentDefinition( + name="vae", + hf_subdir="vae", + precision=ModelConfig.precision, + mapping_getter=FluxWeightMapping.get_vae_mapping, + ), + ComponentDefinition( + name="transformer", + hf_subdir="transformer", + precision=ModelConfig.precision, + mapping_getter=FluxWeightMapping.get_transformer_mapping, + ), + ComponentDefinition( + name="t5_encoder", + hf_subdir="text_encoder_2", + model_attr="t5_text_encoder", + num_blocks=24, + precision=ModelConfig.precision, + mapping_getter=FluxWeightMapping.get_t5_encoder_mapping, + ), + ComponentDefinition( + name="clip_encoder", + hf_subdir="text_encoder", + model_attr="clip_text_encoder", + precision=ModelConfig.precision, + mapping_getter=FluxWeightMapping.get_clip_encoder_mapping, + ), + ] + + @staticmethod + def get_tokenizers() -> List[TokenizerDefinition]: + return [ + TokenizerDefinition( + name="clip", + hf_subdir="tokenizer", + tokenizer_class="CLIPTokenizer", + encoder_class=LanguageTokenizer, + max_length=77, + download_patterns=["tokenizer/**"], + ), + TokenizerDefinition( + name="t5", + hf_subdir="tokenizer_2", + tokenizer_class="T5Tokenizer", + encoder_class=LanguageTokenizer, + max_length=256, # Will be overridden by model_config.max_sequence_length + download_patterns=["tokenizer_2/**"], + ), + ] + + @staticmethod + def get_download_patterns() -> List[str]: + return [ + "text_encoder/*.safetensors", + "text_encoder/*.json", + "text_encoder_2/*.safetensors", + "text_encoder_2/*.json", + "transformer/*.safetensors", + "transformer/*.json", + "vae/*.safetensors", + "vae/*.json", + ] + + @staticmethod + def quantization_predicate(path: str, module) -> bool: + return hasattr(module, "to_quantized") + + +class FluxControlnetWeightDefinition: + @staticmethod + def get_controlnet_component() -> ComponentDefinition: + return ComponentDefinition( + name="transformer_controlnet", + hf_subdir="", + loading_mode="single", + precision=ModelConfig.precision, + mapping_getter=FluxWeightMapping.get_controlnet_transformer_mapping, + ) + + @staticmethod + def get_components() -> List[ComponentDefinition]: + return FluxWeightDefinition.get_components() + [ + ComponentDefinition( + name="transformer_controlnet", + hf_subdir="transformer_controlnet", + precision=ModelConfig.precision, + mapping_getter=FluxWeightMapping.get_transformer_mapping, + ), + ] + + @staticmethod + def get_tokenizers() -> List[TokenizerDefinition]: + return FluxWeightDefinition.get_tokenizers() + + @staticmethod + def get_download_patterns() -> List[str]: + return FluxWeightDefinition.get_download_patterns() + + @staticmethod + def quantization_predicate(path: str, module) -> bool: + return FluxWeightDefinition.quantization_predicate(path, module) + + +class FluxReduxWeightDefinition: + @staticmethod + def get_components() -> List[ComponentDefinition]: + return [ + ComponentDefinition( + name="siglip", + hf_subdir="image_encoder", + mapping_getter=None, + model_attr="image_encoder", + precision=ModelConfig.precision, + bulk_transform=WeightTransforms.transpose_conv2d_weight, + weight_subkey="vision_model", + ), + ComponentDefinition( + name="redux_encoder", + hf_subdir="image_embedder", + mapping_getter=None, + model_attr="image_embedder", + precision=ModelConfig.precision, + ), + ] + + @staticmethod + def get_tokenizers() -> List[TokenizerDefinition]: + return [] + + @staticmethod + def get_download_patterns() -> List[str]: + return [ + "image_encoder/*.safetensors", + "image_encoder/config.json", + "image_embedder/*.safetensors", + "image_embedder/config.json", + ] + + @staticmethod + def quantization_predicate(path: str, module) -> bool: + if isinstance(module, nn.Conv2d): + return False + if hasattr(module, "weight") and hasattr(module.weight, "shape"): + if module.weight.shape == (1152, 4304): + return False + if module.weight.shape[-1] % 64 != 0: + return False + return hasattr(module, "to_quantized") diff --git a/src/mflux/models/flux/weights/flux_weight_mapping.py b/src/mflux/models/flux/weights/flux_weight_mapping.py new file mode 100644 index 0000000..7d2b559 --- /dev/null +++ b/src/mflux/models/flux/weights/flux_weight_mapping.py @@ -0,0 +1,817 @@ +from typing import List + +from mflux.models.common.weights.mapping.weight_mapping import WeightMapping, WeightTarget +from mflux.models.common.weights.mapping.weight_transforms import WeightTransforms + + +class FluxWeightMapping(WeightMapping): + @staticmethod + def get_transformer_mapping() -> List[WeightTarget]: + return [ + WeightTarget( + to_pattern="x_embedder.weight", + from_pattern=["x_embedder.weight"], + ), + WeightTarget( + to_pattern="x_embedder.bias", + from_pattern=["x_embedder.bias"], + ), + WeightTarget( + to_pattern="context_embedder.weight", + from_pattern=["context_embedder.weight"], + ), + WeightTarget( + to_pattern="context_embedder.bias", + from_pattern=["context_embedder.bias"], + ), + WeightTarget( + to_pattern="proj_out.weight", + from_pattern=["proj_out.weight"], + ), + WeightTarget( + to_pattern="proj_out.bias", + from_pattern=["proj_out.bias"], + ), + # TimeTextEmbed + WeightTarget( + to_pattern="time_text_embed.timestep_embedder.linear_1.weight", + from_pattern=["time_text_embed.timestep_embedder.linear_1.weight"], + ), + WeightTarget( + to_pattern="time_text_embed.timestep_embedder.linear_1.bias", + from_pattern=["time_text_embed.timestep_embedder.linear_1.bias"], + ), + WeightTarget( + to_pattern="time_text_embed.timestep_embedder.linear_2.weight", + from_pattern=["time_text_embed.timestep_embedder.linear_2.weight"], + ), + WeightTarget( + to_pattern="time_text_embed.timestep_embedder.linear_2.bias", + from_pattern=["time_text_embed.timestep_embedder.linear_2.bias"], + ), + WeightTarget( + to_pattern="time_text_embed.text_embedder.linear_1.weight", + from_pattern=["time_text_embed.text_embedder.linear_1.weight"], + ), + WeightTarget( + to_pattern="time_text_embed.text_embedder.linear_1.bias", + from_pattern=["time_text_embed.text_embedder.linear_1.bias"], + ), + WeightTarget( + to_pattern="time_text_embed.text_embedder.linear_2.weight", + from_pattern=["time_text_embed.text_embedder.linear_2.weight"], + ), + WeightTarget( + to_pattern="time_text_embed.text_embedder.linear_2.bias", + from_pattern=["time_text_embed.text_embedder.linear_2.bias"], + ), + WeightTarget( + to_pattern="time_text_embed.guidance_embedder.linear_1.weight", + from_pattern=["time_text_embed.guidance_embedder.linear_1.weight"], + required=False, + ), + WeightTarget( + to_pattern="time_text_embed.guidance_embedder.linear_1.bias", + from_pattern=["time_text_embed.guidance_embedder.linear_1.bias"], + required=False, + ), + WeightTarget( + to_pattern="time_text_embed.guidance_embedder.linear_2.weight", + from_pattern=["time_text_embed.guidance_embedder.linear_2.weight"], + required=False, + ), + WeightTarget( + to_pattern="time_text_embed.guidance_embedder.linear_2.bias", + from_pattern=["time_text_embed.guidance_embedder.linear_2.bias"], + required=False, + ), + WeightTarget( + to_pattern="norm_out.linear.weight", + from_pattern=["norm_out.linear.weight"], + ), + WeightTarget( + to_pattern="norm_out.linear.bias", + from_pattern=["norm_out.linear.bias"], + ), + WeightTarget( + to_pattern="transformer_blocks.{block}.norm1.linear.weight", + from_pattern=["transformer_blocks.{block}.norm1.linear.weight"], + ), + WeightTarget( + to_pattern="transformer_blocks.{block}.norm1.linear.bias", + from_pattern=["transformer_blocks.{block}.norm1.linear.bias"], + ), + WeightTarget( + to_pattern="transformer_blocks.{block}.norm1_context.linear.weight", + from_pattern=["transformer_blocks.{block}.norm1_context.linear.weight"], + ), + WeightTarget( + to_pattern="transformer_blocks.{block}.norm1_context.linear.bias", + from_pattern=["transformer_blocks.{block}.norm1_context.linear.bias"], + ), + WeightTarget( + to_pattern="transformer_blocks.{block}.attn.to_q.weight", + from_pattern=["transformer_blocks.{block}.attn.to_q.weight"], + ), + WeightTarget( + to_pattern="transformer_blocks.{block}.attn.to_q.bias", + from_pattern=["transformer_blocks.{block}.attn.to_q.bias"], + ), + WeightTarget( + to_pattern="transformer_blocks.{block}.attn.to_k.weight", + from_pattern=["transformer_blocks.{block}.attn.to_k.weight"], + ), + WeightTarget( + to_pattern="transformer_blocks.{block}.attn.to_k.bias", + from_pattern=["transformer_blocks.{block}.attn.to_k.bias"], + ), + WeightTarget( + to_pattern="transformer_blocks.{block}.attn.to_v.weight", + from_pattern=["transformer_blocks.{block}.attn.to_v.weight"], + ), + WeightTarget( + to_pattern="transformer_blocks.{block}.attn.to_v.bias", + from_pattern=["transformer_blocks.{block}.attn.to_v.bias"], + ), + WeightTarget( + to_pattern="transformer_blocks.{block}.attn.to_out.0.weight", + from_pattern=["transformer_blocks.{block}.attn.to_out.0.weight"], + ), + WeightTarget( + to_pattern="transformer_blocks.{block}.attn.to_out.0.bias", + from_pattern=["transformer_blocks.{block}.attn.to_out.0.bias"], + ), + WeightTarget( + to_pattern="transformer_blocks.{block}.attn.add_q_proj.weight", + from_pattern=["transformer_blocks.{block}.attn.add_q_proj.weight"], + ), + WeightTarget( + to_pattern="transformer_blocks.{block}.attn.add_q_proj.bias", + from_pattern=["transformer_blocks.{block}.attn.add_q_proj.bias"], + ), + WeightTarget( + to_pattern="transformer_blocks.{block}.attn.add_k_proj.weight", + from_pattern=["transformer_blocks.{block}.attn.add_k_proj.weight"], + ), + WeightTarget( + to_pattern="transformer_blocks.{block}.attn.add_k_proj.bias", + from_pattern=["transformer_blocks.{block}.attn.add_k_proj.bias"], + ), + WeightTarget( + to_pattern="transformer_blocks.{block}.attn.add_v_proj.weight", + from_pattern=["transformer_blocks.{block}.attn.add_v_proj.weight"], + ), + WeightTarget( + to_pattern="transformer_blocks.{block}.attn.add_v_proj.bias", + from_pattern=["transformer_blocks.{block}.attn.add_v_proj.bias"], + ), + WeightTarget( + to_pattern="transformer_blocks.{block}.attn.to_add_out.weight", + from_pattern=["transformer_blocks.{block}.attn.to_add_out.weight"], + ), + WeightTarget( + to_pattern="transformer_blocks.{block}.attn.to_add_out.bias", + from_pattern=["transformer_blocks.{block}.attn.to_add_out.bias"], + ), + WeightTarget( + to_pattern="transformer_blocks.{block}.attn.norm_q.weight", + from_pattern=["transformer_blocks.{block}.attn.norm_q.weight"], + ), + WeightTarget( + to_pattern="transformer_blocks.{block}.attn.norm_k.weight", + from_pattern=["transformer_blocks.{block}.attn.norm_k.weight"], + ), + WeightTarget( + to_pattern="transformer_blocks.{block}.attn.norm_added_q.weight", + from_pattern=["transformer_blocks.{block}.attn.norm_added_q.weight"], + ), + WeightTarget( + to_pattern="transformer_blocks.{block}.attn.norm_added_k.weight", + from_pattern=["transformer_blocks.{block}.attn.norm_added_k.weight"], + ), + WeightTarget( + to_pattern="transformer_blocks.{block}.ff.linear1.weight", + from_pattern=["transformer_blocks.{block}.ff.net.0.proj.weight"], + ), + WeightTarget( + to_pattern="transformer_blocks.{block}.ff.linear1.bias", + from_pattern=["transformer_blocks.{block}.ff.net.0.proj.bias"], + ), + WeightTarget( + to_pattern="transformer_blocks.{block}.ff.linear2.weight", + from_pattern=["transformer_blocks.{block}.ff.net.2.weight"], + ), + WeightTarget( + to_pattern="transformer_blocks.{block}.ff.linear2.bias", + from_pattern=["transformer_blocks.{block}.ff.net.2.bias"], + ), + WeightTarget( + to_pattern="transformer_blocks.{block}.ff_context.linear1.weight", + from_pattern=["transformer_blocks.{block}.ff_context.net.0.proj.weight"], + ), + WeightTarget( + to_pattern="transformer_blocks.{block}.ff_context.linear1.bias", + from_pattern=["transformer_blocks.{block}.ff_context.net.0.proj.bias"], + ), + WeightTarget( + to_pattern="transformer_blocks.{block}.ff_context.linear2.weight", + from_pattern=["transformer_blocks.{block}.ff_context.net.2.weight"], + ), + WeightTarget( + to_pattern="transformer_blocks.{block}.ff_context.linear2.bias", + from_pattern=["transformer_blocks.{block}.ff_context.net.2.bias"], + ), + WeightTarget( + to_pattern="single_transformer_blocks.{block}.norm.linear.weight", + from_pattern=["single_transformer_blocks.{block}.norm.linear.weight"], + max_blocks=38, + ), + WeightTarget( + to_pattern="single_transformer_blocks.{block}.norm.linear.bias", + from_pattern=["single_transformer_blocks.{block}.norm.linear.bias"], + max_blocks=38, + ), + WeightTarget( + to_pattern="single_transformer_blocks.{block}.attn.to_q.weight", + from_pattern=["single_transformer_blocks.{block}.attn.to_q.weight"], + max_blocks=38, + ), + WeightTarget( + to_pattern="single_transformer_blocks.{block}.attn.to_q.bias", + from_pattern=["single_transformer_blocks.{block}.attn.to_q.bias"], + max_blocks=38, + ), + WeightTarget( + to_pattern="single_transformer_blocks.{block}.attn.to_k.weight", + from_pattern=["single_transformer_blocks.{block}.attn.to_k.weight"], + max_blocks=38, + ), + WeightTarget( + to_pattern="single_transformer_blocks.{block}.attn.to_k.bias", + from_pattern=["single_transformer_blocks.{block}.attn.to_k.bias"], + max_blocks=38, + ), + WeightTarget( + to_pattern="single_transformer_blocks.{block}.attn.to_v.weight", + from_pattern=["single_transformer_blocks.{block}.attn.to_v.weight"], + max_blocks=38, + ), + WeightTarget( + to_pattern="single_transformer_blocks.{block}.attn.to_v.bias", + from_pattern=["single_transformer_blocks.{block}.attn.to_v.bias"], + max_blocks=38, + ), + WeightTarget( + to_pattern="single_transformer_blocks.{block}.attn.norm_q.weight", + from_pattern=["single_transformer_blocks.{block}.attn.norm_q.weight"], + max_blocks=38, + ), + WeightTarget( + to_pattern="single_transformer_blocks.{block}.attn.norm_k.weight", + from_pattern=["single_transformer_blocks.{block}.attn.norm_k.weight"], + max_blocks=38, + ), + WeightTarget( + to_pattern="single_transformer_blocks.{block}.proj_mlp.weight", + from_pattern=["single_transformer_blocks.{block}.proj_mlp.weight"], + max_blocks=38, + ), + WeightTarget( + to_pattern="single_transformer_blocks.{block}.proj_mlp.bias", + from_pattern=["single_transformer_blocks.{block}.proj_mlp.bias"], + max_blocks=38, + ), + WeightTarget( + to_pattern="single_transformer_blocks.{block}.proj_out.weight", + from_pattern=["single_transformer_blocks.{block}.proj_out.weight"], + max_blocks=38, + ), + WeightTarget( + to_pattern="single_transformer_blocks.{block}.proj_out.bias", + from_pattern=["single_transformer_blocks.{block}.proj_out.bias"], + max_blocks=38, + ), + ] + + @staticmethod + def get_controlnet_transformer_mapping() -> List[WeightTarget]: + return FluxWeightMapping.get_transformer_mapping() + [ + WeightTarget( + to_pattern="controlnet_x_embedder.weight", + from_pattern=["controlnet_x_embedder.weight"], + ), + WeightTarget( + to_pattern="controlnet_x_embedder.bias", + from_pattern=["controlnet_x_embedder.bias"], + ), + WeightTarget( + to_pattern="controlnet_blocks.{block}.weight", + from_pattern=["controlnet_blocks.{block}.weight"], + max_blocks=19, + ), + WeightTarget( + to_pattern="controlnet_blocks.{block}.bias", + from_pattern=["controlnet_blocks.{block}.bias"], + max_blocks=19, + ), + WeightTarget( + to_pattern="controlnet_single_blocks.{block}.weight", + from_pattern=["controlnet_single_blocks.{block}.weight"], + max_blocks=38, + ), + WeightTarget( + to_pattern="controlnet_single_blocks.{block}.bias", + from_pattern=["controlnet_single_blocks.{block}.bias"], + max_blocks=38, + ), + ] + + @staticmethod + def get_vae_mapping() -> List[WeightTarget]: + return [ + WeightTarget( + to_pattern="decoder.conv_in.conv2d.weight", + from_pattern=["decoder.conv_in.weight"], + transform=WeightTransforms.transpose_conv2d_weight, + ), + WeightTarget( + to_pattern="decoder.conv_in.conv2d.bias", + from_pattern=["decoder.conv_in.bias"], + ), + WeightTarget( + to_pattern="decoder.conv_out.conv2d.weight", + from_pattern=["decoder.conv_out.weight"], + transform=WeightTransforms.transpose_conv2d_weight, + ), + WeightTarget( + to_pattern="decoder.conv_out.conv2d.bias", + from_pattern=["decoder.conv_out.bias"], + ), + WeightTarget( + to_pattern="decoder.conv_norm_out.norm.weight", + from_pattern=["decoder.conv_norm_out.weight"], + ), + WeightTarget( + to_pattern="decoder.conv_norm_out.norm.bias", + from_pattern=["decoder.conv_norm_out.bias"], + ), + WeightTarget( + to_pattern="encoder.conv_in.conv2d.weight", + from_pattern=["encoder.conv_in.weight"], + transform=WeightTransforms.transpose_conv2d_weight, + ), + WeightTarget( + to_pattern="encoder.conv_in.conv2d.bias", + from_pattern=["encoder.conv_in.bias"], + ), + WeightTarget( + to_pattern="encoder.conv_out.conv2d.weight", + from_pattern=["encoder.conv_out.weight"], + transform=WeightTransforms.transpose_conv2d_weight, + ), + WeightTarget( + to_pattern="encoder.conv_out.conv2d.bias", + from_pattern=["encoder.conv_out.bias"], + ), + WeightTarget( + to_pattern="encoder.conv_norm_out.norm.weight", + from_pattern=["encoder.conv_norm_out.weight"], + ), + WeightTarget( + to_pattern="encoder.conv_norm_out.norm.bias", + from_pattern=["encoder.conv_norm_out.bias"], + ), + WeightTarget( + to_pattern="decoder.mid_block.resnets.{i}.norm1.weight", + from_pattern=["decoder.mid_block.resnets.{i}.norm1.weight"], + ), + WeightTarget( + to_pattern="decoder.mid_block.resnets.{i}.norm1.bias", + from_pattern=["decoder.mid_block.resnets.{i}.norm1.bias"], + ), + WeightTarget( + to_pattern="decoder.mid_block.resnets.{i}.conv1.weight", + from_pattern=["decoder.mid_block.resnets.{i}.conv1.weight"], + transform=WeightTransforms.transpose_conv2d_weight, + ), + WeightTarget( + to_pattern="decoder.mid_block.resnets.{i}.conv1.bias", + from_pattern=["decoder.mid_block.resnets.{i}.conv1.bias"], + ), + WeightTarget( + to_pattern="decoder.mid_block.resnets.{i}.norm2.weight", + from_pattern=["decoder.mid_block.resnets.{i}.norm2.weight"], + ), + WeightTarget( + to_pattern="decoder.mid_block.resnets.{i}.norm2.bias", + from_pattern=["decoder.mid_block.resnets.{i}.norm2.bias"], + ), + WeightTarget( + to_pattern="decoder.mid_block.resnets.{i}.conv2.weight", + from_pattern=["decoder.mid_block.resnets.{i}.conv2.weight"], + transform=WeightTransforms.transpose_conv2d_weight, + ), + WeightTarget( + to_pattern="decoder.mid_block.resnets.{i}.conv2.bias", + from_pattern=["decoder.mid_block.resnets.{i}.conv2.bias"], + ), + WeightTarget( + to_pattern="encoder.mid_block.resnets.{i}.norm1.weight", + from_pattern=["encoder.mid_block.resnets.{i}.norm1.weight"], + ), + WeightTarget( + to_pattern="encoder.mid_block.resnets.{i}.norm1.bias", + from_pattern=["encoder.mid_block.resnets.{i}.norm1.bias"], + ), + WeightTarget( + to_pattern="encoder.mid_block.resnets.{i}.conv1.weight", + from_pattern=["encoder.mid_block.resnets.{i}.conv1.weight"], + transform=WeightTransforms.transpose_conv2d_weight, + ), + WeightTarget( + to_pattern="encoder.mid_block.resnets.{i}.conv1.bias", + from_pattern=["encoder.mid_block.resnets.{i}.conv1.bias"], + ), + WeightTarget( + to_pattern="encoder.mid_block.resnets.{i}.norm2.weight", + from_pattern=["encoder.mid_block.resnets.{i}.norm2.weight"], + ), + WeightTarget( + to_pattern="encoder.mid_block.resnets.{i}.norm2.bias", + from_pattern=["encoder.mid_block.resnets.{i}.norm2.bias"], + ), + WeightTarget( + to_pattern="encoder.mid_block.resnets.{i}.conv2.weight", + from_pattern=["encoder.mid_block.resnets.{i}.conv2.weight"], + transform=WeightTransforms.transpose_conv2d_weight, + ), + WeightTarget( + to_pattern="encoder.mid_block.resnets.{i}.conv2.bias", + from_pattern=["encoder.mid_block.resnets.{i}.conv2.bias"], + ), + WeightTarget( + to_pattern="decoder.mid_block.attentions.0.group_norm.weight", + from_pattern=["decoder.mid_block.attentions.0.group_norm.weight"], + ), + WeightTarget( + to_pattern="decoder.mid_block.attentions.0.group_norm.bias", + from_pattern=["decoder.mid_block.attentions.0.group_norm.bias"], + ), + WeightTarget( + to_pattern="decoder.mid_block.attentions.0.to_q.weight", + from_pattern=["decoder.mid_block.attentions.0.to_q.weight"], + ), + WeightTarget( + to_pattern="decoder.mid_block.attentions.0.to_q.bias", + from_pattern=["decoder.mid_block.attentions.0.to_q.bias"], + ), + WeightTarget( + to_pattern="decoder.mid_block.attentions.0.to_k.weight", + from_pattern=["decoder.mid_block.attentions.0.to_k.weight"], + ), + WeightTarget( + to_pattern="decoder.mid_block.attentions.0.to_k.bias", + from_pattern=["decoder.mid_block.attentions.0.to_k.bias"], + ), + WeightTarget( + to_pattern="decoder.mid_block.attentions.0.to_v.weight", + from_pattern=["decoder.mid_block.attentions.0.to_v.weight"], + ), + WeightTarget( + to_pattern="decoder.mid_block.attentions.0.to_v.bias", + from_pattern=["decoder.mid_block.attentions.0.to_v.bias"], + ), + WeightTarget( + to_pattern="decoder.mid_block.attentions.0.to_out.0.weight", + from_pattern=["decoder.mid_block.attentions.0.to_out.0.weight"], + ), + WeightTarget( + to_pattern="decoder.mid_block.attentions.0.to_out.0.bias", + from_pattern=["decoder.mid_block.attentions.0.to_out.0.bias"], + ), + WeightTarget( + to_pattern="encoder.mid_block.attentions.0.group_norm.weight", + from_pattern=["encoder.mid_block.attentions.0.group_norm.weight"], + ), + WeightTarget( + to_pattern="encoder.mid_block.attentions.0.group_norm.bias", + from_pattern=["encoder.mid_block.attentions.0.group_norm.bias"], + ), + WeightTarget( + to_pattern="encoder.mid_block.attentions.0.to_q.weight", + from_pattern=["encoder.mid_block.attentions.0.to_q.weight"], + ), + WeightTarget( + to_pattern="encoder.mid_block.attentions.0.to_q.bias", + from_pattern=["encoder.mid_block.attentions.0.to_q.bias"], + ), + WeightTarget( + to_pattern="encoder.mid_block.attentions.0.to_k.weight", + from_pattern=["encoder.mid_block.attentions.0.to_k.weight"], + ), + WeightTarget( + to_pattern="encoder.mid_block.attentions.0.to_k.bias", + from_pattern=["encoder.mid_block.attentions.0.to_k.bias"], + ), + WeightTarget( + to_pattern="encoder.mid_block.attentions.0.to_v.weight", + from_pattern=["encoder.mid_block.attentions.0.to_v.weight"], + ), + WeightTarget( + to_pattern="encoder.mid_block.attentions.0.to_v.bias", + from_pattern=["encoder.mid_block.attentions.0.to_v.bias"], + ), + WeightTarget( + to_pattern="encoder.mid_block.attentions.0.to_out.0.weight", + from_pattern=["encoder.mid_block.attentions.0.to_out.0.weight"], + ), + WeightTarget( + to_pattern="encoder.mid_block.attentions.0.to_out.0.bias", + from_pattern=["encoder.mid_block.attentions.0.to_out.0.bias"], + ), + WeightTarget( + to_pattern="decoder.up_blocks.{block}.resnets.{res}.norm1.weight", + from_pattern=["decoder.up_blocks.{block}.resnets.{res}.norm1.weight"], + ), + WeightTarget( + to_pattern="decoder.up_blocks.{block}.resnets.{res}.norm1.bias", + from_pattern=["decoder.up_blocks.{block}.resnets.{res}.norm1.bias"], + ), + WeightTarget( + to_pattern="decoder.up_blocks.{block}.resnets.{res}.conv1.weight", + from_pattern=["decoder.up_blocks.{block}.resnets.{res}.conv1.weight"], + transform=WeightTransforms.transpose_conv2d_weight, + ), + WeightTarget( + to_pattern="decoder.up_blocks.{block}.resnets.{res}.conv1.bias", + from_pattern=["decoder.up_blocks.{block}.resnets.{res}.conv1.bias"], + ), + WeightTarget( + to_pattern="decoder.up_blocks.{block}.resnets.{res}.norm2.weight", + from_pattern=["decoder.up_blocks.{block}.resnets.{res}.norm2.weight"], + ), + WeightTarget( + to_pattern="decoder.up_blocks.{block}.resnets.{res}.norm2.bias", + from_pattern=["decoder.up_blocks.{block}.resnets.{res}.norm2.bias"], + ), + WeightTarget( + to_pattern="decoder.up_blocks.{block}.resnets.{res}.conv2.weight", + from_pattern=["decoder.up_blocks.{block}.resnets.{res}.conv2.weight"], + transform=WeightTransforms.transpose_conv2d_weight, + ), + WeightTarget( + to_pattern="decoder.up_blocks.{block}.resnets.{res}.conv2.bias", + from_pattern=["decoder.up_blocks.{block}.resnets.{res}.conv2.bias"], + ), + WeightTarget( + to_pattern="decoder.up_blocks.{block}.resnets.{res}.conv_shortcut.weight", + from_pattern=["decoder.up_blocks.{block}.resnets.{res}.conv_shortcut.weight"], + transform=WeightTransforms.transpose_conv2d_weight, + required=False, + ), + WeightTarget( + to_pattern="decoder.up_blocks.{block}.resnets.{res}.conv_shortcut.bias", + from_pattern=["decoder.up_blocks.{block}.resnets.{res}.conv_shortcut.bias"], + required=False, + ), + WeightTarget( + to_pattern="decoder.up_blocks.{block}.upsamplers.0.conv.weight", + from_pattern=["decoder.up_blocks.{block}.upsamplers.0.conv.weight"], + transform=WeightTransforms.transpose_conv2d_weight, + required=False, + ), + WeightTarget( + to_pattern="decoder.up_blocks.{block}.upsamplers.0.conv.bias", + from_pattern=["decoder.up_blocks.{block}.upsamplers.0.conv.bias"], + required=False, + ), + WeightTarget( + to_pattern="encoder.down_blocks.{block}.resnets.{res}.norm1.weight", + from_pattern=["encoder.down_blocks.{block}.resnets.{res}.norm1.weight"], + ), + WeightTarget( + to_pattern="encoder.down_blocks.{block}.resnets.{res}.norm1.bias", + from_pattern=["encoder.down_blocks.{block}.resnets.{res}.norm1.bias"], + ), + WeightTarget( + to_pattern="encoder.down_blocks.{block}.resnets.{res}.conv1.weight", + from_pattern=["encoder.down_blocks.{block}.resnets.{res}.conv1.weight"], + transform=WeightTransforms.transpose_conv2d_weight, + ), + WeightTarget( + to_pattern="encoder.down_blocks.{block}.resnets.{res}.conv1.bias", + from_pattern=["encoder.down_blocks.{block}.resnets.{res}.conv1.bias"], + ), + WeightTarget( + to_pattern="encoder.down_blocks.{block}.resnets.{res}.norm2.weight", + from_pattern=["encoder.down_blocks.{block}.resnets.{res}.norm2.weight"], + ), + WeightTarget( + to_pattern="encoder.down_blocks.{block}.resnets.{res}.norm2.bias", + from_pattern=["encoder.down_blocks.{block}.resnets.{res}.norm2.bias"], + ), + WeightTarget( + to_pattern="encoder.down_blocks.{block}.resnets.{res}.conv2.weight", + from_pattern=["encoder.down_blocks.{block}.resnets.{res}.conv2.weight"], + transform=WeightTransforms.transpose_conv2d_weight, + ), + WeightTarget( + to_pattern="encoder.down_blocks.{block}.resnets.{res}.conv2.bias", + from_pattern=["encoder.down_blocks.{block}.resnets.{res}.conv2.bias"], + ), + WeightTarget( + to_pattern="encoder.down_blocks.{block}.resnets.{res}.conv_shortcut.weight", + from_pattern=["encoder.down_blocks.{block}.resnets.{res}.conv_shortcut.weight"], + transform=WeightTransforms.transpose_conv2d_weight, + required=False, + ), + WeightTarget( + to_pattern="encoder.down_blocks.{block}.resnets.{res}.conv_shortcut.bias", + from_pattern=["encoder.down_blocks.{block}.resnets.{res}.conv_shortcut.bias"], + required=False, + ), + WeightTarget( + to_pattern="encoder.down_blocks.{block}.downsamplers.0.conv.weight", + from_pattern=["encoder.down_blocks.{block}.downsamplers.0.conv.weight"], + transform=WeightTransforms.transpose_conv2d_weight, + required=False, + ), + WeightTarget( + to_pattern="encoder.down_blocks.{block}.downsamplers.0.conv.bias", + from_pattern=["encoder.down_blocks.{block}.downsamplers.0.conv.bias"], + required=False, + ), + WeightTarget( + to_pattern="quant_conv.weight", + from_pattern=["quant_conv.weight"], + transform=WeightTransforms.transpose_conv2d_weight, + ), + WeightTarget( + to_pattern="quant_conv.bias", + from_pattern=["quant_conv.bias"], + ), + WeightTarget( + to_pattern="post_quant_conv.weight", + from_pattern=["post_quant_conv.weight"], + transform=WeightTransforms.transpose_conv2d_weight, + ), + WeightTarget( + to_pattern="post_quant_conv.bias", + from_pattern=["post_quant_conv.bias"], + ), + ] + + @staticmethod + def get_t5_encoder_mapping() -> List[WeightTarget]: + return [ + WeightTarget( + to_pattern="shared.weight", + from_pattern=["shared.weight"], + ), + WeightTarget( + to_pattern="final_layer_norm.weight", + from_pattern=["encoder.final_layer_norm.weight"], + ), + WeightTarget( + to_pattern="t5_blocks.{block}.attention.layer_norm.weight", + from_pattern=["encoder.block.{block}.layer.0.layer_norm.weight"], + ), + WeightTarget( + to_pattern="t5_blocks.{block}.attention.SelfAttention.q.weight", + from_pattern=["encoder.block.{block}.layer.0.SelfAttention.q.weight"], + ), + WeightTarget( + to_pattern="t5_blocks.{block}.attention.SelfAttention.k.weight", + from_pattern=["encoder.block.{block}.layer.0.SelfAttention.k.weight"], + ), + WeightTarget( + to_pattern="t5_blocks.{block}.attention.SelfAttention.v.weight", + from_pattern=["encoder.block.{block}.layer.0.SelfAttention.v.weight"], + ), + WeightTarget( + to_pattern="t5_blocks.{block}.attention.SelfAttention.o.weight", + from_pattern=["encoder.block.{block}.layer.0.SelfAttention.o.weight"], + ), + WeightTarget( + to_pattern="t5_blocks.{block}.attention.SelfAttention.relative_attention_bias.weight", + from_pattern=["encoder.block.0.layer.0.SelfAttention.relative_attention_bias.weight"], + max_blocks=24, + ), + WeightTarget( + to_pattern="t5_blocks.{block}.ff.layer_norm.weight", + from_pattern=["encoder.block.{block}.layer.1.layer_norm.weight"], + ), + WeightTarget( + to_pattern="t5_blocks.{block}.ff.DenseReluDense.wi_0.weight", + from_pattern=["encoder.block.{block}.layer.1.DenseReluDense.wi_0.weight"], + ), + WeightTarget( + to_pattern="t5_blocks.{block}.ff.DenseReluDense.wi_1.weight", + from_pattern=["encoder.block.{block}.layer.1.DenseReluDense.wi_1.weight"], + ), + WeightTarget( + to_pattern="t5_blocks.{block}.ff.DenseReluDense.wo.weight", + from_pattern=["encoder.block.{block}.layer.1.DenseReluDense.wo.weight"], + ), + ] + + @staticmethod + def get_clip_encoder_mapping() -> List[WeightTarget]: + return [ + WeightTarget( + to_pattern="text_model.embeddings.token_embedding.weight", + from_pattern=["text_model.embeddings.token_embedding.weight"], + ), + WeightTarget( + to_pattern="text_model.embeddings.position_embedding.weight", + from_pattern=["text_model.embeddings.position_embedding.weight"], + ), + WeightTarget( + to_pattern="text_model.encoder.layers.{block}.self_attn.q_proj.weight", + from_pattern=["text_model.encoder.layers.{block}.self_attn.q_proj.weight"], + max_blocks=12, + ), + WeightTarget( + to_pattern="text_model.encoder.layers.{block}.self_attn.q_proj.bias", + from_pattern=["text_model.encoder.layers.{block}.self_attn.q_proj.bias"], + max_blocks=12, + ), + WeightTarget( + to_pattern="text_model.encoder.layers.{block}.self_attn.k_proj.weight", + from_pattern=["text_model.encoder.layers.{block}.self_attn.k_proj.weight"], + max_blocks=12, + ), + WeightTarget( + to_pattern="text_model.encoder.layers.{block}.self_attn.k_proj.bias", + from_pattern=["text_model.encoder.layers.{block}.self_attn.k_proj.bias"], + max_blocks=12, + ), + WeightTarget( + to_pattern="text_model.encoder.layers.{block}.self_attn.v_proj.weight", + from_pattern=["text_model.encoder.layers.{block}.self_attn.v_proj.weight"], + max_blocks=12, + ), + WeightTarget( + to_pattern="text_model.encoder.layers.{block}.self_attn.v_proj.bias", + from_pattern=["text_model.encoder.layers.{block}.self_attn.v_proj.bias"], + max_blocks=12, + ), + WeightTarget( + to_pattern="text_model.encoder.layers.{block}.self_attn.out_proj.weight", + from_pattern=["text_model.encoder.layers.{block}.self_attn.out_proj.weight"], + max_blocks=12, + ), + WeightTarget( + to_pattern="text_model.encoder.layers.{block}.self_attn.out_proj.bias", + from_pattern=["text_model.encoder.layers.{block}.self_attn.out_proj.bias"], + max_blocks=12, + ), + WeightTarget( + to_pattern="text_model.encoder.layers.{block}.layer_norm1.weight", + from_pattern=["text_model.encoder.layers.{block}.layer_norm1.weight"], + max_blocks=12, + ), + WeightTarget( + to_pattern="text_model.encoder.layers.{block}.layer_norm1.bias", + from_pattern=["text_model.encoder.layers.{block}.layer_norm1.bias"], + max_blocks=12, + ), + WeightTarget( + to_pattern="text_model.encoder.layers.{block}.mlp.fc1.weight", + from_pattern=["text_model.encoder.layers.{block}.mlp.fc1.weight"], + max_blocks=12, + ), + WeightTarget( + to_pattern="text_model.encoder.layers.{block}.mlp.fc1.bias", + from_pattern=["text_model.encoder.layers.{block}.mlp.fc1.bias"], + max_blocks=12, + ), + WeightTarget( + to_pattern="text_model.encoder.layers.{block}.mlp.fc2.weight", + from_pattern=["text_model.encoder.layers.{block}.mlp.fc2.weight"], + max_blocks=12, + ), + WeightTarget( + to_pattern="text_model.encoder.layers.{block}.mlp.fc2.bias", + from_pattern=["text_model.encoder.layers.{block}.mlp.fc2.bias"], + max_blocks=12, + ), + WeightTarget( + to_pattern="text_model.encoder.layers.{block}.layer_norm2.weight", + from_pattern=["text_model.encoder.layers.{block}.layer_norm2.weight"], + max_blocks=12, + ), + WeightTarget( + to_pattern="text_model.encoder.layers.{block}.layer_norm2.bias", + from_pattern=["text_model.encoder.layers.{block}.layer_norm2.bias"], + max_blocks=12, + ), + WeightTarget( + to_pattern="text_model.final_layer_norm.weight", + from_pattern=["text_model.final_layer_norm.weight"], + ), + WeightTarget( + to_pattern="text_model.final_layer_norm.bias", + from_pattern=["text_model.final_layer_norm.bias"], + ), + ] diff --git a/src/mflux/models/flux/weights/lora_converter.py b/src/mflux/models/flux/weights/lora_converter.py deleted file mode 100644 index 6552036..0000000 --- a/src/mflux/models/flux/weights/lora_converter.py +++ /dev/null @@ -1,251 +0,0 @@ -import logging - -import mlx.core as mx -import torch -from mlx.utils import tree_unflatten -from safetensors import safe_open - -logger = logging.getLogger(__name__) - - -# This script is based on `convert_flux_lora.py` from `kohya-ss/sd-scripts`. -# For more info, see: https://github.com/kohya-ss/sd-scripts/blob/sd3/networks/convert_flux_lora.py - - -class LoRAConverter: - @staticmethod - def load_weights(lora_path: str) -> dict: - state_dict = LoRAConverter._load_pytorch_weights(lora_path) - state_dict = LoRAConverter._convert_weights_to_diffusers(state_dict) - state_dict = LoRAConverter._convert_to_mlx(state_dict) - state_dict = list(state_dict.items()) - state_dict = tree_unflatten(state_dict) - return state_dict - - @staticmethod - def _load_pytorch_weights(lora_path: str) -> dict: - state_dict = {} - with safe_open(lora_path, framework="pt") as f: - for k in f.keys(): - state_dict[k] = f.get_tensor(k) - return state_dict - - @staticmethod - def _convert_weights_to_diffusers(source: dict) -> dict: - target = {} - for i in range(19): - LoRAConverter._convert_to_diffusers( - source, - target, - f"lora_unet_double_blocks_{i}_img_attn_proj", - f"transformer.transformer_blocks.{i}.attn.to_out.0", - ) - LoRAConverter._convert_to_diffusers_cat( - source, - target, - f"lora_unet_double_blocks_{i}_img_attn_qkv", - [ - f"transformer.transformer_blocks.{i}.attn.to_q", - f"transformer.transformer_blocks.{i}.attn.to_k", - f"transformer.transformer_blocks.{i}.attn.to_v", - ], - ) - LoRAConverter._convert_to_diffusers( - source, - target, - f"lora_unet_double_blocks_{i}_img_mlp_0", - f"transformer.transformer_blocks.{i}.ff.net.0.proj", - ) - LoRAConverter._convert_to_diffusers( - source, - target, - f"lora_unet_double_blocks_{i}_img_mlp_2", - f"transformer.transformer_blocks.{i}.ff.net.2", - ) - LoRAConverter._convert_to_diffusers( - source, - target, - f"lora_unet_double_blocks_{i}_img_mod_lin", - f"transformer.transformer_blocks.{i}.norm1.linear", - ) - LoRAConverter._convert_to_diffusers( - source, - target, - f"lora_unet_double_blocks_{i}_txt_attn_proj", - f"transformer.transformer_blocks.{i}.attn.to_add_out", - ) - LoRAConverter._convert_to_diffusers_cat( - source, - target, - f"lora_unet_double_blocks_{i}_txt_attn_qkv", - [ - f"transformer.transformer_blocks.{i}.attn.add_q_proj", - f"transformer.transformer_blocks.{i}.attn.add_k_proj", - f"transformer.transformer_blocks.{i}.attn.add_v_proj", - ], - ) - LoRAConverter._convert_to_diffusers( - source, - target, - f"lora_unet_double_blocks_{i}_txt_mlp_0", - f"transformer.transformer_blocks.{i}.ff_context.net.0.proj", - ) - LoRAConverter._convert_to_diffusers( - source, - target, - f"lora_unet_double_blocks_{i}_txt_mlp_2", - f"transformer.transformer_blocks.{i}.ff_context.net.2", - ) - LoRAConverter._convert_to_diffusers( - source, - target, - f"lora_unet_double_blocks_{i}_txt_mod_lin", - f"transformer.transformer_blocks.{i}.norm1_context.linear", - ) - - for i in range(38): - LoRAConverter._convert_to_diffusers_cat( - source, - target, - f"lora_unet_single_blocks_{i}_linear1", - [ - f"transformer.single_transformer_blocks.{i}.attn.to_q", - f"transformer.single_transformer_blocks.{i}.attn.to_k", - f"transformer.single_transformer_blocks.{i}.attn.to_v", - f"transformer.single_transformer_blocks.{i}.proj_mlp", - ], - dims=[3072, 3072, 3072, 12288], - ) - LoRAConverter._convert_to_diffusers( - source, - target, - f"lora_unet_single_blocks_{i}_linear2", - f"transformer.single_transformer_blocks.{i}.proj_out", - ) - LoRAConverter._convert_to_diffusers( - source, - target, - f"lora_unet_single_blocks_{i}_modulation_lin", - f"transformer.single_transformer_blocks.{i}.norm.linear", - ) - - if len(source) > 0: - logger.warning(f"Unsupported keys for diffusers: {source.keys()}") - return target - - @staticmethod - def _convert_to_diffusers(source: dict, target: dict, source_key: str, target_key: str): - if source_key + ".lora_down.weight" not in source: - return - down_weight = source.pop(source_key + ".lora_down.weight") - - # scale weight by alpha and dim - rank = down_weight.shape[0] - alpha = source.pop(source_key + ".alpha").item() # alpha is scalar - scale = alpha / rank # LoRA is scaled by 'alpha / rank' in forward pass, so we need to scale it back here - - # calculate scale_down and scale_up to keep the same value. if scale is 4, scale_down is 2 and scale_up is 2 - scale_down = scale - scale_up = 1.0 - while scale_down * 2 < scale_up: - scale_down *= 2 - scale_up /= 2 - - target[target_key + ".lora_A.weight"] = down_weight * scale_down - target[target_key + ".lora_B.weight"] = source.pop(source_key + ".lora_up.weight") * scale_up - - @staticmethod - def _convert_to_diffusers_cat( - source: dict, - target: dict, - source_key: str, - target_keys: list[str], - dims=None, - ): - if source_key + ".lora_down.weight" not in source: - return - down_weight = source.pop(source_key + ".lora_down.weight") - up_weight = source.pop(source_key + ".lora_up.weight") - source_lora_rank = down_weight.shape[0] - - # scale weight by alpha and dim - alpha = source.pop(source_key + ".alpha") - scale = alpha / source_lora_rank - - # calculate scale_down and scale_up - scale_down = scale - scale_up = 1.0 - while scale_down * 2 < scale_up: - scale_down *= 2 - scale_up /= 2 - - down_weight = down_weight * scale_down - up_weight = up_weight * scale_up - - # calculate dims if not provided - num_splits = len(target_keys) - if dims is None: - dims = [up_weight.shape[0] // num_splits] * num_splits - else: - assert sum(dims) == up_weight.shape[0] - - # check up-weight is sparse or not - is_sparse = False - if source_lora_rank % num_splits == 0: - diffusers_rank = source_lora_rank // num_splits - is_sparse = True - i = 0 - for j in range(len(dims)): - for k in range(len(dims)): - if j == k: - continue - is_sparse = is_sparse and torch.all( - up_weight[ - i : i + dims[j], - k * diffusers_rank : (k + 1) * diffusers_rank, - ] - == 0 - ) - i += dims[j] - if is_sparse: - logger.info(f"weight is sparse: {source_key}") - - # make diffusers weight - diffusers_down_keys = [k + ".lora_A.weight" for k in target_keys] - diffusers_up_keys = [k + ".lora_B.weight" for k in target_keys] - if not is_sparse: - # down_weight is copied to each split - target.update({k: down_weight for k in diffusers_down_keys}) - - # up_weight is split to each split - target.update({k: v for k, v in zip(diffusers_up_keys, torch.split(up_weight, dims, dim=0))}) - else: - # down_weight is chunked to each split - target.update( - { - k: v - for k, v in zip( - diffusers_down_keys, - torch.chunk(down_weight, num_splits, dim=0), - ) - } - ) - - # up_weight is sparse: only non-zero values are copied to each split - i = 0 - for j in range(len(dims)): - target[diffusers_up_keys[j]] = up_weight[ - i : i + dims[j], - j * diffusers_rank : (j + 1) * diffusers_rank, - ].contiguous() - i += dims[j] - - @staticmethod - def _convert_to_mlx(torch_dict: dict): - mlx_dict = {} - for key, value in torch_dict.items(): - if isinstance(value, torch.Tensor): - mlx_dict[key] = mx.array(value.detach().cpu()) - else: - mlx_dict[key] = value - return mlx_dict diff --git a/src/mflux/models/flux/weights/weight_handler.py b/src/mflux/models/flux/weights/weight_handler.py deleted file mode 100644 index 3768a7d..0000000 --- a/src/mflux/models/flux/weights/weight_handler.py +++ /dev/null @@ -1,241 +0,0 @@ -from dataclasses import dataclass -from pathlib import Path - -import mlx.core as mx -from mlx.utils import tree_unflatten - -from mflux.models.flux.weights.lora_converter import LoRAConverter -from mflux.models.flux.weights.weight_util import WeightUtil -from mflux.utils.download import snapshot_download - - -@dataclass -class MetaData: - quantization_level: int | None = None - scale: float | None = None - is_lora: bool = False - mflux_version: str | None = None - - -class WeightHandler: - def __init__( - self, - meta_data: MetaData, - clip_encoder: dict | None = None, - t5_encoder: dict | None = None, - vae: dict | None = None, - transformer: dict | None = None, - ): - self.clip_encoder = clip_encoder - self.t5_encoder = t5_encoder - self.vae = vae - self.transformer = transformer - self.meta_data = meta_data - - @staticmethod - def load_regular_weights( - repo_id: str | None = None, - local_path: str | None = None, - transformer_repo_id: str | None = None, - ) -> "WeightHandler": - # Load the weights from disk, huggingface cache, or download from huggingface - root_path = Path(local_path) if local_path else WeightHandler.download_or_get_cached_weights(repo_id) - - # Some custom models might have a different specific transformer setup - if transformer_repo_id: - transformer_path = WeightHandler._download_transformer_weights(transformer_repo_id) - else: - transformer_path = root_path - - # Load the weights - transformer, quantization_level, mflux_version = WeightHandler.load_transformer(root_path=transformer_path) - clip_encoder, _, _ = WeightHandler._load_clip_encoder(root_path=root_path) - t5_encoder, _, _ = WeightHandler._load_t5_encoder(root_path=root_path) - vae, _, _ = WeightHandler._load_vae(root_path=root_path) - - return WeightHandler( - clip_encoder=clip_encoder, - t5_encoder=t5_encoder, - vae=vae, - transformer=transformer, - meta_data=MetaData( - quantization_level=quantization_level, - scale=None, - is_lora=False, - mflux_version=mflux_version, - ), - ) - - def num_transformer_blocks(self) -> int: - return len(self.transformer["transformer_blocks"]) - - def num_single_transformer_blocks(self) -> int: - return len(self.transformer["single_transformer_blocks"]) - - @staticmethod - def _load_clip_encoder(root_path: Path) -> tuple[dict, int, str | None]: - weights, quantization_level, mflux_version = WeightHandler.get_weights("text_encoder", root_path) - return weights, quantization_level, mflux_version - - @staticmethod - def _load_t5_encoder(root_path: Path) -> tuple[dict, int, str | None]: - weights, quantization_level, mflux_version = WeightHandler.get_weights("text_encoder_2", root_path) - - # Quantized weights (i.e. ones exported from this project) don't need any post-processing. - if quantization_level is not None: - return weights, quantization_level, mflux_version - - # Reshape and process the huggingface weights - weights["final_layer_norm"] = weights["encoder"]["final_layer_norm"] - for block in weights["encoder"]["block"]: - attention = block["layer"][0] - ff = block["layer"][1] - block.pop("layer") - block["attention"] = attention - block["ff"] = ff - - weights["t5_blocks"] = weights["encoder"]["block"] - - # Only the first layer has the weights for "relative_attention_bias", we duplicate them here to keep code simple - relative_attention_bias = weights["t5_blocks"][0]["attention"]["SelfAttention"]["relative_attention_bias"] - for block in weights["t5_blocks"][1:]: - block["attention"]["SelfAttention"]["relative_attention_bias"] = relative_attention_bias - - weights.pop("encoder") - return weights, quantization_level, mflux_version - - @staticmethod - def _safely_extract_ff_weights(ff_dict: dict) -> dict | None: - try: - net = ff_dict["net"] - return { - "linear1": net[0]["proj"], - "linear2": net[2], - } - except (KeyError, IndexError, TypeError): - return None - - @staticmethod - def load_transformer(root_path: Path | None = None, lora_path: str | None = None) -> tuple[dict, int, str | None]: - weights, quantization_level, mflux_version = WeightHandler.get_weights("transformer", root_path, lora_path) - - if lora_path: - if "transformer" not in weights: - weights = LoRAConverter.load_weights(lora_path) - weights = weights["transformer"] - - # Quantized weights (i.e. ones exported from this project) don't need any post-processing. - if quantization_level or mflux_version: - return weights, quantization_level, mflux_version - - # Reshape and process the huggingface weights - if "transformer_blocks" in weights: - for block in weights["transformer_blocks"]: - # Safely process ff weights - if "ff" in block: - extracted_ff = WeightHandler._safely_extract_ff_weights(block["ff"]) - if extracted_ff is not None: - block["ff"] = extracted_ff - - # Safely process ff_context weights - if "ff_context" in block: - extracted_ff_context = WeightHandler._safely_extract_ff_weights(block["ff_context"]) - if extracted_ff_context is not None: - block["ff_context"] = extracted_ff_context - - return weights, quantization_level, mflux_version - - @staticmethod - def _load_vae(root_path: Path) -> tuple[dict, int, str | None]: - weights, quantization_level, mflux_version = WeightHandler.get_weights("vae", root_path) - - # Quantized weights (i.e. ones exported from this project) don't need any post-processing. - if quantization_level is not None: - return weights, quantization_level, mflux_version - - # Reshape and process the huggingface weights - weights["decoder"]["conv_in"] = {"conv2d": weights["decoder"]["conv_in"]} - weights["decoder"]["conv_out"] = {"conv2d": weights["decoder"]["conv_out"]} - weights["decoder"]["conv_norm_out"] = {"norm": weights["decoder"]["conv_norm_out"]} - weights["encoder"]["conv_in"] = {"conv2d": weights["encoder"]["conv_in"]} - weights["encoder"]["conv_out"] = {"conv2d": weights["encoder"]["conv_out"]} - weights["encoder"]["conv_norm_out"] = {"norm": weights["encoder"]["conv_norm_out"]} - return weights, quantization_level, mflux_version - - @staticmethod - def _get_model_file_pattern(model_name: str, root_path: Path): - if model_name == "transformer": - nested_files = list(root_path.glob("transformer/*.safetensors")) - if nested_files: - return root_path.glob("transformer/*.safetensors") - else: - return root_path.glob("*.safetensors") - else: - return root_path.glob(model_name + "/*.safetensors") - - @staticmethod - def get_weights( - model_name: str, - root_path: Path | None = None, - lora_path: str | None = None, - ) -> tuple[dict, int, str | None]: - weights = [] - quantization_level = None - mflux_version = None - - if root_path is not None: - file_glob = WeightHandler._get_model_file_pattern(model_name, root_path) - for file in sorted(file_glob): - data = mx.load(str(file), return_metadata=True) - weight = list(data[0].items()) - if len(data) > 1: - quantization_level = data[1].get("quantization_level") - mflux_version = data[1].get("mflux_version") - weights.extend(weight) - - if lora_path and root_path is None: - data = mx.load(lora_path, return_metadata=True) - weight = list(data[0].items()) - if len(data) > 1: - mflux_version = data[1].get("mflux_version", None) - weights.extend(weight) - - # Non huggingface weights (i.e. ones exported from this project) don't need any reshaping. - if quantization_level is not None or mflux_version is not None: - return tree_unflatten(weights), quantization_level, mflux_version - - # Huggingface weights needs to be reshaped - weights = [WeightUtil.reshape_weights(k, v) for k, v in weights] - weights = WeightUtil.flatten(weights) - unflatten = tree_unflatten(weights) - return unflatten, quantization_level, mflux_version - - @staticmethod - def download_or_get_cached_weights(repo_id: str) -> Path: - return Path( - snapshot_download( - repo_id=repo_id, - allow_patterns=[ - "text_encoder/*.safetensors", - "text_encoder/*.json", - "text_encoder_2/*.safetensors", - "text_encoder_2/*.json", - "transformer/*.safetensors", - "transformer/*.json", - "vae/*.safetensors", - "vae/*.json", - ], - ) - ) - - @staticmethod - def _download_transformer_weights(repo_id: str) -> Path: - return Path( - snapshot_download( - repo_id=repo_id, - allow_patterns=[ - "transformer/*.safetensors", - "*.safetensors", - ], - ) - ) diff --git a/src/mflux/models/flux/weights/weight_handler_lora.py b/src/mflux/models/flux/weights/weight_handler_lora.py deleted file mode 100644 index eb13432..0000000 --- a/src/mflux/models/flux/weights/weight_handler_lora.py +++ /dev/null @@ -1,161 +0,0 @@ -import mlx.core as mx -import mlx.nn as nn -from mlx.utils import tree_flatten, tree_unflatten - -from mflux.models.common.lora.layer.fused_linear_lora_layer import FusedLoRALinear -from mflux.models.common.lora.layer.linear_lora_layer import LoRALinear -from mflux.models.flux.variants.dreambooth.lora_layers.lora_layers import LoRALayers -from mflux.models.flux.weights.weight_handler import MetaData, WeightHandler - - -class WeightHandlerLoRA: - def __init__(self, weight_handlers: list[WeightHandler]): - self.weight_handlers = weight_handlers - - @staticmethod - def load_lora_weights( - transformer: nn.Module, - lora_files: list[str], - lora_scales: list[float] | None = None, - ) -> list["WeightHandler"]: - lora_weights = [] - if lora_files: - lora_scales = WeightHandlerLoRA._validate_lora_scales(lora_files, lora_scales) - for lora_file, lora_scale in zip(lora_files, lora_scales): - weights, _, mflux_version = WeightHandler.load_transformer(lora_path=lora_file) - weights = dict(tree_flatten(weights)) - weights = {key.removesuffix(".weight"): value for key, value in weights.items()} - weights = {f"transformer.{key}": value for key, value in weights.items()} - weights = {key: mx.transpose(value) for key, value in weights.items()} - lora_transformer_dict = LoRALayers.transformer_dict_from_template(weights, transformer, lora_scale) - transformer_weights = tree_unflatten(list(lora_transformer_dict.items()))["transformer"] - weights = WeightHandler( - clip_encoder=None, - t5_encoder=None, - vae=None, - transformer=transformer_weights, - meta_data=MetaData( - quantization_level=None, - scale=lora_scale, - is_lora=True, - mflux_version=mflux_version, - ), - ) - lora_weights.append(weights) - - return lora_weights - - @staticmethod - def set_lora_weights(transformer: nn.Module, loras: list["WeightHandler"]) -> None: - if loras: - lora_transformer_weights = [lora.transformer for lora in loras] - fused_weights = WeightHandlerLoRA._fuse_multiple_lora_dicts(lora_transformer_weights) - fused_weights = WeightHandler( - meta_data=MetaData(), - clip_encoder=None, - t5_encoder=None, - vae=None, - transformer=fused_weights, - ) - - WeightHandlerLoRA.set_lora_layers( - transformer_module=transformer, - lora_layers=LoRALayers(weights=fused_weights), - ) - - @staticmethod - def _fuse_multiple_lora_dicts(dicts: list[dict]) -> dict: - if not dicts: - raise ValueError("No dictionaries provided for fusion.") - if len(dicts) == 1: - return dicts[0] - - # Collect all unique keys across all dictionaries - all_keys = set().union(*dicts) - fused_dict = {} - - for key in all_keys: - # Get all values for this key, filtering out dictionaries that don't have it - values = [d[key] for d in dicts if key in d] - - # Skip if no values found (shouldn't happen due to how we collect keys) - if not values: - continue - - first_value = values[0] - - # Handle nested dictionaries - if all(isinstance(v, dict) and not isinstance(v, LoRALinear) for v in values): - fused_dict[key] = WeightHandlerLoRA._fuse_multiple_lora_dicts(values) - - # Handle LoRALinear layers - elif all(isinstance(v, LoRALinear) for v in values): - fused_dict[key] = FusedLoRALinear(base_linear=first_value.linear, loras=values) - - # Handle lists - elif all(isinstance(v, list) for v in values): - # Get the maximum length of all lists - max_length = max(len(v) for v in values) - - # Initialize the fused list - fused_dict[key] = [] - - # Process each index up to the maximum length - for idx in range(max_length): - # Get elements at current index from lists that are long enough - elements = [v[idx] for v in values if idx < len(v)] - - if not elements: - continue - - # If elements are dicts or LoRALinear, recursively fuse them - if all(isinstance(e, (dict, LoRALinear)) for e in elements): - fused_element = WeightHandlerLoRA._fuse_multiple_lora_dicts([{str(idx): e} for e in elements])[str(idx)] # fmt:off - fused_dict[key].append(fused_element) - else: - # For non-LoRALinear types, keep the first element - fused_dict[key].append(elements[0]) - - else: - types_str = ", ".join(type(v).__name__ for v in values) - raise ValueError(f"Incompatible types for key {key}: {types_str}") - - return fused_dict - - @staticmethod - def _validate_lora_scales(lora_files: list[str], lora_scales: list[float]) -> list[float]: - if len(lora_files) == 1: - if not lora_scales: - lora_scales = [1.0] - if len(lora_scales) > 1: - raise ValueError("Please provide a single scale for the LoRA, or skip it to default to 1") - elif len(lora_files) > 1: - if len(lora_files) != len(lora_scales): - raise ValueError("When providing multiple LoRAs, be sure to specify a scale for each one respectively") - return lora_scales - - @staticmethod - def set_lora_layers(transformer_module: nn.Module, lora_layers: LoRALayers) -> None: - transformer = lora_layers.layers.transformer - - # Handle top-level transformer components (x_embedder, context_embedder, proj_out, etc.) - for attr_name in ["x_embedder", "context_embedder", "proj_out"]: - component = transformer.get(attr_name, None) - if component is not None: - setattr(transformer_module, attr_name, component) - - # Handle transformer_blocks - transformer_blocks = transformer.get("transformer_blocks", []) - for i, weights in enumerate(transformer_blocks): - LoRALayers.set_transformer_block( - transformer_block=transformer_module.transformer_blocks[i], - dictionary=weights, - ) - - # Handle single_transformer_blocks - single_transformer_blocks = transformer.get("single_transformer_blocks", []) - for i, weights in enumerate(single_transformer_blocks): - LoRALayers.set_single_transformer_block( - single_transformer_block=transformer_module.single_transformer_blocks[i], - dictionary=weights, - ) diff --git a/src/mflux/models/flux/weights/weight_util.py b/src/mflux/models/flux/weights/weight_util.py deleted file mode 100644 index 17722c3..0000000 --- a/src/mflux/models/flux/weights/weight_util.py +++ /dev/null @@ -1,118 +0,0 @@ -from typing import TYPE_CHECKING - -import mlx.nn as nn - -from mflux.config.config import Config -from mflux.models.common.quantization.quantization_util import QuantizationUtil - -if TYPE_CHECKING: - from mflux.models.flux.variants.controlnet.weight_handler_controlnet import WeightHandlerControlnet - from mflux.models.flux.variants.redux.weight_handler_redux import WeightHandlerRedux - from mflux.models.flux.weights.weight_handler import WeightHandler - - -class WeightUtil: - @staticmethod - def flatten(params): - return [(k, v) for p in params for (k, v) in p] - - @staticmethod - def reshape_weights(key, value): - if len(value.shape) == 4: - value = value.transpose(0, 2, 3, 1) - value = value.reshape(-1).reshape(value.shape).astype(Config.precision) - return [(key, value)] - - @staticmethod - def set_weights_and_quantize( - quantize_arg: int | None, - weights: "WeightHandler", - vae: nn.Module, - transformer: nn.Module, - t5_text_encoder: nn.Module, - clip_text_encoder: nn.Module, - ) -> int | None: - if weights.meta_data.quantization_level is None and quantize_arg is None: - WeightUtil._set_model_weights(weights, vae, transformer, t5_text_encoder, clip_text_encoder) - return None - - if weights.meta_data.quantization_level is None and quantize_arg is not None: - bits = quantize_arg - WeightUtil._set_model_weights(weights, vae, transformer, t5_text_encoder, clip_text_encoder) - QuantizationUtil.quantize_model(vae, transformer, t5_text_encoder, clip_text_encoder, bits, weights) # fmt:off - return bits - - if weights.meta_data.quantization_level is not None: - bits = weights.meta_data.quantization_level - QuantizationUtil.quantize_model(vae, transformer, t5_text_encoder, clip_text_encoder, bits, weights) # fmt:off - WeightUtil._set_model_weights(weights, vae, transformer, t5_text_encoder, clip_text_encoder) - return bits - - raise Exception("Error setting weights") - - @staticmethod - def set_controlnet_weights_and_quantize( - quantize_arg: int | None, - weights: "WeightHandlerControlnet", - transformer_controlnet: nn.Module, - ) -> int | None: - if weights.meta_data.quantization_level is None and quantize_arg is None: - transformer_controlnet.update(weights.controlnet_transformer, strict=False) - return None - - if weights.meta_data.quantization_level is None and quantize_arg is not None: - bits = quantize_arg - transformer_controlnet.update(weights.controlnet_transformer, strict=False) - QuantizationUtil.quantize_controlnet(bits, weights, transformer_controlnet) - return bits - - if weights.meta_data.quantization_level is not None: - bits = weights.meta_data.quantization_level - QuantizationUtil.quantize_controlnet(bits, weights, transformer_controlnet) - transformer_controlnet.update(weights.controlnet_transformer, strict=False) - return bits - - @staticmethod - def _set_model_weights( - weights: "WeightHandler", - vae: nn.Module, - transformer: nn.Module, - t5_text_encoder: nn.Module, - clip_text_encoder: nn.Module, - ): - vae.update(weights.vae, strict=False) - transformer.update(weights.transformer, strict=False) - t5_text_encoder.update(weights.t5_encoder, strict=False) - clip_text_encoder.update(weights.clip_encoder, strict=False) - - @staticmethod - def _set_redux_model_weights( - weights: "WeightHandlerRedux", - redux_encoder: nn.Module, - siglip_vision_transformer: nn.Module, - ): - redux_encoder.update(weights.redux_encoder, strict=False) - siglip_vision_transformer.update(weights.siglip["vision_model"], strict=False) - - @staticmethod - def set_redux_weights_and_quantize( - quantize_arg: int | None, - weights: "WeightHandlerRedux", - redux_encoder: nn.Module, - siglip_vision_transformer: nn.Module, - ) -> int | None: - if weights.meta_data.quantization_level is None and quantize_arg is None: - WeightUtil._set_redux_model_weights(weights, redux_encoder, siglip_vision_transformer) - return None - - if weights.meta_data.quantization_level is None and quantize_arg is not None: - bits = quantize_arg - WeightUtil._set_redux_model_weights(weights, redux_encoder, siglip_vision_transformer) - QuantizationUtil.quantize_redux_models(bits, weights, redux_encoder, siglip_vision_transformer) - return bits - - if weights.meta_data.quantization_level is not None: - bits = weights.meta_data.quantization_level - QuantizationUtil.quantize_redux_models(bits, weights, redux_encoder, siglip_vision_transformer) - WeightUtil._set_redux_model_weights(weights, redux_encoder, siglip_vision_transformer) - return bits diff --git a/src/mflux/models/qwen/cli/__init__.py b/src/mflux/models/qwen/cli/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/mflux/generate_qwen_edit.py b/src/mflux/models/qwen/cli/qwen_image_edit_generate.py similarity index 59% rename from src/mflux/generate_qwen_edit.py rename to src/mflux/models/qwen/cli/qwen_image_edit_generate.py index a4c22fd..68f59c9 100644 --- a/src/mflux/generate_qwen_edit.py +++ b/src/mflux/models/qwen/cli/qwen_image_edit_generate.py @@ -1,12 +1,12 @@ from pathlib import Path from mflux.callbacks.callback_manager import CallbackManager -from mflux.config.config import Config +from mflux.cli.defaults import defaults as ui_defaults +from mflux.cli.parser.parsers import CommandLineParser +from mflux.models.qwen.latent_creator.qwen_latent_creator import QwenLatentCreator from mflux.models.qwen.variants.edit.qwen_image_edit import QwenImageEdit -from mflux.ui import defaults as ui_defaults -from mflux.ui.cli.parsers import CommandLineParser -from mflux.ui.prompt_utils import PromptUtils from mflux.utils.exceptions import PromptFileReadError, StopImageGenerationException +from mflux.utils.prompt_util import PromptUtil def main(): @@ -16,13 +16,7 @@ def main(): parser.add_model_arguments(require_model_arg=False) parser.add_lora_arguments() parser.add_image_generator_arguments(supports_metadata_config=True) - parser.add_argument( - "--image-paths", - type=Path, - nargs="+", - required=True, - help="Local paths to one or more init images. For single image editing, provide one path. For multiple image editing, provide multiple paths.", - ) + parser.add_argument("--image-paths", type=Path, nargs="+", required=True, help="Local paths to one or more init images. For single image editing, provide one path. For multiple image editing, provide multiple paths.") # fmt: off parser.add_output_arguments() args = parser.parse_args() @@ -33,36 +27,34 @@ def main(): # 1. Load the model qwen = QwenImageEdit( quantize=args.quantize, - local_path=args.path, + model_path=args.model_path, lora_paths=args.lora_paths, lora_scales=args.lora_scales, ) # 2. Register callbacks - memory_saver = CallbackManager.register_callbacks(args=args, model=qwen) + memory_saver = CallbackManager.register_callbacks( + args=args, + model=qwen, + latent_creator=QwenLatentCreator, + ) try: for seed in args.seed: # 3. Prepare image paths image_paths = [str(p) for p in args.image_paths] - # Use first image path for config.image_path (for backward compatibility with Config) - # All image paths are passed to generate_image and stored in metadata - config_image_path = image_paths[0] - # 4. Generate an image for each seed value image = qwen.generate_image( seed=seed, - prompt=PromptUtils.get_effective_prompt(args), - config=Config( - num_inference_steps=args.steps, - height=args.height, - width=args.width, - guidance=args.guidance, - image_path=config_image_path, - ), - negative_prompt=PromptUtils.get_effective_negative_prompt(args), + prompt=PromptUtil.read_prompt(args), + negative_prompt=PromptUtil.read_negative_prompt(args), + width=args.width, + height=args.height, + guidance=args.guidance, + image_path=image_paths[0], # Use first image for metadata image_paths=image_paths, + num_inference_steps=args.steps, ) # 5. Save the image diff --git a/src/mflux/generate_qwen.py b/src/mflux/models/qwen/cli/qwen_image_generate.py similarity index 55% rename from src/mflux/generate_qwen.py rename to src/mflux/models/qwen/cli/qwen_image_generate.py index 623e5f5..d9d461e 100644 --- a/src/mflux/generate_qwen.py +++ b/src/mflux/models/qwen/cli/qwen_image_generate.py @@ -1,11 +1,11 @@ from mflux.callbacks.callback_manager import CallbackManager -from mflux.config.config import Config -from mflux.config.model_config import ModelConfig +from mflux.cli.defaults import defaults as ui_defaults +from mflux.cli.parser.parsers import CommandLineParser +from mflux.models.qwen.latent_creator.qwen_latent_creator import QwenLatentCreator from mflux.models.qwen.variants.txt2img.qwen_image import QwenImage -from mflux.ui import defaults as ui_defaults -from mflux.ui.cli.parsers import CommandLineParser -from mflux.ui.prompt_utils import PromptUtils +from mflux.utils.dimension_resolver import DimensionResolver from mflux.utils.exceptions import PromptFileReadError, StopImageGenerationException +from mflux.utils.prompt_util import PromptUtil def main(): @@ -14,7 +14,7 @@ def main(): parser.add_general_arguments() parser.add_model_arguments(require_model_arg=False) parser.add_lora_arguments() - parser.add_image_generator_arguments(supports_metadata_config=True) + parser.add_image_generator_arguments(supports_metadata_config=True, supports_dimension_scale_factor=True) parser.add_image_to_image_arguments(required=False) parser.add_output_arguments() args = parser.parse_args() @@ -25,32 +25,40 @@ def main(): # 1. Load the model qwen = QwenImage( - model_config=ModelConfig.from_name(model_name=args.model or "qwen-image", base_model=args.base_model), quantize=args.quantize, - local_path=args.path, + model_path=args.model_path, lora_paths=args.lora_paths, lora_scales=args.lora_scales, ) # 2. Register callbacks - memory_saver = CallbackManager.register_callbacks(args=args, model=qwen) + memory_saver = CallbackManager.register_callbacks( + args=args, + model=qwen, + latent_creator=QwenLatentCreator, + ) try: + # Resolve dimensions (supports ScaleFactor like "2x" when --image-path is provided) + width, height = DimensionResolver.resolve( + width=args.width, + height=args.height, + reference_image_path=args.image_path, + ) + for seed in args.seed: # 3. Generate an image for each seed value image = qwen.generate_image( seed=seed, - prompt=PromptUtils.get_effective_prompt(args), - negative_prompt=PromptUtils.get_effective_negative_prompt(args), - config=Config( - num_inference_steps=args.steps, - height=args.height, - width=args.width, - guidance=args.guidance, - image_path=args.image_path, - image_strength=args.image_strength, - scheduler=args.scheduler, - ), + prompt=PromptUtil.read_prompt(args), + negative_prompt=PromptUtil.read_negative_prompt(args), + width=width, + height=height, + guidance=args.guidance, + scheduler=args.scheduler, + image_path=args.image_path, + num_inference_steps=args.steps, + image_strength=args.image_strength, ) # 4. Save the image image.save(path=args.output.format(seed=seed), export_json_metadata=args.metadata) diff --git a/src/mflux/models/qwen/latent_creator/qwen_latent_creator.py b/src/mflux/models/qwen/latent_creator/qwen_latent_creator.py index 52e4a3f..6ee4bc5 100644 --- a/src/mflux/models/qwen/latent_creator/qwen_latent_creator.py +++ b/src/mflux/models/qwen/latent_creator/qwen_latent_creator.py @@ -9,5 +9,9 @@ class QwenLatentCreator: return FluxLatentCreator.create_noise(seed, height, width) @staticmethod - def pack_latents(latents: mx.array, height: int, width: int) -> mx.array: - return FluxLatentCreator.pack_latents(latents, height, width) + def pack_latents(latents: mx.array, height: int, width: int, num_channels_latents: int = 16) -> mx.array: + return FluxLatentCreator.pack_latents(latents, height, width, num_channels_latents) + + @staticmethod + def unpack_latents(latents: mx.array, height: int, width: int) -> mx.array: + return FluxLatentCreator.unpack_latents(latents, height, width) diff --git a/src/mflux/models/qwen/model/qwen_text_encoder/qwen_prompt_encoder.py b/src/mflux/models/qwen/model/qwen_text_encoder/qwen_prompt_encoder.py index 5eb92cd..29508e5 100644 --- a/src/mflux/models/qwen/model/qwen_text_encoder/qwen_prompt_encoder.py +++ b/src/mflux/models/qwen/model/qwen_text_encoder/qwen_prompt_encoder.py @@ -1,7 +1,7 @@ import mlx.core as mx +from mflux.models.common.tokenizer import Tokenizer from mflux.models.qwen.model.qwen_text_encoder.qwen_text_encoder import QwenTextEncoder -from mflux.models.qwen.tokenizer.qwen_tokenizer import TokenizerQwen class QwenPromptEncoder: @@ -10,7 +10,7 @@ class QwenPromptEncoder: prompt: str, negative_prompt: str, prompt_cache: dict[str, tuple[mx.array, mx.array, mx.array, mx.array]], - qwen_tokenizer: TokenizerQwen, + qwen_tokenizer: Tokenizer, qwen_text_encoder: QwenTextEncoder, ) -> tuple[mx.array, mx.array, mx.array, mx.array]: # 0. Create a cache key that combines both prompts @@ -21,11 +21,13 @@ class QwenPromptEncoder: return prompt_cache[cache_key] # 2. Encode the positive prompt - input_ids, attention_mask = qwen_tokenizer.tokenize(prompt) - neg_input_ids, neg_attention_mask = qwen_tokenizer.tokenize(negative_prompt) - prompt_embeds, prompt_mask = qwen_text_encoder(input_ids=input_ids, attention_mask=attention_mask) + pos_output = qwen_tokenizer.tokenize(prompt) + neg_output = qwen_tokenizer.tokenize(negative_prompt) + prompt_embeds, prompt_mask = qwen_text_encoder( + input_ids=pos_output.input_ids, attention_mask=pos_output.attention_mask + ) neg_prompt_embeds, neg_prompt_mask = qwen_text_encoder( - input_ids=neg_input_ids, attention_mask=neg_attention_mask + input_ids=neg_output.input_ids, attention_mask=neg_output.attention_mask ) # 3. Cache the result (all 4 values) diff --git a/src/mflux/models/qwen/model/qwen_text_encoder/qwen_vision_language_prompt_encoder.py b/src/mflux/models/qwen/model/qwen_text_encoder/qwen_vision_language_prompt_encoder.py index 33ec1ba..3dc7c7f 100644 --- a/src/mflux/models/qwen/model/qwen_text_encoder/qwen_vision_language_prompt_encoder.py +++ b/src/mflux/models/qwen/model/qwen_text_encoder/qwen_vision_language_prompt_encoder.py @@ -4,9 +4,10 @@ import mlx.core as mx import numpy as np from PIL import Image +from mflux.models.common.tokenizer import Tokenizer +from mflux.models.qwen.model.qwen_text_encoder.qwen_prompt_encoder import QwenPromptEncoder from mflux.models.qwen.model.qwen_text_encoder.qwen_text_encoder import QwenTextEncoder from mflux.models.qwen.model.qwen_text_encoder.qwen_vision_language_encoder import QwenVisionLanguageEncoder -from mflux.models.qwen.tokenizer.qwen_tokenizer import TokenizerQwen from mflux.models.qwen.tokenizer.qwen_vision_language_tokenizer import QwenVisionLanguageTokenizer @@ -59,7 +60,7 @@ class QwenVisionLanguagePromptEncoder: negative_prompt: Optional[str] = None, image: Optional[Union[Image.Image, np.ndarray, str]] = None, prompt_cache: Optional[dict] = None, - qwen_tokenizer: Optional[TokenizerQwen] = None, + qwen_tokenizer: Optional[Tokenizer] = None, qwen_text_encoder: Optional[QwenTextEncoder] = None, qwen_vl_tokenizer: Optional[QwenVisionLanguageTokenizer] = None, qwen_vl_encoder: Optional[QwenVisionLanguageEncoder] = None, @@ -84,7 +85,7 @@ class QwenVisionLanguagePromptEncoder: "Text-only components (qwen_tokenizer, qwen_text_encoder) are required when no image is provided" ) - return QwenVisionLanguagePromptEncoder.encode_prompt( + return QwenPromptEncoder.encode_prompt( prompt=prompt, negative_prompt=negative_prompt or "", prompt_cache=prompt_cache, diff --git a/src/mflux/models/qwen/model/qwen_transformer/qwen_transformer.py b/src/mflux/models/qwen/model/qwen_transformer/qwen_transformer.py index 740eded..3041d67 100644 --- a/src/mflux/models/qwen/model/qwen_transformer/qwen_transformer.py +++ b/src/mflux/models/qwen/model/qwen_transformer/qwen_transformer.py @@ -4,7 +4,7 @@ import mlx.core as mx import numpy as np from mlx import nn -from mflux.config.runtime_config import RuntimeConfig +from mflux.models.common.config.config import Config from mflux.models.flux.model.flux_transformer.ada_layer_norm_continuous import AdaLayerNormContinuous from mflux.models.qwen.model.qwen_transformer.qwen_rope import QwenEmbedRopeMLX from mflux.models.qwen.model.qwen_transformer.qwen_time_text_embed import QwenTimeTextEmbed @@ -37,7 +37,7 @@ class QwenTransformer(nn.Module): def __call__( self, t: int, - config: RuntimeConfig, + config: Config, hidden_states: mx.array, encoder_hidden_states: mx.array, encoder_hidden_states_mask: mx.array, @@ -93,11 +93,8 @@ class QwenTransformer(nn.Module): @staticmethod def _compute_timestep( t: int | float, - config: RuntimeConfig, + config: Config, ) -> mx.array: - """ - Compute timestep tensor from step index or value. - """ if isinstance(t, int): if t < len(config.scheduler.sigmas): timestep_idx = t @@ -123,7 +120,7 @@ class QwenTransformer(nn.Module): def _compute_rotary_embeddings( encoder_hidden_states_mask: mx.array, pos_embed: QwenEmbedRopeMLX, - config: RuntimeConfig, + config: Config, cond_image_grid: tuple[int, int, int] | list[tuple[int, int, int]] | None = None, ) -> tuple[mx.array, mx.array]: latent_height = config.height // 16 diff --git a/src/mflux/models/qwen/qwen_edit_initializer.py b/src/mflux/models/qwen/qwen_edit_initializer.py deleted file mode 100644 index eb019e5..0000000 --- a/src/mflux/models/qwen/qwen_edit_initializer.py +++ /dev/null @@ -1,103 +0,0 @@ -from pathlib import Path - -from transformers import Qwen2TokenizerFast - -from mflux.config.model_config import ModelConfig -from mflux.models.qwen.model.qwen_text_encoder.qwen_vision_language_encoder import QwenVisionLanguageEncoder -from mflux.models.qwen.qwen_initializer import QwenImageInitializer -from mflux.models.qwen.tokenizer.qwen_vision_language_processor import QwenVisionLanguageProcessor -from mflux.models.qwen.tokenizer.qwen_vision_language_tokenizer import QwenVisionLanguageTokenizer -from mflux.utils.download import snapshot_download - - -class QwenImageEditInitializer: - @staticmethod - def init( - qwen_model, - model_config: ModelConfig, - quantize: int | None, - local_path: str | None, - lora_paths: list[str] | None = None, - lora_scales: list[float] | None = None, - lora_names: list[str] | None = None, - lora_repo_id: str | None = None, - ) -> None: - # 1. Initialize the base Qwen Image model (VAE, transformer, text encoder, etc.) - QwenImageInitializer.init( - qwen_model=qwen_model, - model_config=model_config, - quantize=quantize, - local_path=local_path, - lora_paths=lora_paths, - lora_scales=lora_scales, - lora_names=lora_names, - lora_repo_id=lora_repo_id, - ) - - # 2. Add vision-language components for edit functionality - QwenImageEditInitializer._init_vision_language_components( - qwen_model=qwen_model, - repo_id=model_config.model_name, - local_path=local_path, - model_config=model_config, - ) - - @staticmethod - def _init_vision_language_components( - qwen_model, - repo_id: str, - local_path: str | None, - model_config: ModelConfig | None = None, - ) -> None: - # 1. Download or get cached tokenizer - root_path = Path(local_path) if local_path else QwenImageEditInitializer._download_vl_processor(repo_id) - - # 2. Load only the tokenizer (we implement image processing ourselves) - tokenizer = QwenImageEditInitializer._load_tokenizer(root_path, repo_id) - - # 3. Create our MLX processor with the tokenizer - processor = QwenVisionLanguageProcessor(tokenizer=tokenizer) - - # 4. Initialize vision-language tokenizer wrapper - qwen_model.qwen_vl_tokenizer = QwenVisionLanguageTokenizer( - processor=processor, - max_length=1024, - use_picture_prefix=True, - ) - - # 5. Initialize vision-language encoder (integrated approach like Diffusers) - qwen_model.qwen_vl_encoder = QwenVisionLanguageEncoder(encoder=qwen_model.text_encoder.encoder) - - @staticmethod - def _load_tokenizer(root_path: Path, repo_id: str) -> Qwen2TokenizerFast: - """Load the tokenizer from local path or download from HuggingFace.""" - tokenizer_path = root_path / "tokenizer" - if not tokenizer_path.exists(): - tokenizer_path = root_path - - try: - return Qwen2TokenizerFast.from_pretrained( - pretrained_model_name_or_path=tokenizer_path, - local_files_only=True, - ) - except OSError: - return Qwen2TokenizerFast.from_pretrained(repo_id) - - @staticmethod - def _download_vl_processor(repo_id: str) -> Path: - return Path( - snapshot_download( - repo_id=repo_id, - allow_patterns=[ - "processor/**", - "preprocessor_config.json", - "tokenizer/**", - "added_tokens.json", - "chat_template.jinja", - "tokenizer.json", - "tokenizer_config.json", - "vocab.json", - "merges.txt", - ], - ) - ) diff --git a/src/mflux/models/qwen/qwen_initializer.py b/src/mflux/models/qwen/qwen_initializer.py index 99718a2..a20e4fe 100644 --- a/src/mflux/models/qwen/qwen_initializer.py +++ b/src/mflux/models/qwen/qwen_initializer.py @@ -1,70 +1,118 @@ -from mflux.config.model_config import ModelConfig -from mflux.models.common.lora.download.lora_huggingface_downloader import LoRAHuggingFaceDownloader +from mflux.callbacks.callback_registry import CallbackRegistry +from mflux.models.common.config import ModelConfig from mflux.models.common.lora.mapping.lora_loader import LoRALoader +from mflux.models.common.tokenizer import TokenizerLoader +from mflux.models.common.weights.loading.loaded_weights import LoadedWeights +from mflux.models.common.weights.loading.weight_applier import WeightApplier +from mflux.models.common.weights.loading.weight_loader import WeightLoader from mflux.models.qwen.model.qwen_text_encoder.qwen_text_encoder import QwenTextEncoder +from mflux.models.qwen.model.qwen_text_encoder.qwen_vision_language_encoder import QwenVisionLanguageEncoder +from mflux.models.qwen.model.qwen_text_encoder.qwen_vision_transformer import VisionTransformer from mflux.models.qwen.model.qwen_transformer.qwen_transformer import QwenTransformer from mflux.models.qwen.model.qwen_vae.qwen_vae import QwenVAE -from mflux.models.qwen.tokenizer.qwen_tokenizer_handler import QwenTokenizerHandler +from mflux.models.qwen.tokenizer.qwen_vision_language_processor import QwenVisionLanguageProcessor +from mflux.models.qwen.tokenizer.qwen_vision_language_tokenizer import QwenVisionLanguageTokenizer from mflux.models.qwen.weights.qwen_lora_mapping import QwenLoRAMapping -from mflux.models.qwen.weights.qwen_weight_handler import QwenWeightHandler -from mflux.models.qwen.weights.qwen_weight_util import QwenWeightUtil +from mflux.models.qwen.weights.qwen_weight_definition import QwenWeightDefinition class QwenImageInitializer: @staticmethod def init( - qwen_model, + model, model_config: ModelConfig, quantize: int | None, - local_path: str | None, + model_path: str | None = None, lora_paths: list[str] | None = None, lora_scales: list[float] | None = None, - lora_names: list[str] | None = None, - lora_repo_id: str | None = None, ) -> None: - # 0. Set paths, configs, and prompt_cache for later - qwen_model.prompt_cache = {} - qwen_model.model_config = model_config + path = model_path if model_path else model_config.model_name + QwenImageInitializer._init_config(model, model_config) + weights = QwenImageInitializer._load_weights(path) + QwenImageInitializer._init_tokenizers(model, path) + QwenImageInitializer._init_models(model) + QwenImageInitializer._apply_weights(model, weights, quantize) + QwenImageInitializer._apply_lora(model, lora_paths, lora_scales) - # 1. Load the regular weights - weights = QwenWeightHandler.load_regular_weights( - repo_id=model_config.model_name, - local_path=local_path, + @staticmethod + def init_edit( + model, + model_config: ModelConfig, + quantize: int | None, + model_path: str | None = None, + lora_paths: list[str] | None = None, + lora_scales: list[float] | None = None, + ) -> None: + # Use model_path if provided, otherwise fall back to model_config.model_name + path = model_path if model_path else model_config.model_name + QwenImageInitializer._init_config(model, model_config) + weights = QwenImageInitializer._load_weights(path) + QwenImageInitializer._init_tokenizers(model, path) + QwenImageInitializer._init_edit_models(model) + QwenImageInitializer._apply_weights(model, weights, quantize) + QwenImageInitializer._apply_lora(model, lora_paths, lora_scales) + + # Add vision-language tokenizer + raw_tokenizer = model.tokenizers["qwen"].tokenizer + processor = QwenVisionLanguageProcessor(tokenizer=raw_tokenizer) + model.tokenizers["qwen_vl"] = QwenVisionLanguageTokenizer( + processor=processor, + max_length=1024, + use_picture_prefix=True, + ) + model.qwen_vl_encoder = QwenVisionLanguageEncoder(encoder=model.text_encoder.encoder) + + @staticmethod + def _init_config(model, model_config: ModelConfig) -> None: + model.prompt_cache = {} + model.model_config = model_config + model.callbacks = CallbackRegistry() + + @staticmethod + def _load_weights(model_path: str) -> LoadedWeights: + return WeightLoader.load( + weight_definition=QwenWeightDefinition, + model_path=model_path, ) - # 2. Initialize tokenizers - tokenizer_handler = QwenTokenizerHandler( - repo_id=model_config.model_name, - local_path=local_path, + @staticmethod + def _init_tokenizers(model, model_path: str) -> None: + model.tokenizers = TokenizerLoader.load_all( + definitions=QwenWeightDefinition.get_tokenizers(), + model_path=model_path, ) - qwen_model.qwen_tokenizer = tokenizer_handler.qwen - # 3. Initialize all models - qwen_model.vae = QwenVAE() - qwen_model.transformer = QwenTransformer() - qwen_model.text_encoder = QwenTextEncoder() + @staticmethod + def _init_models(model) -> None: + model.vae = QwenVAE() + model.transformer = QwenTransformer() + model.text_encoder = QwenTextEncoder() - # 4. Apply weights and quantize the models - qwen_model.bits = QwenWeightUtil.set_weights_and_quantize( - quantize_arg=quantize, + @staticmethod + def _init_edit_models(model) -> None: + model.vae = QwenVAE() + model.transformer = QwenTransformer() + model.text_encoder = QwenTextEncoder() + model.text_encoder.encoder.visual = VisionTransformer() + + @staticmethod + def _apply_weights(model, weights: LoadedWeights, quantize: int | None) -> None: + model.bits = WeightApplier.apply_and_quantize( weights=weights, - vae=qwen_model.vae, - transformer=qwen_model.transformer, - text_encoder=qwen_model.text_encoder, + quantize_arg=quantize, + weight_definition=QwenWeightDefinition, + models={ + "vae": model.vae, + "transformer": model.transformer, + "text_encoder": model.text_encoder, + }, ) - # 5. Set LoRA weights - hf_lora_paths = LoRAHuggingFaceDownloader.download_loras( - lora_names=lora_names, - repo_id=lora_repo_id, - model_name="Qwen", + @staticmethod + def _apply_lora(model, lora_paths: list[str] | None, lora_scales: list[float] | None) -> None: + model.lora_paths, model.lora_scales = LoRALoader.load_and_apply_lora( + lora_mapping=QwenLoRAMapping.get_mapping(), + transformer=model.transformer, + lora_paths=lora_paths, + lora_scales=lora_scales, ) - qwen_model.lora_paths = (lora_paths or []) + hf_lora_paths - qwen_model.lora_scales = (lora_scales or []) + [1.0] * len(hf_lora_paths) - if qwen_model.lora_paths: - LoRALoader.load_and_apply_lora( - lora_mapping=QwenLoRAMapping.get_mapping(), - transformer=qwen_model.transformer, - lora_files=qwen_model.lora_paths, - lora_scales=qwen_model.lora_scales, - ) diff --git a/src/mflux/models/qwen/tokenizer/__init__.py b/src/mflux/models/qwen/tokenizer/__init__.py index e69de29..9982088 100644 --- a/src/mflux/models/qwen/tokenizer/__init__.py +++ b/src/mflux/models/qwen/tokenizer/__init__.py @@ -0,0 +1,2 @@ +# Qwen Tokenizer - uses unified tokenizer system from mflux.models.common.tokenizer + diff --git a/src/mflux/models/qwen/tokenizer/qwen_tokenizer.py b/src/mflux/models/qwen/tokenizer/qwen_tokenizer.py deleted file mode 100644 index a3589c1..0000000 --- a/src/mflux/models/qwen/tokenizer/qwen_tokenizer.py +++ /dev/null @@ -1,23 +0,0 @@ -import mlx.core as mx -from transformers import Qwen2Tokenizer - - -class TokenizerQwen: - def __init__(self, tokenizer: Qwen2Tokenizer, max_length: int = 1024): - self.tokenizer = tokenizer - self.max_length = max_length - self.prompt_template = "<|im_start|>system\nDescribe the image by detailing the color, shape, size, texture, quantity, text, spatial relationships of the objects and background:<|im_end|>\n<|im_start|>user\n{}<|im_end|>\n<|im_start|>assistant\n" - self.template_start_idx = 34 - - def tokenize(self, prompt: str) -> tuple[mx.array, mx.array]: - formatted_text = self.prompt_template.format(prompt) - tokens = self.tokenizer( - formatted_text, - max_length=self.max_length + self.template_start_idx, - padding=False, - truncation=True, - return_tensors="np", - ) - input_ids = mx.array(tokens["input_ids"]) - attention_mask = mx.array(tokens["attention_mask"]) - return input_ids, attention_mask diff --git a/src/mflux/models/qwen/tokenizer/qwen_tokenizer_handler.py b/src/mflux/models/qwen/tokenizer/qwen_tokenizer_handler.py deleted file mode 100644 index 848df74..0000000 --- a/src/mflux/models/qwen/tokenizer/qwen_tokenizer_handler.py +++ /dev/null @@ -1,39 +0,0 @@ -from pathlib import Path - -import transformers - -from mflux.models.qwen.tokenizer.qwen_tokenizer import TokenizerQwen -from mflux.utils.download import snapshot_download - - -class QwenTokenizerHandler: - def __init__( - self, - repo_id: str, - max_length: int = 1024, - local_path: str | None = None, - ): - root_path = Path(local_path) if local_path else QwenTokenizerHandler._download_or_get_cached_tokenizer(repo_id) - - # Load the Qwen2 tokenizer - tokenizer_path = root_path / "tokenizer" - self.tokenizer_raw = transformers.Qwen2Tokenizer.from_pretrained( - pretrained_model_name_or_path=tokenizer_path, - local_files_only=True, - ) - - # Wrap in our TokenizerQwen class - self.qwen = TokenizerQwen(self.tokenizer_raw, max_length) - - @staticmethod - def _download_or_get_cached_tokenizer(repo_id: str) -> Path: - return Path( - snapshot_download( - repo_id=repo_id, - allow_patterns=[ - "tokenizer/**", - "added_tokens.json", - "chat_template.jinja", - ], - ) - ) diff --git a/src/mflux/models/qwen/variants/edit/utils/qwen_edit_util.py b/src/mflux/models/qwen/variants/edit/qwen_edit_util.py similarity index 95% rename from src/mflux/models/qwen/variants/edit/utils/qwen_edit_util.py rename to src/mflux/models/qwen/variants/edit/qwen_edit_util.py index e362e1d..665b41a 100644 --- a/src/mflux/models/qwen/variants/edit/utils/qwen_edit_util.py +++ b/src/mflux/models/qwen/variants/edit/qwen_edit_util.py @@ -3,7 +3,7 @@ import os import mlx.core as mx from mflux.models.common.latent_creator.latent_creator import LatentCreator -from mflux.utils.array_util import ArrayUtil +from mflux.models.qwen.latent_creator.qwen_latent_creator import QwenLatentCreator class QwenEditUtil: @@ -41,7 +41,7 @@ class QwenEditUtil: width=calc_w, ) - image_latents = ArrayUtil.pack_latents( + image_latents = QwenLatentCreator.pack_latents( latents=input_image, height=calc_h, width=calc_w, diff --git a/src/mflux/models/qwen/variants/edit/qwen_image_edit.py b/src/mflux/models/qwen/variants/edit/qwen_image_edit.py index 0d0689b..84bd26d 100644 --- a/src/mflux/models/qwen/variants/edit/qwen_image_edit.py +++ b/src/mflux/models/qwen/variants/edit/qwen_image_edit.py @@ -1,21 +1,19 @@ import math +from pathlib import Path import mlx.core as mx from mlx import nn from tqdm import tqdm -from mflux.callbacks.callbacks import Callbacks -from mflux.config.config import Config -from mflux.config.model_config import ModelConfig -from mflux.config.runtime_config import RuntimeConfig +from mflux.models.common.config.config import Config +from mflux.models.common.config.model_config import ModelConfig from mflux.models.qwen.latent_creator.qwen_latent_creator import QwenLatentCreator from mflux.models.qwen.model.qwen_text_encoder.qwen_text_encoder import QwenTextEncoder from mflux.models.qwen.model.qwen_transformer.qwen_transformer import QwenTransformer from mflux.models.qwen.model.qwen_vae.qwen_vae import QwenVAE -from mflux.models.qwen.qwen_edit_initializer import QwenImageEditInitializer -from mflux.models.qwen.variants.edit.utils.qwen_edit_util import QwenEditUtil +from mflux.models.qwen.qwen_initializer import QwenImageInitializer +from mflux.models.qwen.variants.edit.qwen_edit_util import QwenEditUtil from mflux.models.qwen.variants.txt2img.qwen_image import QwenImage -from mflux.utils.array_util import ArrayUtil from mflux.utils.exceptions import StopImageGenerationException from mflux.utils.generated_image import GeneratedImage from mflux.utils.image_util import ImageUtil @@ -29,83 +27,86 @@ class QwenImageEdit(nn.Module): def __init__( self, quantize: int | None = None, - local_path: str | None = None, + model_path: str | None = None, lora_paths: list[str] | None = None, lora_scales: list[float] | None = None, - lora_names: list[str] | None = None, - lora_repo_id: str | None = None, + model_config: ModelConfig = ModelConfig.qwen_image_edit(), ): super().__init__() - QwenImageEditInitializer.init( - qwen_model=self, - model_config=ModelConfig.qwen_image_edit(), + QwenImageInitializer.init_edit( + model=self, quantize=quantize, - local_path=local_path, + model_path=model_path, lora_paths=lora_paths, lora_scales=lora_scales, - lora_names=lora_names, - lora_repo_id=lora_repo_id, + model_config=model_config, ) def generate_image( self, seed: int, prompt: str, - config: Config, + image_paths: list[str], + num_inference_steps: int = 4, + height: int | None = None, + width: int | None = None, + guidance: float = 4.0, + image_path: Path | str | None = None, + scheduler: str = "linear", negative_prompt: str | None = None, - image_paths: list[str] | None = None, ) -> GeneratedImage: - if image_paths is None: - image_paths = [str(config.image_path)] - - runtime_config, vl_width, vl_height, vae_width, vae_height = self._compute_dimensions(config, image_paths) - timesteps = runtime_config.scheduler.timesteps + config, vl_width, vl_height, vae_width, vae_height = self._compute_dimensions( + width=width, + height=height, + guidance=guidance, + scheduler=scheduler, + image_path=image_path, + image_paths=image_paths, + num_inference_steps=num_inference_steps, + ) + timesteps = config.scheduler.timesteps time_steps = tqdm(range(len(timesteps))) # 1. Create initial latents latents = QwenLatentCreator.create_noise( seed=seed, - height=runtime_config.height, - width=runtime_config.width, + width=config.width, + height=config.height, ) # 2. Encode the prompt prompt_embeds, prompt_mask, negative_prompt_embeds, negative_prompt_mask = self._encode_prompts_with_images( prompt=prompt, - negative_prompt=negative_prompt, - image_paths=image_paths, - runtime_config=runtime_config, + config=config, vl_width=vl_width, vl_height=vl_height, + image_paths=image_paths, + negative_prompt=negative_prompt, ) # 3. Generate image conditioning latents static_image_latents, qwen_image_ids, cond_h_patches, cond_w_patches, num_images = ( QwenEditUtil.create_image_conditioning_latents( vae=self.vae, - height=vae_height, width=vae_width, - image_paths=image_paths, + height=vae_height, vl_width=vl_width, vl_height=vl_height, + image_paths=image_paths, ) ) - # (Optional) Call subscribers for beginning of loop - Callbacks.before_loop( - seed=seed, - prompt=prompt, - latents=latents, - config=runtime_config, - ) + # 4. Create callback context and call before_loop + ctx = self.callbacks.start(seed=seed, prompt=prompt, config=config) + ctx.before_loop(latents) for t in time_steps: try: - # 4.t Concatenate the updated latents with the static image latents + # 5.t Concatenate the updated latents with the static image latents hidden_states = mx.concatenate([latents, static_image_latents], axis=1) hidden_states_neg = mx.concatenate([latents, static_image_latents], axis=1) - # 5.t Predict the noise + # 6.t Predict the noise if num_images > 1: cond_image_grid = [(1, cond_h_patches, cond_w_patches) for _ in range(num_images)] else: @@ -113,7 +114,7 @@ class QwenImageEdit(nn.Module): noise = self.transformer( t=t, - config=runtime_config, + config=config, hidden_states=hidden_states, encoder_hidden_states=prompt_embeds, encoder_hidden_states_mask=prompt_mask, @@ -122,66 +123,43 @@ class QwenImageEdit(nn.Module): )[:, : latents.shape[1]] noise_negative = self.transformer( t=t, - config=runtime_config, + config=config, hidden_states=hidden_states_neg, encoder_hidden_states=negative_prompt_embeds, encoder_hidden_states_mask=negative_prompt_mask, qwen_image_ids=qwen_image_ids, cond_image_grid=cond_image_grid, )[:, : latents.shape[1]] - guided_noise = QwenImage.compute_guided_noise(noise, noise_negative, runtime_config.guidance) + guided_noise = QwenImage.compute_guided_noise(noise, noise_negative, config.guidance) - # 6.t Take one denoise step - latents = runtime_config.scheduler.step( - model_output=guided_noise, - timestep=t, - sample=latents, - ) + # 7.t Take one denoise step + latents = config.scheduler.step(noise=guided_noise, timestep=t, latents=latents) - # (Optional) Call subscribers in-loop - Callbacks.in_loop( - t=t, - seed=seed, - prompt=prompt, - latents=latents, - config=runtime_config, - time_steps=time_steps, - ) + # 8.t Call subscribers in-loop + ctx.in_loop(t, latents, time_steps=time_steps) # (Optional) Evaluate to enable progress tracking mx.eval(latents) except KeyboardInterrupt: # noqa: PERF203 - Callbacks.interruption( - t=t, - seed=seed, - prompt=prompt, - latents=latents, - config=runtime_config, - time_steps=time_steps, - ) + ctx.interruption(t, latents, time_steps=time_steps) raise StopImageGenerationException(f"Stopping image generation at step {t + 1}/{len(timesteps)}") - # (Optional) Call subscribers after loop - Callbacks.after_loop( - seed=seed, - prompt=prompt, - latents=latents, - config=runtime_config, - ) + # 9. Call subscribers after loop + ctx.after_loop(latents) - # 7. Decode the latent array and return the image - latents = ArrayUtil.unpack_latents(latents=latents, height=runtime_config.height, width=runtime_config.width) + # 10. Decode the latent array and return the image + latents = QwenLatentCreator.unpack_latents(latents=latents, height=config.height, width=config.width) decoded = self.vae.decode(latents) return ImageUtil.to_image( decoded_latents=decoded, - config=runtime_config, + config=config, seed=seed, prompt=prompt, quantization=self.bits, lora_paths=self.lora_paths, lora_scales=self.lora_scales, - image_path=runtime_config.image_path, + image_path=config.image_path, image_paths=image_paths, generation_time=time_steps.format_dict["elapsed"], negative_prompt=negative_prompt, @@ -192,11 +170,11 @@ class QwenImageEdit(nn.Module): prompt: str, negative_prompt: str, image_paths: list[str], - runtime_config, + config, vl_width: int | None = None, vl_height: int | None = None, ) -> tuple[mx.array, mx.array, mx.array, mx.array]: - tokenizer = self.qwen_vl_tokenizer + tokenizer = self.tokenizers["qwen_vl"] pos_input_ids, pos_attention_mask, pos_pixel_values, pos_image_grid_thw = tokenizer.tokenize_with_image( prompt, image_paths, vl_width=vl_width, vl_height=vl_height ) @@ -207,8 +185,6 @@ class QwenImageEdit(nn.Module): pixel_values=pos_pixel_values, image_grid_thw=pos_image_grid_thw, ) - mx.eval(pos_hidden_states[0]) - mx.eval(pos_hidden_states[1]) neg_prompt = negative_prompt if negative_prompt is not None else "" @@ -223,8 +199,6 @@ class QwenImageEdit(nn.Module): pixel_values=neg_pixel_values, image_grid_thw=neg_image_grid_thw, ) - mx.eval(neg_hidden_states[0]) - mx.eval(neg_hidden_states[1]) final_prompt_embeds = pos_hidden_states[0].astype(mx.float16) final_prompt_mask = pos_hidden_states[1].astype(mx.float16) @@ -238,9 +212,14 @@ class QwenImageEdit(nn.Module): def _compute_dimensions( self, - config: Config, image_paths: list[str], - ) -> tuple[RuntimeConfig, int, int, int, int]: + num_inference_steps: int, + height: int | None, + width: int | None, + guidance: float, + image_path: Path | str | None, + scheduler: str, + ) -> tuple[Config, int, int, int, int]: last_image = ImageUtil.load_image(image_paths[-1]).convert("RGB") image_size = last_image.size @@ -251,23 +230,23 @@ class QwenImageEdit(nn.Module): calculated_width = round(calculated_width / 32) * 32 calculated_height = round(calculated_height / 32) * 32 - use_height = config.height or calculated_height - use_width = config.width or calculated_width + use_height = height or int(calculated_height) + use_width = width or int(calculated_width) vae_scale_factor = 8 multiple_of = vae_scale_factor * 2 use_width = use_width // multiple_of * multiple_of use_height = use_height // multiple_of * multiple_of - final_config = Config( - height=use_height, + config = Config( width=use_width, - image_path=config.image_path, - num_inference_steps=config.num_inference_steps, - guidance=config.guidance, - scheduler=config.scheduler_str, + height=use_height, + guidance=guidance, + scheduler=scheduler, + image_path=image_path, + model_config=self.model_config, + num_inference_steps=num_inference_steps, ) - runtime_config = RuntimeConfig(final_config, self.model_config) CONDITION_IMAGE_SIZE = 384 * 384 condition_ratio = image_size[0] / image_size[1] @@ -283,4 +262,4 @@ class QwenImageEdit(nn.Module): vae_width = round(vae_width / 32) * 32 vae_height = round(vae_height / 32) * 32 - return runtime_config, int(vl_width), int(vl_height), int(vae_width), int(vae_height) + return config, int(vl_width), int(vl_height), int(vae_width), int(vae_height) diff --git a/src/mflux/models/qwen/variants/edit/utils/qwen_prompt_rewriter.py b/src/mflux/models/qwen/variants/edit/qwen_prompt_rewriter.py similarity index 100% rename from src/mflux/models/qwen/variants/edit/utils/qwen_prompt_rewriter.py rename to src/mflux/models/qwen/variants/edit/qwen_prompt_rewriter.py diff --git a/src/mflux/models/qwen/variants/edit/utils/__init__.py b/src/mflux/models/qwen/variants/edit/utils/__init__.py deleted file mode 100644 index 71bf0a9..0000000 --- a/src/mflux/models/qwen/variants/edit/utils/__init__.py +++ /dev/null @@ -1 +0,0 @@ -# Qwen Edit utilities diff --git a/src/mflux/models/qwen/variants/txt2img/qwen_image.py b/src/mflux/models/qwen/variants/txt2img/qwen_image.py index 5a9c0c8..3c1e828 100644 --- a/src/mflux/models/qwen/variants/txt2img/qwen_image.py +++ b/src/mflux/models/qwen/variants/txt2img/qwen_image.py @@ -1,20 +1,19 @@ +from pathlib import Path + import mlx.core as mx from mlx import nn -from tqdm import tqdm -from mflux.callbacks.callbacks import Callbacks -from mflux.config.config import Config -from mflux.config.model_config import ModelConfig -from mflux.config.runtime_config import RuntimeConfig +from mflux.models.common.config import ModelConfig +from mflux.models.common.config.config import Config from mflux.models.common.latent_creator.latent_creator import Img2Img, LatentCreator -from mflux.models.common.weights.model_saver import ModelSaver +from mflux.models.common.weights.saving.model_saver import ModelSaver from mflux.models.qwen.latent_creator.qwen_latent_creator import QwenLatentCreator from mflux.models.qwen.model.qwen_text_encoder.qwen_prompt_encoder import QwenPromptEncoder from mflux.models.qwen.model.qwen_text_encoder.qwen_text_encoder import QwenTextEncoder from mflux.models.qwen.model.qwen_transformer.qwen_transformer import QwenTransformer from mflux.models.qwen.model.qwen_vae.qwen_vae import QwenVAE from mflux.models.qwen.qwen_initializer import QwenImageInitializer -from mflux.utils.array_util import ArrayUtil +from mflux.models.qwen.weights.qwen_weight_definition import QwenWeightDefinition from mflux.utils.exceptions import StopImageGenerationException from mflux.utils.generated_image import GeneratedImage from mflux.utils.image_util import ImageUtil @@ -27,48 +26,58 @@ class QwenImage(nn.Module): def __init__( self, - model_config: ModelConfig, quantize: int | None = None, - local_path: str | None = None, + model_path: str | None = None, lora_paths: list[str] | None = None, lora_scales: list[float] | None = None, - lora_names: list[str] | None = None, - lora_repo_id: str | None = None, + model_config: ModelConfig = ModelConfig.qwen_image(), ): super().__init__() QwenImageInitializer.init( - qwen_model=self, - model_config=model_config, + model=self, quantize=quantize, - local_path=local_path, + model_path=model_path, lora_paths=lora_paths, lora_scales=lora_scales, - lora_names=lora_names, - lora_repo_id=lora_repo_id, + model_config=model_config, ) def generate_image( self, seed: int, prompt: str, - config: Config, + num_inference_steps: int = 4, + height: int = 1024, + width: int = 1024, + guidance: float = 4.0, + image_path: Path | str | None = None, + image_strength: float | None = None, + scheduler: str = "linear", negative_prompt: str | None = None, ) -> GeneratedImage: - # 0. Create a new runtime config based on the model type and input parameters - runtime_config = RuntimeConfig(config, self.model_config) - time_steps = tqdm(range(runtime_config.init_time_step, runtime_config.num_inference_steps)) + # 0. Create a new config based on the model type and input parameters + config = Config( + width=width, + height=height, + guidance=guidance, + scheduler=scheduler, + image_path=image_path, + image_strength=image_strength, + model_config=self.model_config, + num_inference_steps=num_inference_steps, + ) # 1. Create the initial latents latents = LatentCreator.create_for_txt2img_or_img2img( seed=seed, - height=runtime_config.height, - width=runtime_config.width, + width=config.width, + height=config.height, img2img=Img2Img( vae=self.vae, latent_creator=QwenLatentCreator, - sigmas=runtime_config.scheduler.sigmas, - init_time_step=runtime_config.init_time_step, - image_path=runtime_config.image_path, + sigmas=config.scheduler.sigmas, + init_time_step=config.init_time_step, + image_path=config.image_path, ), ) @@ -77,93 +86,68 @@ class QwenImage(nn.Module): prompt=prompt, negative_prompt=negative_prompt, prompt_cache=self.prompt_cache, - qwen_tokenizer=self.qwen_tokenizer, + qwen_tokenizer=self.tokenizers["qwen"], qwen_text_encoder=self.text_encoder, ) - # (Optional) Call subscribers for beginning of loop - Callbacks.before_loop( - seed=seed, - prompt=prompt, - latents=latents, - config=runtime_config, - ) + # 3. Create callback context and call before_loop + ctx = self.callbacks.start(seed=seed, prompt=prompt, config=config) + ctx.before_loop(latents) - for t in time_steps: + for t in config.time_steps: try: # Scale model input if needed by the scheduler - latents = runtime_config.scheduler.scale_model_input(latents, t) + latents = config.scheduler.scale_model_input(latents, t) - # 3. Predict the noise + # 4. Predict the noise noise = self.transformer( t=t, - config=runtime_config, + config=config, hidden_states=latents, encoder_hidden_states=prompt_embeds, encoder_hidden_states_mask=prompt_mask, ) noise_negative = self.transformer( t=t, - config=runtime_config, + config=config, hidden_states=latents, encoder_hidden_states=negative_prompt_embeds, encoder_hidden_states_mask=negative_prompt_mask, ) - guided_noise = QwenImage.compute_guided_noise(noise, noise_negative, runtime_config.guidance) + guided_noise = QwenImage.compute_guided_noise(noise, noise_negative, config.guidance) - # 4.t Take one denoise step - latents = runtime_config.scheduler.step( - model_output=guided_noise, - timestep=t, - sample=latents, - ) + # 5.t Take one denoise step + latents = config.scheduler.step(noise=guided_noise, timestep=t, latents=latents) - # (Optional) Call subscribers in-loop - Callbacks.in_loop( - t=t, - seed=seed, - prompt=prompt, - latents=latents, - config=runtime_config, - time_steps=time_steps, - ) + # 6.t Call subscribers in-loop + ctx.in_loop(t, latents) # (Optional) Evaluate to enable progress tracking mx.eval(latents) except KeyboardInterrupt: # noqa: PERF203 - Callbacks.interruption( - t=t, - seed=seed, - prompt=prompt, - latents=latents, - config=runtime_config, - time_steps=time_steps, + ctx.interruption(t, latents) + raise StopImageGenerationException( + f"Stopping image generation at step {t + 1}/{config.num_inference_steps}" ) - raise StopImageGenerationException(f"Stopping image generation at step {t + 1}/{len(time_steps)}") - # (Optional) Call subscribers after loop - Callbacks.after_loop( - seed=seed, - prompt=prompt, - latents=latents, - config=runtime_config, - ) + # 7. Call subscribers after loop + ctx.after_loop(latents) - # 7. Decode the latent array and return the image - latents = ArrayUtil.unpack_latents(latents=latents, height=runtime_config.height, width=runtime_config.width) + # 8. Decode the latent array and return the image + latents = QwenLatentCreator.unpack_latents(latents=latents, height=config.height, width=config.width) decoded = self.vae.decode(latents) return ImageUtil.to_image( decoded_latents=decoded, - config=runtime_config, + config=config, seed=seed, prompt=prompt, quantization=self.bits, lora_paths=self.lora_paths, lora_scales=self.lora_scales, - image_path=runtime_config.image_path, - image_strength=runtime_config.image_strength, - generation_time=time_steps.format_dict["elapsed"], + image_path=config.image_path, + image_strength=config.image_strength, + generation_time=config.time_steps.format_dict["elapsed"], negative_prompt=negative_prompt, ) @@ -172,14 +156,7 @@ class QwenImage(nn.Module): model=self, bits=self.bits, base_path=base_path, - tokenizers=[ - ("qwen_tokenizer.tokenizer", "tokenizer"), - ], - components=[ - ("vae", "vae"), - ("transformer", "transformer"), - ("text_encoder", "text_encoder"), - ], + weight_definition=QwenWeightDefinition, ) @staticmethod diff --git a/src/mflux/models/qwen/weights/__init__.py b/src/mflux/models/qwen/weights/__init__.py index e69de29..70114f5 100644 --- a/src/mflux/models/qwen/weights/__init__.py +++ b/src/mflux/models/qwen/weights/__init__.py @@ -0,0 +1,4 @@ +from mflux.models.qwen.weights.qwen_weight_definition import QwenWeightDefinition +from mflux.models.qwen.weights.qwen_weight_mapping import QwenWeightMapping + +__all__ = ["QwenWeightDefinition", "QwenWeightMapping"] diff --git a/src/mflux/models/qwen/weights/qwen_weight_definition.py b/src/mflux/models/qwen/weights/qwen_weight_definition.py new file mode 100644 index 0000000..39d62b2 --- /dev/null +++ b/src/mflux/models/qwen/weights/qwen_weight_definition.py @@ -0,0 +1,63 @@ +from typing import List + +import mlx.core as mx + +from mflux.models.common.tokenizer import LanguageTokenizer +from mflux.models.common.weights.loading.weight_definition import ComponentDefinition, TokenizerDefinition +from mflux.models.qwen.weights.qwen_weight_mapping import QwenWeightMapping + + +class QwenWeightDefinition: + @staticmethod + def get_components() -> List[ComponentDefinition]: + return [ + ComponentDefinition( + name="vae", + hf_subdir="vae", + loading_mode="single", + mapping_getter=QwenWeightMapping.get_vae_mapping, + ), + ComponentDefinition( + name="transformer", + hf_subdir="transformer", + loading_mode="multi_glob", + mapping_getter=QwenWeightMapping.get_transformer_mapping, + ), + ComponentDefinition( + name="text_encoder", + hf_subdir="text_encoder", + loading_mode="multi_json", + precision=mx.bfloat16, + skip_quantization=True, # Quantization causes significant semantic degradation + mapping_getter=QwenWeightMapping.get_text_encoder_mapping, + ), + ] + + @staticmethod + def get_tokenizers() -> List[TokenizerDefinition]: + return [ + TokenizerDefinition( + name="qwen", + hf_subdir="tokenizer", + tokenizer_class="Qwen2Tokenizer", + encoder_class=LanguageTokenizer, + max_length=1024, + template="<|im_start|>system\nDescribe the image by detailing the color, shape, size, texture, quantity, text, spatial relationships of the objects and background:<|im_end|>\n<|im_start|>user\n{}<|im_end|>\n<|im_start|>assistant\n", + download_patterns=["tokenizer/**", "added_tokens.json", "chat_template.jinja"], + ), + ] + + @staticmethod + def get_download_patterns() -> List[str]: + return [ + "vae/*.safetensors", + "vae/*.json", + "transformer/*.safetensors", + "transformer/*.json", + "text_encoder/*.safetensors", + "text_encoder/*.json", + ] + + @staticmethod + def quantization_predicate(path: str, module) -> bool: + return hasattr(module, "to_quantized") diff --git a/src/mflux/models/qwen/weights/qwen_weight_handler.py b/src/mflux/models/qwen/weights/qwen_weight_handler.py deleted file mode 100644 index 7c06315..0000000 --- a/src/mflux/models/qwen/weights/qwen_weight_handler.py +++ /dev/null @@ -1,190 +0,0 @@ -import json -from collections.abc import Callable -from pathlib import Path - -import mlx.core as mx -import torch -from mlx.utils import tree_unflatten -from safetensors.mlx import load_file as mlx_load_file -from safetensors.torch import load_file as torch_load_file - -from mflux.models.common.weights.mapping.weight_mapper import WeightMapper -from mflux.models.common.weights.mapping.weight_mapping import WeightTarget -from mflux.models.flux.weights.weight_handler import MetaData, WeightHandler -from mflux.models.qwen.weights.qwen_weight_mapping import QwenWeightMapping - - -class QwenWeightHandler: - def __init__( - self, - meta_data: MetaData, - qwen_text_encoder: dict | None = None, - transformer: dict | None = None, - vae: dict | None = None, - ): - self.qwen_text_encoder = qwen_text_encoder - self.transformer = transformer - self.vae = vae - self.meta_data = meta_data - - @staticmethod - def load_regular_weights( - repo_id: str | None = None, - local_path: str | None = None, - ) -> "QwenWeightHandler": - # Load the weights from disk, huggingface cache, or download from huggingface - root_path = Path(local_path) if local_path else WeightHandler.download_or_get_cached_weights(repo_id) - - # Determine if we should load visual weights (for Edit model) - load_visual_weights = repo_id and "edit" in repo_id.lower() - - # Load the weights - transformer, quantization_level, mflux_version = QwenWeightHandler._load_transformer(root_path=root_path) - qwen_text_encoder, _, _ = QwenWeightHandler._load_qwen_text_encoder(root_path=root_path, load_visual_weights=load_visual_weights) # fmt: off - vae, _, _ = QwenWeightHandler._load_vae(root_path=root_path) - - return QwenWeightHandler( - qwen_text_encoder=qwen_text_encoder, - transformer=transformer, - vae=vae, - meta_data=MetaData( - quantization_level=quantization_level, - scale=None, - is_lora=False, - mflux_version=mflux_version, - ), - ) - - @staticmethod - def _load_transformer(root_path: Path) -> tuple[dict, int | None, str | None]: - return QwenWeightHandler._load_component( - root_path=root_path, - component_name="transformer", - loading_mode="multi_glob", - mapping_getter=QwenWeightMapping.get_transformer_mapping, - ) - - @staticmethod - def _load_qwen_text_encoder( - root_path: Path, load_visual_weights: bool = False - ) -> tuple[dict, int | None, str | None]: - return QwenWeightHandler._load_component( - root_path=root_path, - component_name="text_encoder", - loading_mode="multi_json", - mapping_getter=QwenWeightMapping.get_text_encoder_mapping, - ) - - @staticmethod - def _load_vae(root_path: Path) -> tuple[dict, int | None, str | None]: - return QwenWeightHandler._load_component( - root_path=root_path, - component_name="vae", - loading_mode="single", - mapping_getter=QwenWeightMapping.get_vae_mapping, - ) - - @staticmethod - def _load_component( - root_path: Path, - component_name: str, - loading_mode: str, - mapping_getter: Callable[[], list[WeightTarget]], - ) -> tuple[dict, int | None, str | None]: - component_path = root_path / component_name - weights = QwenWeightHandler._load_safetensors_shards(component_path, loading_mode=loading_mode) - - # Check if this is a saved model (has metadata) - quantization_level, mflux_version = QwenWeightHandler._detect_metadata(component_path) - if quantization_level is not None or mflux_version is not None: - return QwenWeightHandler._load_saved_model_weights(weights, None, quantization_level, mflux_version) - - # Otherwise, it's HuggingFace weights that need mapping - mapping = mapping_getter() - mapped_weights = WeightMapper.apply_mapping(weights, mapping) - return mapped_weights, None, None - - @staticmethod - def _load_safetensors_shards(path: Path, loading_mode: str = "multi_glob") -> dict[str, mx.array]: - all_weights = {} - - if loading_mode == "single": - # VAE style: Single file loading - safetensors_files = [f for f in path.glob("*.safetensors") if not f.name.startswith("._")] - if not safetensors_files: - raise FileNotFoundError(f"No safetensors files found in {path}") - - weights_file = safetensors_files[0] - data = mx.load(str(weights_file), return_metadata=True) - all_weights = dict(data[0].items()) - - elif loading_mode == "multi_json": - # Text encoder style: Use JSON index to map params to files - index_path = path / "model.safetensors.index.json" - with open(index_path) as f: - index = json.load(f) - - # Group weights by file - files_to_load = {} - for param_name, file_name in index["weight_map"].items(): - if file_name not in files_to_load: - files_to_load[file_name] = [] - files_to_load[file_name].append(param_name) - - # Load weights from each file - for file_name, param_names in files_to_load.items(): - file_path = path / file_name - - # Load the safetensor file with fallback to torch conversion - try: - file_weights = mlx_load_file(str(file_path)) - except Exception: # noqa: BLE001 - # If MLX can't load directly, try with torch and convert - torch_weights = torch_load_file(str(file_path)) - file_weights = {} - for name, tensor in torch_weights.items(): - # Convert to float32 if bfloat16, then to MLX - if tensor.dtype == torch.bfloat16: - tensor = tensor.to(torch.float32) - file_weights[name] = mx.array(tensor.numpy()) - - # Add requested parameters to combined weights - for param_name in param_names: - if param_name in file_weights: - all_weights[param_name] = file_weights[param_name] - else: # "multi_glob" - # Transformer style: Directly glob all safetensors files - shard_files = sorted([f for f in path.glob("*.safetensors") if not f.name.startswith("._")]) - if not shard_files: - raise FileNotFoundError(f"No safetensors found in {path}") - - for shard in shard_files: - data, metadata = mx.load(str(shard), return_metadata=True) - all_weights.update(dict(data.items())) - - return all_weights - - @staticmethod - def _load_saved_model_weights( - weights: dict[str, mx.array] | None, - path: Path | None, - quantization_level: int | None, - mflux_version: str | None, - ) -> tuple[dict, int | None, str | None]: - # If weights already loaded, use them; otherwise load from path - if weights is None: - # For saved models, always use multi_glob (no index.json needed) - weights = QwenWeightHandler._load_safetensors_shards(path, loading_mode="multi_glob") - - return tree_unflatten(list(weights.items())), quantization_level, mflux_version - - @staticmethod - def _detect_metadata(path: Path) -> tuple[int | None, str | None]: - file_glob = sorted([f for f in path.glob("*.safetensors") if not f.name.startswith("._")]) - if file_glob: - data = mx.load(str(file_glob[0]), return_metadata=True) - if len(data) > 1: - quantization_level = data[1].get("quantization_level") - mflux_version = data[1].get("mflux_version") - return quantization_level, mflux_version - return None, None diff --git a/src/mflux/models/qwen/weights/qwen_weight_mapping.py b/src/mflux/models/qwen/weights/qwen_weight_mapping.py index c3b477f..6fabb47 100644 --- a/src/mflux/models/qwen/weights/qwen_weight_mapping.py +++ b/src/mflux/models/qwen/weights/qwen_weight_mapping.py @@ -1,915 +1,854 @@ from typing import List -import mlx.core as mx - from mflux.models.common.weights.mapping.weight_mapping import WeightMapping, WeightTarget - - -def reshape_gamma_to_1d(tensor: mx.array) -> mx.array: - if len(tensor.shape) > 1: - return mx.reshape(tensor, (tensor.shape[0],)) - return tensor - - -def transpose_patch_embed(tensor: mx.array) -> mx.array: - if len(tensor.shape) == 5: - return tensor.transpose(0, 2, 3, 4, 1) - return tensor - - -def transpose_conv3d_weight(tensor: mx.array) -> mx.array: - if len(tensor.shape) == 5: - return tensor.transpose(0, 2, 3, 4, 1) - return tensor - - -def transpose_conv2d_weight(tensor: mx.array) -> mx.array: - if len(tensor.shape) == 4: - return tensor.transpose(0, 2, 3, 1) - return tensor +from mflux.models.common.weights.mapping.weight_transforms import WeightTransforms class QwenWeightMapping(WeightMapping): @staticmethod def get_transformer_mapping() -> List[WeightTarget]: return [ - # Top-level mappings WeightTarget( - mlx_path="img_in.weight", - hf_patterns=["img_in.weight"], + to_pattern="img_in.weight", + from_pattern=["img_in.weight"], ), WeightTarget( - mlx_path="img_in.bias", - hf_patterns=["img_in.bias"], + to_pattern="img_in.bias", + from_pattern=["img_in.bias"], ), WeightTarget( - mlx_path="txt_norm.weight", - hf_patterns=["txt_norm.weight"], + to_pattern="txt_norm.weight", + from_pattern=["txt_norm.weight"], ), WeightTarget( - mlx_path="txt_in.weight", - hf_patterns=["txt_in.weight"], + to_pattern="txt_in.weight", + from_pattern=["txt_in.weight"], ), WeightTarget( - mlx_path="txt_in.bias", - hf_patterns=["txt_in.bias"], - ), - # Time text embedder - WeightTarget( - mlx_path="time_text_embed.timestep_embedder.linear_1.weight", - hf_patterns=["time_text_embed.timestep_embedder.linear_1.weight"], + to_pattern="txt_in.bias", + from_pattern=["txt_in.bias"], ), WeightTarget( - mlx_path="time_text_embed.timestep_embedder.linear_1.bias", - hf_patterns=["time_text_embed.timestep_embedder.linear_1.bias"], + to_pattern="time_text_embed.timestep_embedder.linear_1.weight", + from_pattern=["time_text_embed.timestep_embedder.linear_1.weight"], ), WeightTarget( - mlx_path="time_text_embed.timestep_embedder.linear_2.weight", - hf_patterns=["time_text_embed.timestep_embedder.linear_2.weight"], + to_pattern="time_text_embed.timestep_embedder.linear_1.bias", + from_pattern=["time_text_embed.timestep_embedder.linear_1.bias"], ), WeightTarget( - mlx_path="time_text_embed.timestep_embedder.linear_2.bias", - hf_patterns=["time_text_embed.timestep_embedder.linear_2.bias"], - ), - # Output head - WeightTarget( - mlx_path="norm_out.linear.weight", - hf_patterns=["norm_out.linear.weight"], + to_pattern="time_text_embed.timestep_embedder.linear_2.weight", + from_pattern=["time_text_embed.timestep_embedder.linear_2.weight"], ), WeightTarget( - mlx_path="norm_out.linear.bias", - hf_patterns=["norm_out.linear.bias"], + to_pattern="time_text_embed.timestep_embedder.linear_2.bias", + from_pattern=["time_text_embed.timestep_embedder.linear_2.bias"], ), WeightTarget( - mlx_path="proj_out.weight", - hf_patterns=["proj_out.weight"], + to_pattern="norm_out.linear.weight", + from_pattern=["norm_out.linear.weight"], ), WeightTarget( - mlx_path="proj_out.bias", - hf_patterns=["proj_out.bias"], - ), - # Transformer blocks - Attention - WeightTarget( - mlx_path="transformer_blocks.{block}.attn.to_q.weight", - hf_patterns=["transformer_blocks.{block}.attn.to_q.weight"], + to_pattern="norm_out.linear.bias", + from_pattern=["norm_out.linear.bias"], ), WeightTarget( - mlx_path="transformer_blocks.{block}.attn.to_q.bias", - hf_patterns=["transformer_blocks.{block}.attn.to_q.bias"], + to_pattern="proj_out.weight", + from_pattern=["proj_out.weight"], ), WeightTarget( - mlx_path="transformer_blocks.{block}.attn.to_k.weight", - hf_patterns=["transformer_blocks.{block}.attn.to_k.weight"], + to_pattern="proj_out.bias", + from_pattern=["proj_out.bias"], ), WeightTarget( - mlx_path="transformer_blocks.{block}.attn.to_k.bias", - hf_patterns=["transformer_blocks.{block}.attn.to_k.bias"], + to_pattern="transformer_blocks.{block}.attn.to_q.weight", + from_pattern=["transformer_blocks.{block}.attn.to_q.weight"], ), WeightTarget( - mlx_path="transformer_blocks.{block}.attn.to_v.weight", - hf_patterns=["transformer_blocks.{block}.attn.to_v.weight"], + to_pattern="transformer_blocks.{block}.attn.to_q.bias", + from_pattern=["transformer_blocks.{block}.attn.to_q.bias"], ), WeightTarget( - mlx_path="transformer_blocks.{block}.attn.to_v.bias", - hf_patterns=["transformer_blocks.{block}.attn.to_v.bias"], + to_pattern="transformer_blocks.{block}.attn.to_k.weight", + from_pattern=["transformer_blocks.{block}.attn.to_k.weight"], ), WeightTarget( - mlx_path="transformer_blocks.{block}.attn.add_q_proj.weight", - hf_patterns=["transformer_blocks.{block}.attn.add_q_proj.weight"], + to_pattern="transformer_blocks.{block}.attn.to_k.bias", + from_pattern=["transformer_blocks.{block}.attn.to_k.bias"], ), WeightTarget( - mlx_path="transformer_blocks.{block}.attn.add_q_proj.bias", - hf_patterns=["transformer_blocks.{block}.attn.add_q_proj.bias"], + to_pattern="transformer_blocks.{block}.attn.to_v.weight", + from_pattern=["transformer_blocks.{block}.attn.to_v.weight"], ), WeightTarget( - mlx_path="transformer_blocks.{block}.attn.add_k_proj.weight", - hf_patterns=["transformer_blocks.{block}.attn.add_k_proj.weight"], + to_pattern="transformer_blocks.{block}.attn.to_v.bias", + from_pattern=["transformer_blocks.{block}.attn.to_v.bias"], ), WeightTarget( - mlx_path="transformer_blocks.{block}.attn.add_k_proj.bias", - hf_patterns=["transformer_blocks.{block}.attn.add_k_proj.bias"], + to_pattern="transformer_blocks.{block}.attn.add_q_proj.weight", + from_pattern=["transformer_blocks.{block}.attn.add_q_proj.weight"], ), WeightTarget( - mlx_path="transformer_blocks.{block}.attn.add_v_proj.weight", - hf_patterns=["transformer_blocks.{block}.attn.add_v_proj.weight"], + to_pattern="transformer_blocks.{block}.attn.add_q_proj.bias", + from_pattern=["transformer_blocks.{block}.attn.add_q_proj.bias"], ), WeightTarget( - mlx_path="transformer_blocks.{block}.attn.add_v_proj.bias", - hf_patterns=["transformer_blocks.{block}.attn.add_v_proj.bias"], + to_pattern="transformer_blocks.{block}.attn.add_k_proj.weight", + from_pattern=["transformer_blocks.{block}.attn.add_k_proj.weight"], ), WeightTarget( - mlx_path="transformer_blocks.{block}.attn.norm_q.weight", - hf_patterns=["transformer_blocks.{block}.attn.norm_q.weight"], + to_pattern="transformer_blocks.{block}.attn.add_k_proj.bias", + from_pattern=["transformer_blocks.{block}.attn.add_k_proj.bias"], ), WeightTarget( - mlx_path="transformer_blocks.{block}.attn.norm_k.weight", - hf_patterns=["transformer_blocks.{block}.attn.norm_k.weight"], + to_pattern="transformer_blocks.{block}.attn.add_v_proj.weight", + from_pattern=["transformer_blocks.{block}.attn.add_v_proj.weight"], ), WeightTarget( - mlx_path="transformer_blocks.{block}.attn.norm_added_q.weight", - hf_patterns=["transformer_blocks.{block}.attn.norm_added_q.weight"], + to_pattern="transformer_blocks.{block}.attn.add_v_proj.bias", + from_pattern=["transformer_blocks.{block}.attn.add_v_proj.bias"], ), WeightTarget( - mlx_path="transformer_blocks.{block}.attn.norm_added_k.weight", - hf_patterns=["transformer_blocks.{block}.attn.norm_added_k.weight"], + to_pattern="transformer_blocks.{block}.attn.norm_q.weight", + from_pattern=["transformer_blocks.{block}.attn.norm_q.weight"], ), WeightTarget( - mlx_path="transformer_blocks.{block}.attn.attn_to_out.0.weight", - hf_patterns=["transformer_blocks.{block}.attn.to_out.0.weight"], + to_pattern="transformer_blocks.{block}.attn.norm_k.weight", + from_pattern=["transformer_blocks.{block}.attn.norm_k.weight"], ), WeightTarget( - mlx_path="transformer_blocks.{block}.attn.attn_to_out.0.bias", - hf_patterns=["transformer_blocks.{block}.attn.to_out.0.bias"], + to_pattern="transformer_blocks.{block}.attn.norm_added_q.weight", + from_pattern=["transformer_blocks.{block}.attn.norm_added_q.weight"], ), WeightTarget( - mlx_path="transformer_blocks.{block}.attn.to_add_out.weight", - hf_patterns=["transformer_blocks.{block}.attn.to_add_out.weight"], + to_pattern="transformer_blocks.{block}.attn.norm_added_k.weight", + from_pattern=["transformer_blocks.{block}.attn.norm_added_k.weight"], ), WeightTarget( - mlx_path="transformer_blocks.{block}.attn.to_add_out.bias", - hf_patterns=["transformer_blocks.{block}.attn.to_add_out.bias"], - ), - # Transformer blocks - Modulation - WeightTarget( - mlx_path="transformer_blocks.{block}.img_mod_linear.weight", - hf_patterns=["transformer_blocks.{block}.img_mod.1.weight"], + to_pattern="transformer_blocks.{block}.attn.attn_to_out.0.weight", + from_pattern=["transformer_blocks.{block}.attn.to_out.0.weight"], ), WeightTarget( - mlx_path="transformer_blocks.{block}.img_mod_linear.bias", - hf_patterns=["transformer_blocks.{block}.img_mod.1.bias"], + to_pattern="transformer_blocks.{block}.attn.attn_to_out.0.bias", + from_pattern=["transformer_blocks.{block}.attn.to_out.0.bias"], ), WeightTarget( - mlx_path="transformer_blocks.{block}.txt_mod_linear.weight", - hf_patterns=["transformer_blocks.{block}.txt_mod.1.weight"], + to_pattern="transformer_blocks.{block}.attn.to_add_out.weight", + from_pattern=["transformer_blocks.{block}.attn.to_add_out.weight"], ), WeightTarget( - mlx_path="transformer_blocks.{block}.txt_mod_linear.bias", - hf_patterns=["transformer_blocks.{block}.txt_mod.1.bias"], - ), - # Transformer blocks - Feed Forward - WeightTarget( - mlx_path="transformer_blocks.{block}.img_ff.mlp_in.weight", - hf_patterns=["transformer_blocks.{block}.img_mlp.net.0.proj.weight"], + to_pattern="transformer_blocks.{block}.attn.to_add_out.bias", + from_pattern=["transformer_blocks.{block}.attn.to_add_out.bias"], ), WeightTarget( - mlx_path="transformer_blocks.{block}.img_ff.mlp_in.bias", - hf_patterns=["transformer_blocks.{block}.img_mlp.net.0.proj.bias"], + to_pattern="transformer_blocks.{block}.img_mod_linear.weight", + from_pattern=["transformer_blocks.{block}.img_mod.1.weight"], ), WeightTarget( - mlx_path="transformer_blocks.{block}.img_ff.mlp_out.weight", - hf_patterns=["transformer_blocks.{block}.img_mlp.net.2.weight"], + to_pattern="transformer_blocks.{block}.img_mod_linear.bias", + from_pattern=["transformer_blocks.{block}.img_mod.1.bias"], ), WeightTarget( - mlx_path="transformer_blocks.{block}.img_ff.mlp_out.bias", - hf_patterns=["transformer_blocks.{block}.img_mlp.net.2.bias"], + to_pattern="transformer_blocks.{block}.txt_mod_linear.weight", + from_pattern=["transformer_blocks.{block}.txt_mod.1.weight"], ), WeightTarget( - mlx_path="transformer_blocks.{block}.txt_ff.mlp_in.weight", - hf_patterns=["transformer_blocks.{block}.txt_mlp.net.0.proj.weight"], + to_pattern="transformer_blocks.{block}.txt_mod_linear.bias", + from_pattern=["transformer_blocks.{block}.txt_mod.1.bias"], ), WeightTarget( - mlx_path="transformer_blocks.{block}.txt_ff.mlp_in.bias", - hf_patterns=["transformer_blocks.{block}.txt_mlp.net.0.proj.bias"], + to_pattern="transformer_blocks.{block}.img_ff.mlp_in.weight", + from_pattern=["transformer_blocks.{block}.img_mlp.net.0.proj.weight"], ), WeightTarget( - mlx_path="transformer_blocks.{block}.txt_ff.mlp_out.weight", - hf_patterns=["transformer_blocks.{block}.txt_mlp.net.2.weight"], + to_pattern="transformer_blocks.{block}.img_ff.mlp_in.bias", + from_pattern=["transformer_blocks.{block}.img_mlp.net.0.proj.bias"], ), WeightTarget( - mlx_path="transformer_blocks.{block}.txt_ff.mlp_out.bias", - hf_patterns=["transformer_blocks.{block}.txt_mlp.net.2.bias"], + to_pattern="transformer_blocks.{block}.img_ff.mlp_out.weight", + from_pattern=["transformer_blocks.{block}.img_mlp.net.2.weight"], + ), + WeightTarget( + to_pattern="transformer_blocks.{block}.img_ff.mlp_out.bias", + from_pattern=["transformer_blocks.{block}.img_mlp.net.2.bias"], + ), + WeightTarget( + to_pattern="transformer_blocks.{block}.txt_ff.mlp_in.weight", + from_pattern=["transformer_blocks.{block}.txt_mlp.net.0.proj.weight"], + ), + WeightTarget( + to_pattern="transformer_blocks.{block}.txt_ff.mlp_in.bias", + from_pattern=["transformer_blocks.{block}.txt_mlp.net.0.proj.bias"], + ), + WeightTarget( + to_pattern="transformer_blocks.{block}.txt_ff.mlp_out.weight", + from_pattern=["transformer_blocks.{block}.txt_mlp.net.2.weight"], + ), + WeightTarget( + to_pattern="transformer_blocks.{block}.txt_ff.mlp_out.bias", + from_pattern=["transformer_blocks.{block}.txt_mlp.net.2.bias"], ), ] @staticmethod def get_vae_mapping() -> List[WeightTarget]: return [ - # ========== Decoder ========== - # Decoder conv_in WeightTarget( - mlx_path="decoder.conv_in.conv3d.weight", - hf_patterns=["decoder.conv_in.weight"], - transform=transpose_conv3d_weight, + to_pattern="decoder.conv_in.conv3d.weight", + from_pattern=["decoder.conv_in.weight"], + transform=WeightTransforms.transpose_conv3d_weight, ), WeightTarget( - mlx_path="decoder.conv_in.conv3d.bias", - hf_patterns=["decoder.conv_in.bias"], + to_pattern="decoder.conv_in.conv3d.bias", + from_pattern=["decoder.conv_in.bias"], ), - # Decoder conv_out WeightTarget( - mlx_path="decoder.conv_out.conv3d.weight", - hf_patterns=["decoder.conv_out.weight"], - transform=transpose_conv3d_weight, + to_pattern="decoder.conv_out.conv3d.weight", + from_pattern=["decoder.conv_out.weight"], + transform=WeightTransforms.transpose_conv3d_weight, ), WeightTarget( - mlx_path="decoder.conv_out.conv3d.bias", - hf_patterns=["decoder.conv_out.bias"], + to_pattern="decoder.conv_out.conv3d.bias", + from_pattern=["decoder.conv_out.bias"], ), - # Decoder norm_out (gamma -> weight with reshape) WeightTarget( - mlx_path="decoder.norm_out.weight", - hf_patterns=["decoder.norm_out.gamma"], - transform=reshape_gamma_to_1d, + to_pattern="decoder.norm_out.weight", + from_pattern=["decoder.norm_out.gamma"], + transform=WeightTransforms.reshape_gamma_to_1d, ), - # Post quant conv WeightTarget( - mlx_path="post_quant_conv.conv3d.weight", - hf_patterns=["post_quant_conv.weight"], - transform=transpose_conv3d_weight, + to_pattern="post_quant_conv.conv3d.weight", + from_pattern=["post_quant_conv.weight"], + transform=WeightTransforms.transpose_conv3d_weight, ), WeightTarget( - mlx_path="post_quant_conv.conv3d.bias", - hf_patterns=["post_quant_conv.bias"], + to_pattern="post_quant_conv.conv3d.bias", + from_pattern=["post_quant_conv.bias"], ), - # Decoder mid_block resnets WeightTarget( - mlx_path="decoder.mid_block.resnets.{i}.conv1.conv3d.weight", - hf_patterns=["decoder.mid_block.resnets.{i}.conv1.weight"], - transform=transpose_conv3d_weight, + to_pattern="decoder.mid_block.resnets.{i}.conv1.conv3d.weight", + from_pattern=["decoder.mid_block.resnets.{i}.conv1.weight"], + transform=WeightTransforms.transpose_conv3d_weight, ), WeightTarget( - mlx_path="decoder.mid_block.resnets.{i}.conv1.conv3d.bias", - hf_patterns=["decoder.mid_block.resnets.{i}.conv1.bias"], + to_pattern="decoder.mid_block.resnets.{i}.conv1.conv3d.bias", + from_pattern=["decoder.mid_block.resnets.{i}.conv1.bias"], ), WeightTarget( - mlx_path="decoder.mid_block.resnets.{i}.conv2.conv3d.weight", - hf_patterns=["decoder.mid_block.resnets.{i}.conv2.weight"], - transform=transpose_conv3d_weight, + to_pattern="decoder.mid_block.resnets.{i}.conv2.conv3d.weight", + from_pattern=["decoder.mid_block.resnets.{i}.conv2.weight"], + transform=WeightTransforms.transpose_conv3d_weight, ), WeightTarget( - mlx_path="decoder.mid_block.resnets.{i}.conv2.conv3d.bias", - hf_patterns=["decoder.mid_block.resnets.{i}.conv2.bias"], + to_pattern="decoder.mid_block.resnets.{i}.conv2.conv3d.bias", + from_pattern=["decoder.mid_block.resnets.{i}.conv2.bias"], ), WeightTarget( - mlx_path="decoder.mid_block.resnets.{i}.norm1.weight", - hf_patterns=["decoder.mid_block.resnets.{i}.norm1.gamma"], - transform=reshape_gamma_to_1d, + to_pattern="decoder.mid_block.resnets.{i}.norm1.weight", + from_pattern=["decoder.mid_block.resnets.{i}.norm1.gamma"], + transform=WeightTransforms.reshape_gamma_to_1d, ), WeightTarget( - mlx_path="decoder.mid_block.resnets.{i}.norm2.weight", - hf_patterns=["decoder.mid_block.resnets.{i}.norm2.gamma"], - transform=reshape_gamma_to_1d, + to_pattern="decoder.mid_block.resnets.{i}.norm2.weight", + from_pattern=["decoder.mid_block.resnets.{i}.norm2.gamma"], + transform=WeightTransforms.reshape_gamma_to_1d, ), - # Decoder mid_block attention WeightTarget( - mlx_path="decoder.mid_block.attentions.0.norm.weight", - hf_patterns=["decoder.mid_block.attentions.0.norm.gamma"], - transform=reshape_gamma_to_1d, + to_pattern="decoder.mid_block.attentions.0.norm.weight", + from_pattern=["decoder.mid_block.attentions.0.norm.gamma"], + transform=WeightTransforms.reshape_gamma_to_1d, ), WeightTarget( - mlx_path="decoder.mid_block.attentions.0.to_qkv.weight", - hf_patterns=["decoder.mid_block.attentions.0.to_qkv.weight"], - transform=transpose_conv2d_weight, + to_pattern="decoder.mid_block.attentions.0.to_qkv.weight", + from_pattern=["decoder.mid_block.attentions.0.to_qkv.weight"], + transform=WeightTransforms.transpose_conv2d_weight, ), WeightTarget( - mlx_path="decoder.mid_block.attentions.0.to_qkv.bias", - hf_patterns=["decoder.mid_block.attentions.0.to_qkv.bias"], + to_pattern="decoder.mid_block.attentions.0.to_qkv.bias", + from_pattern=["decoder.mid_block.attentions.0.to_qkv.bias"], ), WeightTarget( - mlx_path="decoder.mid_block.attentions.0.proj.weight", - hf_patterns=["decoder.mid_block.attentions.0.proj.weight"], - transform=transpose_conv2d_weight, + to_pattern="decoder.mid_block.attentions.0.proj.weight", + from_pattern=["decoder.mid_block.attentions.0.proj.weight"], + transform=WeightTransforms.transpose_conv2d_weight, ), WeightTarget( - mlx_path="decoder.mid_block.attentions.0.proj.bias", - hf_patterns=["decoder.mid_block.attentions.0.proj.bias"], + to_pattern="decoder.mid_block.attentions.0.proj.bias", + from_pattern=["decoder.mid_block.attentions.0.proj.bias"], ), - # Decoder up_blocks resnets WeightTarget( - mlx_path="decoder.up_block{block}.resnets.{res}.conv1.conv3d.weight", - hf_patterns=["decoder.up_blocks.{block}.resnets.{res}.conv1.weight"], - transform=transpose_conv3d_weight, + to_pattern="decoder.up_block{block}.resnets.{res}.conv1.conv3d.weight", + from_pattern=["decoder.up_blocks.{block}.resnets.{res}.conv1.weight"], + transform=WeightTransforms.transpose_conv3d_weight, ), WeightTarget( - mlx_path="decoder.up_block{block}.resnets.{res}.conv1.conv3d.bias", - hf_patterns=["decoder.up_blocks.{block}.resnets.{res}.conv1.bias"], + to_pattern="decoder.up_block{block}.resnets.{res}.conv1.conv3d.bias", + from_pattern=["decoder.up_blocks.{block}.resnets.{res}.conv1.bias"], ), WeightTarget( - mlx_path="decoder.up_block{block}.resnets.{res}.conv2.conv3d.weight", - hf_patterns=["decoder.up_blocks.{block}.resnets.{res}.conv2.weight"], - transform=transpose_conv3d_weight, + to_pattern="decoder.up_block{block}.resnets.{res}.conv2.conv3d.weight", + from_pattern=["decoder.up_blocks.{block}.resnets.{res}.conv2.weight"], + transform=WeightTransforms.transpose_conv3d_weight, ), WeightTarget( - mlx_path="decoder.up_block{block}.resnets.{res}.conv2.conv3d.bias", - hf_patterns=["decoder.up_blocks.{block}.resnets.{res}.conv2.bias"], + to_pattern="decoder.up_block{block}.resnets.{res}.conv2.conv3d.bias", + from_pattern=["decoder.up_blocks.{block}.resnets.{res}.conv2.bias"], ), WeightTarget( - mlx_path="decoder.up_block{block}.resnets.{res}.norm1.weight", - hf_patterns=["decoder.up_blocks.{block}.resnets.{res}.norm1.gamma"], - transform=reshape_gamma_to_1d, + to_pattern="decoder.up_block{block}.resnets.{res}.norm1.weight", + from_pattern=["decoder.up_blocks.{block}.resnets.{res}.norm1.gamma"], + transform=WeightTransforms.reshape_gamma_to_1d, ), WeightTarget( - mlx_path="decoder.up_block{block}.resnets.{res}.norm2.weight", - hf_patterns=["decoder.up_blocks.{block}.resnets.{res}.norm2.gamma"], - transform=reshape_gamma_to_1d, + to_pattern="decoder.up_block{block}.resnets.{res}.norm2.weight", + from_pattern=["decoder.up_blocks.{block}.resnets.{res}.norm2.gamma"], + transform=WeightTransforms.reshape_gamma_to_1d, ), - # Decoder up_blocks optional conv_shortcut -> skip_conv WeightTarget( - mlx_path="decoder.up_block{block}.resnets.{res}.skip_conv.conv3d.weight", - hf_patterns=["decoder.up_blocks.{block}.resnets.{res}.conv_shortcut.weight"], - transform=transpose_conv3d_weight, - required=False, # Optional weight - ), - WeightTarget( - mlx_path="decoder.up_block{block}.resnets.{res}.skip_conv.conv3d.bias", - hf_patterns=["decoder.up_blocks.{block}.resnets.{res}.conv_shortcut.bias"], - required=False, # Optional weight - ), - # Decoder up_blocks upsamplers (blocks 0, 1, 2) - WeightTarget( - mlx_path="decoder.up_block{block}.upsamplers.0.resample_conv.weight", - hf_patterns=["decoder.up_blocks.{block}.upsamplers.0.resample.1.weight"], - transform=transpose_conv2d_weight, - ), - WeightTarget( - mlx_path="decoder.up_block{block}.upsamplers.0.resample_conv.bias", - hf_patterns=["decoder.up_blocks.{block}.upsamplers.0.resample.1.bias"], - ), - # Decoder up_blocks time_conv (blocks 0, 1) - WeightTarget( - mlx_path="decoder.up_block{block}.upsamplers.0.time_conv.conv3d.weight", - hf_patterns=["decoder.up_blocks.{block}.upsamplers.0.time_conv.weight"], - transform=transpose_conv3d_weight, - ), - WeightTarget( - mlx_path="decoder.up_block{block}.upsamplers.0.time_conv.conv3d.bias", - hf_patterns=["decoder.up_blocks.{block}.upsamplers.0.time_conv.bias"], - ), - # ========== Encoder ========== - # Encoder conv_in - WeightTarget( - mlx_path="encoder.conv_in.conv3d.weight", - hf_patterns=["encoder.conv_in.weight"], - transform=transpose_conv3d_weight, - ), - WeightTarget( - mlx_path="encoder.conv_in.conv3d.bias", - hf_patterns=["encoder.conv_in.bias"], - ), - # Encoder conv_out - WeightTarget( - mlx_path="encoder.conv_out.conv3d.weight", - hf_patterns=["encoder.conv_out.weight"], - transform=transpose_conv3d_weight, - ), - WeightTarget( - mlx_path="encoder.conv_out.conv3d.bias", - hf_patterns=["encoder.conv_out.bias"], - ), - # Encoder norm_out - WeightTarget( - mlx_path="encoder.norm_out.weight", - hf_patterns=["encoder.norm_out.gamma"], - transform=reshape_gamma_to_1d, - ), - # Encoder mid_block attention - WeightTarget( - mlx_path="encoder.mid_block.attentions.0.norm.weight", - hf_patterns=["encoder.mid_block.attentions.0.norm.gamma"], - transform=reshape_gamma_to_1d, - ), - WeightTarget( - mlx_path="encoder.mid_block.attentions.0.to_qkv.weight", - hf_patterns=["encoder.mid_block.attentions.0.to_qkv.weight"], - transform=transpose_conv2d_weight, - ), - WeightTarget( - mlx_path="encoder.mid_block.attentions.0.to_qkv.bias", - hf_patterns=["encoder.mid_block.attentions.0.to_qkv.bias"], - ), - WeightTarget( - mlx_path="encoder.mid_block.attentions.0.proj.weight", - hf_patterns=["encoder.mid_block.attentions.0.proj.weight"], - transform=transpose_conv2d_weight, - ), - WeightTarget( - mlx_path="encoder.mid_block.attentions.0.proj.bias", - hf_patterns=["encoder.mid_block.attentions.0.proj.bias"], - ), - # Encoder mid_block resnets - WeightTarget( - mlx_path="encoder.mid_block.resnets.{i}.conv1.conv3d.weight", - hf_patterns=["encoder.mid_block.resnets.{i}.conv1.weight"], - transform=transpose_conv3d_weight, - ), - WeightTarget( - mlx_path="encoder.mid_block.resnets.{i}.conv1.conv3d.bias", - hf_patterns=["encoder.mid_block.resnets.{i}.conv1.bias"], - ), - WeightTarget( - mlx_path="encoder.mid_block.resnets.{i}.conv2.conv3d.weight", - hf_patterns=["encoder.mid_block.resnets.{i}.conv2.weight"], - transform=transpose_conv3d_weight, - ), - WeightTarget( - mlx_path="encoder.mid_block.resnets.{i}.conv2.conv3d.bias", - hf_patterns=["encoder.mid_block.resnets.{i}.conv2.bias"], - ), - WeightTarget( - mlx_path="encoder.mid_block.resnets.{i}.norm1.weight", - hf_patterns=["encoder.mid_block.resnets.{i}.norm1.gamma"], - transform=reshape_gamma_to_1d, - ), - WeightTarget( - mlx_path="encoder.mid_block.resnets.{i}.norm2.weight", - hf_patterns=["encoder.mid_block.resnets.{i}.norm2.gamma"], - transform=reshape_gamma_to_1d, - ), - # Encoder down_blocks - Stage 0 (flat_idx 0,1 -> resnets[0,1]; flat_idx 2 -> downsampler) - WeightTarget( - mlx_path="encoder.down_blocks.0.resnets.0.conv1.conv3d.weight", - hf_patterns=["encoder.down_blocks.0.conv1.weight"], - transform=transpose_conv3d_weight, - ), - WeightTarget( - mlx_path="encoder.down_blocks.0.resnets.0.conv1.conv3d.bias", - hf_patterns=["encoder.down_blocks.0.conv1.bias"], - ), - WeightTarget( - mlx_path="encoder.down_blocks.0.resnets.0.conv2.conv3d.weight", - hf_patterns=["encoder.down_blocks.0.conv2.weight"], - transform=transpose_conv3d_weight, - ), - WeightTarget( - mlx_path="encoder.down_blocks.0.resnets.0.conv2.conv3d.bias", - hf_patterns=["encoder.down_blocks.0.conv2.bias"], - ), - WeightTarget( - mlx_path="encoder.down_blocks.0.resnets.0.norm1.weight", - hf_patterns=["encoder.down_blocks.0.norm1.gamma"], - transform=reshape_gamma_to_1d, - ), - WeightTarget( - mlx_path="encoder.down_blocks.0.resnets.0.norm2.weight", - hf_patterns=["encoder.down_blocks.0.norm2.gamma"], - transform=reshape_gamma_to_1d, - ), - WeightTarget( - mlx_path="encoder.down_blocks.0.resnets.1.conv1.conv3d.weight", - hf_patterns=["encoder.down_blocks.1.conv1.weight"], - transform=transpose_conv3d_weight, - ), - WeightTarget( - mlx_path="encoder.down_blocks.0.resnets.1.conv1.conv3d.bias", - hf_patterns=["encoder.down_blocks.1.conv1.bias"], - ), - WeightTarget( - mlx_path="encoder.down_blocks.0.resnets.1.conv2.conv3d.weight", - hf_patterns=["encoder.down_blocks.1.conv2.weight"], - transform=transpose_conv3d_weight, - ), - WeightTarget( - mlx_path="encoder.down_blocks.0.resnets.1.conv2.conv3d.bias", - hf_patterns=["encoder.down_blocks.1.conv2.bias"], - ), - WeightTarget( - mlx_path="encoder.down_blocks.0.resnets.1.norm1.weight", - hf_patterns=["encoder.down_blocks.1.norm1.gamma"], - transform=reshape_gamma_to_1d, - ), - WeightTarget( - mlx_path="encoder.down_blocks.0.resnets.1.norm2.weight", - hf_patterns=["encoder.down_blocks.1.norm2.gamma"], - transform=reshape_gamma_to_1d, - ), - WeightTarget( - mlx_path="encoder.down_blocks.0.downsamplers.0.resample_conv.weight", - hf_patterns=["encoder.down_blocks.2.resample.1.weight"], - transform=transpose_conv2d_weight, - ), - WeightTarget( - mlx_path="encoder.down_blocks.0.downsamplers.0.resample_conv.bias", - hf_patterns=["encoder.down_blocks.2.resample.1.bias"], - ), - # Encoder down_blocks - Stage 1 (flat_idx 3,4 -> resnets[0,1]; flat_idx 5 -> downsampler) - WeightTarget( - mlx_path="encoder.down_blocks.1.resnets.0.conv1.conv3d.weight", - hf_patterns=["encoder.down_blocks.3.conv1.weight"], - transform=transpose_conv3d_weight, - ), - WeightTarget( - mlx_path="encoder.down_blocks.1.resnets.0.conv1.conv3d.bias", - hf_patterns=["encoder.down_blocks.3.conv1.bias"], - ), - WeightTarget( - mlx_path="encoder.down_blocks.1.resnets.0.conv2.conv3d.weight", - hf_patterns=["encoder.down_blocks.3.conv2.weight"], - transform=transpose_conv3d_weight, - ), - WeightTarget( - mlx_path="encoder.down_blocks.1.resnets.0.conv2.conv3d.bias", - hf_patterns=["encoder.down_blocks.3.conv2.bias"], - ), - WeightTarget( - mlx_path="encoder.down_blocks.1.resnets.0.norm1.weight", - hf_patterns=["encoder.down_blocks.3.norm1.gamma"], - transform=reshape_gamma_to_1d, - ), - WeightTarget( - mlx_path="encoder.down_blocks.1.resnets.0.norm2.weight", - hf_patterns=["encoder.down_blocks.3.norm2.gamma"], - transform=reshape_gamma_to_1d, - ), - WeightTarget( - mlx_path="encoder.down_blocks.1.resnets.0.skip_conv.conv3d.weight", - hf_patterns=["encoder.down_blocks.3.conv_shortcut.weight"], - transform=transpose_conv3d_weight, + to_pattern="decoder.up_block{block}.resnets.{res}.skip_conv.conv3d.weight", + from_pattern=["decoder.up_blocks.{block}.resnets.{res}.conv_shortcut.weight"], + transform=WeightTransforms.transpose_conv3d_weight, required=False, ), WeightTarget( - mlx_path="encoder.down_blocks.1.resnets.0.skip_conv.conv3d.bias", - hf_patterns=["encoder.down_blocks.3.conv_shortcut.bias"], + to_pattern="decoder.up_block{block}.resnets.{res}.skip_conv.conv3d.bias", + from_pattern=["decoder.up_blocks.{block}.resnets.{res}.conv_shortcut.bias"], required=False, ), WeightTarget( - mlx_path="encoder.down_blocks.1.resnets.1.conv1.conv3d.weight", - hf_patterns=["encoder.down_blocks.4.conv1.weight"], - transform=transpose_conv3d_weight, + to_pattern="decoder.up_block{block}.upsamplers.0.resample_conv.weight", + from_pattern=["decoder.up_blocks.{block}.upsamplers.0.resample.1.weight"], + transform=WeightTransforms.transpose_conv2d_weight, ), WeightTarget( - mlx_path="encoder.down_blocks.1.resnets.1.conv1.conv3d.bias", - hf_patterns=["encoder.down_blocks.4.conv1.bias"], + to_pattern="decoder.up_block{block}.upsamplers.0.resample_conv.bias", + from_pattern=["decoder.up_blocks.{block}.upsamplers.0.resample.1.bias"], ), WeightTarget( - mlx_path="encoder.down_blocks.1.resnets.1.conv2.conv3d.weight", - hf_patterns=["encoder.down_blocks.4.conv2.weight"], - transform=transpose_conv3d_weight, + to_pattern="decoder.up_block{block}.upsamplers.0.time_conv.conv3d.weight", + from_pattern=["decoder.up_blocks.{block}.upsamplers.0.time_conv.weight"], + transform=WeightTransforms.transpose_conv3d_weight, ), WeightTarget( - mlx_path="encoder.down_blocks.1.resnets.1.conv2.conv3d.bias", - hf_patterns=["encoder.down_blocks.4.conv2.bias"], + to_pattern="decoder.up_block{block}.upsamplers.0.time_conv.conv3d.bias", + from_pattern=["decoder.up_blocks.{block}.upsamplers.0.time_conv.bias"], ), WeightTarget( - mlx_path="encoder.down_blocks.1.resnets.1.norm1.weight", - hf_patterns=["encoder.down_blocks.4.norm1.gamma"], - transform=reshape_gamma_to_1d, + to_pattern="encoder.conv_in.conv3d.weight", + from_pattern=["encoder.conv_in.weight"], + transform=WeightTransforms.transpose_conv3d_weight, ), WeightTarget( - mlx_path="encoder.down_blocks.1.resnets.1.norm2.weight", - hf_patterns=["encoder.down_blocks.4.norm2.gamma"], - transform=reshape_gamma_to_1d, + to_pattern="encoder.conv_in.conv3d.bias", + from_pattern=["encoder.conv_in.bias"], ), WeightTarget( - mlx_path="encoder.down_blocks.1.downsamplers.0.resample_conv.weight", - hf_patterns=["encoder.down_blocks.5.resample.1.weight"], - transform=transpose_conv2d_weight, + to_pattern="encoder.conv_out.conv3d.weight", + from_pattern=["encoder.conv_out.weight"], + transform=WeightTransforms.transpose_conv3d_weight, ), WeightTarget( - mlx_path="encoder.down_blocks.1.downsamplers.0.resample_conv.bias", - hf_patterns=["encoder.down_blocks.5.resample.1.bias"], - ), - # Encoder down_blocks - Stage 2 (flat_idx 6,7 -> resnets[0,1]; flat_idx 8 -> downsampler) - WeightTarget( - mlx_path="encoder.down_blocks.2.resnets.0.conv1.conv3d.weight", - hf_patterns=["encoder.down_blocks.6.conv1.weight"], - transform=transpose_conv3d_weight, + to_pattern="encoder.conv_out.conv3d.bias", + from_pattern=["encoder.conv_out.bias"], ), WeightTarget( - mlx_path="encoder.down_blocks.2.resnets.0.conv1.conv3d.bias", - hf_patterns=["encoder.down_blocks.6.conv1.bias"], + to_pattern="encoder.norm_out.weight", + from_pattern=["encoder.norm_out.gamma"], + transform=WeightTransforms.reshape_gamma_to_1d, ), WeightTarget( - mlx_path="encoder.down_blocks.2.resnets.0.conv2.conv3d.weight", - hf_patterns=["encoder.down_blocks.6.conv2.weight"], - transform=transpose_conv3d_weight, + to_pattern="encoder.mid_block.attentions.0.norm.weight", + from_pattern=["encoder.mid_block.attentions.0.norm.gamma"], + transform=WeightTransforms.reshape_gamma_to_1d, ), WeightTarget( - mlx_path="encoder.down_blocks.2.resnets.0.conv2.conv3d.bias", - hf_patterns=["encoder.down_blocks.6.conv2.bias"], + to_pattern="encoder.mid_block.attentions.0.to_qkv.weight", + from_pattern=["encoder.mid_block.attentions.0.to_qkv.weight"], + transform=WeightTransforms.transpose_conv2d_weight, ), WeightTarget( - mlx_path="encoder.down_blocks.2.resnets.0.norm1.weight", - hf_patterns=["encoder.down_blocks.6.norm1.gamma"], - transform=reshape_gamma_to_1d, + to_pattern="encoder.mid_block.attentions.0.to_qkv.bias", + from_pattern=["encoder.mid_block.attentions.0.to_qkv.bias"], ), WeightTarget( - mlx_path="encoder.down_blocks.2.resnets.0.norm2.weight", - hf_patterns=["encoder.down_blocks.6.norm2.gamma"], - transform=reshape_gamma_to_1d, + to_pattern="encoder.mid_block.attentions.0.proj.weight", + from_pattern=["encoder.mid_block.attentions.0.proj.weight"], + transform=WeightTransforms.transpose_conv2d_weight, ), WeightTarget( - mlx_path="encoder.down_blocks.2.resnets.0.skip_conv.conv3d.weight", - hf_patterns=["encoder.down_blocks.6.conv_shortcut.weight"], - transform=transpose_conv3d_weight, + to_pattern="encoder.mid_block.attentions.0.proj.bias", + from_pattern=["encoder.mid_block.attentions.0.proj.bias"], + ), + WeightTarget( + to_pattern="encoder.mid_block.resnets.{i}.conv1.conv3d.weight", + from_pattern=["encoder.mid_block.resnets.{i}.conv1.weight"], + transform=WeightTransforms.transpose_conv3d_weight, + ), + WeightTarget( + to_pattern="encoder.mid_block.resnets.{i}.conv1.conv3d.bias", + from_pattern=["encoder.mid_block.resnets.{i}.conv1.bias"], + ), + WeightTarget( + to_pattern="encoder.mid_block.resnets.{i}.conv2.conv3d.weight", + from_pattern=["encoder.mid_block.resnets.{i}.conv2.weight"], + transform=WeightTransforms.transpose_conv3d_weight, + ), + WeightTarget( + to_pattern="encoder.mid_block.resnets.{i}.conv2.conv3d.bias", + from_pattern=["encoder.mid_block.resnets.{i}.conv2.bias"], + ), + WeightTarget( + to_pattern="encoder.mid_block.resnets.{i}.norm1.weight", + from_pattern=["encoder.mid_block.resnets.{i}.norm1.gamma"], + transform=WeightTransforms.reshape_gamma_to_1d, + ), + WeightTarget( + to_pattern="encoder.mid_block.resnets.{i}.norm2.weight", + from_pattern=["encoder.mid_block.resnets.{i}.norm2.gamma"], + transform=WeightTransforms.reshape_gamma_to_1d, + ), + WeightTarget( + to_pattern="encoder.down_blocks.0.resnets.0.conv1.conv3d.weight", + from_pattern=["encoder.down_blocks.0.conv1.weight"], + transform=WeightTransforms.transpose_conv3d_weight, + ), + WeightTarget( + to_pattern="encoder.down_blocks.0.resnets.0.conv1.conv3d.bias", + from_pattern=["encoder.down_blocks.0.conv1.bias"], + ), + WeightTarget( + to_pattern="encoder.down_blocks.0.resnets.0.conv2.conv3d.weight", + from_pattern=["encoder.down_blocks.0.conv2.weight"], + transform=WeightTransforms.transpose_conv3d_weight, + ), + WeightTarget( + to_pattern="encoder.down_blocks.0.resnets.0.conv2.conv3d.bias", + from_pattern=["encoder.down_blocks.0.conv2.bias"], + ), + WeightTarget( + to_pattern="encoder.down_blocks.0.resnets.0.norm1.weight", + from_pattern=["encoder.down_blocks.0.norm1.gamma"], + transform=WeightTransforms.reshape_gamma_to_1d, + ), + WeightTarget( + to_pattern="encoder.down_blocks.0.resnets.0.norm2.weight", + from_pattern=["encoder.down_blocks.0.norm2.gamma"], + transform=WeightTransforms.reshape_gamma_to_1d, + ), + WeightTarget( + to_pattern="encoder.down_blocks.0.resnets.1.conv1.conv3d.weight", + from_pattern=["encoder.down_blocks.1.conv1.weight"], + transform=WeightTransforms.transpose_conv3d_weight, + ), + WeightTarget( + to_pattern="encoder.down_blocks.0.resnets.1.conv1.conv3d.bias", + from_pattern=["encoder.down_blocks.1.conv1.bias"], + ), + WeightTarget( + to_pattern="encoder.down_blocks.0.resnets.1.conv2.conv3d.weight", + from_pattern=["encoder.down_blocks.1.conv2.weight"], + transform=WeightTransforms.transpose_conv3d_weight, + ), + WeightTarget( + to_pattern="encoder.down_blocks.0.resnets.1.conv2.conv3d.bias", + from_pattern=["encoder.down_blocks.1.conv2.bias"], + ), + WeightTarget( + to_pattern="encoder.down_blocks.0.resnets.1.norm1.weight", + from_pattern=["encoder.down_blocks.1.norm1.gamma"], + transform=WeightTransforms.reshape_gamma_to_1d, + ), + WeightTarget( + to_pattern="encoder.down_blocks.0.resnets.1.norm2.weight", + from_pattern=["encoder.down_blocks.1.norm2.gamma"], + transform=WeightTransforms.reshape_gamma_to_1d, + ), + WeightTarget( + to_pattern="encoder.down_blocks.0.downsamplers.0.resample_conv.weight", + from_pattern=["encoder.down_blocks.2.resample.1.weight"], + transform=WeightTransforms.transpose_conv2d_weight, + ), + WeightTarget( + to_pattern="encoder.down_blocks.0.downsamplers.0.resample_conv.bias", + from_pattern=["encoder.down_blocks.2.resample.1.bias"], + ), + WeightTarget( + to_pattern="encoder.down_blocks.1.resnets.0.conv1.conv3d.weight", + from_pattern=["encoder.down_blocks.3.conv1.weight"], + transform=WeightTransforms.transpose_conv3d_weight, + ), + WeightTarget( + to_pattern="encoder.down_blocks.1.resnets.0.conv1.conv3d.bias", + from_pattern=["encoder.down_blocks.3.conv1.bias"], + ), + WeightTarget( + to_pattern="encoder.down_blocks.1.resnets.0.conv2.conv3d.weight", + from_pattern=["encoder.down_blocks.3.conv2.weight"], + transform=WeightTransforms.transpose_conv3d_weight, + ), + WeightTarget( + to_pattern="encoder.down_blocks.1.resnets.0.conv2.conv3d.bias", + from_pattern=["encoder.down_blocks.3.conv2.bias"], + ), + WeightTarget( + to_pattern="encoder.down_blocks.1.resnets.0.norm1.weight", + from_pattern=["encoder.down_blocks.3.norm1.gamma"], + transform=WeightTransforms.reshape_gamma_to_1d, + ), + WeightTarget( + to_pattern="encoder.down_blocks.1.resnets.0.norm2.weight", + from_pattern=["encoder.down_blocks.3.norm2.gamma"], + transform=WeightTransforms.reshape_gamma_to_1d, + ), + WeightTarget( + to_pattern="encoder.down_blocks.1.resnets.0.skip_conv.conv3d.weight", + from_pattern=["encoder.down_blocks.3.conv_shortcut.weight"], + transform=WeightTransforms.transpose_conv3d_weight, required=False, ), WeightTarget( - mlx_path="encoder.down_blocks.2.resnets.0.skip_conv.conv3d.bias", - hf_patterns=["encoder.down_blocks.6.conv_shortcut.bias"], + to_pattern="encoder.down_blocks.1.resnets.0.skip_conv.conv3d.bias", + from_pattern=["encoder.down_blocks.3.conv_shortcut.bias"], required=False, ), WeightTarget( - mlx_path="encoder.down_blocks.2.resnets.1.conv1.conv3d.weight", - hf_patterns=["encoder.down_blocks.7.conv1.weight"], - transform=transpose_conv3d_weight, + to_pattern="encoder.down_blocks.1.resnets.1.conv1.conv3d.weight", + from_pattern=["encoder.down_blocks.4.conv1.weight"], + transform=WeightTransforms.transpose_conv3d_weight, ), WeightTarget( - mlx_path="encoder.down_blocks.2.resnets.1.conv1.conv3d.bias", - hf_patterns=["encoder.down_blocks.7.conv1.bias"], + to_pattern="encoder.down_blocks.1.resnets.1.conv1.conv3d.bias", + from_pattern=["encoder.down_blocks.4.conv1.bias"], ), WeightTarget( - mlx_path="encoder.down_blocks.2.resnets.1.conv2.conv3d.weight", - hf_patterns=["encoder.down_blocks.7.conv2.weight"], - transform=transpose_conv3d_weight, + to_pattern="encoder.down_blocks.1.resnets.1.conv2.conv3d.weight", + from_pattern=["encoder.down_blocks.4.conv2.weight"], + transform=WeightTransforms.transpose_conv3d_weight, ), WeightTarget( - mlx_path="encoder.down_blocks.2.resnets.1.conv2.conv3d.bias", - hf_patterns=["encoder.down_blocks.7.conv2.bias"], + to_pattern="encoder.down_blocks.1.resnets.1.conv2.conv3d.bias", + from_pattern=["encoder.down_blocks.4.conv2.bias"], ), WeightTarget( - mlx_path="encoder.down_blocks.2.resnets.1.norm1.weight", - hf_patterns=["encoder.down_blocks.7.norm1.gamma"], - transform=reshape_gamma_to_1d, + to_pattern="encoder.down_blocks.1.resnets.1.norm1.weight", + from_pattern=["encoder.down_blocks.4.norm1.gamma"], + transform=WeightTransforms.reshape_gamma_to_1d, ), WeightTarget( - mlx_path="encoder.down_blocks.2.resnets.1.norm2.weight", - hf_patterns=["encoder.down_blocks.7.norm2.gamma"], - transform=reshape_gamma_to_1d, + to_pattern="encoder.down_blocks.1.resnets.1.norm2.weight", + from_pattern=["encoder.down_blocks.4.norm2.gamma"], + transform=WeightTransforms.reshape_gamma_to_1d, ), WeightTarget( - mlx_path="encoder.down_blocks.2.downsamplers.0.resample_conv.weight", - hf_patterns=["encoder.down_blocks.8.resample.1.weight"], - transform=transpose_conv2d_weight, + to_pattern="encoder.down_blocks.1.downsamplers.0.resample_conv.weight", + from_pattern=["encoder.down_blocks.5.resample.1.weight"], + transform=WeightTransforms.transpose_conv2d_weight, ), WeightTarget( - mlx_path="encoder.down_blocks.2.downsamplers.0.resample_conv.bias", - hf_patterns=["encoder.down_blocks.8.resample.1.bias"], + to_pattern="encoder.down_blocks.1.downsamplers.0.resample_conv.bias", + from_pattern=["encoder.down_blocks.5.resample.1.bias"], ), WeightTarget( - mlx_path="encoder.down_blocks.2.downsamplers.0.time_conv.conv3d.weight", - hf_patterns=["encoder.down_blocks.8.time_conv.weight"], - transform=transpose_conv3d_weight, + to_pattern="encoder.down_blocks.2.resnets.0.conv1.conv3d.weight", + from_pattern=["encoder.down_blocks.6.conv1.weight"], + transform=WeightTransforms.transpose_conv3d_weight, ), WeightTarget( - mlx_path="encoder.down_blocks.2.downsamplers.0.time_conv.conv3d.bias", - hf_patterns=["encoder.down_blocks.8.time_conv.bias"], - ), - # Encoder down_blocks - Stage 3 (flat_idx 9,10 -> resnets[0,1]) - WeightTarget( - mlx_path="encoder.down_blocks.3.resnets.0.conv1.conv3d.weight", - hf_patterns=["encoder.down_blocks.9.conv1.weight"], - transform=transpose_conv3d_weight, + to_pattern="encoder.down_blocks.2.resnets.0.conv1.conv3d.bias", + from_pattern=["encoder.down_blocks.6.conv1.bias"], ), WeightTarget( - mlx_path="encoder.down_blocks.3.resnets.0.conv1.conv3d.bias", - hf_patterns=["encoder.down_blocks.9.conv1.bias"], + to_pattern="encoder.down_blocks.2.resnets.0.conv2.conv3d.weight", + from_pattern=["encoder.down_blocks.6.conv2.weight"], + transform=WeightTransforms.transpose_conv3d_weight, ), WeightTarget( - mlx_path="encoder.down_blocks.3.resnets.0.conv2.conv3d.weight", - hf_patterns=["encoder.down_blocks.9.conv2.weight"], - transform=transpose_conv3d_weight, + to_pattern="encoder.down_blocks.2.resnets.0.conv2.conv3d.bias", + from_pattern=["encoder.down_blocks.6.conv2.bias"], ), WeightTarget( - mlx_path="encoder.down_blocks.3.resnets.0.conv2.conv3d.bias", - hf_patterns=["encoder.down_blocks.9.conv2.bias"], + to_pattern="encoder.down_blocks.2.resnets.0.norm1.weight", + from_pattern=["encoder.down_blocks.6.norm1.gamma"], + transform=WeightTransforms.reshape_gamma_to_1d, ), WeightTarget( - mlx_path="encoder.down_blocks.3.resnets.0.norm1.weight", - hf_patterns=["encoder.down_blocks.9.norm1.gamma"], - transform=reshape_gamma_to_1d, + to_pattern="encoder.down_blocks.2.resnets.0.norm2.weight", + from_pattern=["encoder.down_blocks.6.norm2.gamma"], + transform=WeightTransforms.reshape_gamma_to_1d, ), WeightTarget( - mlx_path="encoder.down_blocks.3.resnets.0.norm2.weight", - hf_patterns=["encoder.down_blocks.9.norm2.gamma"], - transform=reshape_gamma_to_1d, + to_pattern="encoder.down_blocks.2.resnets.0.skip_conv.conv3d.weight", + from_pattern=["encoder.down_blocks.6.conv_shortcut.weight"], + transform=WeightTransforms.transpose_conv3d_weight, + required=False, ), WeightTarget( - mlx_path="encoder.down_blocks.3.resnets.1.conv1.conv3d.weight", - hf_patterns=["encoder.down_blocks.10.conv1.weight"], - transform=transpose_conv3d_weight, + to_pattern="encoder.down_blocks.2.resnets.0.skip_conv.conv3d.bias", + from_pattern=["encoder.down_blocks.6.conv_shortcut.bias"], + required=False, ), WeightTarget( - mlx_path="encoder.down_blocks.3.resnets.1.conv1.conv3d.bias", - hf_patterns=["encoder.down_blocks.10.conv1.bias"], + to_pattern="encoder.down_blocks.2.resnets.1.conv1.conv3d.weight", + from_pattern=["encoder.down_blocks.7.conv1.weight"], + transform=WeightTransforms.transpose_conv3d_weight, ), WeightTarget( - mlx_path="encoder.down_blocks.3.resnets.1.conv2.conv3d.weight", - hf_patterns=["encoder.down_blocks.10.conv2.weight"], - transform=transpose_conv3d_weight, + to_pattern="encoder.down_blocks.2.resnets.1.conv1.conv3d.bias", + from_pattern=["encoder.down_blocks.7.conv1.bias"], ), WeightTarget( - mlx_path="encoder.down_blocks.3.resnets.1.conv2.conv3d.bias", - hf_patterns=["encoder.down_blocks.10.conv2.bias"], + to_pattern="encoder.down_blocks.2.resnets.1.conv2.conv3d.weight", + from_pattern=["encoder.down_blocks.7.conv2.weight"], + transform=WeightTransforms.transpose_conv3d_weight, ), WeightTarget( - mlx_path="encoder.down_blocks.3.resnets.1.norm1.weight", - hf_patterns=["encoder.down_blocks.10.norm1.gamma"], - transform=reshape_gamma_to_1d, + to_pattern="encoder.down_blocks.2.resnets.1.conv2.conv3d.bias", + from_pattern=["encoder.down_blocks.7.conv2.bias"], ), WeightTarget( - mlx_path="encoder.down_blocks.3.resnets.1.norm2.weight", - hf_patterns=["encoder.down_blocks.10.norm2.gamma"], - transform=reshape_gamma_to_1d, - ), - # Quant conv - WeightTarget( - mlx_path="quant_conv.conv3d.weight", - hf_patterns=["quant_conv.weight"], - transform=transpose_conv3d_weight, + to_pattern="encoder.down_blocks.2.resnets.1.norm1.weight", + from_pattern=["encoder.down_blocks.7.norm1.gamma"], + transform=WeightTransforms.reshape_gamma_to_1d, ), WeightTarget( - mlx_path="quant_conv.conv3d.bias", - hf_patterns=["quant_conv.bias"], + to_pattern="encoder.down_blocks.2.resnets.1.norm2.weight", + from_pattern=["encoder.down_blocks.7.norm2.gamma"], + transform=WeightTransforms.reshape_gamma_to_1d, + ), + WeightTarget( + to_pattern="encoder.down_blocks.2.downsamplers.0.resample_conv.weight", + from_pattern=["encoder.down_blocks.8.resample.1.weight"], + transform=WeightTransforms.transpose_conv2d_weight, + ), + WeightTarget( + to_pattern="encoder.down_blocks.2.downsamplers.0.resample_conv.bias", + from_pattern=["encoder.down_blocks.8.resample.1.bias"], + ), + WeightTarget( + to_pattern="encoder.down_blocks.2.downsamplers.0.time_conv.conv3d.weight", + from_pattern=["encoder.down_blocks.8.time_conv.weight"], + transform=WeightTransforms.transpose_conv3d_weight, + ), + WeightTarget( + to_pattern="encoder.down_blocks.2.downsamplers.0.time_conv.conv3d.bias", + from_pattern=["encoder.down_blocks.8.time_conv.bias"], + ), + WeightTarget( + to_pattern="encoder.down_blocks.3.resnets.0.conv1.conv3d.weight", + from_pattern=["encoder.down_blocks.9.conv1.weight"], + transform=WeightTransforms.transpose_conv3d_weight, + ), + WeightTarget( + to_pattern="encoder.down_blocks.3.resnets.0.conv1.conv3d.bias", + from_pattern=["encoder.down_blocks.9.conv1.bias"], + ), + WeightTarget( + to_pattern="encoder.down_blocks.3.resnets.0.conv2.conv3d.weight", + from_pattern=["encoder.down_blocks.9.conv2.weight"], + transform=WeightTransforms.transpose_conv3d_weight, + ), + WeightTarget( + to_pattern="encoder.down_blocks.3.resnets.0.conv2.conv3d.bias", + from_pattern=["encoder.down_blocks.9.conv2.bias"], + ), + WeightTarget( + to_pattern="encoder.down_blocks.3.resnets.0.norm1.weight", + from_pattern=["encoder.down_blocks.9.norm1.gamma"], + transform=WeightTransforms.reshape_gamma_to_1d, + ), + WeightTarget( + to_pattern="encoder.down_blocks.3.resnets.0.norm2.weight", + from_pattern=["encoder.down_blocks.9.norm2.gamma"], + transform=WeightTransforms.reshape_gamma_to_1d, + ), + WeightTarget( + to_pattern="encoder.down_blocks.3.resnets.1.conv1.conv3d.weight", + from_pattern=["encoder.down_blocks.10.conv1.weight"], + transform=WeightTransforms.transpose_conv3d_weight, + ), + WeightTarget( + to_pattern="encoder.down_blocks.3.resnets.1.conv1.conv3d.bias", + from_pattern=["encoder.down_blocks.10.conv1.bias"], + ), + WeightTarget( + to_pattern="encoder.down_blocks.3.resnets.1.conv2.conv3d.weight", + from_pattern=["encoder.down_blocks.10.conv2.weight"], + transform=WeightTransforms.transpose_conv3d_weight, + ), + WeightTarget( + to_pattern="encoder.down_blocks.3.resnets.1.conv2.conv3d.bias", + from_pattern=["encoder.down_blocks.10.conv2.bias"], + ), + WeightTarget( + to_pattern="encoder.down_blocks.3.resnets.1.norm1.weight", + from_pattern=["encoder.down_blocks.10.norm1.gamma"], + transform=WeightTransforms.reshape_gamma_to_1d, + ), + WeightTarget( + to_pattern="encoder.down_blocks.3.resnets.1.norm2.weight", + from_pattern=["encoder.down_blocks.10.norm2.gamma"], + transform=WeightTransforms.reshape_gamma_to_1d, + ), + WeightTarget( + to_pattern="quant_conv.conv3d.weight", + from_pattern=["quant_conv.weight"], + transform=WeightTransforms.transpose_conv3d_weight, + ), + WeightTarget( + to_pattern="quant_conv.conv3d.bias", + from_pattern=["quant_conv.bias"], ), ] @staticmethod def get_text_encoder_mapping() -> List[WeightTarget]: return [ - # Top-level embeddings WeightTarget( - mlx_path="encoder.embed_tokens.weight", - hf_patterns=["model.embed_tokens.weight"], - ), - # Final norm - WeightTarget( - mlx_path="encoder.norm.weight", - hf_patterns=["model.norm.weight"], - ), - # Encoder layers (28 layers) - WeightTarget( - mlx_path="encoder.layers.{layer}.input_layernorm.weight", - hf_patterns=["model.layers.{layer}.input_layernorm.weight"], + to_pattern="encoder.embed_tokens.weight", + from_pattern=["model.embed_tokens.weight"], ), WeightTarget( - mlx_path="encoder.layers.{layer}.post_attention_layernorm.weight", - hf_patterns=["model.layers.{layer}.post_attention_layernorm.weight"], - ), - # Self attention - WeightTarget( - mlx_path="encoder.layers.{layer}.self_attn.q_proj.weight", - hf_patterns=["model.layers.{layer}.self_attn.q_proj.weight"], + to_pattern="encoder.norm.weight", + from_pattern=["model.norm.weight"], ), WeightTarget( - mlx_path="encoder.layers.{layer}.self_attn.q_proj.bias", - hf_patterns=["model.layers.{layer}.self_attn.q_proj.bias"], + to_pattern="encoder.layers.{layer}.input_layernorm.weight", + from_pattern=["model.layers.{layer}.input_layernorm.weight"], ), WeightTarget( - mlx_path="encoder.layers.{layer}.self_attn.k_proj.weight", - hf_patterns=["model.layers.{layer}.self_attn.k_proj.weight"], + to_pattern="encoder.layers.{layer}.post_attention_layernorm.weight", + from_pattern=["model.layers.{layer}.post_attention_layernorm.weight"], ), WeightTarget( - mlx_path="encoder.layers.{layer}.self_attn.k_proj.bias", - hf_patterns=["model.layers.{layer}.self_attn.k_proj.bias"], + to_pattern="encoder.layers.{layer}.self_attn.q_proj.weight", + from_pattern=["model.layers.{layer}.self_attn.q_proj.weight"], ), WeightTarget( - mlx_path="encoder.layers.{layer}.self_attn.v_proj.weight", - hf_patterns=["model.layers.{layer}.self_attn.v_proj.weight"], + to_pattern="encoder.layers.{layer}.self_attn.q_proj.bias", + from_pattern=["model.layers.{layer}.self_attn.q_proj.bias"], ), WeightTarget( - mlx_path="encoder.layers.{layer}.self_attn.v_proj.bias", - hf_patterns=["model.layers.{layer}.self_attn.v_proj.bias"], + to_pattern="encoder.layers.{layer}.self_attn.k_proj.weight", + from_pattern=["model.layers.{layer}.self_attn.k_proj.weight"], ), WeightTarget( - mlx_path="encoder.layers.{layer}.self_attn.o_proj.weight", - hf_patterns=["model.layers.{layer}.self_attn.o_proj.weight"], + to_pattern="encoder.layers.{layer}.self_attn.k_proj.bias", + from_pattern=["model.layers.{layer}.self_attn.k_proj.bias"], + ), + WeightTarget( + to_pattern="encoder.layers.{layer}.self_attn.v_proj.weight", + from_pattern=["model.layers.{layer}.self_attn.v_proj.weight"], + ), + WeightTarget( + to_pattern="encoder.layers.{layer}.self_attn.v_proj.bias", + from_pattern=["model.layers.{layer}.self_attn.v_proj.bias"], + ), + WeightTarget( + to_pattern="encoder.layers.{layer}.self_attn.o_proj.weight", + from_pattern=["model.layers.{layer}.self_attn.o_proj.weight"], ), # MLP WeightTarget( - mlx_path="encoder.layers.{layer}.mlp.gate_proj.weight", - hf_patterns=["model.layers.{layer}.mlp.gate_proj.weight"], + to_pattern="encoder.layers.{layer}.mlp.gate_proj.weight", + from_pattern=["model.layers.{layer}.mlp.gate_proj.weight"], ), WeightTarget( - mlx_path="encoder.layers.{layer}.mlp.up_proj.weight", - hf_patterns=["model.layers.{layer}.mlp.up_proj.weight"], + to_pattern="encoder.layers.{layer}.mlp.up_proj.weight", + from_pattern=["model.layers.{layer}.mlp.up_proj.weight"], ), WeightTarget( - mlx_path="encoder.layers.{layer}.mlp.down_proj.weight", - hf_patterns=["model.layers.{layer}.mlp.down_proj.weight"], + to_pattern="encoder.layers.{layer}.mlp.down_proj.weight", + from_pattern=["model.layers.{layer}.mlp.down_proj.weight"], ), - # Visual weights (optional, only present in Edit models) - # Patch embedding (with transpose transform) WeightTarget( - mlx_path="encoder.visual.patch_embed.proj.weight", - hf_patterns=["visual.patch_embed.proj.weight"], - transform=transpose_patch_embed, - required=False, - ), - # Vision transformer blocks (32 blocks) - use {block} placeholder - WeightTarget( - mlx_path="encoder.visual.blocks.{block}.attn.qkv.weight", - hf_patterns=["visual.blocks.{block}.attn.qkv.weight"], + to_pattern="encoder.visual.patch_embed.proj.weight", + from_pattern=["visual.patch_embed.proj.weight"], + transform=WeightTransforms.transpose_patch_embed, required=False, ), WeightTarget( - mlx_path="encoder.visual.blocks.{block}.attn.qkv.bias", - hf_patterns=["visual.blocks.{block}.attn.qkv.bias"], + to_pattern="encoder.visual.blocks.{block}.attn.qkv.weight", + from_pattern=["visual.blocks.{block}.attn.qkv.weight"], required=False, ), WeightTarget( - mlx_path="encoder.visual.blocks.{block}.attn.proj.weight", - hf_patterns=["visual.blocks.{block}.attn.proj.weight"], + to_pattern="encoder.visual.blocks.{block}.attn.qkv.bias", + from_pattern=["visual.blocks.{block}.attn.qkv.bias"], required=False, ), WeightTarget( - mlx_path="encoder.visual.blocks.{block}.attn.proj.bias", - hf_patterns=["visual.blocks.{block}.attn.proj.bias"], + to_pattern="encoder.visual.blocks.{block}.attn.proj.weight", + from_pattern=["visual.blocks.{block}.attn.proj.weight"], required=False, ), WeightTarget( - mlx_path="encoder.visual.blocks.{block}.mlp.gate_proj.weight", - hf_patterns=["visual.blocks.{block}.mlp.gate_proj.weight"], + to_pattern="encoder.visual.blocks.{block}.attn.proj.bias", + from_pattern=["visual.blocks.{block}.attn.proj.bias"], required=False, ), WeightTarget( - mlx_path="encoder.visual.blocks.{block}.mlp.gate_proj.bias", - hf_patterns=["visual.blocks.{block}.mlp.gate_proj.bias"], + to_pattern="encoder.visual.blocks.{block}.mlp.gate_proj.weight", + from_pattern=["visual.blocks.{block}.mlp.gate_proj.weight"], required=False, ), WeightTarget( - mlx_path="encoder.visual.blocks.{block}.mlp.up_proj.weight", - hf_patterns=["visual.blocks.{block}.mlp.up_proj.weight"], + to_pattern="encoder.visual.blocks.{block}.mlp.gate_proj.bias", + from_pattern=["visual.blocks.{block}.mlp.gate_proj.bias"], required=False, ), WeightTarget( - mlx_path="encoder.visual.blocks.{block}.mlp.up_proj.bias", - hf_patterns=["visual.blocks.{block}.mlp.up_proj.bias"], + to_pattern="encoder.visual.blocks.{block}.mlp.up_proj.weight", + from_pattern=["visual.blocks.{block}.mlp.up_proj.weight"], required=False, ), WeightTarget( - mlx_path="encoder.visual.blocks.{block}.mlp.down_proj.weight", - hf_patterns=["visual.blocks.{block}.mlp.down_proj.weight"], + to_pattern="encoder.visual.blocks.{block}.mlp.up_proj.bias", + from_pattern=["visual.blocks.{block}.mlp.up_proj.bias"], required=False, ), WeightTarget( - mlx_path="encoder.visual.blocks.{block}.mlp.down_proj.bias", - hf_patterns=["visual.blocks.{block}.mlp.down_proj.bias"], + to_pattern="encoder.visual.blocks.{block}.mlp.down_proj.weight", + from_pattern=["visual.blocks.{block}.mlp.down_proj.weight"], required=False, ), WeightTarget( - mlx_path="encoder.visual.blocks.{block}.norm1.weight", - hf_patterns=["visual.blocks.{block}.norm1.weight"], + to_pattern="encoder.visual.blocks.{block}.mlp.down_proj.bias", + from_pattern=["visual.blocks.{block}.mlp.down_proj.bias"], required=False, ), WeightTarget( - mlx_path="encoder.visual.blocks.{block}.norm2.weight", - hf_patterns=["visual.blocks.{block}.norm2.weight"], - required=False, - ), - # Patch merger - WeightTarget( - mlx_path="encoder.visual.merger.ln_q.weight", - hf_patterns=["visual.merger.ln_q.weight"], + to_pattern="encoder.visual.blocks.{block}.norm1.weight", + from_pattern=["visual.blocks.{block}.norm1.weight"], required=False, ), WeightTarget( - mlx_path="encoder.visual.merger.mlp_0.weight", - hf_patterns=["visual.merger.mlp.0.weight"], + to_pattern="encoder.visual.blocks.{block}.norm2.weight", + from_pattern=["visual.blocks.{block}.norm2.weight"], required=False, ), WeightTarget( - mlx_path="encoder.visual.merger.mlp_0.bias", - hf_patterns=["visual.merger.mlp.0.bias"], + to_pattern="encoder.visual.merger.ln_q.weight", + from_pattern=["visual.merger.ln_q.weight"], required=False, ), WeightTarget( - mlx_path="encoder.visual.merger.mlp_1.weight", - hf_patterns=["visual.merger.mlp.2.weight"], + to_pattern="encoder.visual.merger.mlp_0.weight", + from_pattern=["visual.merger.mlp.0.weight"], required=False, ), WeightTarget( - mlx_path="encoder.visual.merger.mlp_1.bias", - hf_patterns=["visual.merger.mlp.2.bias"], + to_pattern="encoder.visual.merger.mlp_0.bias", + from_pattern=["visual.merger.mlp.0.bias"], + required=False, + ), + WeightTarget( + to_pattern="encoder.visual.merger.mlp_1.weight", + from_pattern=["visual.merger.mlp.2.weight"], + required=False, + ), + WeightTarget( + to_pattern="encoder.visual.merger.mlp_1.bias", + from_pattern=["visual.merger.mlp.2.bias"], required=False, ), ] diff --git a/src/mflux/models/qwen/weights/qwen_weight_util.py b/src/mflux/models/qwen/weights/qwen_weight_util.py deleted file mode 100644 index dde5011..0000000 --- a/src/mflux/models/qwen/weights/qwen_weight_util.py +++ /dev/null @@ -1,107 +0,0 @@ -from typing import TYPE_CHECKING - -import mlx.core as mx -import mlx.nn as nn -from mlx.utils import tree_flatten # noqa: F401 - -from mflux.config.config import Config -from mflux.models.common.quantization.quantization_util import QuantizationUtil -from mflux.models.qwen.model.qwen_text_encoder.qwen_vision_transformer import VisionTransformer - -if TYPE_CHECKING: - from mflux.models.qwen.weights.qwen_weight_handler import QwenWeightHandler - - -class QwenWeightUtil: - @staticmethod - def flatten(params): - return [(k, v) for p in params for (k, v) in p] - - @staticmethod - def reshape_weights(key, value): - if len(value.shape) == 4: - value = value.transpose(0, 2, 3, 1) - elif len(value.shape) == 5: - value = value.transpose(0, 2, 3, 4, 1) - value = value.reshape(-1).reshape(value.shape).astype(Config.precision) - return [(key, value)] - - @staticmethod - def set_weights_and_quantize( - quantize_arg: int | None, - weights: "QwenWeightHandler", - vae: nn.Module, - transformer: nn.Module, - text_encoder: nn.Module | None = None, - ) -> int | None: - if weights.meta_data.quantization_level is None and quantize_arg is None: - QwenWeightUtil._set_model_weights(weights, vae, transformer, text_encoder) - return None - - if weights.meta_data.quantization_level is None and quantize_arg is not None: - bits = quantize_arg - QwenWeightUtil._set_model_weights(weights, vae, transformer, text_encoder) - QuantizationUtil.quantize_qwen_models(text_encoder, vae, transformer, bits, weights) - return bits - - if weights.meta_data.quantization_level is not None: - bits = weights.meta_data.quantization_level - QuantizationUtil.quantize_qwen_models(text_encoder, vae, transformer, bits, weights) - QwenWeightUtil._set_model_weights(weights, vae, transformer, text_encoder) - return bits - - raise Exception("Error setting weights") - - @staticmethod - def _convert_weights_to_bf16(weights_dict: dict): - """ - Recursively convert all weight tensors to BF16. - This matches PyTorch's behavior where the text encoder model is loaded in BF16. - """ - - def convert_recursive(obj): - if isinstance(obj, mx.array): - return obj.astype(mx.bfloat16) - elif isinstance(obj, dict): - return {k: convert_recursive(v) for k, v in obj.items()} - elif isinstance(obj, list): - return [convert_recursive(item) for item in obj] - else: - return obj - - return convert_recursive(weights_dict) - - @staticmethod - def _set_model_weights( - weights: "QwenWeightHandler", - vae: nn.Module, - transformer: nn.Module, - text_encoder: nn.Module | None = None, - ): - vae.update(weights.vae, strict=False) - transformer.update(weights.transformer, strict=False) - - # Check if visual weights are present and create visual transformer if needed - if text_encoder is not None and weights.qwen_text_encoder is not None: - has_visual_weights = ( - "encoder" in weights.qwen_text_encoder and "visual" in weights.qwen_text_encoder["encoder"] - ) - if has_visual_weights and text_encoder.encoder.visual is None: - text_encoder.encoder.visual = VisionTransformer( - patch_size=14, - temporal_patch_size=2, - in_channels=3, - embed_dim=1280, - depth=32, - num_heads=16, - mlp_ratio=2.671875, - hidden_size=text_encoder.encoder.hidden_size, - spatial_merge_size=2, # Match HF's spatial merging - ) - - # Convert all text encoder weights to BF16 to match PyTorch's behavior - # PyTorch loads the model in BF16 and performs all computations in BF16 - # This ensures numerical consistency between MLX and PyTorch - weights.qwen_text_encoder = QwenWeightUtil._convert_weights_to_bf16(weights.qwen_text_encoder) - - text_encoder.update(weights.qwen_text_encoder, strict=False) diff --git a/src/mflux/models/z_image/__init__.py b/src/mflux/models/z_image/__init__.py new file mode 100644 index 0000000..c7de8b8 --- /dev/null +++ b/src/mflux/models/z_image/__init__.py @@ -0,0 +1,4 @@ +from mflux.models.z_image.variants.turbo import ZImageTurbo +from mflux.models.z_image.z_image_initializer import ZImageInitializer + +__all__ = ["ZImageTurbo", "ZImageInitializer"] diff --git a/src/mflux/models/z_image/cli/__init__.py b/src/mflux/models/z_image/cli/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/mflux/models/z_image/cli/z_image_turbo_generate.py b/src/mflux/models/z_image/cli/z_image_turbo_generate.py new file mode 100644 index 0000000..4b47695 --- /dev/null +++ b/src/mflux/models/z_image/cli/z_image_turbo_generate.py @@ -0,0 +1,65 @@ +from mflux.callbacks.callback_manager import CallbackManager +from mflux.cli.parser.parsers import CommandLineParser +from mflux.models.z_image.latent_creator import ZImageLatentCreator +from mflux.models.z_image.variants.turbo.z_image_turbo import ZImageTurbo +from mflux.utils.dimension_resolver import DimensionResolver +from mflux.utils.exceptions import PromptFileReadError, StopImageGenerationException +from mflux.utils.prompt_util import PromptUtil + + +def main(): + # 0. Parse command line arguments + parser = CommandLineParser(description="Generate an image using Z-Image Turbo based on a prompt.") + parser.add_general_arguments() + parser.add_model_arguments(require_model_arg=False) + parser.add_lora_arguments() + parser.add_image_generator_arguments(supports_metadata_config=True, supports_dimension_scale_factor=True) + parser.add_image_to_image_arguments(required=False) + parser.add_output_arguments() + args = parser.parse_args() + + # 1. Load the model + model = ZImageTurbo( + quantize=args.quantize, + model_path=args.model_path, + lora_paths=args.lora_paths, + lora_scales=args.lora_scales, + ) + + # 2. Register callbacks + memory_saver = CallbackManager.register_callbacks( + args=args, + model=model, + latent_creator=ZImageLatentCreator, + ) + + try: + # Resolve dimensions (supports ScaleFactor like "2x" when --image-path is provided) + width, height = DimensionResolver.resolve( + width=args.width, + height=args.height, + reference_image_path=args.image_path, + ) + + for seed in args.seed: + # 3. Generate an image for each seed value + image = model.generate_image( + seed=seed, + prompt=PromptUtil.read_prompt(args), + width=width, + height=height, + image_path=args.image_path, + num_inference_steps=args.steps, + image_strength=args.image_strength, + ) + # 4. Save the image + image.save(path=args.output.format(seed=seed), export_json_metadata=args.metadata) + except (StopImageGenerationException, PromptFileReadError) as exc: + print(exc) + finally: + if memory_saver: + print(memory_saver.memory_stats()) + + +if __name__ == "__main__": + main() diff --git a/src/mflux/models/z_image/latent_creator/__init__.py b/src/mflux/models/z_image/latent_creator/__init__.py new file mode 100644 index 0000000..4465972 --- /dev/null +++ b/src/mflux/models/z_image/latent_creator/__init__.py @@ -0,0 +1,3 @@ +from mflux.models.z_image.latent_creator.z_image_latent_creator import ZImageLatentCreator + +__all__ = ["ZImageLatentCreator"] diff --git a/src/mflux/models/z_image/latent_creator/z_image_latent_creator.py b/src/mflux/models/z_image/latent_creator/z_image_latent_creator.py new file mode 100644 index 0000000..31d628c --- /dev/null +++ b/src/mflux/models/z_image/latent_creator/z_image_latent_creator.py @@ -0,0 +1,29 @@ +import mlx.core as mx + +from mflux.models.common.config import ModelConfig + + +class ZImageLatentCreator: + @staticmethod + def create_noise(seed: int, height: int, width: int) -> mx.array: + return mx.random.normal( + shape=[ + 16, + 1, + height // 8, + width // 8, + ], + key=mx.random.key(seed), + ).astype(ModelConfig.precision) + + @staticmethod + def pack_latents(latents: mx.array, height: int, width: int) -> mx.array: + latents = mx.expand_dims(latents, axis=2) + latents = mx.squeeze(latents, axis=0) + return latents + + @staticmethod + def unpack_latents(latents: mx.array, height: int, width: int) -> mx.array: # noqa: ARG004 + latents = mx.expand_dims(latents, axis=0) + latents = mx.squeeze(latents, axis=2) + return latents diff --git a/src/mflux/models/z_image/model/__init__.py b/src/mflux/models/z_image/model/__init__.py new file mode 100644 index 0000000..cce6886 --- /dev/null +++ b/src/mflux/models/z_image/model/__init__.py @@ -0,0 +1,2 @@ +# Z-Image model components + diff --git a/src/mflux/models/z_image/model/z_image_text_encoder/__init__.py b/src/mflux/models/z_image/model/z_image_text_encoder/__init__.py new file mode 100644 index 0000000..5e5b811 --- /dev/null +++ b/src/mflux/models/z_image/model/z_image_text_encoder/__init__.py @@ -0,0 +1,2 @@ +# Z-Image Text Encoder (Qwen3) + diff --git a/src/mflux/models/z_image/model/z_image_text_encoder/attention.py b/src/mflux/models/z_image/model/z_image_text_encoder/attention.py new file mode 100644 index 0000000..7c980d3 --- /dev/null +++ b/src/mflux/models/z_image/model/z_image_text_encoder/attention.py @@ -0,0 +1,76 @@ +import mlx.core as mx +from mlx import nn +from mlx.core.fast import scaled_dot_product_attention + + +class Attention(nn.Module): + def __init__( + self, + hidden_size: int = 2560, + num_attention_heads: int = 32, + num_key_value_heads: int = 8, + head_dim: int = 128, + ): + super().__init__() + self.num_heads = num_attention_heads + self.num_kv_heads = num_key_value_heads + self.head_dim = head_dim + self.num_kv_groups = num_attention_heads // num_key_value_heads + self.scale = head_dim**-0.5 + + self.q_proj = nn.Linear(hidden_size, num_attention_heads * head_dim, bias=False) + self.k_proj = nn.Linear(hidden_size, num_key_value_heads * head_dim, bias=False) + self.v_proj = nn.Linear(hidden_size, num_key_value_heads * head_dim, bias=False) + self.o_proj = nn.Linear(num_attention_heads * head_dim, hidden_size, bias=False) + self.q_norm = nn.RMSNorm(head_dim) + self.k_norm = nn.RMSNorm(head_dim) + + def __call__( + self, + hidden_states: mx.array, + attention_mask: mx.array | None = None, + position_embeddings: tuple[mx.array, mx.array] | None = None, + ) -> mx.array: + batch_size, seq_len, _ = hidden_states.shape + + q = self.q_proj(hidden_states).reshape(batch_size, seq_len, self.num_heads, self.head_dim) + k = self.k_proj(hidden_states).reshape(batch_size, seq_len, self.num_kv_heads, self.head_dim) + v = self.v_proj(hidden_states).reshape(batch_size, seq_len, self.num_kv_heads, self.head_dim) + + q = self.q_norm(q) + k = self.k_norm(k) + + if position_embeddings is not None: + q, k = Attention._apply_rotary_pos_emb(q, k, *position_embeddings) + + if self.num_kv_groups > 1: + k = mx.repeat(k, self.num_kv_groups, axis=2) + v = mx.repeat(v, self.num_kv_groups, axis=2) + + q = mx.transpose(q, axes=(0, 2, 1, 3)) + k = mx.transpose(k, axes=(0, 2, 1, 3)) + v = mx.transpose(v, axes=(0, 2, 1, 3)) + + attn_output = scaled_dot_product_attention(q, k, v, scale=self.scale, mask=attention_mask) + attn_output = mx.transpose(attn_output, axes=(0, 2, 1, 3)).reshape(batch_size, seq_len, -1) + return self.o_proj(attn_output) + + @staticmethod + def _apply_rotary_pos_emb( + q: mx.array, + k: mx.array, + cos: mx.array, + sin: mx.array, + unsqueeze_dim: int = 2, + ) -> tuple[mx.array, mx.array]: + cos = mx.expand_dims(cos, axis=unsqueeze_dim) + sin = mx.expand_dims(sin, axis=unsqueeze_dim) + q_embed = (q * cos) + (Attention._rotate_half(q) * sin) + k_embed = (k * cos) + (Attention._rotate_half(k) * sin) + return q_embed, k_embed + + @staticmethod + def _rotate_half(x: mx.array) -> mx.array: + x1 = x[..., : x.shape[-1] // 2] + x2 = x[..., x.shape[-1] // 2 :] + return mx.concatenate([-x2, x1], axis=-1) diff --git a/src/mflux/models/z_image/model/z_image_text_encoder/encoder_layer.py b/src/mflux/models/z_image/model/z_image_text_encoder/encoder_layer.py new file mode 100644 index 0000000..8804957 --- /dev/null +++ b/src/mflux/models/z_image/model/z_image_text_encoder/encoder_layer.py @@ -0,0 +1,35 @@ +import mlx.core as mx +from mlx import nn + +from mflux.models.z_image.model.z_image_text_encoder.attention import Attention +from mflux.models.z_image.model.z_image_text_encoder.mlp import MLP + + +class EncoderLayer(nn.Module): + def __init__( + self, + hidden_size: int = 2560, + num_attention_heads: int = 32, + num_key_value_heads: int = 8, + intermediate_size: int = 9728, + head_dim: int = 128, + rms_norm_eps: float = 1e-6, + ): + super().__init__() + self.input_layernorm = nn.RMSNorm(hidden_size, eps=rms_norm_eps) + self.post_attention_layernorm = nn.RMSNorm(hidden_size, eps=rms_norm_eps) + self.self_attn = Attention(hidden_size, num_attention_heads, num_key_value_heads, head_dim) + self.mlp = MLP(hidden_size, intermediate_size) + + def __call__( + self, + hidden_states: mx.array, + attention_mask: mx.array | None = None, + position_embeddings: tuple[mx.array, mx.array] | None = None, + ) -> mx.array: + residual = hidden_states + hidden_states = self.self_attn(self.input_layernorm(hidden_states), attention_mask, position_embeddings) + hidden_states = residual + hidden_states + residual = hidden_states + hidden_states = self.mlp(self.post_attention_layernorm(hidden_states)) + return residual + hidden_states diff --git a/src/mflux/models/z_image/model/z_image_text_encoder/mlp.py b/src/mflux/models/z_image/model/z_image_text_encoder/mlp.py new file mode 100644 index 0000000..ee1b0e5 --- /dev/null +++ b/src/mflux/models/z_image/model/z_image_text_encoder/mlp.py @@ -0,0 +1,13 @@ +import mlx.core as mx +from mlx import nn + + +class MLP(nn.Module): + def __init__(self, hidden_size: int = 2560, intermediate_size: int = 9728): + super().__init__() + self.gate_proj = nn.Linear(hidden_size, intermediate_size, bias=False) + self.up_proj = nn.Linear(hidden_size, intermediate_size, bias=False) + self.down_proj = nn.Linear(intermediate_size, hidden_size, bias=False) + + def __call__(self, x: mx.array) -> mx.array: + return self.down_proj(nn.silu(self.gate_proj(x)) * self.up_proj(x)) diff --git a/src/mflux/models/z_image/model/z_image_text_encoder/prompt_encoder.py b/src/mflux/models/z_image/model/z_image_text_encoder/prompt_encoder.py new file mode 100644 index 0000000..c190683 --- /dev/null +++ b/src/mflux/models/z_image/model/z_image_text_encoder/prompt_encoder.py @@ -0,0 +1,17 @@ +import mlx.core as mx + +from mflux.models.common.tokenizer import Tokenizer +from mflux.models.z_image.model.z_image_text_encoder.text_encoder import TextEncoder + + +class PromptEncoder: + @staticmethod + def encode_prompt( + prompt: str, + tokenizer: Tokenizer, + text_encoder: TextEncoder, + ) -> mx.array: + output = tokenizer.tokenize(prompt) + cap_feats = text_encoder(output.input_ids, output.attention_mask) + num_valid = int(mx.sum(output.attention_mask[0]).item()) + return cap_feats[0, :num_valid, :] diff --git a/src/mflux/models/z_image/model/z_image_text_encoder/rope.py b/src/mflux/models/z_image/model/z_image_text_encoder/rope.py new file mode 100644 index 0000000..59d2ed2 --- /dev/null +++ b/src/mflux/models/z_image/model/z_image_text_encoder/rope.py @@ -0,0 +1,16 @@ +import mlx.core as mx +from mlx import nn + + +class RotaryEmbedding(nn.Module): + def __init__(self, dim: int, base: float = 1000000.0): + super().__init__() + self.inv_freq = 1.0 / (base ** (mx.arange(0, dim, 2, dtype=mx.float32) / dim)) + + def __call__(self, x: mx.array, position_ids: mx.array) -> tuple[mx.array, mx.array]: + seq_len = position_ids.shape[-1] + freqs = mx.outer(mx.arange(seq_len, dtype=mx.float32), self.inv_freq) + emb = mx.concatenate([freqs, freqs], axis=-1) + cos = mx.cos(emb)[None, :, :] + sin = mx.sin(emb)[None, :, :] + return cos.astype(x.dtype), sin.astype(x.dtype) diff --git a/src/mflux/models/z_image/model/z_image_text_encoder/text_encoder.py b/src/mflux/models/z_image/model/z_image_text_encoder/text_encoder.py new file mode 100644 index 0000000..eeb535a --- /dev/null +++ b/src/mflux/models/z_image/model/z_image_text_encoder/text_encoder.py @@ -0,0 +1,81 @@ +import mlx.core as mx +from mlx import nn + +from mflux.models.common.config import ModelConfig +from mflux.models.z_image.model.z_image_text_encoder.encoder_layer import EncoderLayer +from mflux.models.z_image.model.z_image_text_encoder.rope import RotaryEmbedding + + +class TextEncoder(nn.Module): + def __init__( + self, + vocab_size: int = 151936, + hidden_size: int = 2560, + num_hidden_layers: int = 36, + num_attention_heads: int = 32, + num_key_value_heads: int = 8, + intermediate_size: int = 9728, + head_dim: int = 128, + max_position_embeddings: int = 40960, + rope_theta: float = 1000000.0, + rms_norm_eps: float = 1e-6, + ): + super().__init__() + self.embed_tokens = nn.Embedding(vocab_size, hidden_size) + self.layers = [ + EncoderLayer( + hidden_size=hidden_size, + num_attention_heads=num_attention_heads, + num_key_value_heads=num_key_value_heads, + intermediate_size=intermediate_size, + head_dim=head_dim, + rms_norm_eps=rms_norm_eps, + ) + for _ in range(num_hidden_layers) + ] + self.norm = nn.RMSNorm(hidden_size, eps=rms_norm_eps) + self.rotary_emb = RotaryEmbedding(dim=head_dim, base=rope_theta) + + def __call__(self, input_ids: mx.array, attention_mask: mx.array | None = None) -> mx.array: + batch_size, seq_len = input_ids.shape + hidden_states = self.embed_tokens(input_ids).astype(mx.float32) + position_ids = mx.broadcast_to(mx.arange(seq_len, dtype=mx.int32)[None, :], (batch_size, seq_len)) + position_embeddings = self.rotary_emb(hidden_states, position_ids) + + # Causal mask + causal_mask = TextEncoder._get_causal_mask(attention_mask, batch_size, hidden_states, seq_len) + + # Forward through layers + all_hidden_states = [hidden_states] + for layer in self.layers: + hidden_states = layer( + hidden_states=hidden_states, + attention_mask=causal_mask, + position_embeddings=position_embeddings, + ) + all_hidden_states.append(hidden_states) + + return all_hidden_states[-2].astype(ModelConfig.precision) + + @staticmethod + def _get_causal_mask(attention_mask, batch_size, hidden_states, seq_len): + causal_mask = TextEncoder._create_causal_mask(seq_len, hidden_states.dtype) + if attention_mask is not None: + padding_mask = mx.where( + attention_mask[:, None, None, :] == 1, + mx.zeros((batch_size, 1, 1, seq_len), dtype=hidden_states.dtype), + mx.full((batch_size, 1, 1, seq_len), float("-inf"), dtype=hidden_states.dtype), + ) + causal_mask = causal_mask + padding_mask + return causal_mask + + @staticmethod + def _create_causal_mask(seq_len: int, dtype: mx.Dtype) -> mx.array: + idx = mx.arange(seq_len, dtype=mx.int32) + mask = idx[:, None] >= idx[None, :] + causal_mask = mx.where( + mask, + mx.zeros((seq_len, seq_len), dtype=dtype), + mx.full((seq_len, seq_len), float("-inf"), dtype=dtype), + ) + return causal_mask[None, None, :, :] diff --git a/src/mflux/models/z_image/model/z_image_transformer/__init__.py b/src/mflux/models/z_image/model/z_image_transformer/__init__.py new file mode 100644 index 0000000..07770a3 --- /dev/null +++ b/src/mflux/models/z_image/model/z_image_transformer/__init__.py @@ -0,0 +1,3 @@ +from mflux.models.z_image.model.z_image_transformer.transformer import ZImageTransformer + +__all__ = ["ZImageTransformer"] diff --git a/src/mflux/models/z_image/model/z_image_transformer/attention.py b/src/mflux/models/z_image/model/z_image_transformer/attention.py new file mode 100644 index 0000000..205151b --- /dev/null +++ b/src/mflux/models/z_image/model/z_image_transformer/attention.py @@ -0,0 +1,90 @@ +import mlx.core as mx +from mlx import nn +from mlx.core.fast import scaled_dot_product_attention + + +class ZImageAttention(nn.Module): + def __init__( + self, + dim: int, + n_heads: int, + qk_norm: bool = True, + eps: float = 1e-5, + ): + super().__init__() + self.dim = dim + self.n_heads = n_heads + self.head_dim = dim // n_heads + self.scale = self.head_dim**-0.5 + + # Projections (no bias) + self.to_q = nn.Linear(dim, dim, bias=False) + self.to_k = nn.Linear(dim, dim, bias=False) + self.to_v = nn.Linear(dim, dim, bias=False) + self.to_out = [nn.Linear(dim, dim, bias=False)] + + # Optional QK normalization + if qk_norm: + self.norm_q = nn.RMSNorm(self.head_dim, eps=eps) + self.norm_k = nn.RMSNorm(self.head_dim, eps=eps) + else: + self.norm_q = None + self.norm_k = None + + def __call__( + self, + hidden_states: mx.array, + attention_mask: mx.array | None = None, + freqs_cis: mx.array | None = None, + ) -> mx.array: + batch_size, seq_len, _ = hidden_states.shape + + # Project to Q, K, V + query = self.to_q(hidden_states) + key = self.to_k(hidden_states) + value = self.to_v(hidden_states) + + # Reshape to (batch, seq_len, heads, head_dim) + query = query.reshape(batch_size, seq_len, self.n_heads, self.head_dim) + key = key.reshape(batch_size, seq_len, self.n_heads, self.head_dim) + value = value.reshape(batch_size, seq_len, self.n_heads, self.head_dim) + + # Apply QK normalization + if self.norm_q is not None: + query = self.norm_q(query) + if self.norm_k is not None: + key = self.norm_k(key) + + # Apply RoPE + if freqs_cis is not None: + query = ZImageAttention._apply_rotary_emb(query, freqs_cis) + key = ZImageAttention._apply_rotary_emb(key, freqs_cis) + + # Transpose for attention: (batch, heads, seq_len, head_dim) + query = mx.transpose(query, axes=(0, 2, 1, 3)) + key = mx.transpose(key, axes=(0, 2, 1, 3)) + value = mx.transpose(value, axes=(0, 2, 1, 3)) + + # Convert boolean mask to additive mask for SDPA + mask = None + if attention_mask is not None: + mask = mx.where(attention_mask[:, None, None, :], mx.array(0.0), mx.array(float("-inf"))) + + hidden_states = scaled_dot_product_attention(query, key, value, scale=self.scale, mask=mask) + hidden_states = mx.transpose(hidden_states, axes=(0, 2, 1, 3)) + hidden_states = hidden_states.reshape(batch_size, seq_len, self.dim) + hidden_states = self.to_out[0](hidden_states) + return hidden_states + + @staticmethod + def _apply_rotary_emb(x: mx.array, freqs_cis: mx.array) -> mx.array: + batch_size, seq_len, n_heads, head_dim = x.shape + x = x.reshape(batch_size, seq_len, n_heads, head_dim // 2, 2) + freqs_cis = mx.expand_dims(freqs_cis, axis=0) + freqs_cis = mx.expand_dims(freqs_cis, axis=2) + x_real, x_imag = x[..., 0], x[..., 1] + freqs_cos, freqs_sin = freqs_cis[..., 0], freqs_cis[..., 1] + x_out_real = x_real * freqs_cos - x_imag * freqs_sin + x_out_imag = x_real * freqs_sin + x_imag * freqs_cos + x_out = mx.stack([x_out_real, x_out_imag], axis=-1) + return x_out.reshape(batch_size, seq_len, n_heads, head_dim) diff --git a/src/mflux/models/z_image/model/z_image_transformer/context_block.py b/src/mflux/models/z_image/model/z_image_transformer/context_block.py new file mode 100644 index 0000000..7eca319 --- /dev/null +++ b/src/mflux/models/z_image/model/z_image_transformer/context_block.py @@ -0,0 +1,23 @@ +import mlx.core as mx +from mlx import nn + +from mflux.models.z_image.model.z_image_transformer.attention import ZImageAttention +from mflux.models.z_image.model.z_image_transformer.feed_forward import FeedForward + + +class ZImageContextBlock(nn.Module): + def __init__(self, dim: int, n_heads: int, norm_eps: float = 1e-5, qk_norm: bool = True): + super().__init__() + self.attention = ZImageAttention(dim=dim, n_heads=n_heads, qk_norm=qk_norm, eps=1e-5) + self.feed_forward = FeedForward(dim=dim, hidden_dim=int(dim / 3 * 8)) + self.attention_norm1 = nn.RMSNorm(dim, eps=norm_eps) + self.attention_norm2 = nn.RMSNorm(dim, eps=norm_eps) + self.ffn_norm1 = nn.RMSNorm(dim, eps=norm_eps) + self.ffn_norm2 = nn.RMSNorm(dim, eps=norm_eps) + + def __call__(self, x: mx.array, attn_mask: mx.array, freqs_cis: mx.array) -> mx.array: + attn_out = self.attention(self.attention_norm1(x), attention_mask=attn_mask, freqs_cis=freqs_cis) + x = x + self.attention_norm2(attn_out) + ffn_out = self.feed_forward(self.ffn_norm1(x)) + x = x + self.ffn_norm2(ffn_out) + return x diff --git a/src/mflux/models/z_image/model/z_image_transformer/feed_forward.py b/src/mflux/models/z_image/model/z_image_transformer/feed_forward.py new file mode 100644 index 0000000..1e5aaac --- /dev/null +++ b/src/mflux/models/z_image/model/z_image_transformer/feed_forward.py @@ -0,0 +1,13 @@ +import mlx.core as mx +from mlx import nn + + +class FeedForward(nn.Module): + def __init__(self, dim: int, hidden_dim: int): + super().__init__() + self.w1 = nn.Linear(dim, hidden_dim, bias=False) + self.w2 = nn.Linear(hidden_dim, dim, bias=False) + self.w3 = nn.Linear(dim, hidden_dim, bias=False) + + def __call__(self, x: mx.array) -> mx.array: + return self.w2(nn.silu(self.w1(x)) * self.w3(x)) diff --git a/src/mflux/models/z_image/model/z_image_transformer/final_layer.py b/src/mflux/models/z_image/model/z_image_transformer/final_layer.py new file mode 100644 index 0000000..5c555b5 --- /dev/null +++ b/src/mflux/models/z_image/model/z_image_transformer/final_layer.py @@ -0,0 +1,16 @@ +import mlx.core as mx +from mlx import nn + + +class FinalLayer(nn.Module): + def __init__(self, hidden_size: int, out_channels: int): + super().__init__() + self.norm = nn.LayerNorm(hidden_size, eps=1e-6, affine=False) + self.linear = nn.Linear(hidden_size, out_channels, bias=True) + self.adaLN_modulation = [nn.Linear(min(hidden_size, 256), hidden_size, bias=True)] + + def __call__(self, x: mx.array, c: mx.array) -> mx.array: + scale = 1.0 + self.adaLN_modulation[0](nn.silu(c)) + scale = mx.expand_dims(scale, axis=1) + x = self.norm(x) * scale + return self.linear(x) diff --git a/src/mflux/models/z_image/model/z_image_transformer/rope_embedder.py b/src/mflux/models/z_image/model/z_image_transformer/rope_embedder.py new file mode 100644 index 0000000..4c6d9f8 --- /dev/null +++ b/src/mflux/models/z_image/model/z_image_transformer/rope_embedder.py @@ -0,0 +1,37 @@ +import mlx.core as mx + + +class RopeEmbedder: + def __init__( + self, + theta: float = 256.0, + axes_dims: list[int] | None = None, + axes_lens: list[int] | None = None, + ): + if axes_dims is None: + axes_dims = [16, 56, 56] + if axes_lens is None: + axes_lens = [64, 128, 128] + + self.axes_dims = axes_dims + self.freqs_cis = RopeEmbedder._precompute_freqs_cis(axes_dims, axes_lens, theta) + + def __call__(self, ids: mx.array) -> mx.array: + result = [] + for i in range(len(self.axes_dims)): + index = ids[:, i].astype(mx.int32) + result.append(self.freqs_cis[i][index]) + return mx.concatenate(result, axis=1) + + @staticmethod + def _precompute_freqs_cis(axes_dims, axes_lens, theta) -> list[mx.array]: + freqs_cis = [] + for d, e in zip(axes_dims, axes_lens): + freqs = 1.0 / (theta ** (mx.arange(0, d, 2, dtype=mx.float32) / d)) + timestep = mx.arange(e, dtype=mx.float32) + freqs = mx.outer(timestep, freqs) + cos_freqs = mx.cos(freqs) + sin_freqs = mx.sin(freqs) + freqs_cis_i = mx.stack([cos_freqs, sin_freqs], axis=-1) + freqs_cis.append(freqs_cis_i) + return freqs_cis diff --git a/src/mflux/models/z_image/model/z_image_transformer/timestep_embedder.py b/src/mflux/models/z_image/model/z_image_transformer/timestep_embedder.py new file mode 100644 index 0000000..265829f --- /dev/null +++ b/src/mflux/models/z_image/model/z_image_transformer/timestep_embedder.py @@ -0,0 +1,37 @@ +import math + +import mlx.core as mx +from mlx import nn + + +class TimestepEmbedder(nn.Module): + def __init__( + self, + out_size: int, + mid_size: int | None = None, + frequency_embedding_size: int = 256, + ): + super().__init__() + if mid_size is None: + mid_size = out_size + + self.frequency_embedding_size = frequency_embedding_size + self.linear1 = nn.Linear(frequency_embedding_size, mid_size, bias=True) + self.linear2 = nn.Linear(mid_size, out_size, bias=True) + + def __call__(self, t: mx.array) -> mx.array: + t_freq = self._timestep_embedding(t, self.frequency_embedding_size) + t_emb = self.linear1(t_freq) + t_emb = nn.silu(t_emb) + t_emb = self.linear2(t_emb) + return t_emb + + @staticmethod + def _timestep_embedding(t: mx.array, dim: int, max_period: float = 10000.0) -> mx.array: + half = dim // 2 + freqs = mx.exp(-math.log(max_period) * mx.arange(0, half, dtype=mx.float32) / half) + args = t[:, None].astype(mx.float32) * freqs[None] + embedding = mx.concatenate([mx.cos(args), mx.sin(args)], axis=-1) + if dim % 2: + embedding = mx.concatenate([embedding, mx.zeros_like(embedding[:, :1])], axis=-1) + return embedding diff --git a/src/mflux/models/z_image/model/z_image_transformer/transformer.py b/src/mflux/models/z_image/model/z_image_transformer/transformer.py new file mode 100644 index 0000000..8358c1d --- /dev/null +++ b/src/mflux/models/z_image/model/z_image_transformer/transformer.py @@ -0,0 +1,188 @@ +import mlx.core as mx +from mlx import nn + +from mflux.models.z_image.model.z_image_transformer.context_block import ZImageContextBlock +from mflux.models.z_image.model.z_image_transformer.final_layer import FinalLayer +from mflux.models.z_image.model.z_image_transformer.rope_embedder import RopeEmbedder +from mflux.models.z_image.model.z_image_transformer.timestep_embedder import TimestepEmbedder +from mflux.models.z_image.model.z_image_transformer.transformer_block import ZImageTransformerBlock + + +class ZImageTransformer(nn.Module): + def __init__( + self, + patch_size: int = 2, + f_patch_size: int = 1, + in_channels: int = 16, + dim: int = 3840, + n_layers: int = 30, + n_refiner_layers: int = 2, + n_heads: int = 30, + norm_eps: float = 1e-5, + qk_norm: bool = True, + cap_feat_dim: int = 2560, + rope_theta: float = 256.0, + t_scale: float = 1000.0, + axes_dims: list[int] | None = None, + axes_lens: list[int] | None = None, + ): + super().__init__() + + axes_dims = axes_dims or [32, 48, 48] + axes_lens = axes_lens or [1024, 512, 512] + + self.in_channels = in_channels + self.out_channels = in_channels + self.patch_size = patch_size + self.f_patch_size = f_patch_size + self.dim = dim + self.n_heads = n_heads + self.t_scale = t_scale + + key = f"{patch_size}-{f_patch_size}" + embed_dim = f_patch_size * patch_size * patch_size * in_channels + self.all_x_embedder = {key: nn.Linear(embed_dim, dim, bias=True)} + self.all_final_layer = {key: FinalLayer(dim, embed_dim)} + + self.t_embedder = TimestepEmbedder(out_size=min(dim, 256), mid_size=1024) + self.cap_embedder = [nn.RMSNorm(cap_feat_dim, eps=norm_eps), nn.Linear(cap_feat_dim, dim, bias=True)] + self.x_pad_token = mx.zeros((1, dim)) + self.cap_pad_token = mx.zeros((1, dim)) + + self.noise_refiner = [ZImageTransformerBlock(dim, n_heads, norm_eps, qk_norm) for _ in range(n_refiner_layers)] # fmt: off + self.context_refiner = [ZImageContextBlock(dim, n_heads, norm_eps, qk_norm) for _ in range(n_refiner_layers)] # fmt: off + self.layers = [ZImageTransformerBlock(dim, n_heads, norm_eps, qk_norm) for _ in range(n_layers)] # fmt: off + self.rope_embedder = RopeEmbedder(theta=rope_theta, axes_dims=axes_dims, axes_lens=axes_lens) + + def __call__(self, x: mx.array, t: int, sigmas: mx.array, cap_feats: mx.array) -> mx.array: + key = f"{self.patch_size}-{self.f_patch_size}" + + # Time embedding + t_value = mx.array([1.0 - sigmas[t].item()]) + t_emb = self.t_embedder(t_value * self.t_scale) + + # Patchify image and caption + x_emb, cap_emb, x_size, x_pos_ids, cap_pos_ids, x_pad_mask, cap_pad_mask = ZImageTransformer._patchify( + image=x, + cap_feats=cap_feats, + patch_size=self.patch_size, + f_patch_size=self.f_patch_size, + ) + + # Image embedding + x_emb = self.all_x_embedder[key](x_emb) + x_emb = mx.where(x_pad_mask[:, None], self.x_pad_token, x_emb) + x_freqs_cis = self.rope_embedder(x_pos_ids) + x_attn_mask = mx.ones((1, x_emb.shape[0]), dtype=mx.bool_) + x_emb = mx.expand_dims(x_emb, axis=0) + + # Noise refiner + for layer in self.noise_refiner: + x_emb = layer( + x=x_emb, + attn_mask=x_attn_mask, + freqs_cis=x_freqs_cis, + t_emb=t_emb, + ) + + # Caption embedding + cap_emb = self.cap_embedder[1](self.cap_embedder[0](cap_emb)) + cap_emb = mx.where(cap_pad_mask[:, None], self.cap_pad_token, cap_emb) + cap_freqs_cis = self.rope_embedder(cap_pos_ids) + cap_attn_mask = mx.ones((1, cap_emb.shape[0]), dtype=mx.bool_) + cap_emb = mx.expand_dims(cap_emb, axis=0) + + # Context refiner + for layer in self.context_refiner: + cap_emb = layer( + x=cap_emb, + attn_mask=cap_attn_mask, + freqs_cis=cap_freqs_cis, + ) + + # Unify and main layers + x_len = x_emb.shape[1] + unified = mx.concatenate([x_emb, cap_emb], axis=1) + unified_freqs_cis = mx.concatenate([x_freqs_cis, cap_freqs_cis], axis=0) + unified_attn_mask = mx.ones((1, unified.shape[1]), dtype=mx.bool_) + + for layer in self.layers: + unified = layer( + x=unified, + attn_mask=unified_attn_mask, + freqs_cis=unified_freqs_cis, + t_emb=t_emb, + ) + + # Final layer and unpatchify + unified = self.all_final_layer[key](unified, t_emb) + output = ZImageTransformer._unpatchify( + x=unified[0, :x_len], + size=x_size, + patch_size=self.patch_size, + f_patch_size=self.f_patch_size, + out_channels=self.out_channels, + ) + return -output + + @staticmethod + def _patchify( + image: mx.array, + cap_feats: mx.array, + patch_size: int, + f_patch_size: int, + ) -> tuple[mx.array, mx.array, tuple[int, int, int], mx.array, mx.array, mx.array, mx.array]: + pH = pW = patch_size + pF = f_patch_size + + # Caption padding + cap_ori_len = cap_feats.shape[0] + cap_padding_len = (-cap_ori_len) % 32 + cap_pos_ids = ZImageTransformer._create_coord_grid((cap_ori_len + cap_padding_len, 1, 1), (1, 0, 0)).reshape(-1, 3) # fmt: off + cap_pad_mask = mx.concatenate([mx.zeros((cap_ori_len,), dtype=mx.bool_), mx.ones((cap_padding_len,), dtype=mx.bool_)]) # fmt: off + cap_padded = mx.concatenate([cap_feats, mx.repeat(cap_feats[-1:], cap_padding_len, axis=0)], axis=0) if cap_padding_len > 0 else cap_feats # fmt: off + + # Image patchification + C, F, H, W = image.shape + image_size = (F, H, W) + F_tokens, H_tokens, W_tokens = F // pF, H // pH, W // pW + + image = image.reshape(C, F_tokens, pF, H_tokens, pH, W_tokens, pW) + image = mx.transpose(image, axes=(1, 3, 5, 2, 4, 6, 0)) + image = image.reshape(F_tokens * H_tokens * W_tokens, pF * pH * pW * C) + + # Image padding + image_ori_len = image.shape[0] + image_padding_len = (-image_ori_len) % 32 + image_pos_ids = ZImageTransformer._create_coord_grid((F_tokens, H_tokens, W_tokens), (cap_ori_len + cap_padding_len + 1, 0, 0)).reshape(-1, 3) # fmt: off + + if image_padding_len > 0: + image_pos_ids = mx.concatenate([image_pos_ids, mx.zeros((image_padding_len, 3), dtype=mx.int32)], axis=0) + image = mx.concatenate([image, mx.repeat(image[-1:], image_padding_len, axis=0)], axis=0) + + image_pad_mask = mx.concatenate([mx.zeros((image_ori_len,), dtype=mx.bool_), mx.ones((image_padding_len,), dtype=mx.bool_)]) # fmt: off + + return image, cap_padded, image_size, image_pos_ids, cap_pos_ids, image_pad_mask, cap_pad_mask + + @staticmethod + def _unpatchify( + x: mx.array, + size: tuple[int, int, int], + patch_size: int, + f_patch_size: int, + out_channels: int, + ) -> mx.array: + pH = pW = patch_size + pF = f_patch_size + F, H, W = size + ori_len = (F // pF) * (H // pH) * (W // pW) + x = x[:ori_len].reshape(F // pF, H // pH, W // pW, pF, pH, pW, out_channels) + x = mx.transpose(x, axes=(6, 0, 3, 1, 4, 2, 5)) + return x.reshape(out_channels, F, H, W) + + @staticmethod + def _create_coord_grid(size: tuple[int, ...], start: tuple[int, ...] | None = None) -> mx.array: + start = start or tuple(0 for _ in size) + axes = [mx.arange(x0, x0 + span, dtype=mx.int32) for x0, span in zip(start, size)] + grids = mx.meshgrid(*axes, indexing="ij") + return mx.stack(grids, axis=-1) diff --git a/src/mflux/models/z_image/model/z_image_transformer/transformer_block.py b/src/mflux/models/z_image/model/z_image_transformer/transformer_block.py new file mode 100644 index 0000000..2845402 --- /dev/null +++ b/src/mflux/models/z_image/model/z_image_transformer/transformer_block.py @@ -0,0 +1,35 @@ +import mlx.core as mx +from mlx import nn + +from mflux.models.z_image.model.z_image_transformer.attention import ZImageAttention +from mflux.models.z_image.model.z_image_transformer.feed_forward import FeedForward + + +class ZImageTransformerBlock(nn.Module): + def __init__(self, dim: int, n_heads: int, norm_eps: float = 1e-5, qk_norm: bool = True): + super().__init__() + self.attention = ZImageAttention(dim=dim, n_heads=n_heads, qk_norm=qk_norm, eps=1e-5) + self.feed_forward = FeedForward(dim=dim, hidden_dim=int(dim / 3 * 8)) + self.attention_norm1 = nn.RMSNorm(dim, eps=norm_eps) + self.attention_norm2 = nn.RMSNorm(dim, eps=norm_eps) + self.ffn_norm1 = nn.RMSNorm(dim, eps=norm_eps) + self.ffn_norm2 = nn.RMSNorm(dim, eps=norm_eps) + self.adaLN_modulation = [nn.Linear(min(dim, 256), 4 * dim, bias=True)] + + def __call__(self, x: mx.array, attn_mask: mx.array, freqs_cis: mx.array, t_emb: mx.array) -> mx.array: + # Compute modulation parameters + modulation = mx.expand_dims(self.adaLN_modulation[0](t_emb), axis=1) + scale_msa, gate_msa, scale_mlp, gate_mlp = mx.split(modulation, 4, axis=2) + scale_msa = 1.0 + scale_msa + scale_mlp = 1.0 + scale_mlp + gate_msa = mx.tanh(gate_msa) + gate_mlp = mx.tanh(gate_mlp) + + # Attention with modulation + attn_out = self.attention(self.attention_norm1(x) * scale_msa, attention_mask=attn_mask, freqs_cis=freqs_cis) + x = x + gate_msa * self.attention_norm2(attn_out) + + # FFN with modulation + ffn_out = self.feed_forward(self.ffn_norm1(x) * scale_mlp) + x = x + gate_mlp * self.ffn_norm2(ffn_out) + return x diff --git a/src/mflux/models/z_image/model/z_image_vae/__init__.py b/src/mflux/models/z_image/model/z_image_vae/__init__.py new file mode 100644 index 0000000..6dab1ea --- /dev/null +++ b/src/mflux/models/z_image/model/z_image_vae/__init__.py @@ -0,0 +1,3 @@ +from mflux.models.z_image.model.z_image_vae.vae import VAE + +__all__ = ["VAE"] diff --git a/src/mflux/models/z_image/model/z_image_vae/common/__init__.py b/src/mflux/models/z_image/model/z_image_vae/common/__init__.py new file mode 100644 index 0000000..244c6d4 --- /dev/null +++ b/src/mflux/models/z_image/model/z_image_vae/common/__init__.py @@ -0,0 +1,5 @@ +from mflux.models.z_image.model.z_image_vae.common.attention import Attention +from mflux.models.z_image.model.z_image_vae.common.resnet_block_2d import ResnetBlock2D +from mflux.models.z_image.model.z_image_vae.common.unet_mid_block import UNetMidBlock + +__all__ = ["Attention", "ResnetBlock2D", "UNetMidBlock"] diff --git a/src/mflux/models/z_image/model/z_image_vae/common/attention.py b/src/mflux/models/z_image/model/z_image_vae/common/attention.py new file mode 100644 index 0000000..ad9278a --- /dev/null +++ b/src/mflux/models/z_image/model/z_image_vae/common/attention.py @@ -0,0 +1,48 @@ +import mlx.core as mx +from mlx import nn +from mlx.core.fast import scaled_dot_product_attention + +from mflux.models.common.config import ModelConfig + + +class Attention(nn.Module): + def __init__(self, channels: int = 512, num_groups: int = 32): + super().__init__() + self.channels = channels + + self.group_norm = nn.GroupNorm( + num_groups=num_groups, + dims=channels, + eps=1e-6, + affine=True, + pytorch_compatible=True, + ) + self.to_q = nn.Linear(channels, channels) + self.to_k = nn.Linear(channels, channels) + self.to_v = nn.Linear(channels, channels) + self.to_out = [nn.Linear(channels, channels)] + + def __call__(self, input_array: mx.array) -> mx.array: + input_array = mx.transpose(input_array, (0, 2, 3, 1)) + B, H, W, C = input_array.shape + + # Group norm + hidden_states = self.group_norm(input_array.astype(mx.float32)).astype(ModelConfig.precision) + + # QKV projections - reshape for attention + queries = self.to_q(hidden_states).reshape(B, H * W, 1, C) + keys = self.to_k(hidden_states).reshape(B, H * W, 1, C) + values = self.to_v(hidden_states).reshape(B, H * W, 1, C) + + # Transpose to (B, num_heads, seq_len, head_dim) + queries = mx.transpose(queries, (0, 2, 1, 3)) + keys = mx.transpose(keys, (0, 2, 1, 3)) + values = mx.transpose(values, (0, 2, 1, 3)) + + # Scaled dot product attention + scale = 1.0 / mx.sqrt(mx.array(queries.shape[-1], dtype=queries.dtype)) + hidden_states = scaled_dot_product_attention(queries, keys, values, scale=scale) + hidden_states = mx.transpose(hidden_states, (0, 2, 1, 3)).reshape(B, H, W, C) + hidden_states = self.to_out[0](hidden_states) + output = input_array + hidden_states + return mx.transpose(output, (0, 3, 1, 2)) diff --git a/src/mflux/models/z_image/model/z_image_vae/common/resnet_block_2d.py b/src/mflux/models/z_image/model/z_image_vae/common/resnet_block_2d.py new file mode 100644 index 0000000..d3f09ab --- /dev/null +++ b/src/mflux/models/z_image/model/z_image_vae/common/resnet_block_2d.py @@ -0,0 +1,70 @@ +import mlx.core as mx +from mlx import nn + + +class ResnetBlock2D(nn.Module): + def __init__( + self, + in_channels: int, + out_channels: int, + use_conv_shortcut: bool = False, + ): + super().__init__() + self.in_channels = in_channels + self.out_channels = out_channels + self.use_conv_shortcut = use_conv_shortcut + + self.norm1 = nn.GroupNorm( + num_groups=32, + dims=in_channels, + eps=1e-6, + affine=True, + pytorch_compatible=True, + ) + self.conv1 = nn.Conv2d( + in_channels=in_channels, + out_channels=out_channels, + kernel_size=3, + stride=1, + padding=1, + ) + self.norm2 = nn.GroupNorm( + num_groups=32, + dims=out_channels, + eps=1e-6, + affine=True, + pytorch_compatible=True, + ) + self.conv2 = nn.Conv2d( + in_channels=out_channels, + out_channels=out_channels, + kernel_size=3, + stride=1, + padding=1, + ) + + # Skip connection with 1x1 conv if channels change + if use_conv_shortcut or in_channels != out_channels: + self.conv_shortcut = nn.Conv2d( + in_channels=in_channels, + out_channels=out_channels, + kernel_size=1, + stride=1, + ) + else: + self.conv_shortcut = None + + def __call__(self, input_array: mx.array) -> mx.array: + input_array = mx.transpose(input_array, (0, 2, 3, 1)) + hidden_states = self.norm1(input_array) + hidden_states = nn.silu(hidden_states) + hidden_states = self.conv1(hidden_states) + hidden_states = self.norm2(hidden_states) + hidden_states = nn.silu(hidden_states) + hidden_states = self.conv2(hidden_states) + + if self.conv_shortcut is not None: + input_array = self.conv_shortcut(input_array) + + output = input_array + hidden_states + return mx.transpose(output, (0, 3, 1, 2)) diff --git a/src/mflux/models/z_image/model/z_image_vae/common/unet_mid_block.py b/src/mflux/models/z_image/model/z_image_vae/common/unet_mid_block.py new file mode 100644 index 0000000..b0f7db3 --- /dev/null +++ b/src/mflux/models/z_image/model/z_image_vae/common/unet_mid_block.py @@ -0,0 +1,21 @@ +import mlx.core as mx +from mlx import nn + +from mflux.models.z_image.model.z_image_vae.common.attention import Attention +from mflux.models.z_image.model.z_image_vae.common.resnet_block_2d import ResnetBlock2D + + +class UNetMidBlock(nn.Module): + def __init__(self, channels: int = 512): + super().__init__() + self.attentions = [Attention(channels=channels)] + self.resnets = [ + ResnetBlock2D(in_channels=channels, out_channels=channels), + ResnetBlock2D(in_channels=channels, out_channels=channels), + ] + + def __call__(self, hidden_states: mx.array) -> mx.array: + hidden_states = self.resnets[0](hidden_states) + hidden_states = self.attentions[0](hidden_states) + hidden_states = self.resnets[1](hidden_states) + return hidden_states diff --git a/src/mflux/models/z_image/model/z_image_vae/decoder/__init__.py b/src/mflux/models/z_image/model/z_image_vae/decoder/__init__.py new file mode 100644 index 0000000..5e7fa85 --- /dev/null +++ b/src/mflux/models/z_image/model/z_image_vae/decoder/__init__.py @@ -0,0 +1,3 @@ +from mflux.models.z_image.model.z_image_vae.decoder.decoder import Decoder + +__all__ = ["Decoder"] diff --git a/src/mflux/models/z_image/model/z_image_vae/decoder/conv_in.py b/src/mflux/models/z_image/model/z_image_vae/decoder/conv_in.py new file mode 100644 index 0000000..8a23daa --- /dev/null +++ b/src/mflux/models/z_image/model/z_image_vae/decoder/conv_in.py @@ -0,0 +1,19 @@ +import mlx.core as mx +from mlx import nn + + +class ConvIn(nn.Module): + def __init__(self, in_channels: int = 16, out_channels: int = 512): + super().__init__() + self.conv = nn.Conv2d( + in_channels=in_channels, + out_channels=out_channels, + kernel_size=3, + stride=1, + padding=1, + ) + + def __call__(self, input_array: mx.array) -> mx.array: + input_array = mx.transpose(input_array, (0, 2, 3, 1)) + hidden_states = self.conv(input_array) + return mx.transpose(hidden_states, (0, 3, 1, 2)) diff --git a/src/mflux/models/z_image/model/z_image_vae/decoder/conv_norm_out.py b/src/mflux/models/z_image/model/z_image_vae/decoder/conv_norm_out.py new file mode 100644 index 0000000..ab4893a --- /dev/null +++ b/src/mflux/models/z_image/model/z_image_vae/decoder/conv_norm_out.py @@ -0,0 +1,21 @@ +import mlx.core as mx +from mlx import nn + +from mflux.models.common.config import ModelConfig + + +class ConvNormOut(nn.Module): + def __init__(self, channels: int = 128): + super().__init__() + self.norm = nn.GroupNorm( + num_groups=32, + dims=channels, + eps=1e-6, + affine=True, + pytorch_compatible=True, + ) + + def __call__(self, input_array: mx.array) -> mx.array: + input_array = mx.transpose(input_array, (0, 2, 3, 1)) + hidden_states = self.norm(input_array.astype(mx.float32)).astype(ModelConfig.precision) + return mx.transpose(hidden_states, (0, 3, 1, 2)) diff --git a/src/mflux/models/z_image/model/z_image_vae/decoder/conv_out.py b/src/mflux/models/z_image/model/z_image_vae/decoder/conv_out.py new file mode 100644 index 0000000..001f4fe --- /dev/null +++ b/src/mflux/models/z_image/model/z_image_vae/decoder/conv_out.py @@ -0,0 +1,19 @@ +import mlx.core as mx +from mlx import nn + + +class ConvOut(nn.Module): + def __init__(self, in_channels: int = 128, out_channels: int = 3): + super().__init__() + self.conv = nn.Conv2d( + in_channels=in_channels, + out_channels=out_channels, + kernel_size=3, + stride=1, + padding=1, + ) + + def __call__(self, input_array: mx.array) -> mx.array: + input_array = mx.transpose(input_array, (0, 2, 3, 1)) + hidden_states = self.conv(input_array) + return mx.transpose(hidden_states, (0, 3, 1, 2)) diff --git a/src/mflux/models/z_image/model/z_image_vae/decoder/decoder.py b/src/mflux/models/z_image/model/z_image_vae/decoder/decoder.py new file mode 100644 index 0000000..2078e04 --- /dev/null +++ b/src/mflux/models/z_image/model/z_image_vae/decoder/decoder.py @@ -0,0 +1,36 @@ +import mlx.core as mx +from mlx import nn + +from mflux.models.z_image.model.z_image_vae.common.unet_mid_block import UNetMidBlock +from mflux.models.z_image.model.z_image_vae.decoder.conv_in import ConvIn +from mflux.models.z_image.model.z_image_vae.decoder.conv_norm_out import ConvNormOut +from mflux.models.z_image.model.z_image_vae.decoder.conv_out import ConvOut +from mflux.models.z_image.model.z_image_vae.decoder.up_decoder_block import UpDecoderBlock + + +class Decoder(nn.Module): + def __init__(self): + super().__init__() + self.conv_in = ConvIn(in_channels=16, out_channels=512) + self.mid_block = UNetMidBlock(channels=512) + self.up_blocks = [ + UpDecoderBlock(in_channels=512, out_channels=512, num_layers=3, add_upsample=True), + UpDecoderBlock(in_channels=512, out_channels=512, num_layers=3, add_upsample=True), + UpDecoderBlock(in_channels=512, out_channels=256, num_layers=3, add_upsample=True), + UpDecoderBlock(in_channels=256, out_channels=128, num_layers=3, add_upsample=False), + ] + + self.conv_norm_out = ConvNormOut(channels=128) + self.conv_out = ConvOut(in_channels=128, out_channels=3) + + def __call__(self, latents: mx.array) -> mx.array: + hidden_states = self.conv_in(latents) + hidden_states = self.mid_block(hidden_states) + + for up_block in self.up_blocks: + hidden_states = up_block(hidden_states) + + hidden_states = self.conv_norm_out(hidden_states) + hidden_states = nn.silu(hidden_states) + hidden_states = self.conv_out(hidden_states) + return hidden_states diff --git a/src/mflux/models/z_image/model/z_image_vae/decoder/up_decoder_block.py b/src/mflux/models/z_image/model/z_image_vae/decoder/up_decoder_block.py new file mode 100644 index 0000000..c637d9f --- /dev/null +++ b/src/mflux/models/z_image/model/z_image_vae/decoder/up_decoder_block.py @@ -0,0 +1,47 @@ +import mlx.core as mx +from mlx import nn + +from mflux.models.z_image.model.z_image_vae.common.resnet_block_2d import ResnetBlock2D +from mflux.models.z_image.model.z_image_vae.decoder.up_sampler import UpSampler + + +class UpDecoderBlock(nn.Module): + def __init__( + self, + in_channels: int, + out_channels: int, + num_layers: int = 3, + add_upsample: bool = True, + ): + super().__init__() + self.add_upsample = add_upsample + + # Build ResNet blocks + resnets = [] + for i in range(num_layers): + input_ch = in_channels if i == 0 else out_channels + use_shortcut = (i == 0) and (in_channels != out_channels) + resnets.append( + ResnetBlock2D( + in_channels=input_ch, + out_channels=out_channels, + use_conv_shortcut=use_shortcut, + ) + ) + self.resnets = resnets + + # Upsampler + if add_upsample: + self.upsamplers = [UpSampler(in_channels=out_channels, out_channels=out_channels)] + else: + self.upsamplers = None + + def __call__(self, hidden_states: mx.array) -> mx.array: + for resnet in self.resnets: + hidden_states = resnet(hidden_states) + + if self.upsamplers is not None: + for upsampler in self.upsamplers: + hidden_states = upsampler(hidden_states) + + return hidden_states diff --git a/src/mflux/models/z_image/model/z_image_vae/decoder/up_sampler.py b/src/mflux/models/z_image/model/z_image_vae/decoder/up_sampler.py new file mode 100644 index 0000000..dde2f10 --- /dev/null +++ b/src/mflux/models/z_image/model/z_image_vae/decoder/up_sampler.py @@ -0,0 +1,27 @@ +import mlx.core as mx +from mlx import nn + + +class UpSampler(nn.Module): + def __init__(self, in_channels: int, out_channels: int): + super().__init__() + self.conv = nn.Conv2d( + in_channels=in_channels, + out_channels=out_channels, + kernel_size=3, + stride=1, + padding=1, + ) + + def __call__(self, input_array: mx.array) -> mx.array: + input_array = mx.transpose(input_array, (0, 2, 3, 1)) + hidden_states = self._upsample_nearest(input_array, scale=2) + hidden_states = self.conv(hidden_states) + return mx.transpose(hidden_states, (0, 3, 1, 2)) + + @staticmethod + def _upsample_nearest(x: mx.array, scale: int = 2) -> mx.array: + B, H, W, C = x.shape + x = mx.broadcast_to(x[:, :, None, :, None, :], (B, H, scale, W, scale, C)) + x = x.reshape(B, H * scale, W * scale, C) + return x diff --git a/src/mflux/models/z_image/model/z_image_vae/encoder/__init__.py b/src/mflux/models/z_image/model/z_image_vae/encoder/__init__.py new file mode 100644 index 0000000..7c037ba --- /dev/null +++ b/src/mflux/models/z_image/model/z_image_vae/encoder/__init__.py @@ -0,0 +1,3 @@ +from mflux.models.z_image.model.z_image_vae.encoder.encoder import Encoder + +__all__ = ["Encoder"] diff --git a/src/mflux/models/z_image/model/z_image_vae/encoder/conv_in.py b/src/mflux/models/z_image/model/z_image_vae/encoder/conv_in.py new file mode 100644 index 0000000..1737c95 --- /dev/null +++ b/src/mflux/models/z_image/model/z_image_vae/encoder/conv_in.py @@ -0,0 +1,19 @@ +import mlx.core as mx +from mlx import nn + + +class ConvIn(nn.Module): + def __init__(self, in_channels: int = 3, out_channels: int = 128): + super().__init__() + self.conv2d = nn.Conv2d( + in_channels=in_channels, + out_channels=out_channels, + kernel_size=3, + stride=1, + padding=1, + ) + + def __call__(self, input_array: mx.array) -> mx.array: + input_array = mx.transpose(input_array, (0, 2, 3, 1)) + output = self.conv2d(input_array) + return mx.transpose(output, (0, 3, 1, 2)) diff --git a/src/mflux/models/z_image/model/z_image_vae/encoder/conv_norm_out.py b/src/mflux/models/z_image/model/z_image_vae/encoder/conv_norm_out.py new file mode 100644 index 0000000..f7ff10f --- /dev/null +++ b/src/mflux/models/z_image/model/z_image_vae/encoder/conv_norm_out.py @@ -0,0 +1,15 @@ +import mlx.core as mx +from mlx import nn + + +class ConvNormOut(nn.Module): + def __init__(self, num_channels: int = 512, num_groups: int = 32): + super().__init__() + self.norm = nn.GroupNorm( + num_groups=num_groups, dims=num_channels, eps=1e-6, affine=True, pytorch_compatible=True + ) + + def __call__(self, input_array: mx.array) -> mx.array: + input_array = mx.transpose(input_array, (0, 2, 3, 1)) + output = self.norm(input_array) + return mx.transpose(output, (0, 3, 1, 2)) diff --git a/src/mflux/models/z_image/model/z_image_vae/encoder/conv_out.py b/src/mflux/models/z_image/model/z_image_vae/encoder/conv_out.py new file mode 100644 index 0000000..a587c01 --- /dev/null +++ b/src/mflux/models/z_image/model/z_image_vae/encoder/conv_out.py @@ -0,0 +1,19 @@ +import mlx.core as mx +from mlx import nn + + +class ConvOut(nn.Module): + def __init__(self, in_channels: int = 512, out_channels: int = 32): + super().__init__() + self.conv2d = nn.Conv2d( + in_channels=in_channels, + out_channels=out_channels, + kernel_size=3, + stride=1, + padding=1, + ) + + def __call__(self, input_array: mx.array) -> mx.array: + input_array = mx.transpose(input_array, (0, 2, 3, 1)) + output = self.conv2d(input_array) + return mx.transpose(output, (0, 3, 1, 2)) diff --git a/src/mflux/models/z_image/model/z_image_vae/encoder/down_encoder_block.py b/src/mflux/models/z_image/model/z_image_vae/encoder/down_encoder_block.py new file mode 100644 index 0000000..efad39c --- /dev/null +++ b/src/mflux/models/z_image/model/z_image_vae/encoder/down_encoder_block.py @@ -0,0 +1,41 @@ +import mlx.core as mx +from mlx import nn + +from mflux.models.z_image.model.z_image_vae.common.resnet_block_2d import ResnetBlock2D +from mflux.models.z_image.model.z_image_vae.encoder.down_sampler import DownSampler + + +class DownEncoderBlock(nn.Module): + def __init__( + self, + in_channels: int, + out_channels: int, + num_layers: int = 2, + add_downsample: bool = True, + ): + super().__init__() + + # Create ResNet blocks + self.resnets = [] + for i in range(num_layers): + res_in_channels = in_channels if i == 0 else out_channels + self.resnets.append( + ResnetBlock2D( + in_channels=res_in_channels, + out_channels=out_channels, + ) + ) + + if add_downsample: + self.downsamplers = [DownSampler(in_channels=out_channels, out_channels=out_channels)] + else: + self.downsamplers = None + + def __call__(self, hidden_states: mx.array) -> mx.array: + for resnet in self.resnets: + hidden_states = resnet(hidden_states) + + if self.downsamplers is not None: + hidden_states = self.downsamplers[0](hidden_states) + + return hidden_states diff --git a/src/mflux/models/z_image/model/z_image_vae/encoder/down_sampler.py b/src/mflux/models/z_image/model/z_image_vae/encoder/down_sampler.py new file mode 100644 index 0000000..2ac23c6 --- /dev/null +++ b/src/mflux/models/z_image/model/z_image_vae/encoder/down_sampler.py @@ -0,0 +1,20 @@ +import mlx.core as mx +from mlx import nn + + +class DownSampler(nn.Module): + def __init__(self, in_channels: int, out_channels: int): + super().__init__() + self.conv = nn.Conv2d( + in_channels=in_channels, + out_channels=out_channels, + kernel_size=3, + stride=2, + padding=0, + ) + + def __call__(self, input_array: mx.array) -> mx.array: + hidden_states = mx.pad(input_array, ((0, 0), (0, 0), (0, 1), (0, 1))) + hidden_states = mx.transpose(hidden_states, (0, 2, 3, 1)) + hidden_states = self.conv(hidden_states) + return mx.transpose(hidden_states, (0, 3, 1, 2)) diff --git a/src/mflux/models/z_image/model/z_image_vae/encoder/encoder.py b/src/mflux/models/z_image/model/z_image_vae/encoder/encoder.py new file mode 100644 index 0000000..65145d9 --- /dev/null +++ b/src/mflux/models/z_image/model/z_image_vae/encoder/encoder.py @@ -0,0 +1,35 @@ +import mlx.core as mx +from mlx import nn + +from mflux.models.z_image.model.z_image_vae.common.unet_mid_block import UNetMidBlock +from mflux.models.z_image.model.z_image_vae.encoder.conv_in import ConvIn +from mflux.models.z_image.model.z_image_vae.encoder.conv_norm_out import ConvNormOut +from mflux.models.z_image.model.z_image_vae.encoder.conv_out import ConvOut +from mflux.models.z_image.model.z_image_vae.encoder.down_encoder_block import DownEncoderBlock + + +class Encoder(nn.Module): + def __init__(self): + super().__init__() + self.conv_in = ConvIn(in_channels=3, out_channels=128) + self.down_blocks = [ + DownEncoderBlock(in_channels=128, out_channels=128, num_layers=2, add_downsample=True), + DownEncoderBlock(in_channels=128, out_channels=256, num_layers=2, add_downsample=True), + DownEncoderBlock(in_channels=256, out_channels=512, num_layers=2, add_downsample=True), + DownEncoderBlock(in_channels=512, out_channels=512, num_layers=2, add_downsample=False), + ] + self.mid_block = UNetMidBlock(channels=512) + self.conv_norm_out = ConvNormOut(num_channels=512, num_groups=32) + self.conv_out = ConvOut(in_channels=512, out_channels=32) # 2 * 16 latent channels + + def __call__(self, sample: mx.array) -> mx.array: + sample = self.conv_in(sample) + + for down_block in self.down_blocks: + sample = down_block(sample) + + sample = self.mid_block(sample) + sample = self.conv_norm_out(sample) + sample = nn.silu(sample) + sample = self.conv_out(sample) + return sample diff --git a/src/mflux/models/z_image/model/z_image_vae/vae.py b/src/mflux/models/z_image/model/z_image_vae/vae.py new file mode 100644 index 0000000..bc082f0 --- /dev/null +++ b/src/mflux/models/z_image/model/z_image_vae/vae.py @@ -0,0 +1,24 @@ +import mlx.core as mx +from mlx import nn + +from mflux.models.z_image.model.z_image_vae.decoder.decoder import Decoder +from mflux.models.z_image.model.z_image_vae.encoder.encoder import Encoder + + +class VAE(nn.Module): + scaling_factor: float = 0.3611 + shift_factor: float = 0.1159 + + def __init__(self): + super().__init__() + self.encoder = Encoder() + self.decoder = Decoder() + + def encode(self, image: mx.array) -> mx.array: + h = self.encoder(image) + mean, _ = mx.split(h, 2, axis=1) + return (mean - self.shift_factor) * self.scaling_factor + + def decode(self, latents: mx.array) -> mx.array: + scaled_latents = (latents / self.scaling_factor) + self.shift_factor + return self.decoder(scaled_latents) diff --git a/src/mflux/models/z_image/variants/__init__.py b/src/mflux/models/z_image/variants/__init__.py new file mode 100644 index 0000000..e53172a --- /dev/null +++ b/src/mflux/models/z_image/variants/__init__.py @@ -0,0 +1,3 @@ +from mflux.models.z_image.variants.turbo import ZImageTurbo + +__all__ = ["ZImageTurbo"] diff --git a/src/mflux/models/z_image/variants/turbo/__init__.py b/src/mflux/models/z_image/variants/turbo/__init__.py new file mode 100644 index 0000000..e5f3e38 --- /dev/null +++ b/src/mflux/models/z_image/variants/turbo/__init__.py @@ -0,0 +1,3 @@ +from mflux.models.z_image.variants.turbo.z_image_turbo import ZImageTurbo + +__all__ = ["ZImageTurbo"] diff --git a/src/mflux/models/z_image/variants/turbo/z_image_turbo.py b/src/mflux/models/z_image/variants/turbo/z_image_turbo.py new file mode 100644 index 0000000..9a63753 --- /dev/null +++ b/src/mflux/models/z_image/variants/turbo/z_image_turbo.py @@ -0,0 +1,141 @@ +from pathlib import Path + +import mlx.core as mx +from mlx import nn +from PIL import Image + +from mflux.models.common.config.config import Config +from mflux.models.common.config.model_config import ModelConfig +from mflux.models.common.latent_creator.latent_creator import Img2Img, LatentCreator +from mflux.models.common.weights.saving.model_saver import ModelSaver +from mflux.models.z_image.latent_creator import ZImageLatentCreator +from mflux.models.z_image.model.z_image_text_encoder.prompt_encoder import PromptEncoder +from mflux.models.z_image.model.z_image_text_encoder.text_encoder import TextEncoder +from mflux.models.z_image.model.z_image_transformer.transformer import ZImageTransformer +from mflux.models.z_image.model.z_image_vae.vae import VAE +from mflux.models.z_image.weights.z_image_weight_definition import ZImageWeightDefinition +from mflux.models.z_image.z_image_initializer import ZImageInitializer +from mflux.utils.exceptions import StopImageGenerationException +from mflux.utils.image_util import ImageUtil + + +class ZImageTurbo(nn.Module): + vae: VAE + text_encoder: TextEncoder + transformer: ZImageTransformer + + def __init__( + self, + quantize: int | None = None, + model_path: str | None = None, + lora_paths: list[str] | None = None, + lora_scales: list[float] | None = None, + model_config: ModelConfig = ModelConfig.z_image_turbo(), + ): + super().__init__() + ZImageInitializer.init( + model=self, + quantize=quantize, + model_path=model_path, + lora_paths=lora_paths, + lora_scales=lora_scales, + model_config=model_config, + ) + + def generate_image( + self, + seed: int, + prompt: str, + num_inference_steps: int = 4, + height: int = 1024, + width: int = 1024, + image_path: Path | str | None = None, + image_strength: float | None = None, + scheduler: str = "linear", + ) -> Image.Image: + # 0. Create a new config based on the model type and input parameters + config = Config( + width=width, + height=height, + guidance=0.0, # Turbo model uses no guidance + scheduler=scheduler, + image_path=image_path, + image_strength=image_strength, + model_config=self.model_config, + num_inference_steps=num_inference_steps, + ) + + # 1. Create the initial latents + latents = LatentCreator.create_for_txt2img_or_img2img( + seed=seed, + width=config.width, + height=config.height, + img2img=Img2Img( + vae=self.vae, + latent_creator=ZImageLatentCreator, + image_path=config.image_path, + sigmas=config.scheduler.sigmas, + init_time_step=config.init_time_step, + ), + ) + + # 2. Encode the prompt + text_encodings = PromptEncoder.encode_prompt( + prompt=prompt, + tokenizer=self.tokenizers["z_image"], + text_encoder=self.text_encoder, + ) + + # 3. Create callback context and call before_loop + ctx = self.callbacks.start(seed=seed, prompt=prompt, config=config) + ctx.before_loop(latents) + + for t in config.time_steps: + try: + # 4.t Predict the noise + noise = self.transformer( + t=t, + x=latents, + cap_feats=text_encodings, + sigmas=config.scheduler.sigmas, + ) + + # 5.t Take one denoise step + latents = config.scheduler.step(noise=noise, timestep=t, latents=latents) + + # 6.t Call subscribers in-loop + ctx.in_loop(t, latents) + + # (Optional) Evaluate to enable progress tracking + mx.eval(latents) + + except KeyboardInterrupt: # noqa: PERF203 + ctx.interruption(t, latents) + raise StopImageGenerationException( + f"Stopping image generation at step {t + 1}/{config.num_inference_steps}" + ) + + # 7. Call subscribers after loop + ctx.after_loop(latents) + + # 8. Decode the latents and return the image + latents = ZImageLatentCreator.unpack_latents(latents, config.height, config.width) + decoded = self.vae.decode(latents) + return ImageUtil.to_image( + decoded_latents=decoded, + config=config, + seed=seed, + prompt=prompt, + quantization=self.bits, + lora_paths=self.lora_paths, + lora_scales=self.lora_scales, + generation_time=config.time_steps.format_dict["elapsed"], + ) + + def save_model(self, base_path: str) -> None: + ModelSaver.save_model( + model=self, + bits=self.bits, + base_path=base_path, + weight_definition=ZImageWeightDefinition, + ) diff --git a/src/mflux/models/z_image/weights/__init__.py b/src/mflux/models/z_image/weights/__init__.py new file mode 100644 index 0000000..86abc38 --- /dev/null +++ b/src/mflux/models/z_image/weights/__init__.py @@ -0,0 +1,4 @@ +from mflux.models.z_image.weights.z_image_weight_definition import ZImageWeightDefinition +from mflux.models.z_image.weights.z_image_weight_mapping import ZImageWeightMapping + +__all__ = ["ZImageWeightDefinition", "ZImageWeightMapping"] diff --git a/src/mflux/models/z_image/weights/z_image_lora_mapping.py b/src/mflux/models/z_image/weights/z_image_lora_mapping.py new file mode 100644 index 0000000..1b4c95e --- /dev/null +++ b/src/mflux/models/z_image/weights/z_image_lora_mapping.py @@ -0,0 +1,154 @@ +from mflux.models.common.lora.mapping.lora_mapping import LoRAMapping, LoRATarget + + +class ZImageLoRAMapping(LoRAMapping): + @staticmethod + def get_mapping() -> list[LoRATarget]: + targets = [] + + # Generate mappings for all layer types + for layer_type in ["layers", "noise_refiner", "context_refiner"]: + targets.extend(ZImageLoRAMapping._get_layer_targets(layer_type)) + + return targets + + @staticmethod + def _get_layer_targets(layer_type: str) -> list[LoRATarget]: + return [ + LoRATarget( + model_path=f"{layer_type}.{{block}}.adaLN_modulation.0", + possible_up_patterns=[ + f"diffusion_model.{layer_type}.{{block}}.adaLN_modulation.0.lora_B.weight", + f"{layer_type}.{{block}}.adaLN_modulation.0.lora_B.weight", + f"{layer_type}.{{block}}.adaLN_modulation.0.lora_up.weight", + ], + possible_down_patterns=[ + f"diffusion_model.{layer_type}.{{block}}.adaLN_modulation.0.lora_A.weight", + f"{layer_type}.{{block}}.adaLN_modulation.0.lora_A.weight", + f"{layer_type}.{{block}}.adaLN_modulation.0.lora_down.weight", + ], + possible_alpha_patterns=[ + f"diffusion_model.{layer_type}.{{block}}.adaLN_modulation.0.alpha", + f"{layer_type}.{{block}}.adaLN_modulation.0.alpha", + ], + ), + LoRATarget( + model_path=f"{layer_type}.{{block}}.attention.to_q", + possible_up_patterns=[ + f"diffusion_model.{layer_type}.{{block}}.attention.to_q.lora_B.weight", + f"{layer_type}.{{block}}.attention.to_q.lora_B.weight", + f"{layer_type}.{{block}}.attention.to_q.lora_up.weight", + ], + possible_down_patterns=[ + f"diffusion_model.{layer_type}.{{block}}.attention.to_q.lora_A.weight", + f"{layer_type}.{{block}}.attention.to_q.lora_A.weight", + f"{layer_type}.{{block}}.attention.to_q.lora_down.weight", + ], + possible_alpha_patterns=[ + f"diffusion_model.{layer_type}.{{block}}.attention.to_q.alpha", + f"{layer_type}.{{block}}.attention.to_q.alpha", + ], + ), + LoRATarget( + model_path=f"{layer_type}.{{block}}.attention.to_k", + possible_up_patterns=[ + f"diffusion_model.{layer_type}.{{block}}.attention.to_k.lora_B.weight", + f"{layer_type}.{{block}}.attention.to_k.lora_B.weight", + f"{layer_type}.{{block}}.attention.to_k.lora_up.weight", + ], + possible_down_patterns=[ + f"diffusion_model.{layer_type}.{{block}}.attention.to_k.lora_A.weight", + f"{layer_type}.{{block}}.attention.to_k.lora_A.weight", + f"{layer_type}.{{block}}.attention.to_k.lora_down.weight", + ], + possible_alpha_patterns=[ + f"diffusion_model.{layer_type}.{{block}}.attention.to_k.alpha", + f"{layer_type}.{{block}}.attention.to_k.alpha", + ], + ), + LoRATarget( + model_path=f"{layer_type}.{{block}}.attention.to_v", + possible_up_patterns=[ + f"diffusion_model.{layer_type}.{{block}}.attention.to_v.lora_B.weight", + f"{layer_type}.{{block}}.attention.to_v.lora_B.weight", + f"{layer_type}.{{block}}.attention.to_v.lora_up.weight", + ], + possible_down_patterns=[ + f"diffusion_model.{layer_type}.{{block}}.attention.to_v.lora_A.weight", + f"{layer_type}.{{block}}.attention.to_v.lora_A.weight", + f"{layer_type}.{{block}}.attention.to_v.lora_down.weight", + ], + possible_alpha_patterns=[ + f"diffusion_model.{layer_type}.{{block}}.attention.to_v.alpha", + f"{layer_type}.{{block}}.attention.to_v.alpha", + ], + ), + LoRATarget( + model_path=f"{layer_type}.{{block}}.attention.to_out.0", + possible_up_patterns=[ + f"diffusion_model.{layer_type}.{{block}}.attention.to_out.0.lora_B.weight", + f"{layer_type}.{{block}}.attention.to_out.0.lora_B.weight", + f"{layer_type}.{{block}}.attention.to_out.0.lora_up.weight", + ], + possible_down_patterns=[ + f"diffusion_model.{layer_type}.{{block}}.attention.to_out.0.lora_A.weight", + f"{layer_type}.{{block}}.attention.to_out.0.lora_A.weight", + f"{layer_type}.{{block}}.attention.to_out.0.lora_down.weight", + ], + possible_alpha_patterns=[ + f"diffusion_model.{layer_type}.{{block}}.attention.to_out.0.alpha", + f"{layer_type}.{{block}}.attention.to_out.0.alpha", + ], + ), + LoRATarget( + model_path=f"{layer_type}.{{block}}.feed_forward.w1", + possible_up_patterns=[ + f"diffusion_model.{layer_type}.{{block}}.feed_forward.w1.lora_B.weight", + f"{layer_type}.{{block}}.feed_forward.w1.lora_B.weight", + f"{layer_type}.{{block}}.feed_forward.w1.lora_up.weight", + ], + possible_down_patterns=[ + f"diffusion_model.{layer_type}.{{block}}.feed_forward.w1.lora_A.weight", + f"{layer_type}.{{block}}.feed_forward.w1.lora_A.weight", + f"{layer_type}.{{block}}.feed_forward.w1.lora_down.weight", + ], + possible_alpha_patterns=[ + f"diffusion_model.{layer_type}.{{block}}.feed_forward.w1.alpha", + f"{layer_type}.{{block}}.feed_forward.w1.alpha", + ], + ), + LoRATarget( + model_path=f"{layer_type}.{{block}}.feed_forward.w2", + possible_up_patterns=[ + f"diffusion_model.{layer_type}.{{block}}.feed_forward.w2.lora_B.weight", + f"{layer_type}.{{block}}.feed_forward.w2.lora_B.weight", + f"{layer_type}.{{block}}.feed_forward.w2.lora_up.weight", + ], + possible_down_patterns=[ + f"diffusion_model.{layer_type}.{{block}}.feed_forward.w2.lora_A.weight", + f"{layer_type}.{{block}}.feed_forward.w2.lora_A.weight", + f"{layer_type}.{{block}}.feed_forward.w2.lora_down.weight", + ], + possible_alpha_patterns=[ + f"diffusion_model.{layer_type}.{{block}}.feed_forward.w2.alpha", + f"{layer_type}.{{block}}.feed_forward.w2.alpha", + ], + ), + LoRATarget( + model_path=f"{layer_type}.{{block}}.feed_forward.w3", + possible_up_patterns=[ + f"diffusion_model.{layer_type}.{{block}}.feed_forward.w3.lora_B.weight", + f"{layer_type}.{{block}}.feed_forward.w3.lora_B.weight", + f"{layer_type}.{{block}}.feed_forward.w3.lora_up.weight", + ], + possible_down_patterns=[ + f"diffusion_model.{layer_type}.{{block}}.feed_forward.w3.lora_A.weight", + f"{layer_type}.{{block}}.feed_forward.w3.lora_A.weight", + f"{layer_type}.{{block}}.feed_forward.w3.lora_down.weight", + ], + possible_alpha_patterns=[ + f"diffusion_model.{layer_type}.{{block}}.feed_forward.w3.alpha", + f"{layer_type}.{{block}}.feed_forward.w3.alpha", + ], + ), + ] diff --git a/src/mflux/models/z_image/weights/z_image_weight_definition.py b/src/mflux/models/z_image/weights/z_image_weight_definition.py new file mode 100644 index 0000000..878843f --- /dev/null +++ b/src/mflux/models/z_image/weights/z_image_weight_definition.py @@ -0,0 +1,65 @@ +from typing import List + +from mflux.models.common.config.model_config import ModelConfig +from mflux.models.common.tokenizer import LanguageTokenizer +from mflux.models.common.weights.loading.weight_definition import ComponentDefinition, TokenizerDefinition +from mflux.models.z_image.weights.z_image_weight_mapping import ZImageWeightMapping + + +class ZImageWeightDefinition: + @staticmethod + def get_components() -> List[ComponentDefinition]: + return [ + ComponentDefinition( + name="vae", + hf_subdir="vae", + num_blocks=4, + precision=ModelConfig.precision, + mapping_getter=ZImageWeightMapping.get_vae_mapping, + ), + ComponentDefinition( + name="transformer", + hf_subdir="transformer", + num_layers=30, + precision=ModelConfig.precision, + mapping_getter=ZImageWeightMapping.get_transformer_mapping, + ), + ComponentDefinition( + name="text_encoder", + hf_subdir="text_encoder", + num_layers=36, + precision=ModelConfig.precision, + mapping_getter=ZImageWeightMapping.get_text_encoder_mapping, + ), + ] + + @staticmethod + def get_tokenizers() -> List[TokenizerDefinition]: + return [ + TokenizerDefinition( + name="z_image", + hf_subdir="tokenizer", + tokenizer_class="AutoTokenizer", + encoder_class=LanguageTokenizer, + max_length=512, + use_chat_template=True, + chat_template_kwargs={"enable_thinking": True}, + download_patterns=["tokenizer/*"], + ), + ] + + @staticmethod + def get_download_patterns() -> List[str]: + return [ + "vae/*.safetensors", + "vae/*.json", + "transformer/*.safetensors", + "transformer/*.json", + "text_encoder/*.safetensors", + "text_encoder/*.json", + "tokenizer/*", + ] + + @staticmethod + def quantization_predicate(path: str, module) -> bool: + return hasattr(module, "to_quantized") diff --git a/src/mflux/models/z_image/weights/z_image_weight_mapping.py b/src/mflux/models/z_image/weights/z_image_weight_mapping.py new file mode 100644 index 0000000..8e4053a --- /dev/null +++ b/src/mflux/models/z_image/weights/z_image_weight_mapping.py @@ -0,0 +1,615 @@ +from mflux.models.common.weights.mapping.weight_mapping import WeightMapping, WeightTarget +from mflux.models.common.weights.mapping.weight_transforms import WeightTransforms + + +class ZImageWeightMapping(WeightMapping): + @staticmethod + def get_text_encoder_mapping() -> list[WeightTarget]: + return [ + WeightTarget( + to_pattern="embed_tokens.weight", + from_pattern=["model.embed_tokens.weight"], + ), + WeightTarget( + to_pattern="norm.weight", + from_pattern=["model.norm.weight"], + ), + WeightTarget( + to_pattern="layers.{layer}.input_layernorm.weight", + from_pattern=["model.layers.{layer}.input_layernorm.weight"], + ), + WeightTarget( + to_pattern="layers.{layer}.post_attention_layernorm.weight", + from_pattern=["model.layers.{layer}.post_attention_layernorm.weight"], + ), + WeightTarget( + to_pattern="layers.{layer}.self_attn.q_proj.weight", + from_pattern=["model.layers.{layer}.self_attn.q_proj.weight"], + ), + WeightTarget( + to_pattern="layers.{layer}.self_attn.k_proj.weight", + from_pattern=["model.layers.{layer}.self_attn.k_proj.weight"], + ), + WeightTarget( + to_pattern="layers.{layer}.self_attn.v_proj.weight", + from_pattern=["model.layers.{layer}.self_attn.v_proj.weight"], + ), + WeightTarget( + to_pattern="layers.{layer}.self_attn.o_proj.weight", + from_pattern=["model.layers.{layer}.self_attn.o_proj.weight"], + ), + WeightTarget( + to_pattern="layers.{layer}.self_attn.q_norm.weight", + from_pattern=["model.layers.{layer}.self_attn.q_norm.weight"], + ), + WeightTarget( + to_pattern="layers.{layer}.self_attn.k_norm.weight", + from_pattern=["model.layers.{layer}.self_attn.k_norm.weight"], + ), + WeightTarget( + to_pattern="layers.{layer}.mlp.gate_proj.weight", + from_pattern=["model.layers.{layer}.mlp.gate_proj.weight"], + ), + WeightTarget( + to_pattern="layers.{layer}.mlp.up_proj.weight", + from_pattern=["model.layers.{layer}.mlp.up_proj.weight"], + ), + WeightTarget( + to_pattern="layers.{layer}.mlp.down_proj.weight", + from_pattern=["model.layers.{layer}.mlp.down_proj.weight"], + ), + ] + + @staticmethod + def get_vae_mapping() -> list[WeightTarget]: + return [ + WeightTarget( + to_pattern="encoder.conv_in.conv2d.weight", + from_pattern=["encoder.conv_in.weight"], + transform=WeightTransforms.transpose_conv2d_weight, + ), + WeightTarget( + to_pattern="encoder.conv_in.conv2d.bias", + from_pattern=["encoder.conv_in.bias"], + ), + WeightTarget( + to_pattern="encoder.down_blocks.{block}.resnets.{res}.norm1.weight", + from_pattern=["encoder.down_blocks.{block}.resnets.{res}.norm1.weight"], + ), + WeightTarget( + to_pattern="encoder.down_blocks.{block}.resnets.{res}.norm1.bias", + from_pattern=["encoder.down_blocks.{block}.resnets.{res}.norm1.bias"], + ), + WeightTarget( + to_pattern="encoder.down_blocks.{block}.resnets.{res}.conv1.weight", + from_pattern=["encoder.down_blocks.{block}.resnets.{res}.conv1.weight"], + transform=WeightTransforms.transpose_conv2d_weight, + ), + WeightTarget( + to_pattern="encoder.down_blocks.{block}.resnets.{res}.conv1.bias", + from_pattern=["encoder.down_blocks.{block}.resnets.{res}.conv1.bias"], + ), + WeightTarget( + to_pattern="encoder.down_blocks.{block}.resnets.{res}.norm2.weight", + from_pattern=["encoder.down_blocks.{block}.resnets.{res}.norm2.weight"], + ), + WeightTarget( + to_pattern="encoder.down_blocks.{block}.resnets.{res}.norm2.bias", + from_pattern=["encoder.down_blocks.{block}.resnets.{res}.norm2.bias"], + ), + WeightTarget( + to_pattern="encoder.down_blocks.{block}.resnets.{res}.conv2.weight", + from_pattern=["encoder.down_blocks.{block}.resnets.{res}.conv2.weight"], + transform=WeightTransforms.transpose_conv2d_weight, + ), + WeightTarget( + to_pattern="encoder.down_blocks.{block}.resnets.{res}.conv2.bias", + from_pattern=["encoder.down_blocks.{block}.resnets.{res}.conv2.bias"], + ), + WeightTarget( + to_pattern="encoder.down_blocks.{block}.resnets.{res}.conv_shortcut.weight", + from_pattern=["encoder.down_blocks.{block}.resnets.{res}.conv_shortcut.weight"], + transform=WeightTransforms.transpose_conv2d_weight, + required=False, + ), + WeightTarget( + to_pattern="encoder.down_blocks.{block}.resnets.{res}.conv_shortcut.bias", + from_pattern=["encoder.down_blocks.{block}.resnets.{res}.conv_shortcut.bias"], + required=False, + ), + WeightTarget( + to_pattern="encoder.down_blocks.{block}.downsamplers.0.conv.weight", + from_pattern=["encoder.down_blocks.{block}.downsamplers.0.conv.weight"], + transform=WeightTransforms.transpose_conv2d_weight, + required=False, + ), + WeightTarget( + to_pattern="encoder.down_blocks.{block}.downsamplers.0.conv.bias", + from_pattern=["encoder.down_blocks.{block}.downsamplers.0.conv.bias"], + required=False, + ), + WeightTarget( + to_pattern="encoder.mid_block.resnets.{i}.norm1.weight", + from_pattern=["encoder.mid_block.resnets.{i}.norm1.weight"], + ), + WeightTarget( + to_pattern="encoder.mid_block.resnets.{i}.norm1.bias", + from_pattern=["encoder.mid_block.resnets.{i}.norm1.bias"], + ), + WeightTarget( + to_pattern="encoder.mid_block.resnets.{i}.conv1.weight", + from_pattern=["encoder.mid_block.resnets.{i}.conv1.weight"], + transform=WeightTransforms.transpose_conv2d_weight, + ), + WeightTarget( + to_pattern="encoder.mid_block.resnets.{i}.conv1.bias", + from_pattern=["encoder.mid_block.resnets.{i}.conv1.bias"], + ), + WeightTarget( + to_pattern="encoder.mid_block.resnets.{i}.norm2.weight", + from_pattern=["encoder.mid_block.resnets.{i}.norm2.weight"], + ), + WeightTarget( + to_pattern="encoder.mid_block.resnets.{i}.norm2.bias", + from_pattern=["encoder.mid_block.resnets.{i}.norm2.bias"], + ), + WeightTarget( + to_pattern="encoder.mid_block.resnets.{i}.conv2.weight", + from_pattern=["encoder.mid_block.resnets.{i}.conv2.weight"], + transform=WeightTransforms.transpose_conv2d_weight, + ), + WeightTarget( + to_pattern="encoder.mid_block.resnets.{i}.conv2.bias", + from_pattern=["encoder.mid_block.resnets.{i}.conv2.bias"], + ), + WeightTarget( + to_pattern="encoder.mid_block.attentions.0.group_norm.weight", + from_pattern=["encoder.mid_block.attentions.0.group_norm.weight"], + ), + WeightTarget( + to_pattern="encoder.mid_block.attentions.0.group_norm.bias", + from_pattern=["encoder.mid_block.attentions.0.group_norm.bias"], + ), + WeightTarget( + to_pattern="encoder.mid_block.attentions.0.to_q.weight", + from_pattern=["encoder.mid_block.attentions.0.to_q.weight"], + ), + WeightTarget( + to_pattern="encoder.mid_block.attentions.0.to_q.bias", + from_pattern=["encoder.mid_block.attentions.0.to_q.bias"], + ), + WeightTarget( + to_pattern="encoder.mid_block.attentions.0.to_k.weight", + from_pattern=["encoder.mid_block.attentions.0.to_k.weight"], + ), + WeightTarget( + to_pattern="encoder.mid_block.attentions.0.to_k.bias", + from_pattern=["encoder.mid_block.attentions.0.to_k.bias"], + ), + WeightTarget( + to_pattern="encoder.mid_block.attentions.0.to_v.weight", + from_pattern=["encoder.mid_block.attentions.0.to_v.weight"], + ), + WeightTarget( + to_pattern="encoder.mid_block.attentions.0.to_v.bias", + from_pattern=["encoder.mid_block.attentions.0.to_v.bias"], + ), + WeightTarget( + to_pattern="encoder.mid_block.attentions.0.to_out.0.weight", + from_pattern=["encoder.mid_block.attentions.0.to_out.0.weight"], + ), + WeightTarget( + to_pattern="encoder.mid_block.attentions.0.to_out.0.bias", + from_pattern=["encoder.mid_block.attentions.0.to_out.0.bias"], + ), + WeightTarget( + to_pattern="encoder.conv_norm_out.norm.weight", + from_pattern=["encoder.conv_norm_out.weight"], + ), + WeightTarget( + to_pattern="encoder.conv_norm_out.norm.bias", + from_pattern=["encoder.conv_norm_out.bias"], + ), + WeightTarget( + to_pattern="encoder.conv_out.conv2d.weight", + from_pattern=["encoder.conv_out.weight"], + transform=WeightTransforms.transpose_conv2d_weight, + ), + WeightTarget( + to_pattern="encoder.conv_out.conv2d.bias", + from_pattern=["encoder.conv_out.bias"], + ), + WeightTarget( + to_pattern="decoder.conv_in.conv.weight", + from_pattern=["decoder.conv_in.weight"], + transform=WeightTransforms.transpose_conv2d_weight, + ), + WeightTarget( + to_pattern="decoder.conv_in.conv.bias", + from_pattern=["decoder.conv_in.bias"], + ), + WeightTarget( + to_pattern="decoder.mid_block.resnets.{i}.norm1.weight", + from_pattern=["decoder.mid_block.resnets.{i}.norm1.weight"], + ), + WeightTarget( + to_pattern="decoder.mid_block.resnets.{i}.norm1.bias", + from_pattern=["decoder.mid_block.resnets.{i}.norm1.bias"], + ), + WeightTarget( + to_pattern="decoder.mid_block.resnets.{i}.conv1.weight", + from_pattern=["decoder.mid_block.resnets.{i}.conv1.weight"], + transform=WeightTransforms.transpose_conv2d_weight, + ), + WeightTarget( + to_pattern="decoder.mid_block.resnets.{i}.conv1.bias", + from_pattern=["decoder.mid_block.resnets.{i}.conv1.bias"], + ), + WeightTarget( + to_pattern="decoder.mid_block.resnets.{i}.norm2.weight", + from_pattern=["decoder.mid_block.resnets.{i}.norm2.weight"], + ), + WeightTarget( + to_pattern="decoder.mid_block.resnets.{i}.norm2.bias", + from_pattern=["decoder.mid_block.resnets.{i}.norm2.bias"], + ), + WeightTarget( + to_pattern="decoder.mid_block.resnets.{i}.conv2.weight", + from_pattern=["decoder.mid_block.resnets.{i}.conv2.weight"], + transform=WeightTransforms.transpose_conv2d_weight, + ), + WeightTarget( + to_pattern="decoder.mid_block.resnets.{i}.conv2.bias", + from_pattern=["decoder.mid_block.resnets.{i}.conv2.bias"], + ), + WeightTarget( + to_pattern="decoder.mid_block.attentions.0.group_norm.weight", + from_pattern=["decoder.mid_block.attentions.0.group_norm.weight"], + ), + WeightTarget( + to_pattern="decoder.mid_block.attentions.0.group_norm.bias", + from_pattern=["decoder.mid_block.attentions.0.group_norm.bias"], + ), + WeightTarget( + to_pattern="decoder.mid_block.attentions.0.to_q.weight", + from_pattern=["decoder.mid_block.attentions.0.to_q.weight"], + ), + WeightTarget( + to_pattern="decoder.mid_block.attentions.0.to_q.bias", + from_pattern=["decoder.mid_block.attentions.0.to_q.bias"], + ), + WeightTarget( + to_pattern="decoder.mid_block.attentions.0.to_k.weight", + from_pattern=["decoder.mid_block.attentions.0.to_k.weight"], + ), + WeightTarget( + to_pattern="decoder.mid_block.attentions.0.to_k.bias", + from_pattern=["decoder.mid_block.attentions.0.to_k.bias"], + ), + WeightTarget( + to_pattern="decoder.mid_block.attentions.0.to_v.weight", + from_pattern=["decoder.mid_block.attentions.0.to_v.weight"], + ), + WeightTarget( + to_pattern="decoder.mid_block.attentions.0.to_v.bias", + from_pattern=["decoder.mid_block.attentions.0.to_v.bias"], + ), + WeightTarget( + to_pattern="decoder.mid_block.attentions.0.to_out.0.weight", + from_pattern=["decoder.mid_block.attentions.0.to_out.0.weight"], + ), + WeightTarget( + to_pattern="decoder.mid_block.attentions.0.to_out.0.bias", + from_pattern=["decoder.mid_block.attentions.0.to_out.0.bias"], + ), + WeightTarget( + to_pattern="decoder.up_blocks.{block}.resnets.{res}.norm1.weight", + from_pattern=["decoder.up_blocks.{block}.resnets.{res}.norm1.weight"], + ), + WeightTarget( + to_pattern="decoder.up_blocks.{block}.resnets.{res}.norm1.bias", + from_pattern=["decoder.up_blocks.{block}.resnets.{res}.norm1.bias"], + ), + WeightTarget( + to_pattern="decoder.up_blocks.{block}.resnets.{res}.conv1.weight", + from_pattern=["decoder.up_blocks.{block}.resnets.{res}.conv1.weight"], + transform=WeightTransforms.transpose_conv2d_weight, + ), + WeightTarget( + to_pattern="decoder.up_blocks.{block}.resnets.{res}.conv1.bias", + from_pattern=["decoder.up_blocks.{block}.resnets.{res}.conv1.bias"], + ), + WeightTarget( + to_pattern="decoder.up_blocks.{block}.resnets.{res}.norm2.weight", + from_pattern=["decoder.up_blocks.{block}.resnets.{res}.norm2.weight"], + ), + WeightTarget( + to_pattern="decoder.up_blocks.{block}.resnets.{res}.norm2.bias", + from_pattern=["decoder.up_blocks.{block}.resnets.{res}.norm2.bias"], + ), + WeightTarget( + to_pattern="decoder.up_blocks.{block}.resnets.{res}.conv2.weight", + from_pattern=["decoder.up_blocks.{block}.resnets.{res}.conv2.weight"], + transform=WeightTransforms.transpose_conv2d_weight, + ), + WeightTarget( + to_pattern="decoder.up_blocks.{block}.resnets.{res}.conv2.bias", + from_pattern=["decoder.up_blocks.{block}.resnets.{res}.conv2.bias"], + ), + WeightTarget( + to_pattern="decoder.up_blocks.{block}.resnets.{res}.conv_shortcut.weight", + from_pattern=["decoder.up_blocks.{block}.resnets.{res}.conv_shortcut.weight"], + transform=WeightTransforms.transpose_conv2d_weight, + required=False, + ), + WeightTarget( + to_pattern="decoder.up_blocks.{block}.resnets.{res}.conv_shortcut.bias", + from_pattern=["decoder.up_blocks.{block}.resnets.{res}.conv_shortcut.bias"], + required=False, + ), + WeightTarget( + to_pattern="decoder.up_blocks.{block}.upsamplers.0.conv.weight", + from_pattern=["decoder.up_blocks.{block}.upsamplers.0.conv.weight"], + transform=WeightTransforms.transpose_conv2d_weight, + required=False, + ), + WeightTarget( + to_pattern="decoder.up_blocks.{block}.upsamplers.0.conv.bias", + from_pattern=["decoder.up_blocks.{block}.upsamplers.0.conv.bias"], + required=False, + ), + WeightTarget( + to_pattern="decoder.conv_norm_out.norm.weight", + from_pattern=["decoder.conv_norm_out.weight"], + ), + WeightTarget( + to_pattern="decoder.conv_norm_out.norm.bias", + from_pattern=["decoder.conv_norm_out.bias"], + ), + WeightTarget( + to_pattern="decoder.conv_out.conv.weight", + from_pattern=["decoder.conv_out.weight"], + transform=WeightTransforms.transpose_conv2d_weight, + ), + WeightTarget( + to_pattern="decoder.conv_out.conv.bias", + from_pattern=["decoder.conv_out.bias"], + ), + ] + + @staticmethod + def get_transformer_mapping() -> list[WeightTarget]: + return [ + WeightTarget( + to_pattern="t_embedder.linear1.weight", + from_pattern=["t_embedder.mlp.0.weight"], + ), + WeightTarget( + to_pattern="t_embedder.linear1.bias", + from_pattern=["t_embedder.mlp.0.bias"], + ), + WeightTarget( + to_pattern="t_embedder.linear2.weight", + from_pattern=["t_embedder.mlp.2.weight"], + ), + WeightTarget( + to_pattern="t_embedder.linear2.bias", + from_pattern=["t_embedder.mlp.2.bias"], + ), + WeightTarget( + to_pattern="cap_embedder.0.weight", + from_pattern=["cap_embedder.0.weight"], + ), + WeightTarget( + to_pattern="cap_embedder.1.weight", + from_pattern=["cap_embedder.1.weight"], + ), + WeightTarget( + to_pattern="cap_embedder.1.bias", + from_pattern=["cap_embedder.1.bias"], + ), + WeightTarget( + to_pattern="x_pad_token", + from_pattern=["x_pad_token"], + ), + WeightTarget( + to_pattern="cap_pad_token", + from_pattern=["cap_pad_token"], + ), + WeightTarget( + to_pattern="all_x_embedder.2-1.weight", + from_pattern=["all_x_embedder.2-1.weight"], + ), + WeightTarget( + to_pattern="all_x_embedder.2-1.bias", + from_pattern=["all_x_embedder.2-1.bias"], + ), + WeightTarget( + to_pattern="all_final_layer.2-1.linear.weight", + from_pattern=["all_final_layer.2-1.linear.weight"], + ), + WeightTarget( + to_pattern="all_final_layer.2-1.linear.bias", + from_pattern=["all_final_layer.2-1.linear.bias"], + ), + WeightTarget( + to_pattern="all_final_layer.2-1.adaLN_modulation.0.weight", + from_pattern=["all_final_layer.2-1.adaLN_modulation.1.weight"], + ), + WeightTarget( + to_pattern="all_final_layer.2-1.adaLN_modulation.0.bias", + from_pattern=["all_final_layer.2-1.adaLN_modulation.1.bias"], + ), + WeightTarget( + to_pattern="noise_refiner.{layer}.adaLN_modulation.0.weight", + from_pattern=["noise_refiner.{layer}.adaLN_modulation.0.weight"], + ), + WeightTarget( + to_pattern="noise_refiner.{layer}.adaLN_modulation.0.bias", + from_pattern=["noise_refiner.{layer}.adaLN_modulation.0.bias"], + ), + WeightTarget( + to_pattern="noise_refiner.{layer}.attention.to_q.weight", + from_pattern=["noise_refiner.{layer}.attention.to_q.weight"], + ), + WeightTarget( + to_pattern="noise_refiner.{layer}.attention.to_k.weight", + from_pattern=["noise_refiner.{layer}.attention.to_k.weight"], + ), + WeightTarget( + to_pattern="noise_refiner.{layer}.attention.to_v.weight", + from_pattern=["noise_refiner.{layer}.attention.to_v.weight"], + ), + WeightTarget( + to_pattern="noise_refiner.{layer}.attention.to_out.0.weight", + from_pattern=["noise_refiner.{layer}.attention.to_out.0.weight"], + ), + WeightTarget( + to_pattern="noise_refiner.{layer}.attention.norm_q.weight", + from_pattern=["noise_refiner.{layer}.attention.norm_q.weight"], + ), + WeightTarget( + to_pattern="noise_refiner.{layer}.attention.norm_k.weight", + from_pattern=["noise_refiner.{layer}.attention.norm_k.weight"], + ), + WeightTarget( + to_pattern="noise_refiner.{layer}.attention_norm1.weight", + from_pattern=["noise_refiner.{layer}.attention_norm1.weight"], + ), + WeightTarget( + to_pattern="noise_refiner.{layer}.attention_norm2.weight", + from_pattern=["noise_refiner.{layer}.attention_norm2.weight"], + ), + WeightTarget( + to_pattern="noise_refiner.{layer}.ffn_norm1.weight", + from_pattern=["noise_refiner.{layer}.ffn_norm1.weight"], + ), + WeightTarget( + to_pattern="noise_refiner.{layer}.ffn_norm2.weight", + from_pattern=["noise_refiner.{layer}.ffn_norm2.weight"], + ), + WeightTarget( + to_pattern="noise_refiner.{layer}.feed_forward.w1.weight", + from_pattern=["noise_refiner.{layer}.feed_forward.w1.weight"], + ), + WeightTarget( + to_pattern="noise_refiner.{layer}.feed_forward.w2.weight", + from_pattern=["noise_refiner.{layer}.feed_forward.w2.weight"], + ), + WeightTarget( + to_pattern="noise_refiner.{layer}.feed_forward.w3.weight", + from_pattern=["noise_refiner.{layer}.feed_forward.w3.weight"], + ), + WeightTarget( + to_pattern="context_refiner.{layer}.attention.to_q.weight", + from_pattern=["context_refiner.{layer}.attention.to_q.weight"], + ), + WeightTarget( + to_pattern="context_refiner.{layer}.attention.to_k.weight", + from_pattern=["context_refiner.{layer}.attention.to_k.weight"], + ), + WeightTarget( + to_pattern="context_refiner.{layer}.attention.to_v.weight", + from_pattern=["context_refiner.{layer}.attention.to_v.weight"], + ), + WeightTarget( + to_pattern="context_refiner.{layer}.attention.to_out.0.weight", + from_pattern=["context_refiner.{layer}.attention.to_out.0.weight"], + ), + WeightTarget( + to_pattern="context_refiner.{layer}.attention.norm_q.weight", + from_pattern=["context_refiner.{layer}.attention.norm_q.weight"], + ), + WeightTarget( + to_pattern="context_refiner.{layer}.attention.norm_k.weight", + from_pattern=["context_refiner.{layer}.attention.norm_k.weight"], + ), + WeightTarget( + to_pattern="context_refiner.{layer}.attention_norm1.weight", + from_pattern=["context_refiner.{layer}.attention_norm1.weight"], + ), + WeightTarget( + to_pattern="context_refiner.{layer}.attention_norm2.weight", + from_pattern=["context_refiner.{layer}.attention_norm2.weight"], + ), + WeightTarget( + to_pattern="context_refiner.{layer}.ffn_norm1.weight", + from_pattern=["context_refiner.{layer}.ffn_norm1.weight"], + ), + WeightTarget( + to_pattern="context_refiner.{layer}.ffn_norm2.weight", + from_pattern=["context_refiner.{layer}.ffn_norm2.weight"], + ), + WeightTarget( + to_pattern="context_refiner.{layer}.feed_forward.w1.weight", + from_pattern=["context_refiner.{layer}.feed_forward.w1.weight"], + ), + WeightTarget( + to_pattern="context_refiner.{layer}.feed_forward.w2.weight", + from_pattern=["context_refiner.{layer}.feed_forward.w2.weight"], + ), + WeightTarget( + to_pattern="context_refiner.{layer}.feed_forward.w3.weight", + from_pattern=["context_refiner.{layer}.feed_forward.w3.weight"], + ), + WeightTarget( + to_pattern="layers.{layer}.adaLN_modulation.0.weight", + from_pattern=["layers.{layer}.adaLN_modulation.0.weight"], + ), + WeightTarget( + to_pattern="layers.{layer}.adaLN_modulation.0.bias", + from_pattern=["layers.{layer}.adaLN_modulation.0.bias"], + ), + WeightTarget( + to_pattern="layers.{layer}.attention.to_q.weight", + from_pattern=["layers.{layer}.attention.to_q.weight"], + ), + WeightTarget( + to_pattern="layers.{layer}.attention.to_k.weight", + from_pattern=["layers.{layer}.attention.to_k.weight"], + ), + WeightTarget( + to_pattern="layers.{layer}.attention.to_v.weight", + from_pattern=["layers.{layer}.attention.to_v.weight"], + ), + WeightTarget( + to_pattern="layers.{layer}.attention.to_out.0.weight", + from_pattern=["layers.{layer}.attention.to_out.0.weight"], + ), + WeightTarget( + to_pattern="layers.{layer}.attention.norm_q.weight", + from_pattern=["layers.{layer}.attention.norm_q.weight"], + ), + WeightTarget( + to_pattern="layers.{layer}.attention.norm_k.weight", + from_pattern=["layers.{layer}.attention.norm_k.weight"], + ), + WeightTarget( + to_pattern="layers.{layer}.attention_norm1.weight", + from_pattern=["layers.{layer}.attention_norm1.weight"], + ), + WeightTarget( + to_pattern="layers.{layer}.attention_norm2.weight", + from_pattern=["layers.{layer}.attention_norm2.weight"], + ), + WeightTarget( + to_pattern="layers.{layer}.ffn_norm1.weight", + from_pattern=["layers.{layer}.ffn_norm1.weight"], + ), + WeightTarget( + to_pattern="layers.{layer}.ffn_norm2.weight", + from_pattern=["layers.{layer}.ffn_norm2.weight"], + ), + WeightTarget( + to_pattern="layers.{layer}.feed_forward.w1.weight", + from_pattern=["layers.{layer}.feed_forward.w1.weight"], + ), + WeightTarget( + to_pattern="layers.{layer}.feed_forward.w2.weight", + from_pattern=["layers.{layer}.feed_forward.w2.weight"], + ), + WeightTarget( + to_pattern="layers.{layer}.feed_forward.w3.weight", + from_pattern=["layers.{layer}.feed_forward.w3.weight"], + ), + ] diff --git a/src/mflux/models/z_image/z_image_initializer.py b/src/mflux/models/z_image/z_image_initializer.py new file mode 100644 index 0000000..64c87c7 --- /dev/null +++ b/src/mflux/models/z_image/z_image_initializer.py @@ -0,0 +1,78 @@ +from mflux.callbacks.callback_registry import CallbackRegistry +from mflux.models.common.config import ModelConfig +from mflux.models.common.lora.mapping.lora_loader import LoRALoader +from mflux.models.common.tokenizer import TokenizerLoader +from mflux.models.common.weights.loading.loaded_weights import LoadedWeights +from mflux.models.common.weights.loading.weight_applier import WeightApplier +from mflux.models.common.weights.loading.weight_loader import WeightLoader +from mflux.models.z_image.model.z_image_text_encoder.text_encoder import TextEncoder +from mflux.models.z_image.model.z_image_transformer.transformer import ZImageTransformer +from mflux.models.z_image.model.z_image_vae.vae import VAE +from mflux.models.z_image.weights.z_image_lora_mapping import ZImageLoRAMapping +from mflux.models.z_image.weights.z_image_weight_definition import ZImageWeightDefinition + + +class ZImageInitializer: + @staticmethod + def init( + model, + model_config: ModelConfig, + quantize: int | None, + model_path: str | None = None, + lora_paths: list[str] | None = None, + lora_scales: list[float] | None = None, + ) -> None: + path = model_path if model_path else model_config.model_name + ZImageInitializer._init_config(model, model_config) + weights = ZImageInitializer._load_weights(path) + ZImageInitializer._init_tokenizers(model, path) + ZImageInitializer._init_models(model) + ZImageInitializer._apply_weights(model, weights, quantize) + ZImageInitializer._apply_lora(model, lora_paths, lora_scales) + + @staticmethod + def _init_config(model, model_config: ModelConfig) -> None: + model.model_config = model_config + model.callbacks = CallbackRegistry() + + @staticmethod + def _load_weights(model_path: str) -> LoadedWeights: + return WeightLoader.load( + weight_definition=ZImageWeightDefinition, + model_path=model_path, + ) + + @staticmethod + def _init_tokenizers(model, model_path: str) -> None: + model.tokenizers = TokenizerLoader.load_all( + definitions=ZImageWeightDefinition.get_tokenizers(), + model_path=model_path, + ) + + @staticmethod + def _init_models(model) -> None: + model.vae = VAE() + model.transformer = ZImageTransformer() + model.text_encoder = TextEncoder() + + @staticmethod + def _apply_weights(model, weights: LoadedWeights, quantize: int | None) -> None: + model.bits = WeightApplier.apply_and_quantize( + weights=weights, + quantize_arg=quantize, + weight_definition=ZImageWeightDefinition, + models={ + "vae": model.vae, + "transformer": model.transformer, + "text_encoder": model.text_encoder, + }, + ) + + @staticmethod + def _apply_lora(model, lora_paths: list[str] | None, lora_scales: list[float] | None) -> None: + model.lora_paths, model.lora_scales = LoRALoader.load_and_apply_lora( + lora_mapping=ZImageLoRAMapping.get_mapping(), + transformer=model.transformer, + lora_paths=lora_paths, + lora_scales=lora_scales, + ) diff --git a/src/mflux/ui/box_values.py b/src/mflux/ui/box_values.py deleted file mode 100644 index c1808ad..0000000 --- a/src/mflux/ui/box_values.py +++ /dev/null @@ -1,80 +0,0 @@ -from dataclasses import dataclass - - -@dataclass -class AbsoluteBoxValues: - top: int - right: int - bottom: int - left: int - - -@dataclass -class BoxValues: - top: int | str - right: int | str - bottom: int | str - left: int | str - - def normalize_to_dimensions(self, width, height) -> AbsoluteBoxValues: - parts = [] - dimension_base = [height, width, height, width] - for index, part in enumerate([self.top, self.right, self.bottom, self.left]): - if isinstance(part, str) and part.endswith("%"): - parts.append(int(int(part.strip("%")) / 100 * dimension_base[index])) - else: - # simple integer value - parts.append(int(part)) - return AbsoluteBoxValues(*parts) - - -class BoxValueError(ValueError): - pass - - -def parse_box_value(value, delimiter=","): - """ - Parse CSS-style padding values into a dictionary. - - Accepts formats: - - Single value (all sides) - - Two values (vertical | horizontal) - - Three values (top | horizontal | bottom) - - Four values (top | right | bottom | left) - - Args: - value: A string containing CSS-style box values - - Returns: - BoxValues dataclass with 'top', 'right', 'bottom', and 'left' attributes - """ - parts = [] - for part_value in value.strip().split(delimiter): - try: - part = int(part_value.strip()) - parts.append(part) - except ValueError: # noqa: PERF203 - # not an int - is it a %? - if (part_value := part_value.strip()).endswith("%"): - parts.append(part_value) - else: - raise BoxValueError(f"Invalid padding value: {part_value}") - - if len(parts) == 1: - # If only one value is provided, apply to all sides - return BoxValues(top=parts[0], right=parts[0], bottom=parts[0], left=parts[0]) - elif len(parts) == 2: - # If two values: first is top/bottom, second is left/right - return BoxValues(top=parts[0], right=parts[1], bottom=parts[0], left=parts[1]) - elif len(parts) == 3: - # If three values: top, left/right, bottom - return BoxValues(top=parts[0], right=parts[1], bottom=parts[2], left=parts[1]) - elif len(parts) == 4: - # If four values: top, right, bottom, left - return BoxValues(top=parts[0], right=parts[1], bottom=parts[2], left=parts[3]) - else: - raise BoxValueError( - "Invalid outpaint padding box value format: {value} " - "Expected: 1 (all-sides), 2 (top/bottom, left/right) " - "or 4 (top, right, bottom, left)values of int or percentages. e.g. 10px, 20%" - ) diff --git a/src/mflux/ui/cli/completions/README.md b/src/mflux/ui/cli/completions/README.md deleted file mode 100644 index 7d5eed0..0000000 --- a/src/mflux/ui/cli/completions/README.md +++ /dev/null @@ -1,144 +0,0 @@ -# mflux Shell Completions - -This module provides ZSH shell completion support for all mflux CLI commands. - -## Quick Start - -1. **Install completions:** - ```bash - mflux-completions - ``` - -2. **Reload your shell:** - ```bash - exec zsh - ``` - -3. **Test it:** - ```bash - mflux-generate -- - ``` - -## Features - -- **Auto-completion for all 15 mflux commands**: Generate, train, save, upscale, and more -- **Smart completions**: - - Model names (dev, schnell, dev-fill, or HuggingFace repos) - - Quantization levels (3, 4, 5, 6, 8) - - LoRA styles (storyboard, portrait, etc.) - - File paths with native completion - - Common percentage values for battery limit -- **Dynamic generation**: Completions stay in sync with code changes -- **Mutually exclusive options**: Properly handles -m/--model style options - -## Installation - -### Automatic Installation - -The simplest way is to let mflux-completions auto-detect the best location: - -```bash -mflux-completions -``` - -### Custom Directory - -Install to a specific directory: - -```bash -mflux-completions --dir ~/.config/zsh/completions -``` - -### Update Existing Installation - -Update an existing completion file: - -```bash -mflux-completions --update -``` - -## Troubleshooting - -### Check Installation - -Verify that completions are properly installed: - -```bash -mflux-completions --check -``` - -This will: -- Check if the completion file exists in your $fpath -- Verify that compinit is available -- Provide troubleshooting steps if needed - -### Common Issues - -1. **Completions not working after installation:** - - Start a new shell: `exec zsh` - -2. **Completions not updated after mflux upgrade:** - - Update completions: `mflux-completions --update` - - Then force reload: `compinit -u` - -3. **Permission denied:** - - Use `--dir` to specify a user-writable directory - -4. **Completion shows \} or other artifacts:** - - Update to the latest version: `mflux-completions --update` - -For Zsh-specific configuration issues (fpath, compinit, etc.), please refer to the [official Zsh documentation](https://zsh.sourceforge.io/Doc/Release/Completion-System.html). - -### Manual Installation - -If automatic installation fails: - -```bash -# Generate completion script -mflux-completions --print > _mflux - -# Move to a directory in your $fpath -mkdir -p ~/.zsh/completions -mv _mflux ~/.zsh/completions/ - -# Restart your shell -exec zsh -``` - -## How It Works - -The completion system: - -1. **Introspects argparse**: Dynamically extracts all command-line options from the parsers -2. **Generates ZSH functions**: Creates completion functions for each mflux command -3. **Provides context-aware completions**: Different completion strategies based on argument type -4. **Handles special cases**: Custom completions for models, LoRA styles, etc. - -## Development - -### Adding New Commands - -When adding a new mflux CLI command: - -1. Create the command with argparse as usual -2. Add it to the `commands` list in `generator.py` -3. Add the parser creation logic to `create_parser_for_command()` -4. Completions will be automatically generated! - -### Testing Completions - -Test the generator without installing: - -```bash -python -m mflux.completions.generator -``` - -### File Structure - -- `generator.py`: Core logic for generating ZSH completion scripts -- `install.py`: Installation utility with user-friendly CLI -- `README.md`: This documentation - -## Platform Support - -Currently supports ZSH (the default macOS shell since 2019). Supporting other shells is possible but is considered out of scope for the official repository. diff --git a/src/mflux/ui/cli/completions/__init__.py b/src/mflux/ui/cli/completions/__init__.py deleted file mode 100644 index 7dfa6a7..0000000 --- a/src/mflux/ui/cli/completions/__init__.py +++ /dev/null @@ -1 +0,0 @@ -"""ZSH completion generator for mflux CLI commands.""" diff --git a/src/mflux/ui/defaults.py b/src/mflux/ui/defaults.py deleted file mode 100644 index 80d4205..0000000 --- a/src/mflux/ui/defaults.py +++ /dev/null @@ -1,84 +0,0 @@ -import logging -import os -import shutil -from pathlib import Path - -import platformdirs - -logger = logging.getLogger(__name__) - -BATTERY_PERCENTAGE_STOP_LIMIT = 5 -CONTROLNET_STRENGTH = 0.4 -DEFAULT_DEV_FILL_GUIDANCE = 30 -DEFAULT_DEPTH_GUIDANCE = 10 -DIMENSION_STEP_PIXELS = 16 -GUIDANCE_SCALE = 3.5 -GUIDANCE_SCALE_KONTEXT = 2.5 -HEIGHT, WIDTH = 1024, 1024 -MAX_PIXELS_WARNING_THRESHOLD = 2048 * 2048 -IMAGE_STRENGTH = 0.4 -MODEL_CHOICES = ["dev", "schnell", "krea-dev", "dev-krea", "qwen"] -MODEL_INFERENCE_STEPS = { - "dev": 25, - "krea-dev": 25, - "schnell": 4, - "qwen": 25, -} -QUANTIZE_CHOICES = [3, 5, 4, 6, 8] - - -def _migrate_legacy_cache(new_cache_dir: Path) -> None: - """Migrate legacy ~/.cache/mflux to new location if needed.""" - legacy_cache = Path.home() / ".cache" / "mflux" - - # Skip if legacy path doesn't exist or is already a symlink - if not legacy_cache.exists() or legacy_cache.is_symlink(): - return - - # Skip if we're already using the legacy path - if new_cache_dir == legacy_cache: - return - - try: - logger.warning(f"Migrating cache from {legacy_cache} to {new_cache_dir}") - - # Create new directory - new_cache_dir.mkdir(parents=True, exist_ok=True) - - # Move all contents from old to new location - for item in legacy_cache.iterdir(): - src = legacy_cache / item.name - dst = new_cache_dir / item.name - - if dst.exists(): - logger.warning(f" Skipping {item.name} (already exists in destination)") - continue - - logger.warning(f" Moving {item.name}") - shutil.move(str(src), str(dst)) - - # Remove the now-empty old directory - legacy_cache.rmdir() - - # Create symlink from old location to new location for backward compatibility - legacy_cache.parent.mkdir(parents=True, exist_ok=True) - legacy_cache.symlink_to(new_cache_dir) - logger.info(f"Created symlink: {legacy_cache} -> {new_cache_dir}") - - except (OSError, IOError, shutil.Error) as e: - logger.warning(f"Cache migration failed: {e}") - logger.info("Continuing with existing location") - - -# Determine cache directory -if os.environ.get("MFLUX_CACHE_DIR"): - # User specified cache directory (e.g. external storage) - MFLUX_CACHE_DIR = Path(os.environ["MFLUX_CACHE_DIR"]).resolve() -else: - # macOS-idiomatic cache directory @ /Users/username/Library/Caches/mflux - MFLUX_CACHE_DIR = Path(platformdirs.user_cache_dir(appname="mflux")) - -# Perform one-time migration if needed -_migrate_legacy_cache(MFLUX_CACHE_DIR) - -MFLUX_LORA_CACHE_DIR = MFLUX_CACHE_DIR / "loras" diff --git a/src/mflux/upscale.py b/src/mflux/upscale.py deleted file mode 100644 index c8086ad..0000000 --- a/src/mflux/upscale.py +++ /dev/null @@ -1,106 +0,0 @@ -import sys - -import PIL.Image - -from mflux.callbacks.callback_manager import CallbackManager -from mflux.config.config import Config -from mflux.config.model_config import ModelConfig -from mflux.models.flux.variants.controlnet.flux_controlnet import Flux1Controlnet -from mflux.ui import defaults as ui_defaults -from mflux.ui.cli.parsers import CommandLineParser -from mflux.ui.prompt_utils import PromptUtils -from mflux.ui.scale_factor import ScaleFactor -from mflux.utils.exceptions import PromptFileReadError, StopImageGenerationException - - -def main(): - # 0. Parse command line arguments - parser = CommandLineParser(description="Upscale an image.") - parser.add_general_arguments() - parser.add_model_arguments(require_model_arg=False) - parser.add_lora_arguments() - parser.add_image_generator_arguments(supports_metadata_config=False, supports_dimension_scale_factor=True) - parser.add_controlnet_arguments(require_image=True) - parser.add_output_arguments() - args = parser.parse_args() - - # 1. Load the model - flux = Flux1Controlnet( - model_config=ModelConfig.dev_controlnet_upscaler(), - quantize=args.quantize, - local_path=args.path, - lora_paths=args.lora_paths, - lora_scales=args.lora_scales, - ) - - # 2. Register the optional callbacks - memory_saver = CallbackManager.register_callbacks(args=args, model=flux) - - try: - # Calculate output dimensions and handle safety warnings - width, height = _calculate_output_dimensions(args) - - for seed in args.seed: - # 3. Generate an upscaled image for each seed value - image = flux.generate_image( - seed=seed, - prompt=PromptUtils.get_effective_prompt(args), - controlnet_image_path=args.controlnet_image_path, - config=Config( - num_inference_steps=args.steps, - height=height, - width=width, - controlnet_strength=args.controlnet_strength, - ), - ) - - # 4. Save the image - image.save(path=args.output.format(seed=seed), export_json_metadata=args.metadata) - except (StopImageGenerationException, PromptFileReadError) as exc: - print(exc) - finally: - if memory_saver: - print(memory_saver.memory_stats()) - - -def _calculate_output_dimensions(args) -> tuple[int, int]: - """Calculate output dimensions from args, handling scale factors and safety warnings.""" - # Image.open is lazy/efficient, just need the dimension metadata - orig_image = PIL.Image.open(args.controlnet_image_path) - output_width, output_height = orig_image.size - - if isinstance(args.height, ScaleFactor): - output_height: int = args.height.get_scaled_value(orig_image.height) # type: ignore - - else: - output_height = args.height # type: ignore - - if isinstance(args.width, ScaleFactor): - output_width: int = args.width.get_scaled_value(orig_image.width) # type: ignore - - else: - output_width = args.width # type: ignore - - # Check if dimensions exceed safe limits - total_pixels = output_height * output_width - - if total_pixels > ui_defaults.MAX_PIXELS_WARNING_THRESHOLD: - print( - f"โš ๏ธ WARNING: The requested dimensions {output_width}x{output_height} " - f"({total_pixels:,} pixels) exceed max recommended ({ui_defaults.MAX_PIXELS_WARNING_THRESHOLD:,} pixels)." - ) - print("This generation is likely to exceed the capabilities of this computer and may:") - print(" โณ Take a very long time to complete") - print(" ๐Ÿ”ฅ Run out of memory") - print(" ๐Ÿ’ฅ Cause the program and your Mac to crash") - - user_input = input("\nPress Enter to continue at your own risk, or type 'n' to cancel: ") - if user_input.lower() in ["n", "no"]: - print("๐Ÿ›‘ Generation cancelled by user.") - sys.exit(1) - - return output_width, output_height - - -if __name__ == "__main__": - main() diff --git a/src/mflux/utils/array_util.py b/src/mflux/utils/array_util.py deleted file mode 100644 index c0dccea..0000000 --- a/src/mflux/utils/array_util.py +++ /dev/null @@ -1,17 +0,0 @@ -import mlx.core as mx - - -class ArrayUtil: - @staticmethod - def unpack_latents(latents: mx.array, height: int, width: int) -> mx.array: - latents = mx.reshape(latents, (1, height // 16, width // 16, 16, 2, 2)) - latents = mx.transpose(latents, (0, 3, 1, 4, 2, 5)) - latents = mx.reshape(latents, (1, 16, height // 16 * 2, width // 16 * 2)) - return latents - - @staticmethod - def pack_latents(latents: mx.array, height: int, width: int, num_channels_latents: int = 16) -> mx.array: - latents = mx.reshape(latents, (1, num_channels_latents, height // 16, 2, width // 16, 2)) - latents = mx.transpose(latents, (0, 2, 4, 1, 3, 5)) - latents = mx.reshape(latents, (1, (width // 16) * (height // 16), num_channels_latents * 4)) - return latents diff --git a/src/mflux/utils/box_values.py b/src/mflux/utils/box_values.py new file mode 100644 index 0000000..ebf652f --- /dev/null +++ b/src/mflux/utils/box_values.py @@ -0,0 +1,65 @@ +from dataclasses import dataclass + + +@dataclass +class AbsoluteBoxValues: + top: int + right: int + bottom: int + left: int + + +class BoxValueError(ValueError): + pass + + +@dataclass +class BoxValues: + top: int | str + right: int | str + bottom: int | str + left: int | str + + def normalize_to_dimensions(self, width, height) -> AbsoluteBoxValues: + parts = [] + dimension_base = [height, width, height, width] + for index, part in enumerate([self.top, self.right, self.bottom, self.left]): + if isinstance(part, str) and part.endswith("%"): + parts.append(int(int(part.strip("%")) / 100 * dimension_base[index])) + else: + # simple integer value + parts.append(int(part)) + return AbsoluteBoxValues(*parts) + + @staticmethod + def parse(value, delimiter=",") -> "BoxValues": + parts = [] + for part_value in value.strip().split(delimiter): + try: + part = int(part_value.strip()) + parts.append(part) + except ValueError: # noqa: PERF203 + # not an int - is it a %? + if (part_value := part_value.strip()).endswith("%"): + parts.append(part_value) + else: + raise BoxValueError(f"Invalid padding value: {part_value}") + + if len(parts) == 1: + # If only one value is provided, apply to all sides + return BoxValues(top=parts[0], right=parts[0], bottom=parts[0], left=parts[0]) + elif len(parts) == 2: + # If two values: first is top/bottom, second is left/right + return BoxValues(top=parts[0], right=parts[1], bottom=parts[0], left=parts[1]) + elif len(parts) == 3: + # If three values: top, left/right, bottom + return BoxValues(top=parts[0], right=parts[1], bottom=parts[2], left=parts[1]) + elif len(parts) == 4: + # If four values: top, right, bottom, left + return BoxValues(top=parts[0], right=parts[1], bottom=parts[2], left=parts[3]) + else: + raise BoxValueError( + "Invalid outpaint padding box value format: {value} " + "Expected: 1 (all-sides), 2 (top/bottom, left/right) " + "or 4 (top, right, bottom, left)values of int or percentages. e.g. 10px, 20%" + ) diff --git a/src/mflux/utils/dimension_resolver.py b/src/mflux/utils/dimension_resolver.py new file mode 100644 index 0000000..d714a41 --- /dev/null +++ b/src/mflux/utils/dimension_resolver.py @@ -0,0 +1,45 @@ +from pathlib import Path + +import PIL.Image + +from mflux.cli.defaults import defaults as ui_defaults +from mflux.utils.scale_factor import ScaleFactor + + +class DimensionResolver: + @staticmethod + def resolve( + height: int | ScaleFactor, + width: int | ScaleFactor, + reference_image_path: Path | str | None = None, + ) -> tuple[int, int]: + height_is_scale = isinstance(height, ScaleFactor) + width_is_scale = isinstance(width, ScaleFactor) + + # If neither dimension uses ScaleFactor, just return as-is + if not height_is_scale and not width_is_scale: + return int(width), int(height) + + # ScaleFactor requires a reference image - fall back to defaults if not provided + if reference_image_path is None: + resolved_width = ui_defaults.WIDTH if width_is_scale else int(width) + resolved_height = ui_defaults.HEIGHT if height_is_scale else int(height) + return resolved_width, resolved_height + + # Open image lazily - PIL.Image.open only reads metadata, not pixel data + with PIL.Image.open(reference_image_path) as orig_image: + orig_width, orig_height = orig_image.size + + # Resolve height + if height_is_scale: + resolved_height = height.get_scaled_value(orig_height) + else: + resolved_height = int(height) + + # Resolve width + if width_is_scale: + resolved_width = width.get_scaled_value(orig_width) + else: + resolved_width = int(width) + + return resolved_width, resolved_height diff --git a/src/mflux/utils/download.py b/src/mflux/utils/download.py deleted file mode 100644 index 96744de..0000000 --- a/src/mflux/utils/download.py +++ /dev/null @@ -1,13 +0,0 @@ -"""Download utilities for mflux weights with cache-first behavior.""" - -from huggingface_hub import snapshot_download as hf_snapshot_download - - -def snapshot_download(repo_id: str, **kwargs) -> str: - """Download repo files with cache-first behavior. - - This wrapper function is a wrapper for upstream hf_snapshot_download - - 2025-07-08 HOT FIX: just pass the args through for now, see #235 discussion - """ - return hf_snapshot_download(repo_id, **kwargs) diff --git a/src/mflux/utils/exceptions.py b/src/mflux/utils/exceptions.py index bdcc694..e4f42fc 100644 --- a/src/mflux/utils/exceptions.py +++ b/src/mflux/utils/exceptions.py @@ -1,34 +1,32 @@ class MFluxException(Exception): - """base class for all custom exceptions in mflux package.""" + pass class ImageSavingException(MFluxException): - """error occurred while attempting to save image to storage.""" + pass class MetadataEmbedException(MFluxException): - """error occurred while attempting to embed metadata in image""" + pass class MFluxUserException(MFluxException): - """an exception raised by user behavior or intention.""" + pass class PromptFileReadError(MFluxUserException): - """Exception raised for errors in reading the prompt file.""" + pass class StopImageGenerationException(MFluxUserException): - """user has requested to stop a image generation in progress.""" + pass class StopTrainingException(MFluxUserException): - """user has requested to stop the training process in progress.""" + pass class CommandExecutionError(MFluxException): - """Raised when a subprocess command invoked by mflux tooling fails.""" - def __init__(self, cmd: list[str], return_code: int, stdout: str | None, stderr: str | None): self.cmd = cmd self.return_code = return_code @@ -40,12 +38,12 @@ class CommandExecutionError(MFluxException): class ReferenceVsOutputImageError(AssertionError): - """Raised when reference and output images don't match within the allowed threshold.""" + pass class ModelConfigError(ValueError): - """User error in model config.""" + pass class InvalidBaseModel(ModelConfigError): - """Invalid base model, cannot infer model properties.""" + pass diff --git a/src/mflux/utils/generated_image.py b/src/mflux/utils/generated_image.py index e165fde..f5bcc38 100644 --- a/src/mflux/utils/generated_image.py +++ b/src/mflux/utils/generated_image.py @@ -6,7 +6,7 @@ from pathlib import Path import mlx.core as mx import PIL.Image -from mflux.config.model_config import ModelConfig +from mflux.models.common.config import ModelConfig from mflux.models.flux.variants.concept_attention.attention_data import ConceptHeatmap from mflux.utils.version_util import VersionUtil diff --git a/src/mflux/utils/image_compare.py b/src/mflux/utils/image_compare.py index a898f91..68257b0 100644 --- a/src/mflux/utils/image_compare.py +++ b/src/mflux/utils/image_compare.py @@ -7,10 +7,7 @@ from PIL import Image class ImageCompare: - # How we determined DEFAULT_MISMATCH_THRESHOLD value: by eye test - # successive mlx/mflux versions have generated images that are visually close enough - # to consider as a valid upgrade. Minor visual differences are attributable to mlx updates - DEFAULT_MISMATCH_THRESHOLD = 0.15 + DEFAULT_MISMATCH_THRESHOLD = 0.15 # Set by eye test ENV_MISMATCH_THRESHOLD = float(os.environ.get("MFLUX_IMAGE_MISMATCH_THRESHOLD", DEFAULT_MISMATCH_THRESHOLD)) @staticmethod diff --git a/src/mflux/utils/image_util.py b/src/mflux/utils/image_util.py index ff9e726..b9102db 100644 --- a/src/mflux/utils/image_util.py +++ b/src/mflux/utils/image_util.py @@ -9,9 +9,9 @@ import PIL.Image import PIL.ImageDraw from PIL._typing import StrOrBytesPath -from mflux.config.runtime_config import RuntimeConfig +from mflux.models.common.config.config import Config from mflux.models.flux.variants.concept_attention.attention_data import ConceptHeatmap -from mflux.ui.box_values import AbsoluteBoxValues, BoxValues +from mflux.utils.box_values import AbsoluteBoxValues, BoxValues from mflux.utils.generated_image import GeneratedImage from mflux.utils.metadata_builder import MetadataBuilder @@ -22,7 +22,7 @@ class ImageUtil: @staticmethod def to_image( decoded_latents: mx.array, - config: RuntimeConfig, + config: Config, seed: int, prompt: str, quantization: int, @@ -141,14 +141,11 @@ class ImageUtil: left: int | str = 0, fill_color: tuple = (255, 255, 255), ) -> PIL.Image.Image: - """ - Expand the image by padding it with the top/right/bottom/left box values specified - in either pixels or percentages relative to original image dimensions. - """ if box_values is None: box_values = BoxValues(top=top, right=right, bottom=bottom, left=left).normalize_to_dimensions( - image.width, image.height - ) # Create new image with expanded dimensions, paste the original image into it + width=image.width, + height=image.height, + ) new_width = image.width + box_values.left + box_values.right new_height = image.height + box_values.top + box_values.bottom @@ -158,10 +155,6 @@ class ImageUtil: @staticmethod def create_outpaint_mask_image(orig_width: int, orig_height: int, **create_bordered_image_kwargs): - """ - Create an outpaint mask image that is black in the middle representing the original image dimensions - and a white border on the outside paddings representing the areas to be painted over. - """ return ImageUtil.create_bordered_image( orig_width, orig_height, @@ -182,9 +175,6 @@ class ImageUtil: bottom: int | str = 0, left: int | str = 0, ) -> PIL.Image.Image: - """ - Create an image with border color and a content/fill-colored center based on CSS box model values. - """ if box_values is None: box_values = BoxValues(top=top, right=right, bottom=bottom, left=left).normalize_to_dimensions( orig_width, orig_height @@ -257,7 +247,6 @@ class ImageUtil: @staticmethod def _embed_metadata(metadata: dict, path: str | Path) -> None: - """Original EXIF metadata embedding - preserved for compatibility""" try: # Convert metadata dictionary to a string metadata_str = json.dumps(metadata) diff --git a/src/mflux/utils/info_util.py b/src/mflux/utils/info_util.py new file mode 100644 index 0000000..298fc6f --- /dev/null +++ b/src/mflux/utils/info_util.py @@ -0,0 +1,87 @@ +from datetime import datetime +from pathlib import Path + + +class InfoUtil: + @staticmethod + def format_metadata(metadata: dict) -> str: + exif = metadata.get("exif", {}) + if not exif: + return "No metadata found" + + lines = ["=" * 60, "MFLUX Image Information", "=" * 60] + + # Prompt + if prompt := exif.get("prompt"): + lines.append(f"\nPrompt: {prompt}") + + if negative_prompt := exif.get("negative_prompt"): + lines.append(f"Negative Prompt: {negative_prompt}") + + # Model information + lines.append("") + if model := exif.get("model"): + lines.append(f"Model: {model}") + + # Image dimensions + if width := exif.get("width"): + lines.append(f"Width: {width}") + if height := exif.get("height"): + lines.append(f"Height: {height}") + + # Generation parameters + lines.append("") + if seed := exif.get("seed"): + lines.append(f"Seed: {seed}") + if steps := exif.get("steps"): + lines.append(f"Steps: {steps}") + if guidance := exif.get("guidance"): + lines.append(f"Guidance: {guidance}") + + # Technical settings + if quantize := exif.get("quantize"): + lines.append(f"Quantization: {quantize}-bit") + if precision := exif.get("precision"): + lines.append(f"Precision: {precision}") + + # LoRA information + if lora_paths := exif.get("lora_paths"): + lines.append("") + lines.append(f"LoRAs ({len(lora_paths)}):") + lora_scales = exif.get("lora_scales") or [] + for i, lora in enumerate(lora_paths): + scale = lora_scales[i] if i < len(lora_scales) else 1.0 + lora_name = Path(lora).name + lines.append(f" - {lora_name} (scale: {scale})") + + # Image-to-image parameters + if image_path := exif.get("image_path"): + lines.append("") + lines.append(f"Source Image: {Path(image_path).name}") + if image_strength := exif.get("image_strength"): + lines.append(f"Image Strength: {image_strength}") + + # ControlNet parameters + if controlnet_path := exif.get("controlnet_image_path"): + lines.append("") + lines.append(f"ControlNet Image: {Path(controlnet_path).name}") + if controlnet_strength := exif.get("controlnet_strength"): + lines.append(f"ControlNet Strength: {controlnet_strength}") + + # Generation metadata + lines.append("") + if gen_time := exif.get("generation_time_seconds"): + lines.append(f"Generation Time: {gen_time:.2f}s") + + if created_at := exif.get("created_at"): + try: + dt = datetime.fromisoformat(created_at) + lines.append(f"Created: {dt.strftime('%Y-%m-%d %H:%M:%S')}") + except (ValueError, AttributeError): + lines.append(f"Created: {created_at}") + + if version := exif.get("mflux_version"): + lines.append(f"MFLUX Version: {version}") + + lines.append("=" * 60) + return "\n".join(lines) diff --git a/src/mflux/utils/lora_library_util.py b/src/mflux/utils/lora_library_util.py new file mode 100644 index 0000000..0c51895 --- /dev/null +++ b/src/mflux/utils/lora_library_util.py @@ -0,0 +1,100 @@ +import os +import sys +from collections import defaultdict +from pathlib import Path + +from mflux.models.common.resolution.lora_resolution import LoraResolution + + +class LoraLibraryUtil: + @staticmethod + def epilog() -> str: + return """ +Environment Variables: + LORA_LIBRARY_PATH Colon-separated list of directories containing .safetensors files + Example: /path/to/loras:/another/path/to/loras + +Examples: + # List all discovered LoRA files using LORA_LIBRARY_PATH + mflux-lora-library list + + # With environment variable set + LORA_LIBRARY_PATH=/home/user/loras:/opt/shared/loras mflux-lora-library list + + # Override with specific paths + mflux-lora-library list --paths /path/to/loras /another/path/to/loras +""" + + @staticmethod + def list_loras(paths: list[str] | None = None) -> int: + if paths: + # Use provided paths + library_paths = [Path(p.strip()) for p in paths] + else: + # Use environment variable + library_path_env = os.environ.get("LORA_LIBRARY_PATH") + + if not library_path_env: + print("LORA_LIBRARY_PATH environment variable is not set.", file=sys.stderr) + print( + "Set it to one or more colon-separated directories containing .safetensors files.", file=sys.stderr + ) + print("Alternatively, use --paths to specify directories directly.", file=sys.stderr) + return 1 + + # Parse library paths from environment + library_paths = [Path(p.strip()) for p in library_path_env.split(":") if p.strip()] + + # Check which paths exist + valid_paths = [] + for path in library_paths: + if path.exists() and path.is_dir(): + valid_paths.append(path) + else: + print(f"Warning: Path does not exist or is not a directory: {path}", file=sys.stderr) + + if not valid_paths: + print("No valid directories found in LORA_LIBRARY_PATH.", file=sys.stderr) + return 1 + + # Discover all LoRA files + lora_registry = LoraResolution.discover_files(valid_paths) + + if not lora_registry: + print("No .safetensors files found in the specified directories.") + return 0 + + # Sort by basename for consistent output + sorted_items = sorted(lora_registry.items()) + + # Print all discovered LoRAs + print("Discovered LoRA files:") + print("-" * 80) + for basename, full_path in sorted_items: + print(f"{basename} -> {full_path}") + + # Calculate statistics per top-level directory + stats = defaultdict(int) + for full_path in lora_registry.values(): + # Find which library path this file belongs to + for lib_path in valid_paths: + try: + # Check if full_path is relative to lib_path + full_path.relative_to(lib_path.resolve()) + stats[str(lib_path)] += 1 + break + except ValueError: + # Not relative to this lib_path, continue + continue + + # Print summary + print("-" * 80) + print(f"\nTotal LoRA files found: {len(lora_registry)}") + + if len(valid_paths) > 1: + print("\nBreakdown by library path:") + for lib_path in valid_paths: + count = stats.get(str(lib_path), 0) + print(f" {lib_path}: {count} files") + + return 0 diff --git a/src/mflux/utils/metadata_builder.py b/src/mflux/utils/metadata_builder.py index 4d4e9c3..e2f3f04 100644 --- a/src/mflux/utils/metadata_builder.py +++ b/src/mflux/utils/metadata_builder.py @@ -1,5 +1,3 @@ -"""Metadata builder for XMP and IPTC formats.""" - import logging from pathlib import Path @@ -9,21 +7,8 @@ log = logging.getLogger(__name__) class MetadataBuilder: - """Builds XMP and IPTC metadata packets for image embedding.""" - @staticmethod def embed_metadata(metadata: dict, path: str | Path) -> None: - """ - Embed XMP and IPTC metadata into an image file without touching existing EXIF. - Only supports PNG format. - - Args: - metadata: Dictionary containing image generation metadata - path: Path to the image file to embed metadata into - - Raises: - Exception: If there's an error during metadata embedding - """ # Check if file is PNG format path_obj = Path(path) if isinstance(path, str) else path if path_obj.suffix.lower() != ".png": @@ -71,15 +56,6 @@ class MetadataBuilder: @staticmethod def build_xmp_packet(metadata: dict) -> str: - """ - Build an XMP metadata packet from the provided metadata dictionary. - - Args: - metadata: Dictionary containing image generation metadata - - Returns: - XMP packet as a string - """ # Escape prompt for XML prompt_escaped = metadata.get("prompt", "").replace("&", "&").replace("<", "<").replace(">", ">") @@ -128,15 +104,6 @@ class MetadataBuilder: @staticmethod def build_iptc_binary(metadata: dict) -> bytes: - """ - Build IPTC metadata in binary format from the provided metadata dictionary. - - Args: - metadata: Dictionary containing image generation metadata - - Returns: - IPTC binary data - """ # Build LoRA info for IPTC lora_info = MetadataBuilder._build_lora_string(metadata) @@ -205,15 +172,6 @@ class MetadataBuilder: @staticmethod def _build_lora_string(metadata: dict) -> str: - """ - Build a LoRA information string from metadata. - - Args: - metadata: Dictionary containing lora_paths and lora_scales - - Returns: - Comma-separated string of LoRA names and scales, or empty string - """ # Check if lora_paths exists and is not None/empty if "lora_paths" not in metadata or metadata["lora_paths"] is None or not metadata["lora_paths"]: return "" diff --git a/src/mflux/utils/metadata_reader.py b/src/mflux/utils/metadata_reader.py index f3406c3..1a8ec0f 100644 --- a/src/mflux/utils/metadata_reader.py +++ b/src/mflux/utils/metadata_reader.py @@ -1,5 +1,3 @@ -"""Metadata reader for extracting and parsing image metadata.""" - import json import logging from pathlib import Path @@ -11,19 +9,8 @@ log = logging.getLogger(__name__) class MetadataReader: - """Reads and parses metadata from MFLUX generated images.""" - @staticmethod def read_exif_metadata(image_path: str | Path) -> dict | None: - """ - Extract EXIF metadata from an image. - - Args: - image_path: Path to the image file - - Returns: - Dictionary containing parsed EXIF metadata, or None if not found - """ try: img = PIL.Image.open(image_path) exif_bytes = img.info.get("exif") @@ -50,15 +37,6 @@ class MetadataReader: @staticmethod def read_xmp_metadata(image_path: str | Path) -> dict | None: - """ - Extract XMP metadata from an image. - - Args: - image_path: Path to the image file - - Returns: - Dictionary containing parsed XMP metadata, or None if not found - """ try: img = PIL.Image.open(image_path) xmp_data = img.info.get("XML:com.adobe.xmp") @@ -110,15 +88,6 @@ class MetadataReader: @staticmethod def read_all_metadata(image_path: str | Path) -> dict: - """ - Read all available metadata from an image. - - Args: - image_path: Path to the image file - - Returns: - Dictionary with 'exif' and 'xmp' keys containing metadata - """ return { "exif": MetadataReader.read_exif_metadata(image_path), "xmp": MetadataReader.read_xmp_metadata(image_path), diff --git a/src/mflux/ui/prompt_utils.py b/src/mflux/utils/prompt_util.py similarity index 89% rename from src/mflux/ui/prompt_utils.py rename to src/mflux/utils/prompt_util.py index 54015de..638c60c 100644 --- a/src/mflux/ui/prompt_utils.py +++ b/src/mflux/utils/prompt_util.py @@ -8,9 +8,9 @@ from mflux.utils.exceptions import PromptFileReadError logger = logging.getLogger(__name__) -class PromptUtils: +class PromptUtil: @staticmethod - def get_effective_prompt(args: Namespace) -> str: + def read_prompt(args: Namespace) -> str: # Handle stdin input when prompt is "-" if args.prompt == "-": try: @@ -24,14 +24,14 @@ class PromptUtils: # Handle prompt file if args.prompt_file is not None: - prompt = PromptUtils._read_prompt_file(args.prompt_file) + prompt = PromptUtil._read_prompt_file(args.prompt_file) return prompt # Return regular prompt return args.prompt @staticmethod - def get_effective_negative_prompt(args: Namespace) -> str: + def read_negative_prompt(args: Namespace) -> str: # Return negative prompt or empty string if not provided return getattr(args, "negative_prompt", "") diff --git a/src/mflux/ui/scale_factor.py b/src/mflux/utils/scale_factor.py similarity index 52% rename from src/mflux/ui/scale_factor.py rename to src/mflux/utils/scale_factor.py index 711ec22..f148a09 100644 --- a/src/mflux/ui/scale_factor.py +++ b/src/mflux/utils/scale_factor.py @@ -2,27 +2,7 @@ import re from dataclasses import dataclass from typing import Union -from mflux.ui.defaults import DIMENSION_STEP_PIXELS - - -@dataclass -class ScaleFactor: - value: Union[int, float] - - def __post_init__(self): - """Validate that the scale factor is positive""" - if self.value <= 0: - raise ValueError("Scale factor must be positive") - - def __str__(self): - """String representation as multiplier""" - if isinstance(self.value, int) or self.value.is_integer(): - return f"{int(self.value)}x" - return f"{self.value}x" - - def get_scaled_value(self, orig_value, pixel_steps=DIMENSION_STEP_PIXELS) -> int: - return int(self.value * orig_value - (self.value * orig_value) % pixel_steps) - +from mflux.cli.defaults.defaults import DIMENSION_STEP_PIXELS # Regex pattern for scale factors SCALE_FACTOR_PATTERN = re.compile( @@ -31,18 +11,34 @@ SCALE_FACTOR_PATTERN = re.compile( ) -def parse_scale_factor(text: str) -> ScaleFactor: - """Parse a scale factor string into a ScaleFactor dataclass""" - match = SCALE_FACTOR_PATTERN.match(text.strip()) - if not match: - raise ValueError(f"Invalid scale factor format: '{text}'. Expected format: '2x', '1.5x', etc.") +@dataclass +class ScaleFactor: + value: Union[int, float] - value_str = match.group(1) + def __post_init__(self): + if self.value <= 0: + raise ValueError("Scale factor must be positive") - # Convert to int if it's a whole number, otherwise float - if "." in value_str: - value = float(value_str) - else: - value = int(value_str) + def __str__(self): + if isinstance(self.value, int) or self.value.is_integer(): + return f"{int(self.value)}x" + return f"{self.value}x" - return ScaleFactor(value) + def get_scaled_value(self, orig_value, pixel_steps=DIMENSION_STEP_PIXELS) -> int: + return int(self.value * orig_value - (self.value * orig_value) % pixel_steps) + + @staticmethod + def parse(text: str) -> "ScaleFactor": + match = SCALE_FACTOR_PATTERN.match(text.strip()) + if not match: + raise ValueError(f"Invalid scale factor format: '{text}'. Expected format: '2x', '1.5x', etc.") + + value_str = match.group(1) + + # Convert to int if it's a whole number, otherwise float + if "." in value_str: + value = float(value_str) + else: + value = int(value_str) + + return ScaleFactor(value) diff --git a/tests/arg_parser/test_cli_argparser.py b/tests/arg_parser/test_cli_argparser.py index d4b0e25..77c8ad8 100644 --- a/tests/arg_parser/test_cli_argparser.py +++ b/tests/arg_parser/test_cli_argparser.py @@ -5,9 +5,9 @@ from unittest.mock import patch import pytest -from mflux.ui import defaults as ui_defaults -from mflux.ui.box_values import BoxValues -from mflux.ui.cli.parsers import CommandLineParser +from mflux.cli.defaults import defaults as ui_defaults +from mflux.cli.parser.parsers import CommandLineParser +from mflux.utils.box_values import BoxValues def _create_mflux_generate_parser(with_controlnet=False, require_model_arg=False) -> CommandLineParser: @@ -214,12 +214,14 @@ def mflux_in_context_edit_minimal_argv() -> list[str]: ] +@pytest.mark.fast def test_model_path_requires_model_arg(mflux_generate_parser): # when loading a model via --path, the model name still need to be specified with patch("sys.argv", "mflux-generate", "--path", "/some/saved/model"): assert pytest.raises(SystemExit, mflux_generate_parser.parse_args) +@pytest.mark.fast def test_model_arg_not_in_file(mflux_generate_parser, mflux_generate_minimal_argv, base_metadata_dict, temp_dir): metadata_file = temp_dir / "model.json" with metadata_file.open("wt") as m: @@ -245,6 +247,7 @@ def test_model_arg_not_in_file(mflux_generate_parser, mflux_generate_minimal_arg assert args.base_model is None +@pytest.mark.fast def test_model_arg_in_file(mflux_generate_parser, mflux_generate_minimal_argv, base_metadata_dict, temp_dir): metadata_file = temp_dir / "model.json" with metadata_file.open("wt") as m: @@ -260,6 +263,7 @@ def test_model_arg_in_file(mflux_generate_parser, mflux_generate_minimal_argv, b assert args.model == "schnell" +@pytest.mark.fast def test_base_model_arg_in_file(mflux_generate_parser, mflux_generate_minimal_argv, base_metadata_dict, temp_dir): metadata_file = temp_dir / "model.json" with metadata_file.open("wt") as m: @@ -279,6 +283,7 @@ def test_base_model_arg_in_file(mflux_generate_parser, mflux_generate_minimal_ar assert args.base_model == "schnell" +@pytest.mark.fast def test_prompt_arg(mflux_generate_parser, mflux_generate_minimal_argv, base_metadata_dict, temp_dir): metadata_file = temp_dir / "prompt.json" file_prompt = "origin of the universe" @@ -296,6 +301,7 @@ def test_prompt_arg(mflux_generate_parser, mflux_generate_minimal_argv, base_met assert args.prompt == cli_prompt +@pytest.mark.fast def test_prompt_file_arg(mflux_generate_parser, mflux_generate_minimal_argv, temp_dir): # Create a prompt file prompt_content = "prompt from a file being re-read for each generation" @@ -310,6 +316,7 @@ def test_prompt_file_arg(mflux_generate_parser, mflux_generate_minimal_argv, tem assert args.prompt is None # prompt should be None since we're using prompt-file +@pytest.mark.fast def test_prompt_and_prompt_file_mutually_exclusive(mflux_generate_parser, temp_dir): # Create a prompt file prompt_file = temp_dir / "prompt.txt" @@ -322,6 +329,7 @@ def test_prompt_and_prompt_file_mutually_exclusive(mflux_generate_parser, temp_d mflux_generate_parser.parse_args() +@pytest.mark.fast def test_guidance_arg(mflux_generate_parser, mflux_generate_minimal_argv, base_metadata_dict, temp_dir): # fmt: off metadata_file = temp_dir / "guidance.json" with metadata_file.open("wt") as m: @@ -337,6 +345,7 @@ def test_guidance_arg(mflux_generate_parser, mflux_generate_minimal_argv, base_m assert args.guidance == pytest.approx(5.0) +@pytest.mark.fast def test_quantize_arg(mflux_generate_parser, mflux_generate_minimal_argv, base_metadata_dict, temp_dir): # fmt: off metadata_file = temp_dir / "quantize.json" with metadata_file.open("wt") as m: @@ -352,6 +361,7 @@ def test_quantize_arg(mflux_generate_parser, mflux_generate_minimal_argv, base_m assert args.quantize == 8 +@pytest.mark.fast def test_seed_arg(mflux_generate_parser, mflux_generate_minimal_model_argv, base_metadata_dict, temp_dir): # fmt: off metadata_file = temp_dir / "seed.json" with metadata_file.open("wt") as m: @@ -383,6 +393,7 @@ def test_seed_arg(mflux_generate_parser, mflux_generate_minimal_model_argv, base assert "_seed_{seed}" not in args.output +@pytest.mark.fast def test_auto_seeds_arg(mflux_generate_parser, mflux_generate_minimal_model_argv): with patch("sys.argv", mflux_generate_minimal_model_argv + ["--seed", "24", "48", "--auto-seeds", "5"]): args = mflux_generate_parser.parse_args() @@ -401,6 +412,7 @@ def test_auto_seeds_arg(mflux_generate_parser, mflux_generate_minimal_model_argv assert isinstance(_, int) +@pytest.mark.fast def test_steps_arg(mflux_generate_parser, mflux_generate_minimal_argv, base_metadata_dict, temp_dir): # fmt: off metadata_file = temp_dir / "steps.json" with metadata_file.open("wt") as m: @@ -428,6 +440,7 @@ def test_steps_arg(mflux_generate_parser, mflux_generate_minimal_argv, base_meta assert args.steps == 12 +@pytest.mark.fast def test_lora_args(mflux_generate_parser, mflux_generate_minimal_argv, base_metadata_dict, temp_dir): # fmt: off test_paths = ["/some/lora/1.safetensors", "/some/lora/2.safetensors"] metadata_file = temp_dir / "lora_args.json" @@ -442,8 +455,8 @@ def test_lora_args(mflux_generate_parser, mflux_generate_minimal_argv, base_meta assert args.lora_paths is None assert args.lora_scales is None - # Mock get_lora_path to bypass file validation for test purposes - with patch("mflux.ui.cli.parsers.get_lora_path", side_effect=lambda x: x): + # Mock LoraResolution.resolve to bypass file validation for test purposes + with patch("mflux.cli.parser.parsers.LoraResolution.resolve", side_effect=lambda x: x): # test metadata config accepted with patch('sys.argv', mflux_generate_minimal_argv + ['--config-from-metadata', metadata_file.as_posix()]): # fmt: off args = mflux_generate_parser.parse_args() @@ -467,6 +480,7 @@ def test_lora_args(mflux_generate_parser, mflux_generate_minimal_argv, base_meta assert args.lora_scales == [pytest.approx(v) for v in [0.3, 0.7, 0.1, 0.9]] +@pytest.mark.fast def test_image_to_image_args(mflux_generate_parser, mflux_generate_minimal_argv, base_metadata_dict, temp_dir): # fmt: off metadata_file = temp_dir / "image_to_image.json" test_path = "/some/awesome/image.png" @@ -499,6 +513,7 @@ def test_image_to_image_args(mflux_generate_parser, mflux_generate_minimal_argv, assert args.image_strength == 0.4 # default +@pytest.mark.fast def test_image_outpaint_args(mflux_generate_parser, mflux_generate_minimal_argv, base_metadata_dict, temp_dir): # fmt: off metadata_file = temp_dir / "image_outpaint.json" test_padding = "10,20,30,40" @@ -533,6 +548,7 @@ def test_image_outpaint_args(mflux_generate_parser, mflux_generate_minimal_argv, assert args.image_outpaint_padding == BoxValues("10%", 50, "20%", 50) +@pytest.mark.fast def test_controlnet_args(mflux_generate_controlnet_parser, mflux_generate_controlnet_minimal_argv, base_metadata_dict, temp_dir): # fmt: off test_path = "/some/cnet/1.safetensors" metadata_file = temp_dir / "cnet_args.json" @@ -572,6 +588,7 @@ def test_controlnet_args(mflux_generate_controlnet_parser, mflux_generate_contro assert args.controlnet_save_canny is False +@pytest.mark.fast def test_save_args(mflux_save_parser): with patch("sys.argv", ["mflux-save", "--model", "dev"]): # required --path not provided, exits to error @@ -582,6 +599,7 @@ def test_save_args(mflux_save_parser): assert args.path == "/some/model/folder" +@pytest.mark.fast def test_fill_args(mflux_fill_parser, mflux_fill_minimal_argv): # Test required arguments with patch("sys.argv", mflux_fill_minimal_argv): @@ -589,7 +607,7 @@ def test_fill_args(mflux_fill_parser, mflux_fill_minimal_argv): assert args.prompt == "meaning of life" assert args.image_path == Path("image.png") assert args.masked_image_path == Path("mask.png") - # Default guidance for fill should be None (will be set to 30 in generate_fill.py) + # Default guidance for fill should be None (will be set to 30 in flux_generate_fill.py) assert args.guidance is None # Parser doesn't set default, app does # Test with missing required arguments @@ -611,6 +629,7 @@ def test_fill_args(mflux_fill_parser, mflux_fill_minimal_argv): assert args.width == 512 +@pytest.mark.fast def test_fill_args_with_metadata(mflux_fill_parser, mflux_fill_minimal_argv, base_metadata_dict, temp_dir): metadata_file = temp_dir / "fill_metadata.json" # Set up metadata with fill-related values @@ -647,8 +666,9 @@ def test_fill_args_with_metadata(mflux_fill_parser, mflux_fill_minimal_argv, bas assert args.masked_image_path == Path("cli_mask.png") # From CLI +@pytest.mark.fast def test_fill_default_guidance(): - # Create a parser just like in generate_fill.py + # Create a parser just like in flux_generate_fill.py parser = CommandLineParser(description="Generate an image using the fill tool to complete masked areas.") parser.add_general_arguments() parser.add_model_arguments(require_model_arg=False) @@ -666,7 +686,7 @@ def test_fill_default_guidance(): # Verify initial guidance value is None (no default set by parser) assert args.guidance is None - # Simulate what happens in generate_fill.py + # Simulate what happens in flux_generate_fill.py if args.guidance is None: args.guidance = ui_defaults.DEFAULT_DEV_FILL_GUIDANCE @@ -674,6 +694,7 @@ def test_fill_default_guidance(): assert args.guidance == ui_defaults.DEFAULT_DEV_FILL_GUIDANCE +@pytest.mark.fast def test_scheduler_by_name(mflux_generate_parser, mflux_generate_minimal_model_argv): with patch("sys.argv", mflux_generate_minimal_model_argv + ["--scheduler", "linear"]): args = mflux_generate_parser.parse_args() @@ -681,14 +702,15 @@ def test_scheduler_by_name(mflux_generate_parser, mflux_generate_minimal_model_a assert args.scheduler == "linear" with patch("sys.argv", mflux_generate_minimal_model_argv + ["--scheduler", "foobar"]): - # let the CLI will accept "foobar" - later RuntimeConfig will validate + # let the CLI will accept "foobar" - later Config will validate args = mflux_generate_parser.parse_args() with patch("sys.argv", mflux_generate_minimal_model_argv + ["--scheduler", "mflux.someplugin.SchedulerBaz"]): - # let the CLI will accept external import paths - later RuntimeConfig will validate + # let the CLI will accept external import paths - later Config will validate args = mflux_generate_parser.parse_args() +@pytest.mark.fast def test_save_depth_args(mflux_save_depth_parser, mflux_save_depth_minimal_argv): # Test required arguments with patch("sys.argv", mflux_save_depth_minimal_argv): @@ -709,6 +731,7 @@ def test_save_depth_args(mflux_save_depth_parser, mflux_save_depth_minimal_argv) assert args.output == "depth_map.png" +@pytest.mark.fast def test_redux_args(mflux_redux_parser, mflux_redux_minimal_argv): # Test required arguments with patch("sys.argv", mflux_redux_minimal_argv): @@ -754,6 +777,7 @@ def test_redux_args(mflux_redux_parser, mflux_redux_minimal_argv): assert args.output == "redux_result.png" +@pytest.mark.fast def test_concept_attention_args(mflux_concept_parser, mflux_concept_minimal_argv): # Test required arguments with patch("sys.argv", mflux_concept_minimal_argv): @@ -791,6 +815,7 @@ def test_concept_attention_args(mflux_concept_parser, mflux_concept_minimal_argv assert args.heatmap_timesteps == [0, 1, 2] +@pytest.mark.fast def test_catvton_args(mflux_catvton_parser, mflux_catvton_minimal_argv): # Test required arguments with patch("sys.argv", mflux_catvton_minimal_argv): @@ -826,6 +851,7 @@ def test_catvton_args(mflux_catvton_parser, mflux_catvton_minimal_argv): assert args.vae_tiling_split == "horizontal" # Default value from parser +@pytest.mark.fast def test_in_context_edit_args(mflux_in_context_edit_parser, mflux_in_context_edit_minimal_argv): # Test required arguments with instruction with patch("sys.argv", mflux_in_context_edit_minimal_argv): @@ -879,6 +905,7 @@ def test_in_context_edit_args(mflux_in_context_edit_parser, mflux_in_context_edi assert args.vae_tiling_split == "horizontal" # Default value from parser +@pytest.mark.fast def test_in_context_args(mflux_catvton_parser, mflux_catvton_minimal_argv): # Test save_full_image flag with patch("sys.argv", mflux_catvton_minimal_argv): @@ -888,3 +915,334 @@ def test_in_context_args(mflux_catvton_parser, mflux_catvton_minimal_argv): with patch("sys.argv", mflux_catvton_minimal_argv + ["--save-full-image"]): args = mflux_catvton_parser.parse_args() assert args.save_full_image is True + + +# ============================================================================ +# Qwen Image Tests +# ============================================================================ + + +@pytest.fixture +def mflux_qwen_parser() -> CommandLineParser: + parser = CommandLineParser(description="Generate an image using Qwen Image model.") + parser.add_general_arguments() + parser.add_model_arguments(require_model_arg=False) + parser.add_lora_arguments() + parser.add_image_generator_arguments(supports_metadata_config=True) + parser.add_image_to_image_arguments(required=False) + parser.add_output_arguments() + return parser + + +@pytest.fixture +def mflux_qwen_minimal_argv() -> list[str]: + return ["mflux-generate-qwen", "--prompt", "a beautiful sunset"] + + +@pytest.mark.fast +def test_qwen_args(mflux_qwen_parser, mflux_qwen_minimal_argv): + # Test minimal arguments + with patch("sys.argv", mflux_qwen_minimal_argv): + args = mflux_qwen_parser.parse_args() + assert args.prompt == "a beautiful sunset" + + # Test with image-to-image + with patch("sys.argv", mflux_qwen_minimal_argv + ["--image-path", "input.png", "--image-strength", "0.5"]): + args = mflux_qwen_parser.parse_args() + assert args.prompt == "a beautiful sunset" + assert args.image_path == Path("input.png") + assert args.image_strength == pytest.approx(0.5) + + # Test with quantization + with patch("sys.argv", mflux_qwen_minimal_argv + ["--quantize", "8"]): + args = mflux_qwen_parser.parse_args() + assert args.quantize == 8 + + +# ============================================================================ +# Qwen Image Edit Tests +# ============================================================================ + + +@pytest.fixture +def mflux_qwen_edit_parser() -> CommandLineParser: + parser = CommandLineParser(description="Generate an image using Qwen Image Edit.") + parser.add_general_arguments() + parser.add_model_arguments(require_model_arg=False) + parser.add_lora_arguments() + parser.add_image_generator_arguments(supports_metadata_config=True) + parser.add_argument("--image-paths", type=Path, nargs="+", required=True, help="Local paths to init images") + parser.add_output_arguments() + return parser + + +@pytest.fixture +def mflux_qwen_edit_minimal_argv() -> list[str]: + return ["mflux-generate-qwen-edit", "--prompt", "make it blue", "--image-paths", "image1.png"] + + +@pytest.mark.fast +def test_qwen_edit_args(mflux_qwen_edit_parser, mflux_qwen_edit_minimal_argv): + # Test minimal arguments + with patch("sys.argv", mflux_qwen_edit_minimal_argv): + args = mflux_qwen_edit_parser.parse_args() + assert args.prompt == "make it blue" + assert len(args.image_paths) == 1 + assert args.image_paths[0] == Path("image1.png") + + # Test with multiple images + with patch( + "sys.argv", + ["mflux-generate-qwen-edit", "--prompt", "combine these", "--image-paths", "img1.png", "img2.png", "img3.png"], + ): + args = mflux_qwen_edit_parser.parse_args() + assert args.prompt == "combine these" + assert len(args.image_paths) == 3 + + # Test missing required image-paths + with patch("sys.argv", ["mflux-generate-qwen-edit", "--prompt", "test"]): + pytest.raises(SystemExit, mflux_qwen_edit_parser.parse_args) + + +# ============================================================================ +# FIBO Tests +# ============================================================================ + + +@pytest.fixture +def mflux_fibo_parser() -> CommandLineParser: + parser = CommandLineParser(description="Generate an image using FIBO model.") + parser.add_general_arguments() + parser.add_model_arguments(require_model_arg=False) + parser.add_lora_arguments() + parser.add_image_generator_arguments(supports_metadata_config=True) + parser.add_image_to_image_arguments(required=False) + parser.add_output_arguments() + return parser + + +@pytest.fixture +def mflux_fibo_minimal_argv() -> list[str]: + return ["mflux-generate-fibo", "--prompt", '{"scene": "a forest"}'] + + +@pytest.mark.fast +def test_fibo_args(mflux_fibo_parser, mflux_fibo_minimal_argv): + # Test minimal arguments + with patch("sys.argv", mflux_fibo_minimal_argv): + args = mflux_fibo_parser.parse_args() + assert args.prompt == '{"scene": "a forest"}' + + # Test with negative prompt + with patch("sys.argv", mflux_fibo_minimal_argv + ["--negative-prompt", "blurry, low quality"]): + args = mflux_fibo_parser.parse_args() + assert args.negative_prompt == "blurry, low quality" + + # Test with image-to-image + with patch("sys.argv", mflux_fibo_minimal_argv + ["--image-path", "input.png"]): + args = mflux_fibo_parser.parse_args() + assert args.image_path == Path("input.png") + + +# ============================================================================ +# Z-Image Turbo Tests +# ============================================================================ + + +@pytest.fixture +def mflux_z_image_turbo_parser() -> CommandLineParser: + parser = CommandLineParser(description="Generate an image using Z-Image Turbo.") + parser.add_general_arguments() + parser.add_model_arguments(require_model_arg=False) + parser.add_lora_arguments() + parser.add_image_generator_arguments(supports_metadata_config=True) + parser.add_image_to_image_arguments(required=False) + parser.add_output_arguments() + return parser + + +@pytest.fixture +def mflux_z_image_turbo_minimal_argv() -> list[str]: + return ["mflux-generate-z-image-turbo", "--prompt", "a cat in space"] + + +@pytest.mark.fast +def test_z_image_turbo_args(mflux_z_image_turbo_parser, mflux_z_image_turbo_minimal_argv): + # Test minimal arguments + with patch("sys.argv", mflux_z_image_turbo_minimal_argv): + args = mflux_z_image_turbo_parser.parse_args() + assert args.prompt == "a cat in space" + + # Test with quantization + with patch("sys.argv", mflux_z_image_turbo_minimal_argv + ["--quantize", "8"]): + args = mflux_z_image_turbo_parser.parse_args() + assert args.quantize == 8 + + # Test with image-to-image + with patch("sys.argv", mflux_z_image_turbo_minimal_argv + ["--image-path", "input.png", "--image-strength", "0.6"]): + args = mflux_z_image_turbo_parser.parse_args() + assert args.image_path == Path("input.png") + assert args.image_strength == pytest.approx(0.6) + + # Mock LoraResolution.resolve to bypass file validation for test purposes + with patch("mflux.cli.parser.parsers.LoraResolution.resolve", side_effect=lambda x: x): + # Test with LoRA + with patch( + "sys.argv", + mflux_z_image_turbo_minimal_argv + ["--lora-paths", "some/lora.safetensors", "--lora-scales", "0.8"], + ): + args = mflux_z_image_turbo_parser.parse_args() + assert args.lora_paths == ["some/lora.safetensors"] + assert args.lora_scales == [pytest.approx(0.8)] + + +# ============================================================================ +# Kontext Tests +# ============================================================================ + + +@pytest.fixture +def mflux_kontext_parser() -> CommandLineParser: + parser = CommandLineParser(description="Generate an image using Flux Kontext.") + parser.add_general_arguments() + parser.add_model_arguments(require_model_arg=False) + parser.add_lora_arguments() + parser.add_image_generator_arguments(supports_metadata_config=True) + parser.add_image_to_image_arguments(required=True) + parser.add_output_arguments() + return parser + + +@pytest.fixture +def mflux_kontext_minimal_argv() -> list[str]: + return ["mflux-generate-kontext", "--prompt", "make the background blue", "--image-path", "input.png"] + + +@pytest.mark.fast +def test_kontext_args(mflux_kontext_parser, mflux_kontext_minimal_argv): + # Test minimal arguments + with patch("sys.argv", mflux_kontext_minimal_argv): + args = mflux_kontext_parser.parse_args() + assert args.prompt == "make the background blue" + assert args.image_path == Path("input.png") + + # Test missing required image-path + with patch("sys.argv", ["mflux-generate-kontext", "--prompt", "test"]): + pytest.raises(SystemExit, mflux_kontext_parser.parse_args) + + # Test with custom parameters + with patch("sys.argv", mflux_kontext_minimal_argv + ["--steps", "15", "--guidance", "3.5"]): + args = mflux_kontext_parser.parse_args() + assert args.steps == 15 + assert args.guidance == pytest.approx(3.5) + + +# ============================================================================ +# Depth Tests +# ============================================================================ + + +@pytest.fixture +def mflux_depth_parser() -> CommandLineParser: + parser = CommandLineParser(description="Generate an image using Flux Depth.") + parser.add_general_arguments() + parser.add_model_arguments(require_model_arg=False) + parser.add_lora_arguments() + parser.add_image_generator_arguments(supports_metadata_config=False) + parser.add_depth_arguments() + parser.add_output_arguments() + return parser + + +@pytest.fixture +def mflux_depth_minimal_argv() -> list[str]: + return ["mflux-generate-depth", "--prompt", "a portrait", "--depth-image-path", "depth.png"] + + +@pytest.mark.fast +def test_depth_args(mflux_depth_parser, mflux_depth_minimal_argv): + # Test minimal arguments with depth image + with patch("sys.argv", mflux_depth_minimal_argv): + args = mflux_depth_parser.parse_args() + assert args.prompt == "a portrait" + assert args.depth_image_path == Path("depth.png") + + # Test with source image (depth will be generated from it) + with patch("sys.argv", ["mflux-generate-depth", "--prompt", "test", "--image-path", "source.png"]): + args = mflux_depth_parser.parse_args() + assert args.image_path == Path("source.png") + assert args.depth_image_path is None + + # Test with save-depth-map flag + with patch("sys.argv", mflux_depth_minimal_argv + ["--save-depth-map"]): + args = mflux_depth_parser.parse_args() + assert args.save_depth_map is True + + +# ============================================================================ +# Info Tests +# ============================================================================ + + +@pytest.fixture +def mflux_info_parser() -> CommandLineParser: + parser = CommandLineParser(description="Show information about an image.") + parser.add_info_arguments() + return parser + + +@pytest.fixture +def mflux_info_minimal_argv() -> list[str]: + return ["mflux-info", "output.png"] # positional argument, not --image-path + + +@pytest.mark.fast +def test_info_args(mflux_info_parser, mflux_info_minimal_argv): + # Test minimal arguments (positional image_path) + with patch("sys.argv", mflux_info_minimal_argv): + args = mflux_info_parser.parse_args() + assert args.image_path == "output.png" + + # Test missing required positional argument + with patch("sys.argv", ["mflux-info"]): + pytest.raises(SystemExit, mflux_info_parser.parse_args) + + +# ============================================================================ +# Upscale Tests +# ============================================================================ + + +@pytest.fixture +def mflux_upscale_parser() -> CommandLineParser: + parser = CommandLineParser(description="Upscale an image using Flux Controlnet.") + parser.add_general_arguments() + parser.add_model_arguments(require_model_arg=False) + parser.add_image_generator_arguments(supports_metadata_config=True) + parser.add_image_to_image_arguments(required=True) + parser.add_output_arguments() + return parser + + +@pytest.fixture +def mflux_upscale_minimal_argv() -> list[str]: + return ["mflux-upscale", "--prompt", "enhance details", "--image-path", "low_res.png"] + + +@pytest.mark.fast +def test_upscale_args(mflux_upscale_parser, mflux_upscale_minimal_argv): + # Test minimal arguments + with patch("sys.argv", mflux_upscale_minimal_argv): + args = mflux_upscale_parser.parse_args() + assert args.prompt == "enhance details" + assert args.image_path == Path("low_res.png") + + # Test missing required image-path + with patch("sys.argv", ["mflux-upscale", "--prompt", "test"]): + pytest.raises(SystemExit, mflux_upscale_parser.parse_args) + + # Test with custom dimensions + with patch("sys.argv", mflux_upscale_minimal_argv + ["--height", "1024", "--width", "1024"]): + args = mflux_upscale_parser.parse_args() + assert args.height == 1024 + assert args.width == 1024 diff --git a/tests/arg_parser/test_lora_library_integration.py b/tests/arg_parser/test_lora_library_integration.py index 976e9d3..8fbe3b5 100644 --- a/tests/arg_parser/test_lora_library_integration.py +++ b/tests/arg_parser/test_lora_library_integration.py @@ -6,13 +6,12 @@ from unittest import mock import pytest -from mflux.models.common.lora.download import lora_library -from mflux.ui.cli.parsers import CommandLineParser +from mflux.cli.parser.parsers import CommandLineParser +from mflux.models.common.resolution import lora_resolution @pytest.fixture def temp_lora_library(): - """Create a temporary lora library for testing.""" with tempfile.TemporaryDirectory() as temp_dir: lib_path = Path(temp_dir) / "lora_library" lib_path.mkdir() @@ -26,12 +25,12 @@ def temp_lora_library(): yield lib_path +@pytest.mark.fast def test_parser_resolves_lora_paths_from_library(temp_lora_library): - """Test that parser resolves lora names to full paths from library.""" # Set up the environment variable with mock.patch.dict(os.environ, {"LORA_LIBRARY_PATH": str(temp_lora_library)}): # Re-initialize the registry - lora_library._initialize_registry() + lora_resolution.LoraResolution._initialize_registry() parser = CommandLineParser() parser.add_model_arguments() @@ -63,8 +62,8 @@ def test_parser_resolves_lora_paths_from_library(temp_lora_library): assert args.lora_scales == [0.5, 0.8] +@pytest.mark.fast def test_parser_preserves_full_paths(temp_lora_library): - """Test that parser preserves full paths that already exist.""" # Create a lora file outside the library with tempfile.NamedTemporaryFile(suffix=".safetensors", delete=False) as tmp_file: external_lora = tmp_file.name @@ -85,15 +84,15 @@ def test_parser_preserves_full_paths(temp_lora_library): os.unlink(external_lora) +@pytest.mark.fast def test_parser_mixed_lora_paths(temp_lora_library): - """Test parser with mix of library names and full paths.""" # Create an external lora file with tempfile.NamedTemporaryFile(suffix=".safetensors", delete=False) as tmp_file: external_lora = tmp_file.name try: with mock.patch.dict(os.environ, {"LORA_LIBRARY_PATH": str(temp_lora_library)}): - lora_library._initialize_registry() + lora_resolution.LoraResolution._initialize_registry() parser = CommandLineParser() parser.add_model_arguments() @@ -122,11 +121,11 @@ def test_parser_mixed_lora_paths(temp_lora_library): os.unlink(external_lora) +@pytest.mark.fast def test_parser_unknown_lora_names_error(): - """Test that unknown lora names raise an error.""" # No library path set with mock.patch.dict(os.environ, {}, clear=True): - lora_library._initialize_registry() + lora_resolution.LoraResolution._initialize_registry() parser = CommandLineParser() parser.add_model_arguments() diff --git a/tests/arg_parser/test_stdin_prompt.py b/tests/arg_parser/test_stdin_prompt.py index 8fe179f..922fdf7 100644 --- a/tests/arg_parser/test_stdin_prompt.py +++ b/tests/arg_parser/test_stdin_prompt.py @@ -4,8 +4,8 @@ from unittest.mock import patch import pytest -from mflux.ui.cli.parsers import CommandLineParser -from mflux.ui.prompt_utils import PromptUtils +from mflux.cli.parser.parsers import CommandLineParser +from mflux.utils.prompt_util import PromptUtil @pytest.fixture @@ -26,8 +26,8 @@ def temp_output_dir(tmp_path_factory) -> Path: return tmp_path_factory.mktemp("mflux_stdin_test") +@pytest.mark.fast def test_prompt_from_stdin(mflux_generate_parser): - """Test that --prompt - reads from stdin correctly.""" stdin_content = "A beautiful sunset over the ocean" # Simulate stdin input @@ -35,35 +35,34 @@ def test_prompt_from_stdin(mflux_generate_parser): with patch("sys.argv", ["mflux-generate", "--prompt", "-", "--model", "dev"]): args = mflux_generate_parser.parse_args() - # The parser returns the raw args, get_effective_prompt handles stdin + # The parser returns the raw args, read_prompt handles stdin assert args.prompt == "-" +@pytest.mark.fast def test_prompt_stdin_vs_regular(mflux_generate_parser): - """Test that regular prompt still works when not using stdin.""" regular_prompt = "A regular prompt not from stdin" with patch("sys.argv", ["mflux-generate", "--prompt", regular_prompt, "--model", "dev"]): args = mflux_generate_parser.parse_args() assert args.prompt == regular_prompt - assert PromptUtils.get_effective_prompt(args) == regular_prompt + assert PromptUtil.read_prompt(args) == regular_prompt +@pytest.mark.fast def test_prompt_stdin_with_whitespace(mflux_generate_parser): - """Test that stdin prompt with surrounding whitespace is properly stripped.""" stdin_content = "\n\n A prompt with whitespace \n\n" expected_prompt = "A prompt with whitespace" with patch("sys.stdin", StringIO(stdin_content)): with patch("sys.argv", ["mflux-generate", "--prompt", "-", "--model", "dev"]): args = mflux_generate_parser.parse_args() - effective_prompt = PromptUtils.get_effective_prompt(args) + effective_prompt = PromptUtil.read_prompt(args) assert effective_prompt == expected_prompt +@pytest.mark.fast def test_prompt_file_takes_precedence_over_stdin(mflux_generate_parser, temp_output_dir): - """Test that --prompt-file still works and takes precedence over stdin detection. - because --prompt is not used in this scenario.""" # Create a prompt file prompt_file = temp_output_dir / "prompt.txt" file_prompt = "Prompt from file" @@ -73,5 +72,5 @@ def test_prompt_file_takes_precedence_over_stdin(mflux_generate_parser, temp_out with patch("sys.stdin", StringIO(stdin_content)): with patch("sys.argv", ["mflux-generate", "--prompt-file", str(prompt_file), "--model", "dev"]): args = mflux_generate_parser.parse_args() - effective_prompt = PromptUtils.get_effective_prompt(args) + effective_prompt = PromptUtil.read_prompt(args) assert effective_prompt == file_prompt diff --git a/tests/arg_parser/test_upscale_argparser.py b/tests/arg_parser/test_upscale_argparser.py index 1877775..dd83445 100644 --- a/tests/arg_parser/test_upscale_argparser.py +++ b/tests/arg_parser/test_upscale_argparser.py @@ -3,12 +3,11 @@ from unittest.mock import patch import pytest -from mflux.ui.cli.parsers import CommandLineParser, int_or_special_value -from mflux.ui.scale_factor import ScaleFactor +from mflux.cli.parser.parsers import CommandLineParser, int_or_special_value +from mflux.utils.scale_factor import ScaleFactor def _create_custom_upscale_parser() -> CommandLineParser: - """Create parser with custom dimension scale factor support""" parser = CommandLineParser(description="Generate an upscaled image from a source image") parser.add_general_arguments() parser.add_model_arguments(require_model_arg=False) @@ -48,8 +47,8 @@ def mflux_upscale_minimal_argv() -> list[str]: return ["mflux-upscale", "--prompt", "upscaled image", "--controlnet-image-path", "image.png"] +@pytest.mark.fast def test_scale_factor_auto(mflux_upscale_parser, mflux_upscale_minimal_argv): - """Test that 'auto' gets parsed as a ScaleFactor with value 1""" with patch("sys.argv", mflux_upscale_minimal_argv + ["--height", "auto", "--width", "auto"]): args = mflux_upscale_parser.parse_args() assert isinstance(args.height, ScaleFactor) @@ -58,8 +57,8 @@ def test_scale_factor_auto(mflux_upscale_parser, mflux_upscale_minimal_argv): assert args.width.value == 1 +@pytest.mark.fast def test_scale_factor_multiplier_format(mflux_upscale_parser, mflux_upscale_minimal_argv): - """Test scale factor formats like '1x', '2x', '3.5x'""" # Test integer scale factor with patch("sys.argv", mflux_upscale_minimal_argv + ["--height", "2x", "--width", "3x"]): args = mflux_upscale_parser.parse_args() @@ -85,8 +84,8 @@ def test_scale_factor_multiplier_format(mflux_upscale_parser, mflux_upscale_mini assert args.width.value == 0.5 +@pytest.mark.fast def test_plain_integer_dimensions(mflux_upscale_parser, mflux_upscale_minimal_argv): - """Test plain integer values for dimensions""" with patch("sys.argv", mflux_upscale_minimal_argv + ["--height", "1024", "--width", "768"]): args = mflux_upscale_parser.parse_args() assert isinstance(args.height, int) @@ -95,8 +94,8 @@ def test_plain_integer_dimensions(mflux_upscale_parser, mflux_upscale_minimal_ar assert args.width == 768 +@pytest.mark.fast def test_mixed_dimension_types(mflux_upscale_parser, mflux_upscale_minimal_argv): - """Test mixing scale factors and integers""" with patch("sys.argv", mflux_upscale_minimal_argv + ["--height", "2x", "--width", "1024"]): args = mflux_upscale_parser.parse_args() assert isinstance(args.height, ScaleFactor) @@ -112,8 +111,8 @@ def test_mixed_dimension_types(mflux_upscale_parser, mflux_upscale_minimal_argv) assert args.width.value == 1.5 +@pytest.mark.fast def test_default_dimensions(mflux_upscale_parser, mflux_upscale_minimal_argv): - """Test default values are 'auto' for upscale parser""" with patch("sys.argv", mflux_upscale_minimal_argv): args = mflux_upscale_parser.parse_args() # Default "auto" gets parsed into ScaleFactor(value=1) @@ -123,8 +122,8 @@ def test_default_dimensions(mflux_upscale_parser, mflux_upscale_minimal_argv): assert args.width.value == 1 +@pytest.mark.fast def test_invalid_scale_factor_format(mflux_upscale_parser, mflux_upscale_minimal_argv): - """Test invalid scale factor formats raise errors""" # Invalid format without 'x' with patch("sys.argv", mflux_upscale_minimal_argv + ["--height", "2.5"]): with pytest.raises(SystemExit): @@ -146,8 +145,8 @@ def test_invalid_scale_factor_format(mflux_upscale_parser, mflux_upscale_minimal mflux_upscale_parser.parse_args() +@pytest.mark.fast def test_case_insensitive_scale_factor(mflux_upscale_parser, mflux_upscale_minimal_argv): - """Test that scale factors are case insensitive""" with patch("sys.argv", mflux_upscale_minimal_argv + ["--height", "2X", "--width", "1.5X"]): args = mflux_upscale_parser.parse_args() assert isinstance(args.height, ScaleFactor) @@ -156,8 +155,8 @@ def test_case_insensitive_scale_factor(mflux_upscale_parser, mflux_upscale_minim assert args.width.value == 1.5 +@pytest.mark.fast def test_upscale_with_all_arguments(mflux_upscale_parser): - """Test upscale parser with all arguments""" full_argv = [ "mflux-upscale", "--prompt", diff --git a/tests/callbacks/test_battery_saver.py b/tests/callbacks/test_battery_saver.py index 479345c..6a97bb7 100644 --- a/tests/callbacks/test_battery_saver.py +++ b/tests/callbacks/test_battery_saver.py @@ -2,31 +2,32 @@ from unittest.mock import MagicMock, patch import pytest -from mflux.callbacks.instances.battery_saver import BatterySaver, get_battery_percentage +from mflux.callbacks.instances.battery_saver import BatterySaver from mflux.utils.exceptions import StopImageGenerationException +@pytest.mark.fast def test_get_battery_percentage_while_charging(): - """Test that the function returns None when the output doesn't match the expected pattern.""" - with patch("subprocess.run") as mock_run: + with ( + patch.object(BatterySaver, "_is_machine_battery_powered", return_value=True), + patch("subprocess.run") as mock_run, + ): # Set up mock to return an output that doesn't match the expected pattern mock_result = MagicMock() mock_result.stdout = "Now drawing from 'AC Power'" mock_run.return_value = mock_result - # Call the function - percentage = get_battery_percentage() + # Call the method + battery_saver = BatterySaver() + percentage = battery_saver._get_battery_percentage() # Assert the function returns None when no match is found assert percentage is None +@pytest.mark.fast def test_battery_saver_below_limit(): - """Test that BatterySaver raises an exception when the battery is below the limit.""" - with patch("mflux.callbacks.instances.battery_saver.get_battery_percentage") as mock_get: - # Configure mock to return a battery percentage below the limit - mock_get.return_value = 5 - + with patch.object(BatterySaver, "_get_battery_percentage", return_value=5): # Create a BatterySaver instance with a limit of 10% battery_saver = BatterySaver(battery_percentage_stop_limit=10) @@ -39,12 +40,9 @@ def test_battery_saver_below_limit(): assert "5%" in str(excinfo.value) +@pytest.mark.fast def test_battery_saver_above_limit(): - """Test that BatterySaver does not raise an exception when the battery is above the limit.""" - with patch("mflux.callbacks.instances.battery_saver.get_battery_percentage") as mock_get: - # Configure mock to return a battery percentage above the limit - mock_get.return_value = 20 - + with patch.object(BatterySaver, "_get_battery_percentage", return_value=20): # Create a BatterySaver instance with a limit of 10% battery_saver = BatterySaver(battery_percentage_stop_limit=10) @@ -52,12 +50,9 @@ def test_battery_saver_above_limit(): battery_saver.call_before_loop() +@pytest.mark.fast def test_battery_saver_none_percentage(): - """Test that BatterySaver does not raise an exception when percentage is None.""" - with patch("mflux.callbacks.instances.battery_saver.get_battery_percentage") as mock_get: - # Configure mock to return None (e.g., on non-battery systems) - mock_get.return_value = None - + with patch.object(BatterySaver, "_get_battery_percentage", return_value=None): # Create a BatterySaver instance battery_saver = BatterySaver() @@ -65,12 +60,9 @@ def test_battery_saver_none_percentage(): battery_saver.call_before_loop() +@pytest.mark.fast def test_battery_saver_equal_to_limit(): - """Test that BatterySaver raises an exception when the battery equals the limit.""" - with patch("mflux.callbacks.instances.battery_saver.get_battery_percentage") as mock_get: - # Configure mock to return a battery percentage equal to the limit - mock_get.return_value = 10 - + with patch.object(BatterySaver, "_get_battery_percentage", return_value=10): # Create a BatterySaver instance with a limit of 10% battery_saver = BatterySaver(battery_percentage_stop_limit=10) diff --git a/tests/conftest.py b/tests/conftest.py new file mode 100644 index 0000000..9a8a1ce --- /dev/null +++ b/tests/conftest.py @@ -0,0 +1,3 @@ +def pytest_configure(config): + config.addinivalue_line("markers", "fast: marks tests as fast (no image generation)") + config.addinivalue_line("markers", "slow: marks tests as slow (generates images)") diff --git a/tests/depth/test_depth_pro.py b/tests/depth/test_depth_pro.py index 0ac10c1..55754a0 100644 --- a/tests/depth/test_depth_pro.py +++ b/tests/depth/test_depth_pro.py @@ -1,11 +1,14 @@ import os from pathlib import Path -from mflux.models.depth_pro.depth_pro import DepthPro +import pytest + +from mflux.models.depth_pro.model.depth_pro import DepthPro from mflux.utils.image_compare import ImageCompare class TestDepthPro: + @pytest.mark.slow def test_depth_pro_generation(self): # Resolve paths resource_dir = Path(__file__).parent.parent / "resources" @@ -32,5 +35,5 @@ class TestDepthPro: finally: # Cleanup - if os.path.exists(output_image_path): + if os.path.exists(output_image_path) and "MFLUX_PRESERVE_TEST_OUTPUT" not in os.environ: os.remove(output_image_path) diff --git a/tests/dreambooth/test_dreambooth_dataset_iterator.py b/tests/dreambooth/test_dreambooth_dataset_iterator.py index db286e9..42819a5 100644 --- a/tests/dreambooth/test_dreambooth_dataset_iterator.py +++ b/tests/dreambooth/test_dreambooth_dataset_iterator.py @@ -34,8 +34,8 @@ def batch_size(request): return request.param +@pytest.mark.fast def test_batch_size_consistency(dataset, batch_size): - """Test that batches are of the specified size except for the last one.""" iterator = Iterator(dataset, batch_size) batch_sizes = [] @@ -55,8 +55,8 @@ def test_batch_size_consistency(dataset, batch_size): assert batch_sizes[-1] == dataset.size() % batch_size or batch_size +@pytest.mark.fast def test_complete_coverage(dataset, batch_size): - """Test that all examples are seen exactly once before reset.""" iterator = Iterator(dataset, batch_size) seen_examples: Set[int] = set() @@ -70,8 +70,8 @@ def test_complete_coverage(dataset, batch_size): assert seen_examples == expected_examples +@pytest.mark.fast def test_state_restoration(dataset, batch_size): - """Test that iterator can be saved and restored to the same state.""" iterator1 = Iterator(dataset, batch_size) first_batches = [] @@ -91,8 +91,8 @@ def test_state_restoration(dataset, batch_size): assert ids1 == ids2 +@pytest.mark.fast def test_state_restoration_across_epochs(dataset, batch_size): - """Test that state restoration works when crossing epoch boundaries.""" iterator1 = Iterator(dataset, batch_size) num_iterations = (dataset.size() + batch_size - 1) // batch_size + 1 @@ -109,8 +109,8 @@ def test_state_restoration_across_epochs(dataset, batch_size): assert ids1 == ids2 +@pytest.mark.fast def test_randomization(dataset, batch_size): - """Test that different seeds produce different sequences.""" iterator1 = Iterator(dataset, batch_size=2, seed=1) iterator2 = Iterator(dataset, batch_size=2, seed=2) @@ -123,8 +123,8 @@ def test_randomization(dataset, batch_size): assert ids1 != ids2 +@pytest.mark.fast def test_epoch_transition(dataset, batch_size): - """Test that epoch transition creates a new permutation.""" iterator = Iterator(dataset, batch_size) num_batches_in_epoch = (dataset.size() + batch_size - 1) // batch_size @@ -140,8 +140,8 @@ def test_epoch_transition(dataset, batch_size): assert len(second_epoch_ids) == min(batch_size, dataset.size()) +@pytest.mark.fast def test_state_consistency(dataset, batch_size): - """Test that state remains consistent across iterations within the same epoch.""" iterator = Iterator(dataset, batch_size) initial_state = iterator.to_dict() @@ -160,8 +160,8 @@ def test_state_consistency(dataset, batch_size): assert restored_state["current_permutation"] == new_state["current_permutation"] +@pytest.mark.fast def test_fixed_num_epochs(dataset, batch_size): - """Test that iterator stops after specified number of epochs.""" num_epochs = 100 iterator = Iterator(dataset, batch_size, num_epochs=num_epochs) @@ -188,8 +188,8 @@ def test_fixed_num_epochs(dataset, batch_size): assert total_examples_seen == dataset.size() * num_epochs +@pytest.mark.fast def test_iteration_counting(dataset, batch_size): - """Test that iteration counting works correctly.""" iterator = Iterator(dataset, batch_size) num_iterations = 5 @@ -199,8 +199,8 @@ def test_iteration_counting(dataset, batch_size): assert iterator.num_iterations == num_iterations +@pytest.mark.fast def test_iteration_counting_across_epochs(dataset, batch_size): - """Test that iteration counting works correctly across epoch boundaries.""" iterator = Iterator(dataset, batch_size) batches_per_epoch = (dataset.size() + batch_size - 1) // batch_size @@ -212,8 +212,8 @@ def test_iteration_counting_across_epochs(dataset, batch_size): assert iterator.num_iterations == total_iterations +@pytest.mark.fast def test_random_seed_consistency(dataset, batch_size): - """Test that the same seed produces the same sequence of batches.""" seed = 42 iterator1 = Iterator(dataset, batch_size, seed=seed) iterator2 = Iterator(dataset, batch_size, seed=seed) @@ -227,8 +227,8 @@ def test_random_seed_consistency(dataset, batch_size): assert ids1 == ids2 +@pytest.mark.fast def test_state_serialization(dataset, batch_size): - """Test that the iterator state can be serialized and deserialized.""" iterator = Iterator(dataset, batch_size) next(iterator) @@ -239,8 +239,8 @@ def test_state_serialization(dataset, batch_size): assert len(batch.examples) > 0 +@pytest.mark.fast def test_state_restoration_after_exhaustion(dataset, batch_size): - """Test that state restoration works correctly after iterator exhaustion.""" iterator = Iterator(dataset, batch_size, num_epochs=10) try: while True: diff --git a/tests/dreambooth/test_resume_training.py b/tests/dreambooth/test_resume_training.py index d2e92f5..c87f4d2 100644 --- a/tests/dreambooth/test_resume_training.py +++ b/tests/dreambooth/test_resume_training.py @@ -3,9 +3,9 @@ import shutil import mlx.core as mx import numpy as np +import pytest -from mflux.config.config import Config -from mflux.config.model_config import ModelConfig +from mflux.models.common.config import ModelConfig from mflux.models.flux.variants.dreambooth.dreambooth import DreamBooth from mflux.models.flux.variants.dreambooth.dreambooth_initializer import DreamBoothInitializer from mflux.models.flux.variants.dreambooth.state.zip_util import ZipUtil @@ -19,23 +19,24 @@ LORA_FILE = "tests/dreambooth/tmp/_checkpoints/0000005_checkpoint/0000005_adapte class TestResumeTraining: + @pytest.mark.slow def test_resume_training(self): # Clean up any existing temporary directories from previous test runs TestResumeTraining.delete_folder_if_exists("tests/dreambooth/tmp") try: # Given: A small training run from scratch for 5 steps (as described in the config)... - fluxA, runtime_config, training_spec, training_state = DreamBoothInitializer.initialize( + fluxA, config, training_spec, training_state = DreamBoothInitializer.initialize( config_path="tests/dreambooth/config/train.json", checkpoint_path=None, ) DreamBooth.train( flux=fluxA, - runtime_config=runtime_config, + config=config, training_spec=training_spec, training_state=training_state, ) - del fluxA, runtime_config, training_spec, training_state + del fluxA, config, training_spec, training_state # ...where we can inspect the training state after 5 runs... adapter_after_5_steps = ZipUtil.unzip( zip_path=CHECKPOINT_5, @@ -47,17 +48,17 @@ class TestResumeTraining: TestResumeTraining.delete_file(CHECKPOINT_5) # When: Resuming the training from step 3... - fluxB, runtime_config, training_spec, training_state = DreamBoothInitializer.initialize( + fluxB, config, training_spec, training_state = DreamBoothInitializer.initialize( config_path=None, checkpoint_path=CHECKPOINT_3, ) DreamBooth.train( flux=fluxB, - runtime_config=runtime_config, + config=config, training_spec=training_spec, training_state=training_state, ) - del fluxB, runtime_config, training_spec, training_state + del fluxB, config, training_spec, training_state # ...where we can inspect the training state after 2 additional runs... adapter_after_5_steps_resumed = ZipUtil.unzip( zip_path=CHECKPOINT_5, @@ -86,11 +87,9 @@ class TestResumeTraining: image = flux_with_resumed_lora.generate_image( seed=42, prompt="test", - config=Config( - num_inference_steps=1, - height=128, - width=128, - ), + num_inference_steps=1, + height=128, + width=128, ) # Basic sanity check that we got a valid image diff --git a/tests/dreambooth/test_train_and_load_weights.py b/tests/dreambooth/test_train_and_load_weights.py index fba2584..2141348 100644 --- a/tests/dreambooth/test_train_and_load_weights.py +++ b/tests/dreambooth/test_train_and_load_weights.py @@ -2,9 +2,9 @@ import os import shutil import numpy as np +import pytest -from mflux.config.config import Config -from mflux.config.model_config import ModelConfig +from mflux.models.common.config import ModelConfig from mflux.models.flux.variants.dreambooth.dreambooth import DreamBooth from mflux.models.flux.variants.dreambooth.dreambooth_initializer import DreamBoothInitializer from mflux.models.flux.variants.dreambooth.state.zip_util import ZipUtil @@ -16,19 +16,20 @@ LORA_FILE = "tests/dreambooth/tmp/_checkpoints/0000005_checkpoint/0000005_adapte class TestTrainAndLoadWeights: + @pytest.mark.slow def test_train_and_load_weights(self): # Clean up any existing temporary directories from previous test runs TestTrainAndLoadWeights.delete_folder_if_exists("tests/dreambooth/tmp") try: # Given: A small training run from scratch for 5 steps (as described in the config)... - fluxA, runtime_config, training_spec, training_state = DreamBoothInitializer.initialize( + fluxA, config, training_spec, training_state = DreamBoothInitializer.initialize( config_path="tests/dreambooth/config/train.json", checkpoint_path=None, ) DreamBooth.train( flux=fluxA, - runtime_config=runtime_config, + config=config, training_spec=training_spec, training_state=training_state, ) @@ -36,13 +37,11 @@ class TestTrainAndLoadWeights: image1 = fluxA.generate_image( seed=42, prompt="test", - config=Config( - num_inference_steps=20, - height=128, - width=128, - ), + num_inference_steps=20, + height=128, + width=128, ) - del fluxA, runtime_config, training_spec, training_state + del fluxA, config, training_spec, training_state # unzip so that LoRA adapter can be read later... ZipUtil.extract_all(zip_path=CHECKPOINT, output_dir=OUTPUT_DIR) @@ -58,11 +57,9 @@ class TestTrainAndLoadWeights: image2 = fluxB.generate_image( seed=42, prompt="test", - config=Config( - num_inference_steps=20, - height=128, - width=128, - ), + num_inference_steps=20, + height=128, + width=128, ) # Then: We want to confirm that the images *exactly* match diff --git a/tests/image_generation/helpers/image_generation_concept_test_helper.py b/tests/image_generation/helpers/image_generation_concept_test_helper.py index 28657d1..87c8432 100644 --- a/tests/image_generation/helpers/image_generation_concept_test_helper.py +++ b/tests/image_generation/helpers/image_generation_concept_test_helper.py @@ -1,8 +1,7 @@ import os from pathlib import Path -from mflux.config.config import Config -from mflux.config.model_config import ModelConfig +from mflux.models.common.config import ModelConfig from mflux.models.flux.variants.concept_attention.flux_concept import Flux1Concept from mflux.models.flux.variants.concept_attention.flux_concept_from_image import Flux1ConceptFromImage from mflux.utils.image_compare import ImageCompare @@ -43,13 +42,11 @@ class ImageGenerationConceptTestHelper: seed=seed, prompt=prompt, concept=concept, + num_inference_steps=steps, + height=height or 1024, + width=width or 1024, heatmap_layer_indices=heatmap_layer_indices, heatmap_timesteps=heatmap_timesteps, - config=Config( - num_inference_steps=steps, - height=height, - width=width, - ), ) # Save only the heatmap (we don't need the original image for testing) image.save_concept_heatmap(path=output_heatmap_path, overwrite=True) @@ -104,13 +101,11 @@ class ImageGenerationConceptTestHelper: prompt=prompt, concept=concept, image_path=str(input_image_path), + num_inference_steps=steps, + height=height or 1024, + width=width or 1024, heatmap_layer_indices=heatmap_layer_indices, heatmap_timesteps=heatmap_timesteps, - config=Config( - num_inference_steps=steps, - height=height, - width=width, - ), ) # Save only the heatmap (we don't need the original image for testing) image.save_concept_heatmap(path=output_heatmap_path, overwrite=True) diff --git a/tests/image_generation/helpers/image_generation_controlnet_test_helper.py b/tests/image_generation/helpers/image_generation_controlnet_test_helper.py index 5967772..3ff3189 100644 --- a/tests/image_generation/helpers/image_generation_controlnet_test_helper.py +++ b/tests/image_generation/helpers/image_generation_controlnet_test_helper.py @@ -1,7 +1,6 @@ import os -from mflux.config.config import Config -from mflux.config.model_config import ModelConfig +from mflux.models.common.config import ModelConfig from mflux.models.flux.variants.controlnet.flux_controlnet import Flux1Controlnet from mflux.utils.image_compare import ImageCompare from tests.image_generation.helpers.image_generation_test_helper import ImageGeneratorTestHelper @@ -43,12 +42,10 @@ class ImageGeneratorControlnetTestHelper: seed=seed, prompt=prompt, controlnet_image_path=controlnet_image_path, - config=Config( - num_inference_steps=steps, - height=height, - width=width, - controlnet_strength=controlnet_strength, - ), + num_inference_steps=steps, + height=height, + width=width, + controlnet_strength=controlnet_strength, ) image.save(path=output_image_path, overwrite=True) diff --git a/tests/image_generation/helpers/image_generation_depth_test_helper.py b/tests/image_generation/helpers/image_generation_depth_test_helper.py index 546bb9e..261788b 100644 --- a/tests/image_generation/helpers/image_generation_depth_test_helper.py +++ b/tests/image_generation/helpers/image_generation_depth_test_helper.py @@ -1,8 +1,7 @@ import os from pathlib import Path -from mflux.config.config import Config -from mflux.config.model_config import ModelConfig +from mflux.models.common.config import ModelConfig from mflux.models.flux.variants.depth.flux_depth import Flux1Depth from mflux.utils.image_compare import ImageCompare @@ -33,13 +32,11 @@ class ImageGeneratorDepthTestHelper: image = flux.generate_image( seed=seed, prompt=prompt, - config=Config( - num_inference_steps=steps, - height=height, - width=width, - image_path=image_path, - depth_image_path=depth_image_path, - ), + num_inference_steps=steps, + height=height or 1024, + width=width or 1024, + image_path=image_path, + depth_image_path=depth_image_path, ) image.save(path=output_image_path, overwrite=True) diff --git a/tests/image_generation/helpers/image_generation_edit_test_helper.py b/tests/image_generation/helpers/image_generation_edit_test_helper.py index fb1b9b6..7643b81 100644 --- a/tests/image_generation/helpers/image_generation_edit_test_helper.py +++ b/tests/image_generation/helpers/image_generation_edit_test_helper.py @@ -2,10 +2,9 @@ import os from pathlib import Path from typing import Any, Type -from mflux.callbacks.callback_registry import CallbackRegistry from mflux.callbacks.instances.stepwise_handler import StepwiseHandler -from mflux.config.config import Config -from mflux.config.model_config import ModelConfig +from mflux.models.common.config import ModelConfig +from mflux.models.qwen.latent_creator.qwen_latent_creator import QwenLatentCreator from mflux.utils.image_compare import ImageCompare @@ -26,8 +25,8 @@ class ImageGeneratorEditTestHelper: negative_prompt: str | None = None, quantize: int = 8, image_paths: list[str] | None = None, - lora_names: list[str] | None = None, - lora_repo_id: str | None = None, + lora_paths: list[str] | None = None, + lora_scales: list[float] | None = None, mismatch_threshold: float | None = None, ): # resolve paths @@ -48,30 +47,23 @@ class ImageGeneratorEditTestHelper: # given model_kwargs = { "quantize": quantize, + "lora_paths": lora_paths, + "lora_scales": lora_scales, } - # Add HuggingFace LoRA parameters if provided - if lora_names is not None: - model_kwargs["lora_names"] = lora_names - if lora_repo_id is not None: - model_kwargs["lora_repo_id"] = lora_repo_id - model = model_class(**model_kwargs) # when - config_kwargs = { + generate_kwargs = { + "seed": seed, + "prompt": prompt, "num_inference_steps": steps, "height": height, "width": width, "guidance": guidance, "image_path": image_path, "scheduler": "flow_match_euler_discrete", # Match debug script - } - generate_kwargs = { - "seed": seed, - "prompt": prompt, "negative_prompt": negative_prompt, - "config": Config(**config_kwargs), } # Qwen Edit uses image_paths instead of image_path in config @@ -86,10 +78,8 @@ class ImageGeneratorEditTestHelper: import tempfile temp_dir = tempfile.mkdtemp() - handler = StepwiseHandler(model=model, output_dir=temp_dir) - CallbackRegistry.register_before_loop(handler) - CallbackRegistry.register_in_loop(handler) - CallbackRegistry.register_interrupt(handler) + handler = StepwiseHandler(model=model, output_dir=temp_dir, latent_creator=QwenLatentCreator) + model.callbacks.register(handler) image = model.generate_image(**generate_kwargs) image.save(path=output_image_path, overwrite=True) diff --git a/tests/image_generation/helpers/image_generation_fibo_test_helper.py b/tests/image_generation/helpers/image_generation_fibo_test_helper.py index 7369b0d..24ce85d 100644 --- a/tests/image_generation/helpers/image_generation_fibo_test_helper.py +++ b/tests/image_generation/helpers/image_generation_fibo_test_helper.py @@ -2,8 +2,6 @@ import os from pathlib import Path from typing import Optional -from mflux.config.config import Config -from mflux.config.model_config import ModelConfig from mflux.models.fibo.variants.txt2img.fibo import FIBO from mflux.utils.image_compare import ImageCompare @@ -30,25 +28,20 @@ class ImageGeneratorFiboTestHelper: try: # Step 1: Create FIBO model model = FIBO( - model_config=ModelConfig.fibo(), quantize=quantize, - local_path=None, + model_path=None, ) # Step 2: Generate image from prompt image = model.generate_image( seed=seed, prompt=prompt, + num_inference_steps=steps, + height=height, + width=width, + guidance=guidance, + scheduler="flow_match_euler_discrete", negative_prompt=negative_prompt, - config=Config( - num_inference_steps=steps, - height=height, - width=width, - guidance=guidance, - image_path=None, - image_strength=None, - scheduler="flow_match_euler_discrete", - ), ) # Step 3: Save output image diff --git a/tests/image_generation/helpers/image_generation_fill_test_helper.py b/tests/image_generation/helpers/image_generation_fill_test_helper.py index db4942b..60dfe6f 100644 --- a/tests/image_generation/helpers/image_generation_fill_test_helper.py +++ b/tests/image_generation/helpers/image_generation_fill_test_helper.py @@ -1,9 +1,8 @@ import os -from mflux.config.config import Config -from mflux.config.model_config import ModelConfig +from mflux.cli.defaults import defaults as ui_defaults +from mflux.models.common.config import ModelConfig from mflux.models.flux.variants.fill.flux_fill import Flux1Fill -from mflux.ui import defaults as ui_defaults from mflux.utils.image_compare import ImageCompare from tests.image_generation.helpers.image_generation_test_helper import ImageGeneratorTestHelper @@ -43,14 +42,12 @@ class ImageGeneratorFillTestHelper: image = flux.generate_image( seed=seed, prompt=prompt, - config=Config( - num_inference_steps=steps, - height=height, - width=width, - image_path=image_path, - masked_image_path=masked_image_path, - guidance=ui_defaults.DEFAULT_DEV_FILL_GUIDANCE, - ), + image_path=image_path, + masked_image_path=masked_image_path, + num_inference_steps=steps, + height=height, + width=width, + guidance=ui_defaults.DEFAULT_DEV_FILL_GUIDANCE, ) image.save(path=output_image_path, overwrite=True) diff --git a/tests/image_generation/helpers/image_generation_ic_edit_test_helper.py b/tests/image_generation/helpers/image_generation_ic_edit_test_helper.py index 4931f85..2c67cc2 100644 --- a/tests/image_generation/helpers/image_generation_ic_edit_test_helper.py +++ b/tests/image_generation/helpers/image_generation_ic_edit_test_helper.py @@ -1,10 +1,9 @@ import os from pathlib import Path -from mflux.config.config import Config -from mflux.config.model_config import ModelConfig +from mflux.models.common.config import ModelConfig from mflux.models.flux.variants.in_context.flux_in_context_fill import Flux1InContextFill -from mflux.models.flux.variants.in_context.utils.in_context_loras import prepare_ic_edit_loras +from mflux.models.flux.variants.in_context.utils.in_context_loras import IC_EDIT_LORA_SCALE, get_ic_edit_lora_path from mflux.utils.image_compare import ImageCompare @@ -28,13 +27,20 @@ class ImageGeneratorICEditTestHelper: reference_image = ImageGeneratorICEditTestHelper.resolve_path(reference_image) lora_paths = [str(ImageGeneratorICEditTestHelper.resolve_path(p)) for p in lora_paths] if lora_paths else None + # Build lora_paths: IC-Edit LoRA (required) + user-provided LoRAs + all_lora_paths = [get_ic_edit_lora_path()] + all_lora_scales = [IC_EDIT_LORA_SCALE] + if lora_paths: + all_lora_paths.extend(lora_paths) + all_lora_scales.extend(lora_scales or [1.0] * len(lora_paths)) + try: # given flux = Flux1InContextFill( model_config=ModelConfig.dev_fill(), quantize=8, - lora_paths=prepare_ic_edit_loras(lora_paths), - lora_scales=lora_scales, + lora_paths=all_lora_paths, + lora_scales=all_lora_scales, ) # when @@ -42,12 +48,10 @@ class ImageGeneratorICEditTestHelper: seed=seed, prompt=prompt, left_image_path=str(reference_image), + num_inference_steps=steps, + height=height or 1024, + width=width or 1024, right_image_path=None, - config=Config( - num_inference_steps=steps, - height=height, - width=width, - ), ) # Save the result diff --git a/tests/image_generation/helpers/image_generation_in_context_test_helper.py b/tests/image_generation/helpers/image_generation_in_context_test_helper.py index 5129ced..dae8978 100644 --- a/tests/image_generation/helpers/image_generation_in_context_test_helper.py +++ b/tests/image_generation/helpers/image_generation_in_context_test_helper.py @@ -1,10 +1,9 @@ import os from pathlib import Path -from mflux.config.config import Config -from mflux.config.model_config import ModelConfig +from mflux.models.common.config import ModelConfig from mflux.models.flux.variants.in_context.flux_in_context_dev import Flux1InContextDev -from mflux.models.flux.variants.in_context.utils.in_context_loras import LORA_REPO_ID, get_lora_filename +from mflux.models.flux.variants.in_context.utils.in_context_loras import get_lora_path from mflux.utils.image_compare import ImageCompare @@ -32,26 +31,32 @@ class ImageGeneratorInContextTestHelper: [str(ImageGeneratorInContextTestHelper.resolve_path(p)) for p in lora_paths] if lora_paths else None ) + # Build lora_paths: style LoRA (if specified) + user-provided LoRAs + all_lora_paths = [] + all_lora_scales = [] + if lora_style: + all_lora_paths.append(get_lora_path(lora_style)) + all_lora_scales.append(1.0) + if lora_paths: + all_lora_paths.extend(lora_paths) + all_lora_scales.extend(lora_scales or [1.0] * len(lora_paths)) + try: # given flux = Flux1InContextDev( model_config=model_config, quantize=8, - lora_names=[get_lora_filename(lora_style)] if lora_style else None, - lora_repo_id=LORA_REPO_ID if lora_style else None, - lora_paths=lora_paths, - lora_scales=lora_scales, + lora_paths=all_lora_paths or None, + lora_scales=all_lora_scales or None, ) # when image = flux.generate_image( seed=seed, prompt=prompt, - config=Config( - num_inference_steps=steps, - image_path=image_path, - height=height, - width=width, - ), + num_inference_steps=steps, + image_path=image_path, + height=height or 1024, + width=width or 1024, ) # Save only the right half of the image (the generated part) image.get_right_half().save(path=output_image_path, overwrite=True) diff --git a/tests/image_generation/helpers/image_generation_kontext_test_helper.py b/tests/image_generation/helpers/image_generation_kontext_test_helper.py index e2f3475..ecc0111 100644 --- a/tests/image_generation/helpers/image_generation_kontext_test_helper.py +++ b/tests/image_generation/helpers/image_generation_kontext_test_helper.py @@ -1,8 +1,7 @@ import os from pathlib import Path -from mflux.config.config import Config -from mflux.config.model_config import ModelConfig +from mflux.models.common.config import ModelConfig from mflux.models.flux.variants.kontext.flux_kontext import Flux1Kontext from mflux.utils.image_compare import ImageCompare @@ -36,13 +35,11 @@ class ImageGeneratorKontextTestHelper: image = flux.generate_image( seed=seed, prompt=prompt, - config=Config( - num_inference_steps=steps, - height=height, - width=width, - guidance=guidance, - image_path=kontext_image_path, - ), + num_inference_steps=steps, + height=height, + width=width, + guidance=guidance, + image_path=kontext_image_path, ) image.save(path=output_image_path, overwrite=True) diff --git a/tests/image_generation/helpers/image_generation_redux_test_helper.py b/tests/image_generation/helpers/image_generation_redux_test_helper.py index 5bd789c..3458e61 100644 --- a/tests/image_generation/helpers/image_generation_redux_test_helper.py +++ b/tests/image_generation/helpers/image_generation_redux_test_helper.py @@ -1,8 +1,7 @@ import os from pathlib import Path -from mflux.config.config import Config -from mflux.config.model_config import ModelConfig +from mflux.models.common.config import ModelConfig from mflux.models.flux.variants.redux.flux_redux import Flux1Redux from mflux.utils.image_compare import ImageCompare @@ -12,13 +11,13 @@ class ImageGeneratorReduxTestHelper: def assert_matches_reference_image( reference_image_path: str, output_image_path: str, - model_config: ModelConfig, steps: int, seed: int, height: int, width: int, prompt: str, redux_image_path: str, + model_config: ModelConfig = ModelConfig.dev(), ): # resolve paths reference_image_path = ImageGeneratorReduxTestHelper.resolve_path(reference_image_path) @@ -36,12 +35,10 @@ class ImageGeneratorReduxTestHelper: image = flux.generate_image( seed=seed, prompt=prompt, - config=Config( - num_inference_steps=steps, - height=height, - width=width, - redux_image_paths=[redux_image_path], - ), + redux_image_paths=[redux_image_path], + num_inference_steps=steps, + height=height, + width=width, ) image.save(path=output_image_path, overwrite=True) diff --git a/tests/image_generation/helpers/image_generation_test_helper.py b/tests/image_generation/helpers/image_generation_test_helper.py index e0820df..bb9e695 100644 --- a/tests/image_generation/helpers/image_generation_test_helper.py +++ b/tests/image_generation/helpers/image_generation_test_helper.py @@ -2,8 +2,7 @@ import os from pathlib import Path from typing import Type, Union -from mflux.config.config import Config -from mflux.config.model_config import ModelConfig +from mflux.models.common.config import ModelConfig from mflux.models.flux.variants.txt2img.flux import Flux1 from mflux.models.qwen.variants.txt2img.qwen_image import QwenImage from mflux.utils.image_compare import ImageCompare @@ -26,8 +25,6 @@ class ImageGeneratorTestHelper: image_strength: float | None = None, lora_paths: list[str] | None = None, lora_scales: list[float] | None = None, - lora_names: list[str] | None = None, - lora_repo_id: str | None = None, negative_prompt: str | None = None, guidance: float | None = None, mismatch_threshold: float | None = None, @@ -46,31 +43,22 @@ class ImageGeneratorTestHelper: "lora_scales": lora_scales, } - # Add HuggingFace LoRA parameters if provided - if lora_names is not None: - model_kwargs["lora_names"] = lora_names - if lora_repo_id is not None: - model_kwargs["lora_repo_id"] = lora_repo_id - model = model_class(**model_kwargs) - config_kwargs = { - "num_inference_steps": steps, - "image_path": ImageGeneratorTestHelper.resolve_path(image_path), - "image_strength": image_strength, - "height": height, - "width": width, - } - - # Add guidance if provided - if guidance is not None: - config_kwargs["guidance"] = guidance generate_kwargs = { "seed": seed, "prompt": prompt, - "config": Config(**config_kwargs), + "num_inference_steps": steps, + "image_path": ImageGeneratorTestHelper.resolve_path(image_path), + "image_strength": image_strength, + "height": height or 1024, + "width": width or 1024, } + # Add guidance if provided + if guidance is not None: + generate_kwargs["guidance"] = guidance + # Add negative_prompt for Qwen models if model_class == QwenImage and negative_prompt is not None: generate_kwargs["negative_prompt"] = negative_prompt diff --git a/tests/image_generation/helpers/image_generation_z_image_test_helper.py b/tests/image_generation/helpers/image_generation_z_image_test_helper.py new file mode 100644 index 0000000..0b307ce --- /dev/null +++ b/tests/image_generation/helpers/image_generation_z_image_test_helper.py @@ -0,0 +1,80 @@ +import os +import shutil +from pathlib import Path + +from mflux.cli.defaults.defaults import MFLUX_LORA_CACHE_DIR +from mflux.models.z_image import ZImageTurbo +from mflux.utils.image_compare import ImageCompare + + +class ImageGeneratorZImageTestHelper: + @staticmethod + def assert_matches_reference_image( + reference_image_path: str, + output_image_path: str, + prompt: str, + steps: int, + seed: int, + height: int, + width: int, + quantize: int | None = None, + lora_paths: list[str] | None = None, + lora_scales: list[float] | None = None, + mismatch_threshold: float | None = None, + clear_lora_cache_pattern: str | None = None, + ): + reference_image_path = ImageGeneratorZImageTestHelper.resolve_path(reference_image_path) + output_image_path = ImageGeneratorZImageTestHelper.resolve_path(output_image_path) + + # Clear cached LoRA to test download functionality + if clear_lora_cache_pattern: + ImageGeneratorZImageTestHelper.clear_cached_lora(clear_lora_cache_pattern) + + try: + model = ZImageTurbo( + quantize=quantize, + lora_paths=lora_paths, + lora_scales=lora_scales, + ) + + image = model.generate_image( + seed=seed, + prompt=prompt, + num_inference_steps=steps, + height=height, + width=width, + ) + + image.save(output_image_path) + + ImageCompare.check_images_close_enough( + output_image_path, + reference_image_path, + "Generated image doesn't match reference image.", + mismatch_threshold=mismatch_threshold, + ) + finally: + if os.path.exists(output_image_path) and "MFLUX_PRESERVE_TEST_OUTPUT" not in os.environ: + os.remove(output_image_path) + + @staticmethod + def clear_cached_lora(pattern: str) -> None: + cache_dir = MFLUX_LORA_CACHE_DIR + if not cache_dir.exists(): + return + + # Look for directories matching the pattern (HuggingFace style: models--repo--name) + for item in cache_dir.iterdir(): + if pattern.lower() in item.name.lower(): + if item.is_dir(): + print(f"๐Ÿ—‘๏ธ Clearing cached LoRA directory: {item}") + shutil.rmtree(item) + elif item.is_file() or item.is_symlink(): + print(f"๐Ÿ—‘๏ธ Clearing cached LoRA file: {item}") + item.unlink() + + @staticmethod + def resolve_path(path) -> Path | None: + if path is None: + return None + return Path(__file__).parent.parent.parent / "resources" / path diff --git a/tests/image_generation/test_generate_concept.py b/tests/image_generation/test_generate_concept.py index e7d668e..23a6e09 100644 --- a/tests/image_generation/test_generate_concept.py +++ b/tests/image_generation/test_generate_concept.py @@ -1,8 +1,11 @@ -from mflux.config.model_config import ModelConfig +import pytest + +from mflux.models.common.config import ModelConfig from tests.image_generation.helpers.image_generation_concept_test_helper import ImageGenerationConceptTestHelper class TestImageGeneratorConcept: + @pytest.mark.slow def test_concept_attention_generation(self): ImageGenerationConceptTestHelper.assert_matches_reference_image_concept( reference_heatmap_path="reference_concept_schnell_heatmap.png", @@ -18,6 +21,7 @@ class TestImageGeneratorConcept: heatmap_timesteps=[0, 1, 2, 3], ) + @pytest.mark.slow def test_concept_attention_from_image(self): ImageGenerationConceptTestHelper.assert_matches_reference_image_concept_from_image( reference_heatmap_path="reference_concept_from_image_schnell_heatmap.png", diff --git a/tests/image_generation/test_generate_image.py b/tests/image_generation/test_generate_image.py index 80fe106..8329ae1 100644 --- a/tests/image_generation/test_generate_image.py +++ b/tests/image_generation/test_generate_image.py @@ -1,9 +1,12 @@ -from mflux.config.model_config import ModelConfig +import pytest + +from mflux.models.common.config import ModelConfig from mflux.models.flux.variants.txt2img.flux import Flux1 from tests.image_generation.helpers.image_generation_test_helper import ImageGeneratorTestHelper class TestImageGenerator: + @pytest.mark.slow def test_image_generation_schnell(self): ImageGeneratorTestHelper.assert_matches_reference_image( reference_image_path="reference_schnell.png", @@ -17,6 +20,7 @@ class TestImageGenerator: prompt="Luxury food photograph", ) + @pytest.mark.slow def test_image_generation_dev(self): ImageGeneratorTestHelper.assert_matches_reference_image( reference_image_path="reference_dev.png", @@ -30,6 +34,7 @@ class TestImageGenerator: prompt="Luxury food photograph", ) + @pytest.mark.slow def test_image_generation_dev_lora(self): ImageGeneratorTestHelper.assert_matches_reference_image( reference_image_path="reference_dev_lora.png", @@ -45,6 +50,7 @@ class TestImageGenerator: lora_scales=[1.0], ) + @pytest.mark.slow def test_image_generation_dev_multiple_loras(self): ImageGeneratorTestHelper.assert_matches_reference_image( reference_image_path="reference_dev_lora_multiple.png", @@ -60,6 +66,7 @@ class TestImageGenerator: lora_scales=[0.4, 0.6], ) + @pytest.mark.slow def test_image_generation_dev_image_to_image(self): ImageGeneratorTestHelper.assert_matches_reference_image( reference_image_path="reference_dev_image_to_image.png", diff --git a/tests/image_generation/test_generate_image_controlnet.py b/tests/image_generation/test_generate_image_controlnet.py index 6732205..ebfe83a 100644 --- a/tests/image_generation/test_generate_image_controlnet.py +++ b/tests/image_generation/test_generate_image_controlnet.py @@ -1,8 +1,11 @@ -from mflux.config.model_config import ModelConfig +import pytest + +from mflux.models.common.config import ModelConfig from tests.image_generation.helpers.image_generation_controlnet_test_helper import ImageGeneratorControlnetTestHelper class TestImageGeneratorControlnet: + @pytest.mark.slow def test_image_generation_schnell_controlnet(self): ImageGeneratorControlnetTestHelper.assert_matches_reference_image( reference_image_path="reference_controlnet_schnell.png", @@ -17,6 +20,7 @@ class TestImageGeneratorControlnet: controlnet_strength=0.4, ) + @pytest.mark.slow def test_image_generation_dev_controlnet(self): ImageGeneratorControlnetTestHelper.assert_matches_reference_image( reference_image_path="reference_controlnet_dev.png", @@ -31,6 +35,7 @@ class TestImageGeneratorControlnet: controlnet_strength=0.4, ) + @pytest.mark.slow def test_image_generation_dev_lora_controlnet(self): ImageGeneratorControlnetTestHelper.assert_matches_reference_image( reference_image_path="reference_controlnet_dev_lora.png", @@ -47,6 +52,7 @@ class TestImageGeneratorControlnet: controlnet_strength=0.4, ) + @pytest.mark.slow def test_image_upscaling(self): ImageGeneratorControlnetTestHelper.assert_matches_reference_image( reference_image_path="reference_upscaled.png", diff --git a/tests/image_generation/test_generate_image_depth.py b/tests/image_generation/test_generate_image_depth.py index f8d4068..8730c77 100644 --- a/tests/image_generation/test_generate_image_depth.py +++ b/tests/image_generation/test_generate_image_depth.py @@ -1,8 +1,11 @@ -from mflux.config.model_config import ModelConfig +import pytest + +from mflux.models.common.config import ModelConfig from tests.image_generation.helpers.image_generation_depth_test_helper import ImageGeneratorDepthTestHelper class TestImageGeneratorDepth: + @pytest.mark.slow def test_image_generation_with_reference_image(self): ImageGeneratorDepthTestHelper.assert_matches_reference_image( reference_image_path="reference_depth_dev_from_image.png", diff --git a/tests/image_generation/test_generate_image_fibo.py b/tests/image_generation/test_generate_image_fibo.py index 3fe1683..1620606 100644 --- a/tests/image_generation/test_generate_image_fibo.py +++ b/tests/image_generation/test_generate_image_fibo.py @@ -1,3 +1,5 @@ +import pytest + from tests.image_generation.helpers.image_generation_fibo_test_helper import ImageGeneratorFiboTestHelper OWL_PROMPT = """ @@ -11,33 +13,33 @@ OWL_PROMPT = """ "relative_size": "large within frame", "shape_and_color": "Round head, large eyes, bulky body, predominantly brown and grey with silver accents.", "texture": "Extremely soft, fluffy, and detailed feathers, giving a plush toy-like appearance.", - "appearance_details": "The eyes are wide, dark, and reflective, conveying a sense of wonder and curiosity. The beak is small and light-colored, almost hidden by the feathers. Subtle silver highlights catch the moonlight on its feathers.", + "appearance_details": "The eyes are wide, round, and have a glossy, reflective quality, suggesting innocence and curiosity. The beak is small and light-colored, almost blending with the feathers.", "orientation": "upright, facing forward" } ], - "background_setting": "A dark, nocturnal forest setting with blurred trees and foliage, illuminated by a soft, cool moonlight. The background is out of focus, emphasizing the owl.", + "background_setting": "A dark, blurred forest at night, with hints of tree trunks and foliage visible in the background. The darkness emphasizes the owl as the central focus.", "lighting": { "conditions": "moonlight", - "direction": "backlit and side-lit from the left", - "shadows": "soft, diffused shadows on the right side of the owl and within the background foliage, indicating a single light source." + "direction": "top-left, casting subtle highlights", + "shadows": "soft, diffused shadows, contributing to the depth without harshness" }, "aesthetics": { "composition": "centered, portrait composition", - "color_scheme": "cool blues and silvers from the moonlight contrasting with warm browns and grays of the owl and forest.", - "mood_atmosphere": "mysterious, enchanting, whimsical, and serene.", + "color_scheme": "cool blues and grays of the night sky and warm browns and grays of the owl, with silver highlights", + "mood_atmosphere": "whimsical, serene, enchanting, and slightly mysterious", "aesthetic_score": "very high", "preference_score": "very high" }, "photographic_characteristics": { "depth_of_field": "shallow", - "focus": "sharp focus on the owl's face and eyes, with a soft blur in the background.", + "focus": "sharp focus on the owl's face and eyes", "camera_angle": "eye-level", "lens_focal_length": "portrait lens (e.g., 50mm-85mm)" }, "style_medium": "digital illustration", "text_render": [], - "context": "A whimsical character illustration, possibly for a children's book, animated film, or fantasy art collection.", - "artistic_style": "fantasy, illustrative, detailed" + "context": "A whimsical character illustration, suitable for children's books, animated features, or as a charming decorative art piece.", + "artistic_style": "hyperrealistic, cute, illustrative" } """ @@ -46,44 +48,45 @@ OWL_PROMPT_REFINED = """ "short_description": "A hyper-detailed, ultra-fluffy owl sitting in the trees at night, looking directly at the camera with wide, adorable, expressive eyes. Its feathers are soft and voluminous, catching the cool moonlight with subtle silver highlights. The owl's gaze is curious and full of charm, giving it a whimsical, storybook-like personality.", "objects": [ { - "description": "An adorable, fluffy owl with large, expressive eyes and soft, voluminous feathers. Its plumage is a mix of white and subtle silver highlights from the moonlight.", + "description": "An adorable, fluffy owl with large, expressive eyes and soft, voluminous feathers. Its plumage is white with subtle silver highlights from the moonlight.", "location": "center", "relationship": "The owl is the sole subject, perched comfortably within its environment.", "relative_size": "large within frame", "shape_and_color": "Round head, large eyes, bulky body, predominantly white with silver accents.", "texture": "Extremely soft, fluffy, and detailed feathers, giving a plush toy-like appearance.", - "appearance_details": "The eyes are wide, dark, and reflective, conveying a sense of wonder and curiosity. The beak is small and light-colored, almost hidden by the feathers. Subtle silver highlights catch the moonlight on its feathers.", + "appearance_details": "The eyes are wide, round, and have a glossy, reflective quality, suggesting innocence and curiosity. The beak is small and light-colored, almost blending with the feathers.", "orientation": "upright, facing forward" } ], - "background_setting": "A dark, nocturnal forest setting with blurred trees and foliage, illuminated by a soft, cool moonlight. The background is out of focus, emphasizing the owl.", + "background_setting": "A dark, blurred forest at night, with hints of tree trunks and foliage visible in the background. The darkness emphasizes the owl as the central focus.", "lighting": { "conditions": "moonlight", - "direction": "backlit and side-lit from the left", - "shadows": "soft, diffused shadows on the right side of the owl and within the background foliage, indicating a single light source." + "direction": "top-left, casting subtle highlights", + "shadows": "soft, diffused shadows, contributing to the depth without harshness" }, "aesthetics": { "composition": "centered, portrait composition", - "color_scheme": "cool blues and silvers from the moonlight contrasting with white of the owl and forest.", - "mood_atmosphere": "mysterious, enchanting, whimsical, and serene.", + "color_scheme": "cool blues and grays of the night sky and white of the owl, with silver accents", + "mood_atmosphere": "whimsical, serene, enchanting, and slightly mysterious", "aesthetic_score": "very high", "preference_score": "very high" }, "photographic_characteristics": { "depth_of_field": "shallow", - "focus": "sharp focus on the owl's face and eyes, with a soft blur in the background.", + "focus": "sharp focus on the owl's face and eyes", "camera_angle": "eye-level", "lens_focal_length": "portrait lens (e.g., 50mm-85mm)" }, "style_medium": "digital illustration", "text_render": [], - "context": "A whimsical character illustration, possibly for a children's book, animated film, or fantasy art collection.", - "artistic_style": "fantasy, illustrative, detailed" + "context": "A whimsical character illustration, suitable for children's books, animated features, or as a charming decorative art piece.", + "artistic_style": "hyperrealistic, cute, illustrative" } """ class TestImageGeneratorFibo: + @pytest.mark.slow def test_image_generation_fibo(self): ImageGeneratorFiboTestHelper.assert_matches_reference_image( reference_image_path="reference_fibo.png", @@ -91,12 +94,13 @@ class TestImageGeneratorFibo: prompt=OWL_PROMPT, # Assume this has been generated by the VLM, actual VLM tests are separate steps=20, seed=42, - height=176, - width=320, + height=352, + width=640, guidance=4.0, quantize=8, ) + @pytest.mark.slow def test_image_generation_fibo_refined_white_owl(self): ImageGeneratorFiboTestHelper.assert_matches_reference_image( reference_image_path="reference_fibo_white_owl.png", @@ -104,8 +108,8 @@ class TestImageGeneratorFibo: prompt=OWL_PROMPT_REFINED, # Assume this has been refined by the VLM, actual VLM tests are separate steps=20, seed=42, - height=176, - width=320, + height=352, + width=640, guidance=4.0, quantize=8, ) diff --git a/tests/image_generation/test_generate_image_fill.py b/tests/image_generation/test_generate_image_fill.py index d4fb718..83b78b9 100644 --- a/tests/image_generation/test_generate_image_fill.py +++ b/tests/image_generation/test_generate_image_fill.py @@ -1,8 +1,11 @@ -from mflux.config.model_config import ModelConfig +import pytest + +from mflux.models.common.config import ModelConfig from tests.image_generation.helpers.image_generation_fill_test_helper import ImageGeneratorFillTestHelper class TestImageGeneratorFill: + @pytest.mark.slow def test_fill(self): ImageGeneratorFillTestHelper.assert_matches_reference_image( reference_image_path="reference_dev_image_to_image_fill.png", diff --git a/tests/image_generation/test_generate_image_in_context.py b/tests/image_generation/test_generate_image_in_context.py index 44912ef..5798f0e 100644 --- a/tests/image_generation/test_generate_image_in_context.py +++ b/tests/image_generation/test_generate_image_in_context.py @@ -1,9 +1,12 @@ -from mflux.config.model_config import ModelConfig +import pytest + +from mflux.models.common.config import ModelConfig from tests.image_generation.helpers.image_generation_ic_edit_test_helper import ImageGeneratorICEditTestHelper from tests.image_generation.helpers.image_generation_in_context_test_helper import ImageGeneratorInContextTestHelper class TestImageGeneratorInContext: + @pytest.mark.slow def test_in_context_lora_identity(self): ImageGeneratorInContextTestHelper.assert_matches_reference_image( reference_image_path="reference_ic_lora_identity.png", @@ -18,6 +21,7 @@ class TestImageGeneratorInContext: lora_style="identity", ) + @pytest.mark.slow def test_ic_edit_with_instruction(self): ImageGeneratorICEditTestHelper.assert_matches_reference_image( reference_image_path="reference_ic_edit.png", diff --git a/tests/image_generation/test_generate_image_kontext.py b/tests/image_generation/test_generate_image_kontext.py index 71556a1..b75227b 100644 --- a/tests/image_generation/test_generate_image_kontext.py +++ b/tests/image_generation/test_generate_image_kontext.py @@ -1,8 +1,11 @@ -from mflux.config.model_config import ModelConfig +import pytest + +from mflux.models.common.config import ModelConfig from tests.image_generation.helpers.image_generation_kontext_test_helper import ImageGeneratorKontextTestHelper class TestImageGeneratorKontext: + @pytest.mark.slow def test_image_generation_kontext(self): ImageGeneratorKontextTestHelper.assert_matches_reference_image( reference_image_path="reference_dev_kontext.png", diff --git a/tests/image_generation/test_generate_image_qwen_image.py b/tests/image_generation/test_generate_image_qwen_image.py index 628b00d..e9b2d71 100644 --- a/tests/image_generation/test_generate_image_qwen_image.py +++ b/tests/image_generation/test_generate_image_qwen_image.py @@ -1,9 +1,12 @@ -from mflux.config.model_config import ModelConfig +import pytest + +from mflux.models.common.config import ModelConfig from mflux.models.qwen.variants.txt2img.qwen_image import QwenImage from tests.image_generation.helpers.image_generation_test_helper import ImageGeneratorTestHelper class TestImageGeneratorQwenImage: + @pytest.mark.slow def test_qwen_image_generation_text_to_image(self): ImageGeneratorTestHelper.assert_matches_reference_image( reference_image_path="reference_qwen_txt2img.png", @@ -20,6 +23,7 @@ class TestImageGeneratorQwenImage: mismatch_threshold=0.35, # Qwen models produce visually similar images with minor pixel differences ) + @pytest.mark.slow def test_qwen_image_generation_image_to_image(self): ImageGeneratorTestHelper.assert_matches_reference_image( reference_image_path="reference_qwen_img2img.png", @@ -38,6 +42,7 @@ class TestImageGeneratorQwenImage: mismatch_threshold=0.35, # Qwen models produce visually similar images with minor pixel differences ) + @pytest.mark.slow def test_qwen_image_generation_lora(self): ImageGeneratorTestHelper.assert_matches_reference_image( reference_image_path="reference_qwen_lora.png", @@ -52,7 +57,7 @@ class TestImageGeneratorQwenImage: width=768, prompt="Luxury food photograph", negative_prompt="ugly, blurry, low quality", - lora_repo_id="lightx2v/Qwen-Image-Lightning", - lora_names=["Qwen-Image-Lightning-4steps-V2.0.safetensors"], + lora_paths=["lightx2v/Qwen-Image-Lightning:Qwen-Image-Lightning-4steps-V2.0.safetensors"], + lora_scales=[1.0], mismatch_threshold=0.65, # LoRA tests have higher variance due to model updates ) diff --git a/tests/image_generation/test_generate_image_qwen_image_edit.py b/tests/image_generation/test_generate_image_qwen_image_edit.py index 7dd0663..327ae1a 100644 --- a/tests/image_generation/test_generate_image_qwen_image_edit.py +++ b/tests/image_generation/test_generate_image_qwen_image_edit.py @@ -1,11 +1,12 @@ import pytest -from mflux.config.model_config import ModelConfig +from mflux.models.common.config import ModelConfig from mflux.models.qwen.variants.edit import QwenImageEdit from tests.image_generation.helpers.image_generation_edit_test_helper import ImageGeneratorEditTestHelper class TestImageGeneratorQwenImageEdit: + @pytest.mark.slow def test_image_generation_qwen_edit(self): ImageGeneratorEditTestHelper.assert_matches_reference_image( reference_image_path="reference_qwen_edit.png", @@ -23,6 +24,7 @@ class TestImageGeneratorQwenImageEdit: mismatch_threshold=0.25, ) + @pytest.mark.slow @pytest.mark.high_memory_requirement def test_image_generation_qwen_edit_multiple_images(self): ImageGeneratorEditTestHelper.assert_matches_reference_image( diff --git a/tests/image_generation/test_generate_image_redux.py b/tests/image_generation/test_generate_image_redux.py index a4d9008..5ff3b85 100644 --- a/tests/image_generation/test_generate_image_redux.py +++ b/tests/image_generation/test_generate_image_redux.py @@ -1,13 +1,14 @@ -from mflux.config.model_config import ModelConfig +import pytest + from tests.image_generation.helpers.image_generation_redux_test_helper import ImageGeneratorReduxTestHelper class TestImageGeneratorRedux: + @pytest.mark.slow def test_image_generation_redux(self): ImageGeneratorReduxTestHelper.assert_matches_reference_image( reference_image_path="reference_redux_dev.png", output_image_path="output_redux_dev.png", - model_config=ModelConfig.dev_redux(), steps=15, seed=42, height=341, diff --git a/tests/image_generation/test_generate_image_z_image.py b/tests/image_generation/test_generate_image_z_image.py new file mode 100644 index 0000000..6edb80d --- /dev/null +++ b/tests/image_generation/test_generate_image_z_image.py @@ -0,0 +1,49 @@ +import pytest + +from tests.image_generation.helpers.image_generation_z_image_test_helper import ImageGeneratorZImageTestHelper + +ASTRONAUT_CAT_PROMPT = ( + "A fluffy orange tabby cat wearing tiny astronaut helmet, " + "floating in zero gravity inside a space station. " + "Earth visible through the window behind. " + "Photorealistic, cinematic lighting, 8k detail." +) + +FROG_LORA_PROMPT = ( + "t3chnic4lly vibrant 1960s close-up of a woman sitting under a tree in a blue skirt and white blouse, " + "she has blonde wavy short hair and a smile with green eyes lake scene by a garden with flowers in the foreground " + "1960s style film She's holding her hand out there is a small smooth frog in her palm, " + "she's making eye contact with the toad." +) + + +class TestImageGeneratorZImage: + @pytest.mark.slow + def test_image_generation_z_image_turbo(self): + ImageGeneratorZImageTestHelper.assert_matches_reference_image( + reference_image_path="reference_z_image_turbo.png", + output_image_path="output_z_image_turbo.png", + prompt=ASTRONAUT_CAT_PROMPT, + steps=9, + seed=42, + height=368, + width=640, + quantize=8, + ) + + @pytest.mark.slow + def test_image_generation_z_image_turbo_lora(self): + ImageGeneratorZImageTestHelper.assert_matches_reference_image( + reference_image_path="reference_z_image_turbo_lora.png", + output_image_path="output_z_image_turbo_lora.png", + prompt=FROG_LORA_PROMPT, + steps=9, + seed=42, + height=368, + width=640, + quantize=8, + lora_paths=["renderartist/Technically-Color-Z-Image-Turbo"], + lora_scales=[0.5], + clear_lora_cache_pattern="Technically-Color", # Test fresh LoRA download works + mismatch_threshold=0.35, # LoRA tests have higher variance + ) diff --git a/tests/image_generation/test_image_util.py b/tests/image_generation/test_image_util.py index 1ba0714..dec8c14 100644 --- a/tests/image_generation/test_image_util.py +++ b/tests/image_generation/test_image_util.py @@ -12,6 +12,7 @@ def test_image(): return PIL.Image.new("RGB", (100, 80), color="blue") +@pytest.mark.fast def test_expand_image_with_pixels(test_image): # Test expanding with pixel values expanded = ImageUtil.expand_image( @@ -37,6 +38,7 @@ def test_expand_image_with_pixels(test_image): assert expanded.getpixel((15, 25)) == (0, 0, 255) # blue +@pytest.mark.fast def test_expand_image_with_percentages(test_image): # Test expanding with percentage values expanded = ImageUtil.expand_image( @@ -65,6 +67,7 @@ def test_expand_image_with_percentages(test_image): assert expanded.getpixel((0, 0)) == (0, 255, 0) +@pytest.mark.fast def test_expand_image_with_invalid_values(test_image): # Test with invalid percentage string (a string that does not end with %" with pytest.raises(ValueError): @@ -80,6 +83,7 @@ def test_expand_image_with_invalid_values(test_image): ImageUtil.expand_image(test_image, top="25", right="30", bottom="50#", left="10*") +@pytest.mark.fast def test_create_outpaint_mask_image(): # Test with various padding values orig_width = 100 @@ -136,6 +140,7 @@ def test_create_outpaint_mask_image(): assert mask.getpixel((left_padding, top_padding + 10)) == (0, 0, 0) +@pytest.mark.fast def test_binarize(): # Create test data using numpy arrays and convert to mx arrays # Create a gradient array from 0 to 1 @@ -160,6 +165,7 @@ def test_binarize(): assert np.all(result_np[:, :, :, 5:] == 1) +@pytest.mark.fast def test_to_array_with_mask(): # Create a test image with gradient colors from PIL import Image, ImageDraw diff --git a/tests/image_generation/test_stdin_prompt_integration.py b/tests/image_generation/test_stdin_prompt_integration.py index 1867fc7..6ef9b49 100644 --- a/tests/image_generation/test_stdin_prompt_integration.py +++ b/tests/image_generation/test_stdin_prompt_integration.py @@ -11,17 +11,17 @@ def temp_output_dir(tmp_path) -> Path: return tmp_path +@pytest.mark.slow def test_stdin_prompt_with_actual_generation(temp_output_dir): - """Test that stdin prompt is correctly used in actual image generation and saved in metadata.""" stdin_prompt = "A beautiful mountain landscape with snow" output_image = temp_output_dir / "test_stdin.png" metadata_file = temp_output_dir / "test_stdin.json" - # Run the actual mflux.generate module with stdin + # Run the actual flux_generate module with stdin cmd = [ sys.executable, "-m", - "mflux.generate", + "mflux.models.flux.cli.flux_generate", "--prompt", "-", "--model", @@ -64,8 +64,8 @@ def test_stdin_prompt_with_actual_generation(temp_output_dir): assert metadata["prompt"] == stdin_prompt +@pytest.mark.slow def test_stdin_prompt_multiline_with_actual_generation(temp_output_dir): - """Test that multiline stdin prompt is correctly preserved in metadata.""" stdin_prompt = """A fantasy scene with: - Dragons flying in the sky - A castle on a mountain @@ -77,7 +77,7 @@ def test_stdin_prompt_multiline_with_actual_generation(temp_output_dir): cmd = [ sys.executable, "-m", - "mflux.generate", + "mflux.models.flux.cli.flux_generate", "--prompt", "-", "--model", @@ -109,14 +109,14 @@ def test_stdin_prompt_multiline_with_actual_generation(temp_output_dir): assert metadata["prompt"] == stdin_prompt.strip() +@pytest.mark.slow def test_empty_stdin_fails_generation(temp_output_dir): - """Test that empty stdin causes generation to fail with appropriate error.""" output_image = temp_output_dir / "test_empty.png" cmd = [ sys.executable, "-m", - "mflux.generate", + "mflux.models.flux.cli.flux_generate", "--prompt", "-", "--model", @@ -146,14 +146,14 @@ def test_empty_stdin_fails_generation(temp_output_dir): assert "No prompt provided via stdin" in process.stdout +@pytest.mark.slow def test_pipe_from_echo_command(temp_output_dir): - """Test using echo command to pipe prompt, simulating real usage.""" prompt = "A serene lake at sunset" output_image = temp_output_dir / "test_echo.png" metadata_file = temp_output_dir / "test_echo.json" # Simulate: echo "prompt" | mflux-generate --prompt - ... - echo_cmd = f'echo "{prompt}" | {sys.executable} -m mflux.generate --prompt - --model dev --steps 1 --height 256 --width 256 -q 4 --output {output_image} --metadata' + echo_cmd = f'echo "{prompt}" | {sys.executable} -m mflux.models.flux.cli.flux_generate --prompt - --model dev --steps 1 --height 256 --width 256 -q 4 --output {output_image} --metadata' process = subprocess.run(echo_cmd, shell=True, capture_output=True, text=True) diff --git a/tests/image_generation/test_upscale_dimensions.py b/tests/image_generation/test_upscale_dimensions.py index 7fae51e..14ff42c 100644 --- a/tests/image_generation/test_upscale_dimensions.py +++ b/tests/image_generation/test_upscale_dimensions.py @@ -1,10 +1,11 @@ -from unittest.mock import Mock, patch +from unittest.mock import MagicMock, Mock, patch import pytest -from mflux.ui.scale_factor import ScaleFactor +from mflux.utils.scale_factor import ScaleFactor +@pytest.mark.fast @pytest.mark.parametrize( "args_height,args_width,orig_height,orig_width,expected_height,expected_width", [ @@ -21,22 +22,23 @@ from mflux.ui.scale_factor import ScaleFactor def test_upscale_passes_correct_dimensions_to_generate_image( args_height, args_width, orig_height, orig_width, expected_height, expected_width ): - """Test that upscale.py passes the correct dimensions to generate_image""" - # Mock the image that will be opened - mock_image = Mock() + # Mock the image that will be opened - needs to support context manager protocol + mock_image = MagicMock() mock_image.size = (orig_width, orig_height) mock_image.height = orig_height mock_image.width = orig_width + mock_image.__enter__ = Mock(return_value=mock_image) + mock_image.__exit__ = Mock(return_value=False) # Mock the flux object mock_flux = Mock() # Import and patch the actual upscale module with patch("PIL.Image.open", return_value=mock_image): - with patch("mflux.upscale.Flux1Controlnet", return_value=mock_flux): - with patch("mflux.upscale.ModelConfig"): - with patch("mflux.upscale.CallbackManager"): - from mflux.upscale import main + with patch("mflux.models.flux.cli.flux_upscale.Flux1Controlnet", return_value=mock_flux): + with patch("mflux.models.flux.cli.flux_upscale.ModelConfig"): + with patch("mflux.models.flux.cli.flux_upscale.CallbackManager"): + from mflux.models.flux.cli.flux_upscale import main # Mock command line args mock_args = Mock() @@ -52,19 +54,20 @@ def test_upscale_passes_correct_dimensions_to_generate_image( mock_args.lora_paths = None mock_args.lora_scales = None - with patch("mflux.upscale.CommandLineParser") as mock_parser_class: + with patch("mflux.models.flux.cli.flux_upscale.CommandLineParser") as mock_parser_class: mock_parser = Mock() mock_parser.parse_args.return_value = mock_args mock_parser_class.return_value = mock_parser - with patch("mflux.upscale.PromptUtils.get_effective_prompt", return_value="test prompt"): + with patch( + "mflux.models.flux.cli.flux_upscale.PromptUtil.read_prompt", return_value="test prompt" + ): # Call the main function main() # Verify generate_image was called with correct dimensions mock_flux.generate_image.assert_called() call_args = mock_flux.generate_image.call_args - config = call_args.kwargs["config"] - assert config.height == expected_height - assert config.width == expected_width + assert call_args.kwargs["height"] == expected_height + assert call_args.kwargs["width"] == expected_width diff --git a/tests/metadata/test_metadata.py b/tests/metadata/test_metadata.py index eec3d53..c58cbc9 100644 --- a/tests/metadata/test_metadata.py +++ b/tests/metadata/test_metadata.py @@ -1,34 +1,19 @@ -""" -Test metadata embedding and reading functionality. - -This test generates a single small image using the schnell model and verifies -that all metadata fields are correctly embedded and can be read back. -""" - import json import os import tempfile from datetime import datetime from pathlib import Path -from mflux.config.config import Config -from mflux.config.model_config import ModelConfig +import pytest + +from mflux.models.common.config import ModelConfig from mflux.models.flux.variants.txt2img.flux import Flux1 from mflux.utils.metadata_reader import MetadataReader class TestMetadata: - """Test suite for image metadata functionality.""" - + @pytest.mark.slow def test_metadata_complete(self): - """ - Comprehensive test that generates one image using img2img and verifies: - - EXIF metadata (all fields including img2img-specific ones) - - mflux-info command output formatting - - Creation timestamp validity - - Optional fields handling (both None and populated) - - Metadata reader handles missing files gracefully - """ # Use a temporary file - don't keep it open to avoid conflicts fd, temp_path = tempfile.mkstemp(suffix=".png") os.close(fd) # Close the file descriptor immediately @@ -44,7 +29,9 @@ class TestMetadata: quantize=8, ) - config = Config( + image = flux.generate_image( + seed=42, + prompt="A simple test image", num_inference_steps=2, height=256, width=256, @@ -52,12 +39,6 @@ class TestMetadata: image_strength=0.3, ) - image = flux.generate_image( - seed=42, - prompt="A simple test image", - config=config, - ) - # Save with metadata (overwrite=True since mkstemp creates an empty file) image.save(path=output_path, overwrite=True) @@ -159,9 +140,9 @@ class TestMetadata: # ================================================================= # Test 11: mflux-info command output # ================================================================= - from mflux.info import format_metadata + from mflux.utils.info_util import InfoUtil - output = format_metadata(metadata) + output = InfoUtil.format_metadata(metadata) assert "A simple test image" in output, "Prompt should be in output" assert "MFLUX" in output, "MFLUX should be mentioned" assert "42" in output, "Seed should be in output" diff --git a/tests/model_config/test_model_config.py b/tests/model_config/test_model_config.py deleted file mode 100644 index 3b0aebc..0000000 --- a/tests/model_config/test_model_config.py +++ /dev/null @@ -1,253 +0,0 @@ -import pytest - -from mflux.config.model_config import ModelConfig -from mflux.utils.exceptions import InvalidBaseModel, ModelConfigError - - -def test_bfl_dev(): - model = ModelConfig.from_name("dev") - assert model.model_name == "black-forest-labs/FLUX.1-dev" - assert model.max_sequence_length == 512 - assert model.num_train_steps == 1000 - assert model.supports_guidance is True - assert model.requires_sigma_shift is True - - -def test_bfl_dev_full_name(): - model = ModelConfig.from_name("black-forest-labs/FLUX.1-dev") - assert model.model_name == "black-forest-labs/FLUX.1-dev" - assert model.max_sequence_length == 512 - assert model.num_train_steps == 1000 - assert model.supports_guidance is True - assert model.requires_sigma_shift is True - - -def test_bfl_krea_dev(): - model = ModelConfig.from_name("krea-dev") - assert model.model_name == "black-forest-labs/FLUX.1-Krea-dev" - assert model.max_sequence_length == 512 - assert model.num_train_steps == 1000 - assert model.supports_guidance is True - assert model.requires_sigma_shift is True - - -def test_bfl_dev_krea_alias(): - model = ModelConfig.from_name("dev-krea") - assert model.model_name == "black-forest-labs/FLUX.1-Krea-dev" - assert model.max_sequence_length == 512 - assert model.num_train_steps == 1000 - assert model.supports_guidance is True - assert model.requires_sigma_shift is True - - -def test_bfl_krea_dev_full_name(): - model = ModelConfig.from_name("black-forest-labs/FLUX.1-Krea-dev") - assert model.model_name == "black-forest-labs/FLUX.1-Krea-dev" - assert model.max_sequence_length == 512 - assert model.num_train_steps == 1000 - assert model.supports_guidance is True - assert model.requires_sigma_shift is True - - -def test_bfl_schnell(): - model = ModelConfig.from_name("schnell") - assert model.model_name == "black-forest-labs/FLUX.1-schnell" - assert model.max_sequence_length == 256 - assert model.num_train_steps == 1000 - assert model.supports_guidance is False - assert model.requires_sigma_shift is False - - -def test_bfl_schnell_full_name(): - model = ModelConfig.from_name("black-forest-labs/FLUX.1-schnell") - assert model.model_name == "black-forest-labs/FLUX.1-schnell" - assert model.max_sequence_length == 256 - assert model.num_train_steps == 1000 - assert model.supports_guidance is False - assert model.requires_sigma_shift is False - - -def test_bfl_dev_fill(): - model = ModelConfig.from_name("dev-fill") - assert model.model_name == "black-forest-labs/FLUX.1-Fill-dev" - assert model.max_sequence_length == 512 - assert model.num_train_steps == 1000 - assert model.supports_guidance is True - assert model.requires_sigma_shift is True - - -def test_bfl_dev_fill_full_name(): - model = ModelConfig.from_name("black-forest-labs/FLUX.1-Fill-dev") - assert model.model_name == "black-forest-labs/FLUX.1-Fill-dev" - assert model.max_sequence_length == 512 - assert model.num_train_steps == 1000 - assert model.supports_guidance is True - assert model.requires_sigma_shift is True - - -def test_bfl_dev_depth(): - model = ModelConfig.from_name("dev-depth") - assert model.model_name == "black-forest-labs/FLUX.1-Depth-dev" - assert model.max_sequence_length == 512 - assert model.num_train_steps == 1000 - assert model.supports_guidance is True - assert model.requires_sigma_shift is True - - -def test_bfl_dev_depth_full_name(): - model = ModelConfig.from_name("black-forest-labs/FLUX.1-Depth-dev") - assert model.model_name == "black-forest-labs/FLUX.1-Depth-dev" - assert model.max_sequence_length == 512 - assert model.num_train_steps == 1000 - assert model.supports_guidance is True - assert model.requires_sigma_shift is True - - -def test_bfl_dev_redux(): - model = ModelConfig.from_name("dev-redux") - assert model.model_name == "black-forest-labs/FLUX.1-Redux-dev" - assert model.max_sequence_length == 512 - assert model.num_train_steps == 1000 - assert model.supports_guidance is True - assert model.requires_sigma_shift is True - - -def test_bfl_dev_redux_full_name(): - model = ModelConfig.from_name("black-forest-labs/FLUX.1-Redux-dev") - assert model.model_name == "black-forest-labs/FLUX.1-Redux-dev" - assert model.max_sequence_length == 512 - assert model.num_train_steps == 1000 - assert model.supports_guidance is True - assert model.requires_sigma_shift is True - - -def test_bfl_dev_controlnet_canny(): - model = ModelConfig.from_name("dev-controlnet-canny") - assert model.model_name == "black-forest-labs/FLUX.1-dev" - assert model.controlnet_model == "InstantX/FLUX.1-dev-Controlnet-Canny" - assert model.max_sequence_length == 512 - assert model.num_train_steps == 1000 - assert model.supports_guidance is True - assert model.requires_sigma_shift is True - assert model.is_canny() is True - - -def test_bfl_schnell_controlnet_canny(): - model = ModelConfig.from_name("schnell-controlnet-canny") - assert model.model_name == "black-forest-labs/FLUX.1-schnell" - assert model.controlnet_model == "InstantX/FLUX.1-dev-Controlnet-Canny" - assert model.max_sequence_length == 256 - assert model.num_train_steps == 1000 - assert model.supports_guidance is False - assert model.requires_sigma_shift is False - assert model.is_canny() is True - - -def test_bfl_dev_controlnet_upscaler(): - model = ModelConfig.from_name("dev-controlnet-upscaler") - assert model.model_name == "black-forest-labs/FLUX.1-dev" - assert model.controlnet_model == "jasperai/Flux.1-dev-Controlnet-Upscaler" - assert model.max_sequence_length == 512 - assert model.num_train_steps == 1000 - assert model.supports_guidance is False - assert model.requires_sigma_shift is False - assert model.is_canny() is False - - -def test_community_dev_fill_implicit_base_model(): - model = ModelConfig.from_name("acme-lab/some-dev-fill-model") - assert model.base_model == "black-forest-labs/FLUX.1-Fill-dev" - assert model.max_sequence_length == 512 - assert model.num_train_steps == 1000 - assert model.supports_guidance is True - assert model.requires_sigma_shift is True - - -def test_community_dev_fill_explicit_base_model(): - model = ModelConfig.from_name("acme-lab/some-model", base_model="dev-fill") - assert model.base_model == "black-forest-labs/FLUX.1-Fill-dev" - assert model.max_sequence_length == 512 - assert model.num_train_steps == 1000 - assert model.supports_guidance is True - assert model.requires_sigma_shift is True - - -def test_implicit_base_model_prefers_dev_fill_over_dev(): - model = ModelConfig.from_name("acme-lab/dev-fill-based-model") - assert model.base_model == "black-forest-labs/FLUX.1-Fill-dev" - assert model.max_sequence_length == 512 - assert model.num_train_steps == 1000 - assert model.requires_sigma_shift is True - - -def test_community_dev_implicit_base_model(): - model = ModelConfig.from_name("acme-lab/some-awesome-dev-model") - assert model.base_model == "black-forest-labs/FLUX.1-dev" - assert model.max_sequence_length == 512 - assert model.num_train_steps == 1000 - assert model.supports_guidance is True - assert model.requires_sigma_shift is True - - -def test_community_schnell_implicit_base_model(): - model = ModelConfig.from_name("acme-lab/some-quick-schnell-model") - assert model.base_model == "black-forest-labs/FLUX.1-schnell" - assert model.max_sequence_length == 256 - assert model.num_train_steps == 1000 - assert model.supports_guidance is False - assert model.requires_sigma_shift is False - - -def test_community_dev_explicit_base_model(): - model = ModelConfig.from_name("acme-lab/some-awesome-model", base_model="dev") - assert model.base_model == "black-forest-labs/FLUX.1-dev" - assert model.max_sequence_length == 512 - assert model.num_train_steps == 1000 - assert model.supports_guidance is True - assert model.requires_sigma_shift is True - - -def test_community_schnell_explicit_base_model(): - model = ModelConfig.from_name("acme-lab/some-awesome-model", base_model="schnell") - assert model.base_model == "black-forest-labs/FLUX.1-schnell" - assert model.max_sequence_length == 256 - assert model.num_train_steps == 1000 - assert model.supports_guidance is False - assert model.requires_sigma_shift is False - - -def test_model_config_error(): - with pytest.raises(ModelConfigError): - ModelConfig.from_name("acme-lab/some-model-who-knows-what-its-based-on") - - -def test_invalid_base_model_error(): - with pytest.raises(InvalidBaseModel): - ModelConfig.from_name("acme-lab/some-model-who-knows-what-its-based-on", base_model="something_unknown") - - -def test_qwen_image(): - model = ModelConfig.from_name("qwen") - assert model.model_name == "Qwen/Qwen-Image" - assert model.max_sequence_length is None - assert model.num_train_steps is None - assert model.supports_guidance is None - assert model.requires_sigma_shift is None - - -def test_qwen_image_alias(): - model = ModelConfig.from_name("qwen-image") - assert model.model_name == "Qwen/Qwen-Image" - assert model.max_sequence_length is None - assert model.num_train_steps is None - assert model.supports_guidance is None - assert model.requires_sigma_shift is None - - -def test_qwen_image_full_name(): - model = ModelConfig.from_name("Qwen/Qwen-Image") - assert model.model_name == "Qwen/Qwen-Image" - assert model.max_sequence_length is None - assert model.num_train_steps is None - assert model.supports_guidance is None - assert model.requires_sigma_shift is None diff --git a/tests/model_saving/test_model_saving.py b/tests/model_saving/test_model_saving.py index accf641..dd30449 100644 --- a/tests/model_saving/test_model_saving.py +++ b/tests/model_saving/test_model_saving.py @@ -3,17 +3,18 @@ import shutil from pathlib import Path import numpy as np +import pytest -from mflux.config.config import Config -from mflux.config.model_config import ModelConfig +from mflux.models.common.config import ModelConfig +from mflux.models.common.weights.loading.weight_loader import WeightLoader from mflux.models.flux.variants.txt2img.flux import Flux1 -from mflux.models.flux.weights.weight_handler import WeightHandler from mflux.utils.version_util import VersionUtil PATH = "tests/4bit/" class TestModelSaving: + @pytest.mark.slow def test_save_and_load_4bit_model(self): # Clean up any existing temporary directories from previous test runs TestModelSaving.delete_folder_if_exists(PATH) @@ -27,35 +28,31 @@ class TestModelSaving: image1 = fluxA.generate_image( seed=42, prompt="Luxury food photograph", - config=Config( - num_inference_steps=15, - height=341, - width=768, - ), + num_inference_steps=15, + height=341, + width=768, ) fluxA.save_model(PATH) del fluxA # Verify that the mflux version is correctly saved in the model's metadata - _, quantization_level, mflux_version = WeightHandler._load_vae(root_path=Path(PATH)) + _, quantization_level, mflux_version = WeightLoader._try_load_mflux_format(Path(PATH) / "vae") assert mflux_version == VersionUtil.get_mflux_version(), "mflux version not correctly saved in metadata" # fmt: off - assert quantization_level == "4", "quantization level not correctly saved in metadata" # fmt: off + assert quantization_level == 4, "quantization level not correctly saved in metadata" # fmt: off # when loading the quantized model (also without specifying bits) fluxB = Flux1( model_config=ModelConfig.dev(), - local_path=PATH, + model_path=PATH, ) # then we can load the model and generate the identical image image2 = fluxB.generate_image( seed=42, prompt="Luxury food photograph", - config=Config( - num_inference_steps=15, - height=341, - width=768, - ), + num_inference_steps=15, + height=341, + width=768, ) np.testing.assert_array_equal( np.array(image1.image), diff --git a/tests/model_saving/test_model_saving_lora.py b/tests/model_saving/test_model_saving_lora.py index f8e8e7b..7fb932e 100644 --- a/tests/model_saving/test_model_saving_lora.py +++ b/tests/model_saving/test_model_saving_lora.py @@ -3,15 +3,16 @@ import shutil from pathlib import Path import numpy as np +import pytest -from mflux.config.config import Config -from mflux.config.model_config import ModelConfig +from mflux.models.common.config import ModelConfig from mflux.models.flux.variants.txt2img.flux import Flux1 PATH = "tests/4bit/" class TestModelSavingLora: + @pytest.mark.slow def test_save_and_load_4bit_model_with_lora(self): # Clean up any existing temporary directories from previous test runs TestModelSavingLora.delete_folder_if_exists(PATH) @@ -35,18 +36,16 @@ class TestModelSavingLora: image1 = fluxB.generate_image( seed=44, prompt="mkym this is made of wool, pizza", - config=Config( - num_inference_steps=2, - height=341, - width=768, - ), + num_inference_steps=2, + height=341, + width=768, ) del fluxB # when loading the quantized model from a local path (also without specifying bits) with a LoRA... fluxC = Flux1( model_config=ModelConfig.schnell(), - local_path=PATH, + model_path=PATH, lora_paths=TestModelSavingLora.get_lora_path(), lora_scales=[1.0], ) @@ -55,11 +54,9 @@ class TestModelSavingLora: image2 = fluxC.generate_image( seed=44, prompt="mkym this is made of wool, pizza", - config=Config( - num_inference_steps=2, - height=341, - width=768, - ), + num_inference_steps=2, + height=341, + width=768, ) # then we confirm that we get the exact *identical* image in both cases diff --git a/tests/resolution/__init__.py b/tests/resolution/__init__.py new file mode 100644 index 0000000..5c8162d --- /dev/null +++ b/tests/resolution/__init__.py @@ -0,0 +1,2 @@ +# Tests for model loading policies + diff --git a/tests/resolution/test_config_resolution.py b/tests/resolution/test_config_resolution.py new file mode 100644 index 0000000..5f7bbf9 --- /dev/null +++ b/tests/resolution/test_config_resolution.py @@ -0,0 +1,109 @@ +import pytest + +from mflux.models.common.resolution.config_resolution import ConfigResolution +from mflux.utils.exceptions import InvalidBaseModel, ModelConfigError + + +class TestConfigResolutionExactMatch: + @pytest.mark.fast + def test_exact_alias_match(self): + config = ConfigResolution.resolve(model_name="schnell") + + assert config.model_name == "black-forest-labs/FLUX.1-schnell" + assert "schnell" in config.aliases + + @pytest.mark.fast + def test_exact_alias_match_dev(self): + config = ConfigResolution.resolve(model_name="dev") + + assert config.model_name == "black-forest-labs/FLUX.1-dev" + + @pytest.mark.fast + def test_exact_alias_match_fibo(self): + config = ConfigResolution.resolve(model_name="fibo") + + assert config.model_name == "briaai/FIBO" + + @pytest.mark.fast + def test_exact_hf_name_match(self): + config = ConfigResolution.resolve(model_name="black-forest-labs/FLUX.1-schnell") + + assert config.model_name == "black-forest-labs/FLUX.1-schnell" + + +class TestConfigResolutionExplicitBase: + @pytest.mark.fast + def test_explicit_base_model(self): + config = ConfigResolution.resolve(model_name="my-custom-model", base_model="schnell") + + assert config.model_name == "my-custom-model" + assert config.base_model == "black-forest-labs/FLUX.1-schnell" + assert config.max_sequence_length == 256 # schnell's value + + @pytest.mark.fast + def test_explicit_base_model_dev(self): + config = ConfigResolution.resolve(model_name="org/my-finetune", base_model="dev") + + assert config.model_name == "org/my-finetune" + assert config.base_model == "black-forest-labs/FLUX.1-dev" + assert config.supports_guidance is True # dev's value + + @pytest.mark.fast + def test_invalid_base_model_raises(self): + with pytest.raises(InvalidBaseModel): + ConfigResolution.resolve(model_name="whatever", base_model="invalid-base") + + +class TestConfigResolutionInferSubstring: + @pytest.mark.fast + def test_infer_from_schnell_substring(self): + config = ConfigResolution.resolve(model_name="my-schnell-finetune") + + assert config.model_name == "my-schnell-finetune" + assert config.base_model == "black-forest-labs/FLUX.1-schnell" + + @pytest.mark.fast + def test_infer_from_dev_substring(self): + config = ConfigResolution.resolve(model_name="dev-lora-something") + + assert config.model_name == "dev-lora-something" + assert config.base_model == "black-forest-labs/FLUX.1-dev" + + @pytest.mark.fast + def test_infer_case_insensitive(self): + config = ConfigResolution.resolve(model_name="MY-SCHNELL-MODEL") + + assert config.base_model == "black-forest-labs/FLUX.1-schnell" + + @pytest.mark.fast + def test_longer_alias_preferred(self): + # "dev-kontext" is longer than "dev", should match dev-kontext if present + config = ConfigResolution.resolve(model_name="my-dev-kontext-model") + + assert config.base_model == "black-forest-labs/FLUX.1-Kontext-dev" + + +class TestConfigResolutionError: + @pytest.mark.fast + def test_unknown_model_without_base_raises(self): + with pytest.raises(ModelConfigError) as exc_info: + ConfigResolution.resolve(model_name="totally-unknown-model") + + assert "Cannot infer" in str(exc_info.value) + + +class TestConfigResolutionRules: + @pytest.mark.fast + def test_exact_match_takes_priority(self): + # "schnell" is both an exact alias AND would match substring + config = ConfigResolution.resolve(model_name="schnell") + + # Should return the exact config, not create a new one + assert config.model_name == "black-forest-labs/FLUX.1-schnell" + + @pytest.mark.fast + def test_explicit_base_overrides_inference(self): + # Model name contains "schnell" but explicit base is "dev" + config = ConfigResolution.resolve(model_name="schnell-style-dev", base_model="dev") + + assert config.base_model == "black-forest-labs/FLUX.1-dev" diff --git a/tests/resolution/test_lora_resolution.py b/tests/resolution/test_lora_resolution.py new file mode 100644 index 0000000..a0bc6d3 --- /dev/null +++ b/tests/resolution/test_lora_resolution.py @@ -0,0 +1,268 @@ +from unittest.mock import patch + +import pytest +from huggingface_hub.utils import LocalEntryNotFoundError + +from mflux.models.common.resolution.lora_resolution import LoraResolution + + +class TestLoraResolutionLocal: + @pytest.mark.fast + def test_existing_local_file(self, tmp_path): + lora_file = tmp_path / "my-lora.safetensors" + lora_file.touch() + + result = LoraResolution.resolve(path=str(lora_file)) + + assert result == str(lora_file) + + +class TestLoraResolutionRegistry: + @pytest.mark.fast + def test_registry_lookup(self, tmp_path): + lora_file = tmp_path / "registered-lora.safetensors" + lora_file.touch() + + original_registry = LoraResolution._registry.copy() + try: + LoraResolution._registry["my-alias"] = lora_file + + result = LoraResolution.resolve(path="my-alias") + + assert result == str(lora_file) + finally: + LoraResolution._registry = original_registry + + +class TestLoraResolutionHuggingFace: + @pytest.mark.fast + @patch("mflux.models.common.resolution.lora_resolution.snapshot_download") + def test_huggingface_repo_downloads_when_not_cached(self, mock_download, tmp_path): + lora_file = tmp_path / "lora.safetensors" + lora_file.touch() + # First call (cache check) raises, second call (download) succeeds + mock_download.side_effect = [ + LocalEntryNotFoundError("Not cached"), + str(tmp_path), + ] + + result = LoraResolution.resolve(path="org/lora-repo") + + assert mock_download.call_count == 2 + # First call should have local_files_only=True + first_call = mock_download.call_args_list[0] + assert first_call[1].get("local_files_only") is True + assert result == str(lora_file) + + @pytest.mark.fast + @patch("mflux.models.common.resolution.lora_resolution.snapshot_download") + def test_huggingface_repo_uses_cache_when_available(self, mock_download, tmp_path): + lora_file = tmp_path / "lora.safetensors" + lora_file.touch() + # Cache check succeeds - no network download needed + mock_download.return_value = str(tmp_path) + + result = LoraResolution.resolve(path="org/lora-repo") + + # Called twice with local_files_only=True (once in check, once in execute) + assert mock_download.call_count == 2 + for call in mock_download.call_args_list: + assert call[1].get("local_files_only") is True + assert result == str(lora_file) + + @pytest.mark.fast + def test_collection_format_is_detected(self): + # Collection format: "repo:filename" with a "/" in repo + assert LoraResolution._is_collection_format("org/repo:file.safetensors") + assert not LoraResolution._is_collection_format("org/repo") + assert not LoraResolution._is_collection_format("local:file") + + @pytest.mark.fast + @patch("mflux.models.common.resolution.lora_resolution.snapshot_download") + def test_multiple_safetensors_in_repo_raises_error(self, mock_download, tmp_path): + # Create multiple .safetensors files in the directory + (tmp_path / "lora_v1.safetensors").touch() + (tmp_path / "lora_v2.safetensors").touch() + + # First call (cache check) raises, second call (download) succeeds + mock_download.side_effect = [ + LocalEntryNotFoundError("Not cached"), + str(tmp_path), + ] + + with pytest.raises(ValueError) as exc_info: + LoraResolution.resolve(path="org/multi-lora-repo") + + error_msg = str(exc_info.value) + assert "Multiple .safetensors files found" in error_msg + assert "lora_v1.safetensors" in error_msg or "lora_v2.safetensors" in error_msg + assert "collection format" in error_msg + assert "org/multi-lora-repo:" in error_msg + + @pytest.mark.fast + @patch("mflux.models.common.resolution.lora_resolution.snapshot_download") + def test_multiple_safetensors_cached_raises_error(self, mock_download, tmp_path): + # Create multiple .safetensors files in the directory + (tmp_path / "lora_a.safetensors").touch() + (tmp_path / "lora_b.safetensors").touch() + + # Cache check succeeds (both calls return same path) + mock_download.return_value = str(tmp_path) + + with pytest.raises(ValueError) as exc_info: + LoraResolution.resolve(path="org/cached-multi-lora") + + assert "Multiple .safetensors files found" in str(exc_info.value) + + @pytest.mark.fast + @patch("mflux.models.common.resolution.lora_resolution.snapshot_download") + def test_single_safetensor_in_repo_succeeds(self, mock_download, tmp_path): + # Create only one .safetensors file + lora_file = tmp_path / "single-lora.safetensors" + lora_file.touch() + + mock_download.side_effect = [ + LocalEntryNotFoundError("Not cached"), + str(tmp_path), + ] + + result = LoraResolution.resolve(path="org/single-lora-repo") + + assert result == str(lora_file) + + +class TestLoraResolutionError: + @pytest.mark.fast + def test_nonexistent_file_raises(self): + with pytest.raises(FileNotFoundError) as exc_info: + LoraResolution.resolve(path="nonexistent-lora") + + assert "LoRA file not found" in str(exc_info.value) + + +class TestLoraResolutionPaths: + @pytest.mark.fast + def test_resolve_paths_empty(self): + result = LoraResolution.resolve_paths(paths=None) + assert result == [] + + @pytest.mark.fast + def test_resolve_paths_filters_invalid(self, tmp_path): + valid_lora = tmp_path / "valid.safetensors" + valid_lora.touch() + + result = LoraResolution.resolve_paths(paths=[str(valid_lora), "invalid-path"]) + + assert len(result) == 1 + assert result[0] == str(valid_lora) + + +class TestLoraResolutionScales: + @pytest.mark.fast + def test_resolve_scales_none(self): + result = LoraResolution.resolve_scales(scales=None, num_paths=3) + assert result == [1.0, 1.0, 1.0] + + @pytest.mark.fast + def test_resolve_scales_provided(self): + result = LoraResolution.resolve_scales(scales=[0.5, 0.8], num_paths=2) + assert result == [0.5, 0.8] + + @pytest.mark.fast + def test_resolve_scales_too_few_pads_with_default(self, capsys): + # 2 scales provided but 3 paths - should pad with 1.0 + result = LoraResolution.resolve_scales(scales=[0.5, 0.8], num_paths=3) + + assert result == [0.5, 0.8, 1.0] + captured = capsys.readouterr() + assert "doesn't match" in captured.out + + @pytest.mark.fast + def test_resolve_scales_too_many_truncates(self, capsys): + # 3 scales provided but only 2 paths - should truncate + result = LoraResolution.resolve_scales(scales=[0.5, 0.8, 0.9], num_paths=2) + + assert result == [0.5, 0.8] + captured = capsys.readouterr() + assert "doesn't match" in captured.out + + @pytest.mark.fast + def test_resolve_scales_matching_no_warning(self, capsys): + # Matching counts should not warn + result = LoraResolution.resolve_scales(scales=[0.5, 0.8], num_paths=2) + + assert result == [0.5, 0.8] + captured = capsys.readouterr() + assert "doesn't match" not in captured.out + + +class TestLoraResolutionRules: + @pytest.mark.fast + def test_local_takes_priority_over_registry(self, tmp_path): + lora_file = tmp_path / "lora.safetensors" + lora_file.touch() + + original_registry = LoraResolution._registry.copy() + try: + LoraResolution._registry[str(lora_file)] = tmp_path / "other.safetensors" + + result = LoraResolution.resolve(path=str(lora_file)) + + assert result == str(lora_file) + finally: + LoraResolution._registry = original_registry + + +class TestLoraResolutionTildeExpansion: + @pytest.mark.fast + def test_expands_home_directory(self, tmp_path, monkeypatch): + monkeypatch.setenv("HOME", str(tmp_path)) + lora_dir = tmp_path / "loras" + lora_dir.mkdir() + lora_file = lora_dir / "my-style.safetensors" + lora_file.touch() + + result = LoraResolution.resolve(path="~/loras/my-style.safetensors") + + assert result == str(lora_file) + + @pytest.mark.fast + def test_tilde_path_not_treated_as_huggingface(self, tmp_path, monkeypatch): + # ~/loras/file has exactly one slash after tilde expansion path check + # It should NOT be treated as HuggingFace format + monkeypatch.setenv("HOME", str(tmp_path)) + lora_file = tmp_path / "org" / "lora.safetensors" + lora_file.parent.mkdir(parents=True) + lora_file.touch() + + # This path looks like "~/org/lora.safetensors" which could be confused with HF format + result = LoraResolution.resolve(path="~/org/lora.safetensors") + + assert result == str(lora_file) + + +class TestLoraResolutionRelativePaths: + @pytest.mark.fast + def test_relative_path_not_treated_as_huggingface(self): + # ./org/model should NOT be treated as HuggingFace even if it doesn't exist + # It should fail as a local path, not try to download from HF + assert not LoraResolution._is_hf_format("./org/model") + assert not LoraResolution._is_hf_format("../org/model") + + @pytest.mark.fast + def test_dotslash_single_segment_not_huggingface(self): + # ./lora has exactly one slash - should NOT match HuggingFace format + assert not LoraResolution._is_hf_format("./lora") + assert not LoraResolution._is_hf_format("../lora") + + @pytest.mark.fast + def test_relative_path_existing_file_resolves_locally(self, tmp_path, monkeypatch): + monkeypatch.chdir(tmp_path) + lora_dir = tmp_path / "subdir" + lora_dir.mkdir() + lora_file = lora_dir / "style.safetensors" + lora_file.touch() + + result = LoraResolution.resolve(path="./subdir/style.safetensors") + + assert "style.safetensors" in result diff --git a/tests/resolution/test_path_resolution.py b/tests/resolution/test_path_resolution.py new file mode 100644 index 0000000..93da4b8 --- /dev/null +++ b/tests/resolution/test_path_resolution.py @@ -0,0 +1,207 @@ +from unittest.mock import patch + +import pytest + +from mflux.models.common.resolution.path_resolution import PathResolution + + +class TestPathResolutionNone: + @pytest.mark.fast + def test_none_returns_none(self): + result = PathResolution.resolve(path=None) + assert result is None + + +class TestPathResolutionLocal: + @pytest.mark.fast + def test_existing_local_path(self, tmp_path): + model_dir = tmp_path / "my-model" + model_dir.mkdir() + + result = PathResolution.resolve(path=str(model_dir)) + + assert result == model_dir + + @pytest.mark.fast + def test_expands_home_directory(self, tmp_path, monkeypatch): + monkeypatch.setenv("HOME", str(tmp_path)) + model_dir = tmp_path / "models" / "test" + model_dir.mkdir(parents=True) + + result = PathResolution.resolve(path="~/models/test") + + assert result == model_dir + + @pytest.mark.fast + def test_local_path_with_slash_preferred_over_huggingface(self, tmp_path): + # Create a local path that looks like org/model + org_dir = tmp_path / "org" + org_dir.mkdir() + model_dir = org_dir / "model" + model_dir.mkdir() + + result = PathResolution.resolve(path=str(model_dir)) + + assert result == model_dir + + @pytest.mark.fast + def test_relative_path_not_treated_as_huggingface(self, tmp_path, monkeypatch): + monkeypatch.chdir(tmp_path) + model_dir = tmp_path / "org" / "model" + model_dir.mkdir(parents=True) + + result = PathResolution.resolve(path="./org/model") + + assert result.name == "model" + + @pytest.mark.fast + def test_tilde_path_not_treated_as_huggingface(self): + # ~/org/model should NOT be treated as HuggingFace even if it doesn't exist + # It should fail as a local path, not try to download from HF + assert not PathResolution._is_hf_format("~/org/model") + assert not PathResolution._is_hf_format("~/models/custom") + + @pytest.mark.fast + def test_nonexistent_tilde_path_raises_local_error(self): + # A tilde path that doesn't exist should raise FileNotFoundError + # NOT try to download from HuggingFace + with pytest.raises(FileNotFoundError) as exc_info: + PathResolution.resolve(path="~/nonexistent/model") + + # Error should indicate it's a local path issue, not HF + assert "Model not found" in str(exc_info.value) + + +class TestPathResolutionHuggingFace: + @pytest.mark.fast + @patch("mflux.models.common.resolution.path_resolution.snapshot_download") + def test_huggingface_format_downloads_when_not_cached(self, mock_download, tmp_path): + # No cache exists, so snapshot_download is called once to download + mock_download.return_value = str(tmp_path / "cached") + + result = PathResolution.resolve(path="org/model") + + # Called once (download only - cache check uses _find_complete_cached_snapshot) + assert mock_download.call_count == 1 + call_kwargs = mock_download.call_args[1] + assert "local_files_only" not in call_kwargs + assert result == tmp_path / "cached" + + @pytest.mark.fast + def test_huggingface_uses_cache_when_available(self, tmp_path): + # Create a fake cached snapshot structure + repo_cache = tmp_path / "models--org--model" / "snapshots" / "abc123" + repo_cache.mkdir(parents=True) + (repo_cache / "model.safetensors").touch() + + with patch("mflux.models.common.resolution.path_resolution.HF_HUB_CACHE", str(tmp_path)): + result = PathResolution.resolve(path="org/model") + + # Should return the cached path without calling snapshot_download + assert result == repo_cache + + @pytest.mark.fast + @patch("mflux.models.common.resolution.path_resolution.snapshot_download") + def test_huggingface_passes_patterns(self, mock_download, tmp_path): + mock_download.return_value = str(tmp_path / "cached") + + PathResolution.resolve(path="org/model", patterns=["*.bin", "*.json"]) + + call_kwargs = mock_download.call_args[1] + assert call_kwargs["allow_patterns"] == ["*.bin", "*.json"] + + +class TestPathResolutionError: + @pytest.mark.fast + def test_nonexistent_local_path_raises(self): + with pytest.raises(FileNotFoundError) as exc_info: + PathResolution.resolve(path="/nonexistent/path/to/model") + + assert "Model not found" in str(exc_info.value) + assert "/nonexistent/path/to/model" in str(exc_info.value) + + @pytest.mark.fast + def test_invalid_format_raises(self): + with pytest.raises(FileNotFoundError) as exc_info: + PathResolution.resolve(path="not-a-valid-path") + + assert "Model not found" in str(exc_info.value) + + @pytest.mark.fast + def test_error_message_is_helpful(self): + with pytest.raises(FileNotFoundError) as exc_info: + PathResolution.resolve(path="/bad/path") + + error_msg = str(exc_info.value) + assert "local path" in error_msg.lower() + assert "org/model" in error_msg + + +class TestPathResolutionRules: + @pytest.mark.fast + def test_rules_are_checked_in_order(self, tmp_path): + # Create a local path that also matches HuggingFace format + model_dir = tmp_path / "org" / "model" + model_dir.mkdir(parents=True) + + # Local should win because it's checked first + result = PathResolution.resolve(path=str(model_dir)) + + assert result == model_dir + + @pytest.mark.fast + def test_relative_paths_are_local_not_huggingface(self): + # ./org/model should NOT be treated as HuggingFace + # It should fail because the local path doesn't exist + with pytest.raises(FileNotFoundError): + PathResolution.resolve(path="./org/model") + + @pytest.mark.fast + def test_parent_relative_paths_are_local_not_huggingface(self): + # ../org/model should NOT be treated as HuggingFace + with pytest.raises(FileNotFoundError): + PathResolution.resolve(path="../org/model") + + +class TestPathResolutionEmptyDirectory: + @pytest.mark.fast + def test_empty_directory_prints_warning(self, tmp_path, capsys): + # Create an empty directory + empty_model_dir = tmp_path / "empty-model" + empty_model_dir.mkdir() + + result = PathResolution.resolve(path=str(empty_model_dir)) + + # Should resolve (directory exists) but warn about missing files + assert result == empty_model_dir + captured = capsys.readouterr() + assert "contains no files matching" in captured.out + + @pytest.mark.fast + def test_directory_with_matching_files_no_warning(self, tmp_path, capsys): + # Create a directory with matching files + model_dir = tmp_path / "model-with-weights" + model_dir.mkdir() + (model_dir / "weights.safetensors").touch() + + result = PathResolution.resolve(path=str(model_dir)) + + # Should resolve without warning + assert result == model_dir + captured = capsys.readouterr() + assert "contains no files matching" not in captured.out + + @pytest.mark.fast + def test_empty_directory_with_custom_patterns(self, tmp_path, capsys): + # Create a directory with .bin file but looking for .json + model_dir = tmp_path / "model" + model_dir.mkdir() + (model_dir / "weights.bin").touch() + + result = PathResolution.resolve(path=str(model_dir), patterns=["*.json"]) + + # Should warn because no .json files found + assert result == model_dir + captured = capsys.readouterr() + assert "contains no files matching" in captured.out + assert "*.json" in captured.out diff --git a/tests/resolution/test_quantization_resolution.py b/tests/resolution/test_quantization_resolution.py new file mode 100644 index 0000000..9425d5a --- /dev/null +++ b/tests/resolution/test_quantization_resolution.py @@ -0,0 +1,70 @@ +import pytest + +from mflux.models.common.resolution.quantization_resolution import QuantizationResolution + + +class TestDecideQuantization: + @pytest.mark.fast + def test_no_quantization_when_neither_specified(self): + bits, warning = QuantizationResolution.resolve(stored=None, requested=None) + assert bits is None + assert warning is None + + @pytest.mark.fast + @pytest.mark.parametrize("requested_bits", [3, 4, 5, 6, 8]) + def test_on_the_fly_quantization(self, requested_bits): + bits, warning = QuantizationResolution.resolve(stored=None, requested=requested_bits) + assert bits == requested_bits + assert warning is None + + @pytest.mark.fast + @pytest.mark.parametrize("stored_bits", [3, 4, 5, 6, 8]) + def test_prequantized_no_request(self, stored_bits): + bits, warning = QuantizationResolution.resolve(stored=stored_bits, requested=None) + assert bits == stored_bits + assert warning is None + + @pytest.mark.fast + @pytest.mark.parametrize("bits_value", [3, 4, 5, 6, 8]) + def test_prequantized_matching_request(self, bits_value): + bits, warning = QuantizationResolution.resolve(stored=bits_value, requested=bits_value) + assert bits == bits_value + assert warning is None + + @pytest.mark.fast + @pytest.mark.parametrize( + "stored_bits,requested_bits", + [(4, 8), (8, 4), (4, 3), (3, 8), (6, 4)], + ) + def test_prequantized_conflicting_request_uses_stored(self, stored_bits, requested_bits): + bits, warning = QuantizationResolution.resolve(stored=stored_bits, requested=requested_bits) + assert bits == stored_bits + + @pytest.mark.fast + @pytest.mark.parametrize( + "stored_bits,requested_bits", + [(4, 8), (8, 4), (4, 3)], + ) + def test_prequantized_conflicting_request_warns(self, stored_bits, requested_bits): + bits, warning = QuantizationResolution.resolve(stored=stored_bits, requested=requested_bits) + assert warning is not None + assert f"{stored_bits}-bit" in warning + assert f"-q {requested_bits}" in warning + + +class TestQuantizationPolicyCompleteness: + VALID_QUANT_LEVELS = [None, 3, 4, 5, 6, 8] + + @pytest.mark.fast + def test_all_combinations_handled(self): + for stored in self.VALID_QUANT_LEVELS: + for requested in self.VALID_QUANT_LEVELS: + bits, warning = QuantizationResolution.resolve(stored=stored, requested=requested) + assert bits is None or bits in self.VALID_QUANT_LEVELS + + @pytest.mark.fast + def test_result_is_always_stored_or_requested_or_none(self): + for stored in self.VALID_QUANT_LEVELS: + for requested in self.VALID_QUANT_LEVELS: + bits, _ = QuantizationResolution.resolve(stored=stored, requested=requested) + assert bits in (stored, requested, None) diff --git a/tests/resources/reference_controlnet_dev_lora_depth.png b/tests/resources/reference_controlnet_dev_lora_depth.png index 0cd2da4193259cf900b234dee97d27fb9038fe31..eebb7f2a22e3757596380fc6103c88e65c93fd83 100644 GIT binary patch literal 46900 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


?1p7PZ*Lja(imFt3KjCL85 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 T1w_^Q00000NkvXXu0mjfj1Uf2 diff --git a/tests/resources/reference_fibo.png b/tests/resources/reference_fibo.png index 55ade3081c48b7794e67209422dffaa7e407e3b4..ffd5f14b91546e4ae567aa1db346d05827f6cf02 100644 GIT binary patch delta 319030 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 z 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

xMM?;X~5P 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�PW0bfG`4~ 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 literal 264350 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

%zYOzyf#NM^*AeF6~!>1>c>sKDV`R?NGLu4$3 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 AKL7v# diff --git a/tests/resources/reference_z_image_turbo.png b/tests/resources/reference_z_image_turbo.png new file mode 100644 index 0000000000000000000000000000000000000000..25c1775455304f2fd4bafddf6d2282aac1cd38cb GIT binary patch literal 344213 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

Qy|TCvwJ!kdc&NbQXa!(2OvNdBeTg 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 A+_b*j}h9tVC_LGf3t% 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

3XiYRx9_r$71M<=Pn+(Xq7DlK( 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� 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ΞvPzO9j12DcHfTs{jN^F--4BYEzxd_3h#Cazc&u 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 D`t9-z literal 0 HcmV?d00001 diff --git a/tests/schedulers/test_base_scheduler.py b/tests/schedulers/test_base_scheduler.py index c9f08a0..9eec8b1 100644 --- a/tests/schedulers/test_base_scheduler.py +++ b/tests/schedulers/test_base_scheduler.py @@ -3,9 +3,7 @@ import pytest from mflux.models.common.schedulers.base_scheduler import BaseScheduler +@pytest.mark.fast def test_base_scheduler_is_abstract(): - """ - Test that BaseScheduler cannot be instantiated directly. - """ with pytest.raises(TypeError): BaseScheduler() diff --git a/tests/schedulers/test_linear_scheduler.py b/tests/schedulers/test_linear_scheduler.py index f71467e..5e2167a 100644 --- a/tests/schedulers/test_linear_scheduler.py +++ b/tests/schedulers/test_linear_scheduler.py @@ -4,13 +4,13 @@ import mlx.core as mx import numpy as np import pytest -from mflux.config.config import Config -from mflux.config.model_config import ModelConfig -from mflux.config.runtime_config import RuntimeConfig +from mflux.models.common.config.config import Config +from mflux.models.common.config.model_config import ModelConfig from mflux.models.common.schedulers import try_import_external_scheduler from mflux.models.common.schedulers.linear_scheduler import LinearScheduler +@pytest.mark.fast def test_linear_scheduler_import_by_name(): assert ( try_import_external_scheduler("mflux.models.common.schedulers.linear_scheduler.LinearScheduler") @@ -19,34 +19,27 @@ def test_linear_scheduler_import_by_name(): @pytest.fixture -def test_runtime_config(): - return RuntimeConfig( - Config( - # these are the only attributes relevant to schedulers - num_inference_steps=14, - width=1024, - height=1024, - scheduler="linear", - ), - ModelConfig.dev(), # requires_sigma_shift=True +def test_config(): + return Config( + model_config=ModelConfig.dev(), # requires_sigma_shift=True + num_inference_steps=14, + width=1024, + height=1024, + scheduler="linear", ) -def test_linear_scheduler_initialization(test_runtime_config): - """ - Test the initialization of the LinearScheduler. - """ - scheduler = LinearScheduler(runtime_config=test_runtime_config) +@pytest.mark.fast +def test_linear_scheduler_initialization(test_config): + scheduler = LinearScheduler(config=test_config) assert scheduler.sigmas is not None assert isinstance(scheduler.sigmas, mx.array) assert len(scheduler.sigmas) > 0 -def test_linear_scheduler_sigmas_property_no_shift(test_runtime_config): - """ - Test the sigmas property of the LinearScheduler without sigma shift. - """ - scheduler = LinearScheduler(runtime_config=test_runtime_config) +@pytest.mark.fast +def test_linear_scheduler_sigmas_property_no_shift(test_config): + scheduler = LinearScheduler(config=test_config) expected_sigmas_from_mflux_0_9_0 = mx.array( np.load( io.BytesIO( @@ -59,15 +52,13 @@ def test_linear_scheduler_sigmas_property_no_shift(test_runtime_config): ) assert mx.allclose(scheduler.sigmas, expected_sigmas_from_mflux_0_9_0) - assert scheduler.sigmas.shape == (test_runtime_config.num_inference_steps + 1,) + assert scheduler.sigmas.shape == (test_config.num_inference_steps + 1,) -def test_linear_scheduler_sigmas_property_with_shift(test_runtime_config): - """ - Test the sigmas property of the LinearScheduler with sigma shift. - """ - test_runtime_config.model_config = ModelConfig.schnell() # requires_sigma_shift=True - scheduler = LinearScheduler(runtime_config=test_runtime_config) +@pytest.mark.fast +def test_linear_scheduler_sigmas_property_with_shift(test_config): + test_config.model_config = ModelConfig.schnell() # requires_sigma_shift=True + scheduler = LinearScheduler(config=test_config) expected_sigmas_from_mflux_0_9_0 = mx.array( np.load( io.BytesIO( @@ -79,4 +70,4 @@ def test_linear_scheduler_sigmas_property_with_shift(test_runtime_config): ) ) assert mx.allclose(scheduler.sigmas, expected_sigmas_from_mflux_0_9_0) - assert scheduler.sigmas.shape == (test_runtime_config.num_inference_steps + 1,) + assert scheduler.sigmas.shape == (test_config.num_inference_steps + 1,) diff --git a/tests/schedulers/test_scheduler_lookup.py b/tests/schedulers/test_scheduler_lookup.py index b369ac2..9372d32 100644 --- a/tests/schedulers/test_scheduler_lookup.py +++ b/tests/schedulers/test_scheduler_lookup.py @@ -3,15 +3,18 @@ import pytest import mflux.models.common.schedulers as schedulers +@pytest.mark.fast def test_scheduler_by_path(): schedulers.try_import_external_scheduler("mflux.models.common.schedulers.linear_scheduler.LinearScheduler") +@pytest.mark.fast def test_scheduler_bad_module(): with pytest.raises(schedulers.SchedulerModuleNotFound): schedulers.try_import_external_scheduler("someone.other.project.BarScheduler") +@pytest.mark.fast def test_scheduler_bad_classname(): with pytest.raises(schedulers.SchedulerClassNotFound): schedulers.try_import_external_scheduler("mflux.models.common.schedulers.linear_scheduler.FooBarScheduler") diff --git a/tests/ui/test_scale_factor.py b/tests/ui/test_scale_factor.py deleted file mode 100644 index 0964671..0000000 --- a/tests/ui/test_scale_factor.py +++ /dev/null @@ -1,119 +0,0 @@ -import pytest - -from mflux.ui.scale_factor import ScaleFactor, parse_scale_factor - - -def test_scale_factor_init(): - """Test ScaleFactor initialization and validation""" - # Valid integer scale factor - sf = ScaleFactor(value=2) - assert sf.value == 2 - - # Valid float scale factor - sf = ScaleFactor(value=1.5) - assert sf.value == 1.5 - - # Zero should raise ValueError - with pytest.raises(ValueError, match="Scale factor must be positive"): - ScaleFactor(value=0) - - # Negative should raise ValueError - with pytest.raises(ValueError, match="Scale factor must be positive"): - ScaleFactor(value=-1) - - -def test_scale_factor_get_scaled_value(): - """Test ScaleFactor.get_scaled_value method""" - # Test with non-perfect multiple (needs rounding down) - sf = ScaleFactor(value=1.5) - assert sf.get_scaled_value(100) == 144 # 1.5 * 100 - (1.5 * 100) % 16 = 150 - 6 = 144 - - # Test with scale factor that creates remainder - sf = ScaleFactor(value=1.2) - assert sf.get_scaled_value(100) == 112 # 1.2 * 100 - (1.2 * 100) % 16 = 120 - 8 = 112 - - # Test with larger remainder - sf = ScaleFactor(value=1.1) - assert sf.get_scaled_value(200) == 208 # 1.1 * 200 - (1.1 * 200) % 16 = 220 - 12 = 208 - - # Test with custom pixel_steps - sf = ScaleFactor(value=1.3) - assert sf.get_scaled_value(100, pixel_steps=32) == 128 # 1.3 * 100 - (1.3 * 100) % 32 = 130 - 2 = 128 - - # Test edge case where result would be less than pixel_steps - sf = ScaleFactor(value=0.1) - assert sf.get_scaled_value(100) == 0 # 0.1 * 100 - (0.1 * 100) % 16 = 10 - 10 = 0 - - -def test_parse_scale_factor_valid(): - """Test parsing valid scale factor strings""" - # Integer scale factors - sf = parse_scale_factor("1x") - assert sf.value == 1 - - sf = parse_scale_factor("2x") - assert sf.value == 2 - - sf = parse_scale_factor("10x") - assert sf.value == 10 - - # Float scale factors - sf = parse_scale_factor("1.5x") - assert sf.value == 1.5 - - sf = parse_scale_factor("2.75X") - assert sf.value == 2.75 - - # With whitespace - sf = parse_scale_factor(" 2x ") - assert sf.value == 2 - - -def test_parse_scale_factor_invalid(): - """Test parsing invalid scale factor strings""" - # Missing 'x' - with pytest.raises(ValueError, match="Invalid scale factor format"): - parse_scale_factor("2") - - # Multiple 'x' - with pytest.raises(ValueError, match="Invalid scale factor format"): - parse_scale_factor("2xx") - - # Non-numeric value - with pytest.raises(ValueError, match="Invalid scale factor format"): - parse_scale_factor("abcx") - - # Empty before 'x' - with pytest.raises(ValueError, match="Invalid scale factor format"): - parse_scale_factor("x") - - # Invalid format - with pytest.raises(ValueError, match="Invalid scale factor format"): - parse_scale_factor("2.5.5x") - - # Negative values should fail at parsing - with pytest.raises(ValueError, match="Invalid scale factor format"): - parse_scale_factor("-1x") - - # Zero should parse but fail in ScaleFactor init - with pytest.raises(ValueError, match="Scale factor must be positive"): - parse_scale_factor("0x") - - -def test_scale_factor_realistic_dimensions(): - """Test scale factor with realistic image dimensions""" - # 2x upscale of 512x512 image - sf = ScaleFactor(value=2) - assert sf.get_scaled_value(512) == 1024 # 2 * 512 - (2 * 512) % 16 = 1024 - 0 = 1024 - - # 1.5x upscale of 768x768 image - sf = ScaleFactor(value=1.5) - assert sf.get_scaled_value(768) == 1152 # 1.5 * 768 - (1.5 * 768) % 16 = 1152 - 0 = 1152 - - # 3x upscale of 256x256 image - sf = ScaleFactor(value=3) - assert sf.get_scaled_value(256) == 768 # 3 * 256 - (3 * 256) % 16 = 768 - 0 = 768 - - # 0.5x downscale of 1024x1024 image - sf = ScaleFactor(value=0.5) - assert sf.get_scaled_value(1024) == 512 # 0.5 * 1024 - (0.5 * 1024) % 16 = 512 - 0 = 512 diff --git a/tests/vlm/test_fibo_vlm.py b/tests/vlm/test_fibo_vlm.py index 9f6e8c4..e3d6755 100644 --- a/tests/vlm/test_fibo_vlm.py +++ b/tests/vlm/test_fibo_vlm.py @@ -9,68 +9,78 @@ from tests.image_generation.test_generate_image_fibo import OWL_PROMPT, OWL_PROM INSPIRE_PROMPT = """ { - "short_description": "A charming, stylized illustration of a young owl perched on a mossy tree stump in a dimly lit forest. The owl has large, expressive eyes and soft, feathered textures. The background is a blur of dark trees and foliage, creating a serene and mysterious atmosphere. The overall impression is one of innocence and nature's quiet beauty.", + "short_description": "A charming, stylized illustration of a young owl sitting on a mossy forest floor. The owl is facing forward with large, expressive eyes and fluffy ear tufts. It is surrounded by a softly blurred forest environment with tall trees and dappled moonlight. The overall impression is one of innocence and nocturnal wonder, rendered in a gentle, painterly style.", "objects": [ { - "description": "A young owl with large, round, golden eyes and a small yellow beak. Its plumage is a mix of soft browns, creams, and subtle blues, with distinct feather patterns. It has prominent ear tufts and a fluffy chest.", + "description": "A young, anthropomorphic owl with large, round eyes and prominent ear tufts. Its plumage is a soft, mottled grey and beige, with distinct feather patterns.", "location": "center", - "relationship": "perched on a tree stump", - "relative_size": "medium within frame", - "shape_and_color": "Rounded body shape, predominantly brown and cream with blueish undertones. Large, round eyes with dark pupils.", - "texture": "soft, feathery, detailed", - "appearance_details": "Its eyes have a glossy sheen and appear to be looking directly at the viewer. The feathers have a layered, textured look.", + "relationship": "The owl is the sole prominent subject, resting on the ground.", + "relative_size": "medium-to-large within frame", + "shape_and_color": "Round body, large circular eyes, conical beak. Predominantly grey and beige.", + "texture": "soft, feathery", + "appearance_details": "Large, dark pupils in its eyes, a small yellow beak, and delicate talons.", "number_of_objects": 1, - "pose": "Sitting upright, with its body facing forward and its head slightly tilted.", + "pose": "Sitting upright, facing forward.", "expression": "curious and gentle", - "action": "perching", - "gender": "unknown", + "action": "resting", + "gender": "neutral", + "skin_tone_and_texture": "N/A (owl)", "orientation": "upright" }, { - "description": "A weathered tree stump covered in lush green moss. It provides a natural perch for the owl.", - "location": "bottom-center foreground", - "relationship": "supports the owl", + "description": "A patch of vibrant green moss covering the ground in the foreground and around the owl.", + "location": "bottom foreground and midground", + "relationship": "The owl is perched on this mossy ground.", "relative_size": "medium", - "shape_and_color": "Irregular, rounded shape, dark brown wood with vibrant green moss.", - "texture": "rough wood, soft mossy texture", - "appearance_details": "The moss is thick and detailed, with small blades of grass growing around the base.", - "number_of_objects": 1, - "orientation": "lying on its side" + "shape_and_color": "Irregular, organic shapes, vibrant green.", + "texture": "soft, velvety, slightly uneven", + "appearance_details": "Appears lush and damp, with small variations in shade.", + "orientation": "horizontal" }, { - "description": "Several slender tree trunks and branches, rendered in dark, muted tones.", - "location": "background and midground", - "relationship": "forms the forest environment", - "relative_size": "large, forming the environment", - "shape_and_color": "Vertical, elongated shapes in shades of dark brown and grey.", - "texture": "smooth, bark-like texture", - "appearance_details": "Some branches have sparse green leaves. The trees are out of focus, creating depth.", + "description": "Several tall, slender tree trunks forming the background.", + "location": "background", + "relationship": "They create the forest environment behind the owl.", + "relative_size": "large", + "shape_and_color": "Vertical, cylindrical shapes. Dark brown and grey.", + "texture": "rough bark", + "appearance_details": "Some trunks are covered in moss. They are out of focus.", "orientation": "vertical" + }, + { + "description": "A few delicate, glowing orbs scattered in the background, resembling fireflies or distant lights.", + "location": "background, scattered", + "relationship": "They add a magical element to the forest scene.", + "relative_size": "small", + "shape_and_color": "Small, spherical, glowing yellow-white.", + "texture": "N/A", + "appearance_details": "Softly blurred, suggesting distance.", + "orientation": "N/A" } ], - "background_setting": "A dense, dark forest with tall trees and undergrowth. The atmosphere is slightly misty or foggy, softening the distant elements.", + "background_setting": "A mystical forest at night, with tall, ancient trees, a soft undergrowth of moss, and a hint of moonlight filtering through the canopy. The atmosphere is serene and enchanting.", "lighting": { - "conditions": "dim, atmospheric lighting", - "direction": "soft, diffused light from the front-left", - "shadows": "soft, subtle shadows that enhance the depth and mood" + "conditions": "soft, ambient moonlight", + "direction": "diffused from above and behind", + "shadows": "soft, elongated shadows cast by the trees, minimal on the owl" }, "aesthetics": { - "composition": "centered composition with the owl as the primary focal point", - "color_scheme": "muted earth tones with pops of green and soft blues/greys", - "mood_atmosphere": "serene, mysterious, innocent", - "aesthetic_score": "high", - "preference_score": "high" + "composition": "centered framing with the owl as the main focal point", + "color_scheme": "cool, muted tones of blues, greys, and greens, with warm accents from the owl's eyes and beak", + "mood_atmosphere": "magical, serene, innocent", + "aesthetic_score": "very high", + "preference_score": "very high" }, "photographic_characteristics": { - "depth_of_field": "shallow, with a blurred background", + "depth_of_field": "shallow, with a strong bokeh effect in the background", "focus": "sharp focus on the owl", "camera_angle": "eye-level", "lens_focal_length": "standard lens (e.g., 50mm)" }, "style_medium": "digital illustration", "text_render": [], - "context": "This image is suitable for children's book illustrations, nature-themed art, or decorative prints.", - "artistic_style": "stylized, painterly, cute" + "context": "This image is suitable for children's book illustrations, fantasy-themed art, or decorative prints.", + "artistic_style": "stylized, painterly, whimsical" } """ @@ -79,44 +89,43 @@ SKYSCRAPERS_INSPIRE_PROMPT = """ "short_description": "A dramatic, low-angle shot of several modern skyscrapers in black and white, emphasizing their towering height and geometric forms against a bright, overcast sky. The buildings feature repetitive window patterns and varying architectural details, creating a sense of urban grandeur and scale.", "objects": [ { - "description": "A tall skyscraper with a facade of numerous rectangular windows, arranged in a grid pattern. The building has a slightly curved or angled design, giving it a dynamic appearance.", + "description": "A tall skyscraper with a facade of numerous rectangular windows, arranged in a grid pattern. The building has a slightly curved or angled top section.", "location": "center-right foreground", - "relationship": "This is the most prominent building, dominating the right side of the frame and serving as a primary focal point.", + "relationship": "It is the most prominent building, dominating the right side of the frame and appearing to recede into the background.", "relative_size": "large within frame", - "shape_and_color": "Rectangular and angular forms, dark grey to black with bright white window reflections.", - "texture": "Smooth concrete or glass, with visible mullions creating a textured grid.", - "appearance_details": "The windows reflect the bright sky, appearing as glowing rectangles. The building's structure is robust and imposing.", + "shape_and_color": "Rectangular with a complex, multi-faceted top; shades of gray and black.", + "texture": "Smooth concrete and glass, with visible window frames.", + "appearance_details": "The windows reflect the bright sky, appearing light gray or white. Some sections of the facade have decorative elements or protrusions.", "orientation": "vertical" }, { - "description": "A large, flat-roofed skyscraper with a simpler, more rectilinear design compared to the central-right building. Its facade also features windows, but they are less prominent due to the building's angle and distance.", - "location": "left foreground", - "relationship": "It stands to the left of the central skyscraper, partially obscuring other buildings behind it and contributing to the layered effect.", - "relative_size": "large within frame", - "shape_and_color": "Large, flat, angular forms, dark grey to black.", - "texture": "Rough concrete texture on the upper sections, smoother on the windowed parts.", - "appearance_details": "The building has a distinct overhang or cantilevered section at the top-left, adding architectural interest.", - "orientation": "diagonal, leaning towards the right" - }, - { - "description": "A cluster of mid-rise buildings, less distinct than the foreground structures, with visible window patterns.", - "location": "midground, behind the foreground buildings", - "relationship": "These buildings provide depth and context, suggesting a dense urban environment behind the prominent foreground structures.", + "description": "A long, rectangular skyscraper with a facade of regularly spaced, horizontal windows.", + "location": "left midground", + "relationship": "It stands to the left of the central skyscraper, appearing slightly further back and narrower.", "relative_size": "medium", - "shape_and_color": "Rectangular forms, dark grey with hints of white from windows.", - "texture": "Less defined, appearing smoother due to distance.", - "appearance_details": "Their details are softened by distance and atmospheric haze.", - "number_of_objects": 3, + "shape_and_color": "Tall, slender rectangle; shades of gray and black.", + "texture": "Smooth concrete and glass.", + "appearance_details": "The horizontal lines of windows create a strong sense of rhythm. Its top is flat and extends horizontally.", "orientation": "vertical" }, { - "description": "A tall, slender skyscraper with a facade composed of many small, closely spaced rectangular windows, creating a dense, textured pattern.", - "location": "bottom-right midground", - "relationship": "It stands slightly behind and to the right of the main central skyscraper, adding to the overall height of the urban landscape.", + "description": "A skyscraper with a facade featuring larger, rectangular windows that are not perfectly uniform, giving a slightly more textured appearance.", + "location": "center-left midground", + "relationship": "It is positioned behind the left midground skyscraper and to the left of the central skyscraper, partially obscured by the foreground elements.", "relative_size": "medium", - "shape_and_color": "Tall, slender, rectangular, dark grey with bright white window reflections.", - "texture": "Densely packed, creating a fine-grained texture from the windows.", - "appearance_details": "Its vertical lines are emphasized by the window arrangement.", + "shape_and_color": "Tall, slender rectangle; shades of gray and black.", + "texture": "Smooth concrete and glass, with subtle variations in window size.", + "appearance_details": "Its upper section has a distinct, stepped design.", + "orientation": "vertical" + }, + { + "description": "A building with a facade characterized by smaller, square-like windows, creating a more intricate pattern.", + "location": "bottom-right foreground", + "relationship": "It is partially visible at the bottom right, appearing to be closer to the viewer than the central skyscraper.", + "relative_size": "small", + "shape_and_color": "Rectangular base with a repeating pattern of small squares; shades of gray and black.", + "texture": "Smooth concrete and glass.", + "appearance_details": "The windows are arranged in a dense, grid-like pattern, almost appearing pixelated.", "orientation": "vertical" } ], @@ -124,34 +133,35 @@ SKYSCRAPERS_INSPIRE_PROMPT = """ "lighting": { "conditions": "overcast daylight", "direction": "diffused from above", - "shadows": "soft, subtle shadows on the buildings, mainly emphasizing their geometric forms rather than sharp lines" + "shadows": "soft, subtle shadows on the buildings, emphasizing their forms without harsh lines" }, "aesthetics": { - "composition": "dynamic and asymmetrical, with buildings angled and overlapping, creating a sense of depth and scale. The low angle emphasizes the height of the structures.", - "color_scheme": "monochromatic (black and white) with a wide range of greys, emphasizing form and texture.", - "mood_atmosphere": "grand, imposing, architectural, and slightly dramatic.", + "composition": "dynamic low-angle composition, with leading lines from the buildings converging towards the top-center, creating a sense of immense height and perspective.", + "color_scheme": "monochromatic (black and white) with a wide range of grays, emphasizing texture and form.", + "mood_atmosphere": "grand, imposing, architectural, and slightly mysterious.", "aesthetic_score": "very high", "preference_score": "very high" }, "photographic_characteristics": { "depth_of_field": "deep", - "focus": "sharp focus on the foreground and midground buildings, with slight softening towards the background.", + "focus": "sharp focus on all visible skyscrapers, maintaining clarity across the architectural details.", "camera_angle": "very low angle, looking upwards from ground level.", - "lens_focal_length": "wide-angle" + "lens_focal_length": "wide-angle lens, to capture the full height and breadth of the buildings." }, "style_medium": "photograph", "text_render": [], - "context": "An architectural photograph, likely intended for art prints, urban exploration photography, or a design magazine, focusing on the abstract beauty of modern cityscapes.", - "artistic_style": "minimalist, high-contrast, geometric" + "context": "An architectural photograph, likely intended for art prints, urban exploration blogs, or promotional material for city tourism, focusing on the abstract beauty of modern cityscapes.", + "artistic_style": "minimalist, abstract, architectural" } """ @pytest.fixture def vlm(): - return FiboVLM(model_id="briaai/FIBO-vlm") + return FiboVLM(model_id="briaai/FIBO-vlm", quantize=8) +@pytest.mark.slow def test_vlm_generate_json(vlm): # given input_prompt = "A hyper-detailed, ultra-fluffy owl sitting in the trees at night, looking directly at the camera with wide, adorable, expressive eyes. Its feathers are soft and voluminous, catching the cool moonlight with subtle silver highlights. The owl's gaze is curious and full of charm, giving it a whimsical, storybook-like personality." @@ -164,6 +174,7 @@ def test_vlm_generate_json(vlm): assert isinstance(json.loads(json_output), dict), "Output should be a valid JSON object" +@pytest.mark.slow def test_vlm_refine_json_text_only(vlm): # given editing_instructions = "make the owl white color but keep everything else exactly the same" @@ -180,6 +191,7 @@ def test_vlm_refine_json_text_only(vlm): assert isinstance(json.loads(json_output), dict), "Output should be a valid JSON object" +@pytest.mark.slow def test_vlm_inspire_json_from_image(vlm): # given resource_dir = Path(__file__).parent.parent / "resources" @@ -194,6 +206,7 @@ def test_vlm_inspire_json_from_image(vlm): assert isinstance(json.loads(json_output), dict), "Output should be a valid JSON object" +@pytest.mark.slow def test_vlm_inspire_json_from_image_with_prompt(vlm): # given resource_dir = Path(__file__).parent.parent / "resources" diff --git a/tests/weights/test_lora_library.py b/tests/weights/test_lora_library.py deleted file mode 100644 index d78ded5..0000000 --- a/tests/weights/test_lora_library.py +++ /dev/null @@ -1,199 +0,0 @@ -import os -import tempfile -from pathlib import Path -from unittest import mock - -import pytest - -from mflux.models.common.lora.download import lora_library - - -@pytest.fixture(autouse=True) -def reset_lora_registry(): - """Reset the global registry before and after each test.""" - original = lora_library._LORA_REGISTRY.copy() - lora_library._LORA_REGISTRY.clear() - yield - lora_library._LORA_REGISTRY.clear() - lora_library._LORA_REGISTRY.update(original) - - -@pytest.fixture -def temp_lora_dirs(): - """Create temporary directories with fake .safetensors files for testing.""" - with tempfile.TemporaryDirectory() as temp_root: - # Create two library directories - lib1 = Path(temp_root) / "library1" - lib2 = Path(temp_root) / "library2" - lib1.mkdir() - lib2.mkdir() - - # Create some .safetensors files - (lib1 / "style_a.safetensors").touch() - (lib1 / "style_b.safetensors").touch() - (lib1 / "subdir").mkdir() - (lib1 / "subdir" / "style_c.safetensors").touch() - - # Create transformer directory with digit-named files (should be ignored) - (lib1 / "transformer").mkdir() - (lib1 / "transformer" / "0.safetensors").touch() - (lib1 / "transformer" / "1.safetensors").touch() - (lib1 / "transformer" / "style_valid.safetensors").touch() # Should not be ignored - - (lib2 / "style_b.safetensors").touch() # Duplicate name - (lib2 / "style_d.safetensors").touch() - - yield lib1, lib2 - - -def test_discover_lora_files_single_path(temp_lora_dirs): - """Test discovering files in a single library path.""" - lib1, lib2 = temp_lora_dirs - - result = lora_library._discover_lora_files([lib1]) - - assert len(result) == 4 # Should not include digit-named files in transformer/ - assert "style_a" in result - assert "style_b" in result - assert "style_c" in result - assert "style_valid" in result - assert "0" not in result # Digit-named files in transformer/ should be excluded - assert "1" not in result - assert result["style_a"] == (lib1 / "style_a.safetensors").resolve() - assert result["style_c"] == (lib1 / "subdir" / "style_c.safetensors").resolve() - assert result["style_valid"] == (lib1 / "transformer" / "style_valid.safetensors").resolve() - - -def test_discover_lora_files_multiple_paths_precedence(temp_lora_dirs): - """Test that earlier paths take precedence for duplicate names.""" - lib1, lib2 = temp_lora_dirs - - # lib1 should take precedence over lib2 - result = lora_library._discover_lora_files([lib1, lib2]) - - assert len(result) == 5 # style_a, style_b, style_c, style_valid, style_d - assert "style_a" in result - assert "style_b" in result - assert "style_c" in result - assert "style_valid" in result - assert "style_d" in result - assert "0" not in result # Digit-named files should still be excluded - assert "1" not in result - - # style_b should come from lib1 (first in list) - assert result["style_b"] == (lib1 / "style_b.safetensors").resolve() - assert result["style_d"] == (lib2 / "style_d.safetensors").resolve() - - -def test_discover_lora_files_nonexistent_path(): - """Test handling of nonexistent paths.""" - result = lora_library._discover_lora_files([Path("/nonexistent/path")]) - assert result == {} - - -def test_get_lora_path_existing_file(temp_lora_dirs): - """Test that existing file paths are returned as-is.""" - lib1, _ = temp_lora_dirs - existing_file = lib1 / "style_a.safetensors" - - result = lora_library.get_lora_path(str(existing_file)) - assert result == str(existing_file) - - -def test_get_lora_path_from_registry(temp_lora_dirs): - """Test resolving paths from the registry.""" - lib1, lib2 = temp_lora_dirs - - # Mock the registry - with mock.patch.object( - lora_library, - "_LORA_REGISTRY", - { - "style_a": lib1 / "style_a.safetensors", - "style_b": lib1 / "style_b.safetensors", - }, - ): - # Should resolve from registry - assert lora_library.get_lora_path("style_a") == str(lib1 / "style_a.safetensors") - assert lora_library.get_lora_path("style_b") == str(lib1 / "style_b.safetensors") - - # Should raise FileNotFoundError if not in registry - with pytest.raises(FileNotFoundError, match="LoRA file not found: 'unknown_style'"): - lora_library.get_lora_path("unknown_style") - - -def test_initialize_registry_from_env(temp_lora_dirs): - """Test that registry is initialized from LORA_LIBRARY_PATH env var.""" - lib1, lib2 = temp_lora_dirs - - # Set up environment variable with colon-delimited paths - env_path = f"{lib1}:{lib2}" - - with mock.patch.dict(os.environ, {"LORA_LIBRARY_PATH": env_path}): - # Re-initialize the registry - lora_library._initialize_registry() - registry = lora_library.get_registry() - - assert len(registry) == 5 # Includes style_valid from transformer/ - assert "style_a" in registry - assert "style_b" in registry - assert "style_c" in registry - assert "style_valid" in registry - assert "style_d" in registry - assert "0" not in registry # Digit files should be excluded - assert "1" not in registry - - # Check precedence - style_b should be from lib1 - assert registry["style_b"] == (lib1 / "style_b.safetensors").resolve() - - -def test_initialize_registry_empty_env(): - """Test that registry is empty when env var is not set.""" - # Save the original registry - original_registry = lora_library._LORA_REGISTRY.copy() - try: - with mock.patch.dict(os.environ, {}, clear=True): - lora_library._initialize_registry() - registry = lora_library.get_registry() - assert registry == {} - finally: - # Restore the original registry - lora_library._LORA_REGISTRY = original_registry - - -def test_get_registry_returns_copy(): - """Test that get_registry returns a copy, not the original.""" - with mock.patch.object(lora_library, "_LORA_REGISTRY", {"test": Path("/test")}): - registry1 = lora_library.get_registry() - registry2 = lora_library.get_registry() - - # Should be equal but different objects - assert registry1 == registry2 - assert registry1 is not registry2 - - # Modifying the copy shouldn't affect the original - registry1["new"] = Path("/new") - assert "new" not in lora_library._LORA_REGISTRY - - -def test_transformer_digit_filtering(temp_lora_dirs): - """Test that digit-named files in transformer directories are filtered out.""" - lib1, _ = temp_lora_dirs - - # Create additional test cases - (lib1 / "9.safetensors").touch() # Should be included (not in transformer/) - (lib1 / "other_dir").mkdir() - (lib1 / "other_dir" / "5.safetensors").touch() # Should be included (not in transformer/) - - result = lora_library._discover_lora_files([lib1]) - - # Digit files NOT in transformer/ should be included - assert "9" in result - assert "5" in result - - # Digit files in transformer/ should be excluded - assert "0" not in result - assert "1" not in result - - # Non-digit files in transformer/ should be included - assert "style_valid" in result diff --git a/tools/create_outpaint_image_canvas_and_mask.py b/tools/create_outpaint_image_canvas_and_mask.py index b04ffa9..b60a30a 100755 --- a/tools/create_outpaint_image_canvas_and_mask.py +++ b/tools/create_outpaint_image_canvas_and_mask.py @@ -1,8 +1,8 @@ import sys from pathlib import Path -from mflux.ui.box_values import AbsoluteBoxValues, BoxValues -from mflux.ui.cli.parsers import CommandLineParser +from mflux.cli.parser.parsers import CommandLineParser +from mflux.utils.box_values import AbsoluteBoxValues, BoxValues from mflux.utils.image_util import ImageUtil diff --git a/uv.lock b/uv.lock index bc704c2..b176b1f 100644 --- a/uv.lock +++ b/uv.lock @@ -51,8 +51,7 @@ dependencies = [ { name = "psutil" }, { name = "pyyaml" }, { name = "safetensors" }, - { name = "torch", version = "2.7.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.13'" }, - { name = "torch", version = "2.8.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.13'" }, + { name = "torch" }, ] sdist = { url = "https://files.pythonhosted.org/packages/f7/66/be171836d86dc5b8698b3a9bf4b9eb10cb53369729939f88bf650167588b/accelerate-1.10.0.tar.gz", hash = "sha256:8270568fda9036b5cccdc09703fef47872abccd56eb5f6d53b54ea5fb7581496", size = 392261 } wheels = [ @@ -769,7 +768,7 @@ wheels = [ [[package]] name = "mflux" -version = "0.12.1" +version = "0.13.0.dev0" source = { editable = "." } dependencies = [ { name = "accelerate" }, @@ -791,8 +790,7 @@ dependencies = [ { name = "sentencepiece", version = "0.2.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.13'" }, { name = "tokenizers", marker = "python_full_version >= '3.13'" }, { name = "toml" }, - { name = "torch", version = "2.7.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.13'" }, - { name = "torch", version = "2.8.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.13'" }, + { name = "torch" }, { name = "tqdm" }, { name = "transformers" }, { name = "twine" }, @@ -1095,371 +1093,114 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/48/6b/1c6b515a83d5564b1698a61efa245727c8feecf308f4091f565988519d20/numpy-2.3.1-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:e610832418a2bc09d974cc9fecebfa51e9532d6190223bc5ef6a7402ebf3b5cb", size = 12927246 }, ] -[[package]] -name = "nvidia-cublas-cu12" -version = "12.6.4.1" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform == 'darwin') or (python_full_version == '3.12.*' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform == 'darwin')", - "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform != 'darwin') or (python_full_version == '3.12.*' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'darwin' and sys_platform != 'linux')", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform == 'darwin') or (python_full_version == '3.11.*' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform == 'darwin')", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform != 'darwin') or (python_full_version == '3.11.*' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'darwin' and sys_platform != 'linux')", - "(python_full_version < '3.11' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform == 'darwin') or (python_full_version < '3.11' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform == 'darwin')", - "(python_full_version < '3.11' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform != 'darwin') or (python_full_version < '3.11' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -wheels = [ - { url = "https://files.pythonhosted.org/packages/af/eb/ff4b8c503fa1f1796679dce648854d58751982426e4e4b37d6fce49d259c/nvidia_cublas_cu12-12.6.4.1-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:08ed2686e9875d01b58e3cb379c6896df8e76c75e0d4a7f7dace3d7b6d9ef8eb", size = 393138322 }, - { url = "https://files.pythonhosted.org/packages/97/0d/f1f0cadbf69d5b9ef2e4f744c9466cb0a850741d08350736dfdb4aa89569/nvidia_cublas_cu12-12.6.4.1-py3-none-manylinux_2_27_aarch64.whl", hash = "sha256:235f728d6e2a409eddf1df58d5b0921cf80cfa9e72b9f2775ccb7b4a87984668", size = 390794615 }, -] - [[package]] name = "nvidia-cublas-cu12" version = "12.8.4.1" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "(python_full_version >= '3.13' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform == 'darwin') or (python_full_version >= '3.13' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform == 'darwin')", - "(python_full_version >= '3.13' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform != 'darwin') or (python_full_version >= '3.13' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'darwin' and sys_platform != 'linux')", -] wheels = [ { url = "https://files.pythonhosted.org/packages/29/99/db44d685f0e257ff0e213ade1964fc459b4a690a73293220e98feb3307cf/nvidia_cublas_cu12-12.8.4.1-py3-none-manylinux_2_27_aarch64.whl", hash = "sha256:b86f6dd8935884615a0683b663891d43781b819ac4f2ba2b0c9604676af346d0", size = 590537124 }, { url = "https://files.pythonhosted.org/packages/dc/61/e24b560ab2e2eaeb3c839129175fb330dfcfc29e5203196e5541a4c44682/nvidia_cublas_cu12-12.8.4.1-py3-none-manylinux_2_27_x86_64.whl", hash = "sha256:8ac4e771d5a348c551b2a426eda6193c19aa630236b418086020df5ba9667142", size = 594346921 }, ] -[[package]] -name = "nvidia-cuda-cupti-cu12" -version = "12.6.80" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform == 'darwin') or (python_full_version == '3.12.*' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform == 'darwin')", - "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform != 'darwin') or (python_full_version == '3.12.*' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'darwin' and sys_platform != 'linux')", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform == 'darwin') or (python_full_version == '3.11.*' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform == 'darwin')", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform != 'darwin') or (python_full_version == '3.11.*' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'darwin' and sys_platform != 'linux')", - "(python_full_version < '3.11' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform == 'darwin') or (python_full_version < '3.11' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform == 'darwin')", - "(python_full_version < '3.11' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform != 'darwin') or (python_full_version < '3.11' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -wheels = [ - { url = "https://files.pythonhosted.org/packages/e6/8b/2f6230cb715646c3a9425636e513227ce5c93c4d65823a734f4bb86d43c3/nvidia_cuda_cupti_cu12-12.6.80-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:166ee35a3ff1587f2490364f90eeeb8da06cd867bd5b701bf7f9a02b78bc63fc", size = 8236764 }, - { url = "https://files.pythonhosted.org/packages/25/0f/acb326ac8fd26e13c799e0b4f3b2751543e1834f04d62e729485872198d4/nvidia_cuda_cupti_cu12-12.6.80-py3-none-manylinux2014_aarch64.whl", hash = "sha256:358b4a1d35370353d52e12f0a7d1769fc01ff74a191689d3870b2123156184c4", size = 8236756 }, - { url = "https://files.pythonhosted.org/packages/49/60/7b6497946d74bcf1de852a21824d63baad12cd417db4195fc1bfe59db953/nvidia_cuda_cupti_cu12-12.6.80-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:6768bad6cab4f19e8292125e5f1ac8aa7d1718704012a0e3272a6f61c4bce132", size = 8917980 }, - { url = "https://files.pythonhosted.org/packages/a5/24/120ee57b218d9952c379d1e026c4479c9ece9997a4fb46303611ee48f038/nvidia_cuda_cupti_cu12-12.6.80-py3-none-manylinux2014_x86_64.whl", hash = "sha256:a3eff6cdfcc6a4c35db968a06fcadb061cbc7d6dde548609a941ff8701b98b73", size = 8917972 }, -] - [[package]] name = "nvidia-cuda-cupti-cu12" version = "12.8.90" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "(python_full_version >= '3.13' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform == 'darwin') or (python_full_version >= '3.13' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform == 'darwin')", - "(python_full_version >= '3.13' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform != 'darwin') or (python_full_version >= '3.13' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'darwin' and sys_platform != 'linux')", -] wheels = [ { url = "https://files.pythonhosted.org/packages/d5/1f/b3bd73445e5cb342727fd24fe1f7b748f690b460acadc27ea22f904502c8/nvidia_cuda_cupti_cu12-12.8.90-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:4412396548808ddfed3f17a467b104ba7751e6b58678a4b840675c56d21cf7ed", size = 9533318 }, { url = "https://files.pythonhosted.org/packages/f8/02/2adcaa145158bf1a8295d83591d22e4103dbfd821bcaf6f3f53151ca4ffa/nvidia_cuda_cupti_cu12-12.8.90-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:ea0cb07ebda26bb9b29ba82cda34849e73c166c18162d3913575b0c9db9a6182", size = 10248621 }, ] -[[package]] -name = "nvidia-cuda-nvrtc-cu12" -version = "12.6.77" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform == 'darwin') or (python_full_version == '3.12.*' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform == 'darwin')", - "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform != 'darwin') or (python_full_version == '3.12.*' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'darwin' and sys_platform != 'linux')", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform == 'darwin') or (python_full_version == '3.11.*' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform == 'darwin')", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform != 'darwin') or (python_full_version == '3.11.*' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'darwin' and sys_platform != 'linux')", - "(python_full_version < '3.11' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform == 'darwin') or (python_full_version < '3.11' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform == 'darwin')", - "(python_full_version < '3.11' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform != 'darwin') or (python_full_version < '3.11' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -wheels = [ - { url = "https://files.pythonhosted.org/packages/f4/2f/72df534873235983cc0a5371c3661bebef7c4682760c275590b972c7b0f9/nvidia_cuda_nvrtc_cu12-12.6.77-py3-none-manylinux2014_aarch64.whl", hash = "sha256:5847f1d6e5b757f1d2b3991a01082a44aad6f10ab3c5c0213fa3e25bddc25a13", size = 23162955 }, - { url = "https://files.pythonhosted.org/packages/75/2e/46030320b5a80661e88039f59060d1790298b4718944a65a7f2aeda3d9e9/nvidia_cuda_nvrtc_cu12-12.6.77-py3-none-manylinux2014_x86_64.whl", hash = "sha256:35b0cc6ee3a9636d5409133e79273ce1f3fd087abb0532d2d2e8fff1fe9efc53", size = 23650380 }, -] - [[package]] name = "nvidia-cuda-nvrtc-cu12" version = "12.8.93" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "(python_full_version >= '3.13' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform == 'darwin') or (python_full_version >= '3.13' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform == 'darwin')", - "(python_full_version >= '3.13' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform != 'darwin') or (python_full_version >= '3.13' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'darwin' and sys_platform != 'linux')", -] wheels = [ { url = "https://files.pythonhosted.org/packages/05/6b/32f747947df2da6994e999492ab306a903659555dddc0fbdeb9d71f75e52/nvidia_cuda_nvrtc_cu12-12.8.93-py3-none-manylinux2010_x86_64.manylinux_2_12_x86_64.whl", hash = "sha256:a7756528852ef889772a84c6cd89d41dfa74667e24cca16bb31f8f061e3e9994", size = 88040029 }, { url = "https://files.pythonhosted.org/packages/eb/d1/e50d0acaab360482034b84b6e27ee83c6738f7d32182b987f9c7a4e32962/nvidia_cuda_nvrtc_cu12-12.8.93-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:fc1fec1e1637854b4c0a65fb9a8346b51dd9ee69e61ebaccc82058441f15bce8", size = 43106076 }, ] -[[package]] -name = "nvidia-cuda-runtime-cu12" -version = "12.6.77" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform == 'darwin') or (python_full_version == '3.12.*' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform == 'darwin')", - "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform != 'darwin') or (python_full_version == '3.12.*' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'darwin' and sys_platform != 'linux')", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform == 'darwin') or (python_full_version == '3.11.*' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform == 'darwin')", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform != 'darwin') or (python_full_version == '3.11.*' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'darwin' and sys_platform != 'linux')", - "(python_full_version < '3.11' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform == 'darwin') or (python_full_version < '3.11' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform == 'darwin')", - "(python_full_version < '3.11' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform != 'darwin') or (python_full_version < '3.11' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -wheels = [ - { url = "https://files.pythonhosted.org/packages/8f/ea/590b2ac00d772a8abd1c387a92b46486d2679ca6622fd25c18ff76265663/nvidia_cuda_runtime_cu12-12.6.77-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:6116fad3e049e04791c0256a9778c16237837c08b27ed8c8401e2e45de8d60cd", size = 908052 }, - { url = "https://files.pythonhosted.org/packages/b7/3d/159023799677126e20c8fd580cca09eeb28d5c5a624adc7f793b9aa8bbfa/nvidia_cuda_runtime_cu12-12.6.77-py3-none-manylinux2014_aarch64.whl", hash = "sha256:d461264ecb429c84c8879a7153499ddc7b19b5f8d84c204307491989a365588e", size = 908040 }, - { url = "https://files.pythonhosted.org/packages/e1/23/e717c5ac26d26cf39a27fbc076240fad2e3b817e5889d671b67f4f9f49c5/nvidia_cuda_runtime_cu12-12.6.77-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:ba3b56a4f896141e25e19ab287cd71e52a6a0f4b29d0d31609f60e3b4d5219b7", size = 897690 }, - { url = "https://files.pythonhosted.org/packages/f0/62/65c05e161eeddbafeca24dc461f47de550d9fa8a7e04eb213e32b55cfd99/nvidia_cuda_runtime_cu12-12.6.77-py3-none-manylinux2014_x86_64.whl", hash = "sha256:a84d15d5e1da416dd4774cb42edf5e954a3e60cc945698dc1d5be02321c44dc8", size = 897678 }, -] - [[package]] name = "nvidia-cuda-runtime-cu12" version = "12.8.90" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "(python_full_version >= '3.13' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform == 'darwin') or (python_full_version >= '3.13' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform == 'darwin')", - "(python_full_version >= '3.13' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform != 'darwin') or (python_full_version >= '3.13' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'darwin' and sys_platform != 'linux')", -] wheels = [ { url = "https://files.pythonhosted.org/packages/7c/75/f865a3b236e4647605ea34cc450900854ba123834a5f1598e160b9530c3a/nvidia_cuda_runtime_cu12-12.8.90-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:52bf7bbee900262ffefe5e9d5a2a69a30d97e2bc5bb6cc866688caa976966e3d", size = 965265 }, { url = "https://files.pythonhosted.org/packages/0d/9b/a997b638fcd068ad6e4d53b8551a7d30fe8b404d6f1804abf1df69838932/nvidia_cuda_runtime_cu12-12.8.90-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:adade8dcbd0edf427b7204d480d6066d33902cab2a4707dcfc48a2d0fd44ab90", size = 954765 }, ] -[[package]] -name = "nvidia-cudnn-cu12" -version = "9.5.1.17" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform == 'darwin') or (python_full_version == '3.12.*' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform == 'darwin')", - "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform != 'darwin') or (python_full_version == '3.12.*' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'darwin' and sys_platform != 'linux')", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform == 'darwin') or (python_full_version == '3.11.*' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform == 'darwin')", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform != 'darwin') or (python_full_version == '3.11.*' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'darwin' and sys_platform != 'linux')", - "(python_full_version < '3.11' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform == 'darwin') or (python_full_version < '3.11' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform == 'darwin')", - "(python_full_version < '3.11' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform != 'darwin') or (python_full_version < '3.11' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -dependencies = [ - { name = "nvidia-cublas-cu12", version = "12.6.4.1", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.13' and platform_machine != 'aarch64' and platform_system != 'Darwin') or (python_full_version < '3.13' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'linux')" }, -] -wheels = [ - { url = "https://files.pythonhosted.org/packages/99/93/a201a12d3ec1caa8c6ac34c1c2f9eeb696b886f0c36ff23c638b46603bd0/nvidia_cudnn_cu12-9.5.1.17-py3-none-manylinux_2_28_aarch64.whl", hash = "sha256:9fd4584468533c61873e5fda8ca41bac3a38bcb2d12350830c69b0a96a7e4def", size = 570523509 }, - { url = "https://files.pythonhosted.org/packages/2a/78/4535c9c7f859a64781e43c969a3a7e84c54634e319a996d43ef32ce46f83/nvidia_cudnn_cu12-9.5.1.17-py3-none-manylinux_2_28_x86_64.whl", hash = "sha256:30ac3869f6db17d170e0e556dd6cc5eee02647abc31ca856634d5a40f82c15b2", size = 570988386 }, -] - [[package]] name = "nvidia-cudnn-cu12" version = "9.10.2.21" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "(python_full_version >= '3.13' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform == 'darwin') or (python_full_version >= '3.13' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform == 'darwin')", - "(python_full_version >= '3.13' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform != 'darwin') or (python_full_version >= '3.13' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'darwin' and sys_platform != 'linux')", -] dependencies = [ - { name = "nvidia-cublas-cu12", version = "12.8.4.1", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.13' and platform_machine != 'aarch64' and platform_system != 'Darwin') or (python_full_version >= '3.13' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'linux')" }, + { name = "nvidia-cublas-cu12", marker = "(platform_machine != 'aarch64' and platform_system != 'Darwin') or (platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'linux')" }, ] wheels = [ { url = "https://files.pythonhosted.org/packages/fa/41/e79269ce215c857c935fd86bcfe91a451a584dfc27f1e068f568b9ad1ab7/nvidia_cudnn_cu12-9.10.2.21-py3-none-manylinux_2_27_aarch64.whl", hash = "sha256:c9132cc3f8958447b4910a1720036d9eff5928cc3179b0a51fb6d167c6cc87d8", size = 705026878 }, { url = "https://files.pythonhosted.org/packages/ba/51/e123d997aa098c61d029f76663dedbfb9bc8dcf8c60cbd6adbe42f76d049/nvidia_cudnn_cu12-9.10.2.21-py3-none-manylinux_2_27_x86_64.whl", hash = "sha256:949452be657fa16687d0930933f032835951ef0892b37d2d53824d1a84dc97a8", size = 706758467 }, ] -[[package]] -name = "nvidia-cufft-cu12" -version = "11.3.0.4" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform == 'darwin') or (python_full_version == '3.12.*' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform == 'darwin')", - "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform != 'darwin') or (python_full_version == '3.12.*' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'darwin' and sys_platform != 'linux')", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform == 'darwin') or (python_full_version == '3.11.*' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform == 'darwin')", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform != 'darwin') or (python_full_version == '3.11.*' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'darwin' and sys_platform != 'linux')", - "(python_full_version < '3.11' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform == 'darwin') or (python_full_version < '3.11' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform == 'darwin')", - "(python_full_version < '3.11' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform != 'darwin') or (python_full_version < '3.11' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -dependencies = [ - { name = "nvidia-nvjitlink-cu12", version = "12.6.85", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.13' and platform_machine != 'aarch64' and platform_system != 'Darwin') or (python_full_version < '3.13' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'linux')" }, -] -wheels = [ - { url = "https://files.pythonhosted.org/packages/1f/37/c50d2b2f2c07e146776389e3080f4faf70bcc4fa6e19d65bb54ca174ebc3/nvidia_cufft_cu12-11.3.0.4-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d16079550df460376455cba121db6564089176d9bac9e4f360493ca4741b22a6", size = 200164144 }, - { url = "https://files.pythonhosted.org/packages/ce/f5/188566814b7339e893f8d210d3a5332352b1409815908dad6a363dcceac1/nvidia_cufft_cu12-11.3.0.4-py3-none-manylinux2014_aarch64.whl", hash = "sha256:8510990de9f96c803a051822618d42bf6cb8f069ff3f48d93a8486efdacb48fb", size = 200164135 }, - { url = "https://files.pythonhosted.org/packages/8f/16/73727675941ab8e6ffd86ca3a4b7b47065edcca7a997920b831f8147c99d/nvidia_cufft_cu12-11.3.0.4-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:ccba62eb9cef5559abd5e0d54ceed2d9934030f51163df018532142a8ec533e5", size = 200221632 }, - { url = "https://files.pythonhosted.org/packages/60/de/99ec247a07ea40c969d904fc14f3a356b3e2a704121675b75c366b694ee1/nvidia_cufft_cu12-11.3.0.4-py3-none-manylinux2014_x86_64.whl", hash = "sha256:768160ac89f6f7b459bee747e8d175dbf53619cfe74b2a5636264163138013ca", size = 200221622 }, -] - [[package]] name = "nvidia-cufft-cu12" version = "11.3.3.83" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "(python_full_version >= '3.13' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform == 'darwin') or (python_full_version >= '3.13' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform == 'darwin')", - "(python_full_version >= '3.13' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform != 'darwin') or (python_full_version >= '3.13' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'darwin' and sys_platform != 'linux')", -] dependencies = [ - { name = "nvidia-nvjitlink-cu12", version = "12.8.93", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.13' and platform_machine != 'aarch64' and platform_system != 'Darwin') or (python_full_version >= '3.13' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'linux')" }, + { name = "nvidia-nvjitlink-cu12", marker = "(platform_machine != 'aarch64' and platform_system != 'Darwin') or (platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'linux')" }, ] wheels = [ { url = "https://files.pythonhosted.org/packages/60/bc/7771846d3a0272026c416fbb7e5f4c1f146d6d80704534d0b187dd6f4800/nvidia_cufft_cu12-11.3.3.83-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:848ef7224d6305cdb2a4df928759dca7b1201874787083b6e7550dd6765ce69a", size = 193109211 }, { url = "https://files.pythonhosted.org/packages/1f/13/ee4e00f30e676b66ae65b4f08cb5bcbb8392c03f54f2d5413ea99a5d1c80/nvidia_cufft_cu12-11.3.3.83-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:4d2dd21ec0b88cf61b62e6b43564355e5222e4a3fb394cac0db101f2dd0d4f74", size = 193118695 }, ] -[[package]] -name = "nvidia-cufile-cu12" -version = "1.11.1.6" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform == 'darwin') or (python_full_version == '3.12.*' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform == 'darwin')", - "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform != 'darwin') or (python_full_version == '3.12.*' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'darwin' and sys_platform != 'linux')", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform == 'darwin') or (python_full_version == '3.11.*' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform == 'darwin')", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform != 'darwin') or (python_full_version == '3.11.*' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'darwin' and sys_platform != 'linux')", - "(python_full_version < '3.11' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform == 'darwin') or (python_full_version < '3.11' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform == 'darwin')", - "(python_full_version < '3.11' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform != 'darwin') or (python_full_version < '3.11' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -wheels = [ - { url = "https://files.pythonhosted.org/packages/b2/66/cc9876340ac68ae71b15c743ddb13f8b30d5244af344ec8322b449e35426/nvidia_cufile_cu12-1.11.1.6-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:cc23469d1c7e52ce6c1d55253273d32c565dd22068647f3aa59b3c6b005bf159", size = 1142103 }, - { url = "https://files.pythonhosted.org/packages/17/bf/cc834147263b929229ce4aadd62869f0b195e98569d4c28b23edc72b85d9/nvidia_cufile_cu12-1.11.1.6-py3-none-manylinux_2_27_aarch64.whl", hash = "sha256:8f57a0051dcf2543f6dc2b98a98cb2719c37d3cee1baba8965d57f3bbc90d4db", size = 1066155 }, -] - [[package]] name = "nvidia-cufile-cu12" version = "1.13.1.3" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "(python_full_version >= '3.13' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform == 'darwin') or (python_full_version >= '3.13' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform == 'darwin')", - "(python_full_version >= '3.13' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform != 'darwin') or (python_full_version >= '3.13' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'darwin' and sys_platform != 'linux')", -] wheels = [ { url = "https://files.pythonhosted.org/packages/bb/fe/1bcba1dfbfb8d01be8d93f07bfc502c93fa23afa6fd5ab3fc7c1df71038a/nvidia_cufile_cu12-1.13.1.3-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:1d069003be650e131b21c932ec3d8969c1715379251f8d23a1860554b1cb24fc", size = 1197834 }, { url = "https://files.pythonhosted.org/packages/1e/f5/5607710447a6fe9fd9b3283956fceeee8a06cda1d2f56ce31371f595db2a/nvidia_cufile_cu12-1.13.1.3-py3-none-manylinux_2_27_aarch64.whl", hash = "sha256:4beb6d4cce47c1a0f1013d72e02b0994730359e17801d395bdcbf20cfb3bb00a", size = 1120705 }, ] -[[package]] -name = "nvidia-curand-cu12" -version = "10.3.7.77" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform == 'darwin') or (python_full_version == '3.12.*' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform == 'darwin')", - "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform != 'darwin') or (python_full_version == '3.12.*' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'darwin' and sys_platform != 'linux')", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform == 'darwin') or (python_full_version == '3.11.*' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform == 'darwin')", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform != 'darwin') or (python_full_version == '3.11.*' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'darwin' and sys_platform != 'linux')", - "(python_full_version < '3.11' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform == 'darwin') or (python_full_version < '3.11' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform == 'darwin')", - "(python_full_version < '3.11' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform != 'darwin') or (python_full_version < '3.11' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -wheels = [ - { url = "https://files.pythonhosted.org/packages/42/ac/36543605358a355632f1a6faa3e2d5dfb91eab1e4bc7d552040e0383c335/nvidia_curand_cu12-10.3.7.77-py3-none-manylinux2014_aarch64.whl", hash = "sha256:6e82df077060ea28e37f48a3ec442a8f47690c7499bff392a5938614b56c98d8", size = 56289881 }, - { url = "https://files.pythonhosted.org/packages/73/1b/44a01c4e70933637c93e6e1a8063d1e998b50213a6b65ac5a9169c47e98e/nvidia_curand_cu12-10.3.7.77-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:a42cd1344297f70b9e39a1e4f467a4e1c10f1da54ff7a85c12197f6c652c8bdf", size = 56279010 }, - { url = "https://files.pythonhosted.org/packages/4a/aa/2c7ff0b5ee02eaef890c0ce7d4f74bc30901871c5e45dee1ae6d0083cd80/nvidia_curand_cu12-10.3.7.77-py3-none-manylinux2014_x86_64.whl", hash = "sha256:99f1a32f1ac2bd134897fc7a203f779303261268a65762a623bf30cc9fe79117", size = 56279000 }, - { url = "https://files.pythonhosted.org/packages/a6/02/5362a9396f23f7de1dd8a64369e87c85ffff8216fc8194ace0fa45ba27a5/nvidia_curand_cu12-10.3.7.77-py3-none-manylinux_2_27_aarch64.whl", hash = "sha256:7b2ed8e95595c3591d984ea3603dd66fe6ce6812b886d59049988a712ed06b6e", size = 56289882 }, -] - [[package]] name = "nvidia-curand-cu12" version = "10.3.9.90" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "(python_full_version >= '3.13' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform == 'darwin') or (python_full_version >= '3.13' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform == 'darwin')", - "(python_full_version >= '3.13' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform != 'darwin') or (python_full_version >= '3.13' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'darwin' and sys_platform != 'linux')", -] wheels = [ { url = "https://files.pythonhosted.org/packages/45/5e/92aa15eca622a388b80fbf8375d4760738df6285b1e92c43d37390a33a9a/nvidia_curand_cu12-10.3.9.90-py3-none-manylinux_2_27_aarch64.whl", hash = "sha256:dfab99248034673b779bc6decafdc3404a8a6f502462201f2f31f11354204acd", size = 63625754 }, { url = "https://files.pythonhosted.org/packages/fb/aa/6584b56dc84ebe9cf93226a5cde4d99080c8e90ab40f0c27bda7a0f29aa1/nvidia_curand_cu12-10.3.9.90-py3-none-manylinux_2_27_x86_64.whl", hash = "sha256:b32331d4f4df5d6eefa0554c565b626c7216f87a06a4f56fab27c3b68a830ec9", size = 63619976 }, ] -[[package]] -name = "nvidia-cusolver-cu12" -version = "11.7.1.2" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform == 'darwin') or (python_full_version == '3.12.*' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform == 'darwin')", - "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform != 'darwin') or (python_full_version == '3.12.*' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'darwin' and sys_platform != 'linux')", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform == 'darwin') or (python_full_version == '3.11.*' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform == 'darwin')", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform != 'darwin') or (python_full_version == '3.11.*' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'darwin' and sys_platform != 'linux')", - "(python_full_version < '3.11' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform == 'darwin') or (python_full_version < '3.11' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform == 'darwin')", - "(python_full_version < '3.11' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform != 'darwin') or (python_full_version < '3.11' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -dependencies = [ - { name = "nvidia-cublas-cu12", version = "12.6.4.1", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.13' and platform_machine != 'aarch64' and platform_system != 'Darwin') or (python_full_version < '3.13' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'linux')" }, - { name = "nvidia-cusparse-cu12", version = "12.5.4.2", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.13' and platform_machine != 'aarch64' and platform_system != 'Darwin') or (python_full_version < '3.13' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'linux')" }, - { name = "nvidia-nvjitlink-cu12", version = "12.6.85", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.13' and platform_machine != 'aarch64' and platform_system != 'Darwin') or (python_full_version < '3.13' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'linux')" }, -] -wheels = [ - { url = "https://files.pythonhosted.org/packages/93/17/dbe1aa865e4fdc7b6d4d0dd308fdd5aaab60f939abfc0ea1954eac4fb113/nvidia_cusolver_cu12-11.7.1.2-py3-none-manylinux2014_aarch64.whl", hash = "sha256:0ce237ef60acde1efc457335a2ddadfd7610b892d94efee7b776c64bb1cac9e0", size = 157833628 }, - { url = "https://files.pythonhosted.org/packages/f0/6e/c2cf12c9ff8b872e92b4a5740701e51ff17689c4d726fca91875b07f655d/nvidia_cusolver_cu12-11.7.1.2-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:e9e49843a7707e42022babb9bcfa33c29857a93b88020c4e4434656a655b698c", size = 158229790 }, - { url = "https://files.pythonhosted.org/packages/9f/81/baba53585da791d043c10084cf9553e074548408e04ae884cfe9193bd484/nvidia_cusolver_cu12-11.7.1.2-py3-none-manylinux2014_x86_64.whl", hash = "sha256:6cf28f17f64107a0c4d7802be5ff5537b2130bfc112f25d5a30df227058ca0e6", size = 158229780 }, - { url = "https://files.pythonhosted.org/packages/7c/5f/07d0ba3b7f19be5a5ec32a8679fc9384cfd9fc6c869825e93be9f28d6690/nvidia_cusolver_cu12-11.7.1.2-py3-none-manylinux_2_27_aarch64.whl", hash = "sha256:dbbe4fc38ec1289c7e5230e16248365e375c3673c9c8bac5796e2e20db07f56e", size = 157833630 }, -] - [[package]] name = "nvidia-cusolver-cu12" version = "11.7.3.90" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "(python_full_version >= '3.13' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform == 'darwin') or (python_full_version >= '3.13' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform == 'darwin')", - "(python_full_version >= '3.13' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform != 'darwin') or (python_full_version >= '3.13' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'darwin' and sys_platform != 'linux')", -] dependencies = [ - { name = "nvidia-cublas-cu12", version = "12.8.4.1", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.13' and platform_machine != 'aarch64' and platform_system != 'Darwin') or (python_full_version >= '3.13' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'linux')" }, - { name = "nvidia-cusparse-cu12", version = "12.5.8.93", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.13' and platform_machine != 'aarch64' and platform_system != 'Darwin') or (python_full_version >= '3.13' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'linux')" }, - { name = "nvidia-nvjitlink-cu12", version = "12.8.93", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.13' and platform_machine != 'aarch64' and platform_system != 'Darwin') or (python_full_version >= '3.13' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'linux')" }, + { name = "nvidia-cublas-cu12", marker = "(platform_machine != 'aarch64' and platform_system != 'Darwin') or (platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'linux')" }, + { name = "nvidia-cusparse-cu12", marker = "(platform_machine != 'aarch64' and platform_system != 'Darwin') or (platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'linux')" }, + { name = "nvidia-nvjitlink-cu12", marker = "(platform_machine != 'aarch64' and platform_system != 'Darwin') or (platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'linux')" }, ] wheels = [ { url = "https://files.pythonhosted.org/packages/c8/32/f7cd6ce8a7690544d084ea21c26e910a97e077c9b7f07bf5de623ee19981/nvidia_cusolver_cu12-11.7.3.90-py3-none-manylinux_2_27_aarch64.whl", hash = "sha256:db9ed69dbef9715071232caa9b69c52ac7de3a95773c2db65bdba85916e4e5c0", size = 267229841 }, { url = "https://files.pythonhosted.org/packages/85/48/9a13d2975803e8cf2777d5ed57b87a0b6ca2cc795f9a4f59796a910bfb80/nvidia_cusolver_cu12-11.7.3.90-py3-none-manylinux_2_27_x86_64.whl", hash = "sha256:4376c11ad263152bd50ea295c05370360776f8c3427b30991df774f9fb26c450", size = 267506905 }, ] -[[package]] -name = "nvidia-cusparse-cu12" -version = "12.5.4.2" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform == 'darwin') or (python_full_version == '3.12.*' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform == 'darwin')", - "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform != 'darwin') or (python_full_version == '3.12.*' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'darwin' and sys_platform != 'linux')", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform == 'darwin') or (python_full_version == '3.11.*' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform == 'darwin')", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform != 'darwin') or (python_full_version == '3.11.*' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'darwin' and sys_platform != 'linux')", - "(python_full_version < '3.11' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform == 'darwin') or (python_full_version < '3.11' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform == 'darwin')", - "(python_full_version < '3.11' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform != 'darwin') or (python_full_version < '3.11' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -dependencies = [ - { name = "nvidia-nvjitlink-cu12", version = "12.6.85", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.13' and platform_machine != 'aarch64' and platform_system != 'Darwin') or (python_full_version < '3.13' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'linux')" }, -] -wheels = [ - { url = "https://files.pythonhosted.org/packages/eb/eb/6681efd0aa7df96b4f8067b3ce7246833dd36830bb4cec8896182773db7d/nvidia_cusparse_cu12-12.5.4.2-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d25b62fb18751758fe3c93a4a08eff08effedfe4edf1c6bb5afd0890fe88f887", size = 216451147 }, - { url = "https://files.pythonhosted.org/packages/d3/56/3af21e43014eb40134dea004e8d0f1ef19d9596a39e4d497d5a7de01669f/nvidia_cusparse_cu12-12.5.4.2-py3-none-manylinux2014_aarch64.whl", hash = "sha256:7aa32fa5470cf754f72d1116c7cbc300b4e638d3ae5304cfa4a638a5b87161b1", size = 216451135 }, - { url = "https://files.pythonhosted.org/packages/06/1e/b8b7c2f4099a37b96af5c9bb158632ea9e5d9d27d7391d7eb8fc45236674/nvidia_cusparse_cu12-12.5.4.2-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:7556d9eca156e18184b94947ade0fba5bb47d69cec46bf8660fd2c71a4b48b73", size = 216561367 }, - { url = "https://files.pythonhosted.org/packages/43/ac/64c4316ba163e8217a99680c7605f779accffc6a4bcd0c778c12948d3707/nvidia_cusparse_cu12-12.5.4.2-py3-none-manylinux2014_x86_64.whl", hash = "sha256:23749a6571191a215cb74d1cdbff4a86e7b19f1200c071b3fcf844a5bea23a2f", size = 216561357 }, -] - [[package]] name = "nvidia-cusparse-cu12" version = "12.5.8.93" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "(python_full_version >= '3.13' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform == 'darwin') or (python_full_version >= '3.13' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform == 'darwin')", - "(python_full_version >= '3.13' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform != 'darwin') or (python_full_version >= '3.13' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'darwin' and sys_platform != 'linux')", -] dependencies = [ - { name = "nvidia-nvjitlink-cu12", version = "12.8.93", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.13' and platform_machine != 'aarch64' and platform_system != 'Darwin') or (python_full_version >= '3.13' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'linux')" }, + { name = "nvidia-nvjitlink-cu12", marker = "(platform_machine != 'aarch64' and platform_system != 'Darwin') or (platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'linux')" }, ] wheels = [ { url = "https://files.pythonhosted.org/packages/bc/f7/cd777c4109681367721b00a106f491e0d0d15cfa1fd59672ce580ce42a97/nvidia_cusparse_cu12-12.5.8.93-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:9b6c161cb130be1a07a27ea6923df8141f3c295852f4b260c65f18f3e0a091dc", size = 288117129 }, { url = "https://files.pythonhosted.org/packages/c2/f5/e1854cb2f2bcd4280c44736c93550cc300ff4b8c95ebe370d0aa7d2b473d/nvidia_cusparse_cu12-12.5.8.93-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:1ec05d76bbbd8b61b06a80e1eaf8cf4959c3d4ce8e711b65ebd0443bb0ebb13b", size = 288216466 }, ] -[[package]] -name = "nvidia-cusparselt-cu12" -version = "0.6.3" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform == 'darwin') or (python_full_version == '3.12.*' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform == 'darwin')", - "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform != 'darwin') or (python_full_version == '3.12.*' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'darwin' and sys_platform != 'linux')", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform == 'darwin') or (python_full_version == '3.11.*' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform == 'darwin')", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform != 'darwin') or (python_full_version == '3.11.*' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'darwin' and sys_platform != 'linux')", - "(python_full_version < '3.11' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform == 'darwin') or (python_full_version < '3.11' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform == 'darwin')", - "(python_full_version < '3.11' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform != 'darwin') or (python_full_version < '3.11' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -wheels = [ - { url = "https://files.pythonhosted.org/packages/62/da/4de092c61c6dea1fc9c936e69308a02531d122e12f1f649825934ad651b5/nvidia_cusparselt_cu12-0.6.3-py3-none-manylinux2014_aarch64.whl", hash = "sha256:8371549623ba601a06322af2133c4a44350575f5a3108fb75f3ef20b822ad5f1", size = 156402859 }, - { url = "https://files.pythonhosted.org/packages/3b/9a/72ef35b399b0e183bc2e8f6f558036922d453c4d8237dab26c666a04244b/nvidia_cusparselt_cu12-0.6.3-py3-none-manylinux2014_x86_64.whl", hash = "sha256:e5c8a26c36445dd2e6812f1177978a24e2d37cacce7e090f297a688d1ec44f46", size = 156785796 }, -] - [[package]] name = "nvidia-cusparselt-cu12" version = "0.7.1" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "(python_full_version >= '3.13' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform == 'darwin') or (python_full_version >= '3.13' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform == 'darwin')", - "(python_full_version >= '3.13' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform != 'darwin') or (python_full_version >= '3.13' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'darwin' and sys_platform != 'linux')", -] wheels = [ { url = "https://files.pythonhosted.org/packages/73/b9/598f6ff36faaece4b3c50d26f50e38661499ff34346f00e057760b35cc9d/nvidia_cusparselt_cu12-0.7.1-py3-none-manylinux2014_aarch64.whl", hash = "sha256:8878dce784d0fac90131b6817b607e803c36e629ba34dc5b433471382196b6a5", size = 283835557 }, { url = "https://files.pythonhosted.org/packages/56/79/12978b96bd44274fe38b5dde5cfb660b1d114f70a65ef962bcbbed99b549/nvidia_cusparselt_cu12-0.7.1-py3-none-manylinux2014_x86_64.whl", hash = "sha256:f1bb701d6b930d5a7cea44c19ceb973311500847f81b634d802b7b539dc55623", size = 287193691 }, @@ -1467,91 +1208,35 @@ wheels = [ [[package]] name = "nvidia-nccl-cu12" -version = "2.26.2" +version = "2.27.5" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform == 'darwin') or (python_full_version == '3.12.*' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform == 'darwin')", - "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform != 'darwin') or (python_full_version == '3.12.*' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'darwin' and sys_platform != 'linux')", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform == 'darwin') or (python_full_version == '3.11.*' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform == 'darwin')", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform != 'darwin') or (python_full_version == '3.11.*' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'darwin' and sys_platform != 'linux')", - "(python_full_version < '3.11' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform == 'darwin') or (python_full_version < '3.11' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform == 'darwin')", - "(python_full_version < '3.11' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform != 'darwin') or (python_full_version < '3.11' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'darwin' and sys_platform != 'linux')", -] wheels = [ - { url = "https://files.pythonhosted.org/packages/69/5b/ca2f213f637305633814ae8c36b153220e40a07ea001966dcd87391f3acb/nvidia_nccl_cu12-2.26.2-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:5c196e95e832ad30fbbb50381eb3cbd1fadd5675e587a548563993609af19522", size = 291671495 }, - { url = "https://files.pythonhosted.org/packages/67/ca/f42388aed0fddd64ade7493dbba36e1f534d4e6fdbdd355c6a90030ae028/nvidia_nccl_cu12-2.26.2-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:694cf3879a206553cc9d7dbda76b13efaf610fdb70a50cba303de1b0d1530ac6", size = 201319755 }, -] - -[[package]] -name = "nvidia-nccl-cu12" -version = "2.27.3" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "(python_full_version >= '3.13' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform == 'darwin') or (python_full_version >= '3.13' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform == 'darwin')", - "(python_full_version >= '3.13' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform != 'darwin') or (python_full_version >= '3.13' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -wheels = [ - { url = "https://files.pythonhosted.org/packages/4b/7b/8354b784cf73b0ba51e566b4baba3ddd44fe8288a3d39ef1e06cd5417226/nvidia_nccl_cu12-2.27.3-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:9ddf1a245abc36c550870f26d537a9b6087fb2e2e3d6e0ef03374c6fd19d984f", size = 322397768 }, - { url = "https://files.pythonhosted.org/packages/5c/5b/4e4fff7bad39adf89f735f2bc87248c81db71205b62bcc0d5ca5b606b3c3/nvidia_nccl_cu12-2.27.3-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:adf27ccf4238253e0b826bce3ff5fa532d65fc42322c8bfdfaf28024c0fbe039", size = 322364134 }, -] - -[[package]] -name = "nvidia-nvjitlink-cu12" -version = "12.6.85" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform == 'darwin') or (python_full_version == '3.12.*' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform == 'darwin')", - "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform != 'darwin') or (python_full_version == '3.12.*' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'darwin' and sys_platform != 'linux')", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform == 'darwin') or (python_full_version == '3.11.*' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform == 'darwin')", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform != 'darwin') or (python_full_version == '3.11.*' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'darwin' and sys_platform != 'linux')", - "(python_full_version < '3.11' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform == 'darwin') or (python_full_version < '3.11' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform == 'darwin')", - "(python_full_version < '3.11' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform != 'darwin') or (python_full_version < '3.11' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -wheels = [ - { url = "https://files.pythonhosted.org/packages/9d/d7/c5383e47c7e9bf1c99d5bd2a8c935af2b6d705ad831a7ec5c97db4d82f4f/nvidia_nvjitlink_cu12-12.6.85-py3-none-manylinux2010_x86_64.manylinux_2_12_x86_64.whl", hash = "sha256:eedc36df9e88b682efe4309aa16b5b4e78c2407eac59e8c10a6a47535164369a", size = 19744971 }, - { url = "https://files.pythonhosted.org/packages/31/db/dc71113d441f208cdfe7ae10d4983884e13f464a6252450693365e166dcf/nvidia_nvjitlink_cu12-12.6.85-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:cf4eaa7d4b6b543ffd69d6abfb11efdeb2db48270d94dfd3a452c24150829e41", size = 19270338 }, + { url = "https://files.pythonhosted.org/packages/bb/1c/857979db0ef194ca5e21478a0612bcdbbe59458d7694361882279947b349/nvidia_nccl_cu12-2.27.5-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:31432ad4d1fb1004eb0c56203dc9bc2178a1ba69d1d9e02d64a6938ab5e40e7a", size = 322400625 }, + { url = "https://files.pythonhosted.org/packages/6e/89/f7a07dc961b60645dbbf42e80f2bc85ade7feb9a491b11a1e973aa00071f/nvidia_nccl_cu12-2.27.5-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:ad730cf15cb5d25fe849c6e6ca9eb5b76db16a80f13f425ac68d8e2e55624457", size = 322348229 }, ] [[package]] name = "nvidia-nvjitlink-cu12" version = "12.8.93" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "(python_full_version >= '3.13' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform == 'darwin') or (python_full_version >= '3.13' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform == 'darwin')", - "(python_full_version >= '3.13' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform != 'darwin') or (python_full_version >= '3.13' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'darwin' and sys_platform != 'linux')", -] wheels = [ { url = "https://files.pythonhosted.org/packages/f6/74/86a07f1d0f42998ca31312f998bd3b9a7eff7f52378f4f270c8679c77fb9/nvidia_nvjitlink_cu12-12.8.93-py3-none-manylinux2010_x86_64.manylinux_2_12_x86_64.whl", hash = "sha256:81ff63371a7ebd6e6451970684f916be2eab07321b73c9d244dc2b4da7f73b88", size = 39254836 }, { url = "https://files.pythonhosted.org/packages/2a/a2/8cee5da30d13430e87bf99bb33455d2724d0a4a9cb5d7926d80ccb96d008/nvidia_nvjitlink_cu12-12.8.93-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:adccd7161ace7261e01bb91e44e88da350895c270d23f744f0820c818b7229e7", size = 38386204 }, ] [[package]] -name = "nvidia-nvtx-cu12" -version = "12.6.77" +name = "nvidia-nvshmem-cu12" +version = "3.3.20" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform == 'darwin') or (python_full_version == '3.12.*' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform == 'darwin')", - "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform != 'darwin') or (python_full_version == '3.12.*' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'darwin' and sys_platform != 'linux')", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform == 'darwin') or (python_full_version == '3.11.*' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform == 'darwin')", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform != 'darwin') or (python_full_version == '3.11.*' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'darwin' and sys_platform != 'linux')", - "(python_full_version < '3.11' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform == 'darwin') or (python_full_version < '3.11' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform == 'darwin')", - "(python_full_version < '3.11' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform != 'darwin') or (python_full_version < '3.11' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'darwin' and sys_platform != 'linux')", -] wheels = [ - { url = "https://files.pythonhosted.org/packages/b9/93/80f8a520375af9d7ee44571a6544653a176e53c2b8ccce85b97b83c2491b/nvidia_nvtx_cu12-12.6.77-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:f44f8d86bb7d5629988d61c8d3ae61dddb2015dee142740536bc7481b022fe4b", size = 90549 }, - { url = "https://files.pythonhosted.org/packages/2b/53/36e2fd6c7068997169b49ffc8c12d5af5e5ff209df6e1a2c4d373b3a638f/nvidia_nvtx_cu12-12.6.77-py3-none-manylinux2014_aarch64.whl", hash = "sha256:adcaabb9d436c9761fca2b13959a2d237c5f9fd406c8e4b723c695409ff88059", size = 90539 }, - { url = "https://files.pythonhosted.org/packages/56/9a/fff8376f8e3d084cd1530e1ef7b879bb7d6d265620c95c1b322725c694f4/nvidia_nvtx_cu12-12.6.77-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:b90bed3df379fa79afbd21be8e04a0314336b8ae16768b58f2d34cb1d04cd7d2", size = 89276 }, - { url = "https://files.pythonhosted.org/packages/9e/4e/0d0c945463719429b7bd21dece907ad0bde437a2ff12b9b12fee94722ab0/nvidia_nvtx_cu12-12.6.77-py3-none-manylinux2014_x86_64.whl", hash = "sha256:6574241a3ec5fdc9334353ab8c479fe75841dbe8f4532a8fc97ce63503330ba1", size = 89265 }, + { url = "https://files.pythonhosted.org/packages/92/9d/3dd98852568fb845ec1f7902c90a22b240fe1cbabda411ccedf2fd737b7b/nvidia_nvshmem_cu12-3.3.20-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:0b0b960da3842212758e4fa4696b94f129090b30e5122fea3c5345916545cff0", size = 124484616 }, + { url = "https://files.pythonhosted.org/packages/3b/6c/99acb2f9eb85c29fc6f3a7ac4dccfd992e22666dd08a642b303311326a97/nvidia_nvshmem_cu12-3.3.20-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:d00f26d3f9b2e3c3065be895e3059d6479ea5c638a3f38c9fec49b1b9dd7c1e5", size = 124657145 }, ] [[package]] name = "nvidia-nvtx-cu12" version = "12.8.90" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "(python_full_version >= '3.13' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform == 'darwin') or (python_full_version >= '3.13' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform == 'darwin')", - "(python_full_version >= '3.13' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform != 'darwin') or (python_full_version >= '3.13' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'darwin' and sys_platform != 'linux')", -] wheels = [ { url = "https://files.pythonhosted.org/packages/10/c0/1b303feea90d296f6176f32a2a70b5ef230f9bdeb3a72bddb0dc922dc137/nvidia_nvtx_cu12-12.8.90-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d7ad891da111ebafbf7e015d34879f7112832fc239ff0d7d776b6cb685274615", size = 91161 }, { url = "https://files.pythonhosted.org/packages/a2/eb/86626c1bbc2edb86323022371c39aa48df6fd8b0a1647bc274577f72e90b/nvidia_nvtx_cu12-12.8.90-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:5b17e2001cc0d751a5bc2c6ec6d26ad95913324a4adb86788c944f8ce9ba441f", size = 89954 }, @@ -2358,144 +2043,62 @@ wheels = [ [[package]] name = "torch" -version = "2.7.1" +version = "2.9.1" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version == '3.12.*' and platform_system == 'Darwin' and sys_platform == 'darwin'", - "python_full_version == '3.12.*' and platform_machine == 'aarch64' and platform_system == 'Linux' and sys_platform == 'darwin'", - "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform == 'darwin') or (python_full_version == '3.12.*' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform == 'darwin')", - "python_full_version == '3.12.*' and platform_machine == 'aarch64' and platform_system == 'Darwin' and sys_platform == 'linux'", - "python_full_version == '3.12.*' and platform_machine == 'aarch64' and platform_system == 'Linux' and sys_platform == 'linux'", - "python_full_version == '3.12.*' and platform_machine == 'aarch64' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform == 'linux'", - "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and platform_system == 'Darwin' and sys_platform != 'darwin') or (python_full_version == '3.12.*' and platform_system == 'Darwin' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.12.*' and platform_machine == 'aarch64' and platform_system == 'Linux' and sys_platform != 'darwin' and sys_platform != 'linux'", - "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform != 'darwin') or (python_full_version == '3.12.*' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.11.*' and platform_system == 'Darwin' and sys_platform == 'darwin'", - "python_full_version == '3.11.*' and platform_machine == 'aarch64' and platform_system == 'Linux' and sys_platform == 'darwin'", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform == 'darwin') or (python_full_version == '3.11.*' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform == 'darwin')", - "python_full_version == '3.11.*' and platform_machine == 'aarch64' and platform_system == 'Darwin' and sys_platform == 'linux'", - "python_full_version == '3.11.*' and platform_machine == 'aarch64' and platform_system == 'Linux' and sys_platform == 'linux'", - "python_full_version == '3.11.*' and platform_machine == 'aarch64' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform == 'linux'", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and platform_system == 'Darwin' and sys_platform != 'darwin') or (python_full_version == '3.11.*' and platform_system == 'Darwin' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.11.*' and platform_machine == 'aarch64' and platform_system == 'Linux' and sys_platform != 'darwin' and sys_platform != 'linux'", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform != 'darwin') or (python_full_version == '3.11.*' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version < '3.11' and platform_system == 'Darwin' and sys_platform == 'darwin'", - "python_full_version < '3.11' and platform_machine == 'aarch64' and platform_system == 'Linux' and sys_platform == 'darwin'", - "(python_full_version < '3.11' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform == 'darwin') or (python_full_version < '3.11' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform == 'darwin')", - "python_full_version < '3.11' and platform_machine == 'aarch64' and platform_system == 'Darwin' and sys_platform == 'linux'", - "python_full_version < '3.11' and platform_machine == 'aarch64' and platform_system == 'Linux' and sys_platform == 'linux'", - "python_full_version < '3.11' and platform_machine == 'aarch64' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform == 'linux'", - "(python_full_version < '3.11' and platform_machine != 'aarch64' and platform_system == 'Darwin' and sys_platform != 'darwin') or (python_full_version < '3.11' and platform_system == 'Darwin' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version < '3.11' and platform_machine == 'aarch64' and platform_system == 'Linux' and sys_platform != 'darwin' and sys_platform != 'linux'", - "(python_full_version < '3.11' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform != 'darwin') or (python_full_version < '3.11' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'darwin' and sys_platform != 'linux')", -] dependencies = [ - { name = "filelock", marker = "python_full_version < '3.13'" }, - { name = "fsspec", marker = "python_full_version < '3.13'" }, - { name = "jinja2", marker = "python_full_version < '3.13'" }, - { name = "networkx", marker = "python_full_version < '3.13'" }, - { name = "nvidia-cublas-cu12", version = "12.6.4.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.13' and platform_machine == 'x86_64' and platform_system == 'Linux'" }, - { name = "nvidia-cuda-cupti-cu12", version = "12.6.80", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.13' and platform_machine == 'x86_64' and platform_system == 'Linux'" }, - { name = "nvidia-cuda-nvrtc-cu12", version = "12.6.77", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.13' and platform_machine == 'x86_64' and platform_system == 'Linux'" }, - { name = "nvidia-cuda-runtime-cu12", version = "12.6.77", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.13' and platform_machine == 'x86_64' and platform_system == 'Linux'" }, - { name = "nvidia-cudnn-cu12", version = "9.5.1.17", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.13' and platform_machine == 'x86_64' and platform_system == 'Linux'" }, - { name = "nvidia-cufft-cu12", version = "11.3.0.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.13' and platform_machine == 'x86_64' and platform_system == 'Linux'" }, - { name = "nvidia-cufile-cu12", version = "1.11.1.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.13' and platform_machine == 'x86_64' and platform_system == 'Linux'" }, - { name = "nvidia-curand-cu12", version = "10.3.7.77", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.13' and platform_machine == 'x86_64' and platform_system == 'Linux'" }, - { name = "nvidia-cusolver-cu12", version = "11.7.1.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.13' and platform_machine == 'x86_64' and platform_system == 'Linux'" }, - { name = "nvidia-cusparse-cu12", version = "12.5.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.13' and platform_machine == 'x86_64' and platform_system == 'Linux'" }, - { name = "nvidia-cusparselt-cu12", version = "0.6.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.13' and platform_machine == 'x86_64' and platform_system == 'Linux'" }, - { name = "nvidia-nccl-cu12", version = "2.26.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.13' and platform_machine == 'x86_64' and platform_system == 'Linux'" }, - { name = "nvidia-nvjitlink-cu12", version = "12.6.85", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.13' and platform_machine == 'x86_64' and platform_system == 'Linux'" }, - { name = "nvidia-nvtx-cu12", version = "12.6.77", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.13' and platform_machine == 'x86_64' and platform_system == 'Linux'" }, - { name = "setuptools", marker = "python_full_version == '3.12.*'" }, - { name = "sympy", marker = "python_full_version < '3.13'" }, - { name = "triton", version = "3.3.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.13' and platform_machine == 'x86_64' and platform_system == 'Linux'" }, - { name = "typing-extensions", marker = "python_full_version < '3.13'" }, + { name = "filelock" }, + { name = "fsspec" }, + { name = "jinja2" }, + { name = "networkx" }, + { name = "nvidia-cublas-cu12", marker = "platform_machine == 'x86_64' and platform_system == 'Linux'" }, + { name = "nvidia-cuda-cupti-cu12", marker = "platform_machine == 'x86_64' and platform_system == 'Linux'" }, + { name = "nvidia-cuda-nvrtc-cu12", marker = "platform_machine == 'x86_64' and platform_system == 'Linux'" }, + { name = "nvidia-cuda-runtime-cu12", marker = "platform_machine == 'x86_64' and platform_system == 'Linux'" }, + { name = "nvidia-cudnn-cu12", marker = "platform_machine == 'x86_64' and platform_system == 'Linux'" }, + { name = "nvidia-cufft-cu12", marker = "platform_machine == 'x86_64' and platform_system == 'Linux'" }, + { name = "nvidia-cufile-cu12", marker = "platform_machine == 'x86_64' and platform_system == 'Linux'" }, + { name = "nvidia-curand-cu12", marker = "platform_machine == 'x86_64' and platform_system == 'Linux'" }, + { name = "nvidia-cusolver-cu12", marker = "platform_machine == 'x86_64' and platform_system == 'Linux'" }, + { name = "nvidia-cusparse-cu12", marker = "platform_machine == 'x86_64' and platform_system == 'Linux'" }, + { name = "nvidia-cusparselt-cu12", marker = "platform_machine == 'x86_64' and platform_system == 'Linux'" }, + { name = "nvidia-nccl-cu12", marker = "platform_machine == 'x86_64' and platform_system == 'Linux'" }, + { name = "nvidia-nvjitlink-cu12", marker = "platform_machine == 'x86_64' and platform_system == 'Linux'" }, + { name = "nvidia-nvshmem-cu12", marker = "platform_machine == 'x86_64' and platform_system == 'Linux'" }, + { name = "nvidia-nvtx-cu12", marker = "platform_machine == 'x86_64' and platform_system == 'Linux'" }, + { name = "setuptools", marker = "python_full_version >= '3.12'" }, + { name = "sympy" }, + { name = "triton", marker = "platform_machine == 'x86_64' and platform_system == 'Linux'" }, + { name = "typing-extensions" }, ] wheels = [ - { url = "https://files.pythonhosted.org/packages/6a/27/2e06cb52adf89fe6e020963529d17ed51532fc73c1e6d1b18420ef03338c/torch-2.7.1-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:a103b5d782af5bd119b81dbcc7ffc6fa09904c423ff8db397a1e6ea8fd71508f", size = 99089441 }, - { url = "https://files.pythonhosted.org/packages/0a/7c/0a5b3aee977596459ec45be2220370fde8e017f651fecc40522fd478cb1e/torch-2.7.1-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:fe955951bdf32d182ee8ead6c3186ad54781492bf03d547d31771a01b3d6fb7d", size = 821154516 }, - { url = "https://files.pythonhosted.org/packages/f9/91/3d709cfc5e15995fb3fe7a6b564ce42280d3a55676dad672205e94f34ac9/torch-2.7.1-cp310-cp310-win_amd64.whl", hash = "sha256:885453d6fba67d9991132143bf7fa06b79b24352f4506fd4d10b309f53454162", size = 216093147 }, - { url = "https://files.pythonhosted.org/packages/92/f6/5da3918414e07da9866ecb9330fe6ffdebe15cb9a4c5ada7d4b6e0a6654d/torch-2.7.1-cp310-none-macosx_11_0_arm64.whl", hash = "sha256:d72acfdb86cee2a32c0ce0101606f3758f0d8bb5f8f31e7920dc2809e963aa7c", size = 68630914 }, - { url = "https://files.pythonhosted.org/packages/11/56/2eae3494e3d375533034a8e8cf0ba163363e996d85f0629441fa9d9843fe/torch-2.7.1-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:236f501f2e383f1cb861337bdf057712182f910f10aeaf509065d54d339e49b2", size = 99093039 }, - { url = "https://files.pythonhosted.org/packages/e5/94/34b80bd172d0072c9979708ccd279c2da2f55c3ef318eceec276ab9544a4/torch-2.7.1-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:06eea61f859436622e78dd0cdd51dbc8f8c6d76917a9cf0555a333f9eac31ec1", size = 821174704 }, - { url = "https://files.pythonhosted.org/packages/50/9e/acf04ff375b0b49a45511c55d188bcea5c942da2aaf293096676110086d1/torch-2.7.1-cp311-cp311-win_amd64.whl", hash = "sha256:8273145a2e0a3c6f9fd2ac36762d6ee89c26d430e612b95a99885df083b04e52", size = 216095937 }, - { url = "https://files.pythonhosted.org/packages/5b/2b/d36d57c66ff031f93b4fa432e86802f84991477e522adcdffd314454326b/torch-2.7.1-cp311-none-macosx_11_0_arm64.whl", hash = "sha256:aea4fc1bf433d12843eb2c6b2204861f43d8364597697074c8d38ae2507f8730", size = 68640034 }, - { url = "https://files.pythonhosted.org/packages/87/93/fb505a5022a2e908d81fe9a5e0aa84c86c0d5f408173be71c6018836f34e/torch-2.7.1-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:27ea1e518df4c9de73af7e8a720770f3628e7f667280bce2be7a16292697e3fa", size = 98948276 }, - { url = "https://files.pythonhosted.org/packages/56/7e/67c3fe2b8c33f40af06326a3d6ae7776b3e3a01daa8f71d125d78594d874/torch-2.7.1-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:c33360cfc2edd976c2633b3b66c769bdcbbf0e0b6550606d188431c81e7dd1fc", size = 821025792 }, - { url = "https://files.pythonhosted.org/packages/a1/37/a37495502bc7a23bf34f89584fa5a78e25bae7b8da513bc1b8f97afb7009/torch-2.7.1-cp312-cp312-win_amd64.whl", hash = "sha256:d8bf6e1856ddd1807e79dc57e54d3335f2b62e6f316ed13ed3ecfe1fc1df3d8b", size = 216050349 }, - { url = "https://files.pythonhosted.org/packages/3a/60/04b77281c730bb13460628e518c52721257814ac6c298acd25757f6a175c/torch-2.7.1-cp312-none-macosx_11_0_arm64.whl", hash = "sha256:787687087412c4bd68d315e39bc1223f08aae1d16a9e9771d95eabbb04ae98fb", size = 68645146 }, - { url = "https://files.pythonhosted.org/packages/66/81/e48c9edb655ee8eb8c2a6026abdb6f8d2146abd1f150979ede807bb75dcb/torch-2.7.1-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:03563603d931e70722dce0e11999d53aa80a375a3d78e6b39b9f6805ea0a8d28", size = 98946649 }, - { url = "https://files.pythonhosted.org/packages/3a/24/efe2f520d75274fc06b695c616415a1e8a1021d87a13c68ff9dce733d088/torch-2.7.1-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:d632f5417b6980f61404a125b999ca6ebd0b8b4bbdbb5fbbba44374ab619a412", size = 821033192 }, - { url = "https://files.pythonhosted.org/packages/dd/d9/9c24d230333ff4e9b6807274f6f8d52a864210b52ec794c5def7925f4495/torch-2.7.1-cp313-cp313-win_amd64.whl", hash = "sha256:23660443e13995ee93e3d844786701ea4ca69f337027b05182f5ba053ce43b38", size = 216055668 }, - { url = "https://files.pythonhosted.org/packages/95/bf/e086ee36ddcef9299f6e708d3b6c8487c1651787bb9ee2939eb2a7f74911/torch-2.7.1-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:0da4f4dba9f65d0d203794e619fe7ca3247a55ffdcbd17ae8fb83c8b2dc9b585", size = 68925988 }, - { url = "https://files.pythonhosted.org/packages/69/6a/67090dcfe1cf9048448b31555af6efb149f7afa0a310a366adbdada32105/torch-2.7.1-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:e08d7e6f21a617fe38eeb46dd2213ded43f27c072e9165dc27300c9ef9570934", size = 99028857 }, - { url = "https://files.pythonhosted.org/packages/90/1c/48b988870823d1cc381f15ec4e70ed3d65e043f43f919329b0045ae83529/torch-2.7.1-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:30207f672328a42df4f2174b8f426f354b2baa0b7cca3a0adb3d6ab5daf00dc8", size = 821098066 }, - { url = "https://files.pythonhosted.org/packages/7b/eb/10050d61c9d5140c5dc04a89ed3257ef1a6b93e49dd91b95363d757071e0/torch-2.7.1-cp313-cp313t-win_amd64.whl", hash = "sha256:79042feca1c634aaf6603fe6feea8c6b30dfa140a6bbc0b973e2260c7e79a22e", size = 216336310 }, - { url = "https://files.pythonhosted.org/packages/b1/29/beb45cdf5c4fc3ebe282bf5eafc8dfd925ead7299b3c97491900fe5ed844/torch-2.7.1-cp313-none-macosx_11_0_arm64.whl", hash = "sha256:988b0cbc4333618a1056d2ebad9eb10089637b659eb645434d0809d8d937b946", size = 68645708 }, -] - -[[package]] -name = "torch" -version = "2.8.0" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.13' and platform_system == 'Darwin' and sys_platform == 'darwin'", - "python_full_version >= '3.13' and platform_machine == 'aarch64' and platform_system == 'Linux' and sys_platform == 'darwin'", - "(python_full_version >= '3.13' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform == 'darwin') or (python_full_version >= '3.13' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform == 'darwin')", - "python_full_version >= '3.13' and platform_machine == 'aarch64' and platform_system == 'Darwin' and sys_platform == 'linux'", - "python_full_version >= '3.13' and platform_machine == 'aarch64' and platform_system == 'Linux' and sys_platform == 'linux'", - "python_full_version >= '3.13' and platform_machine == 'aarch64' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform == 'linux'", - "(python_full_version >= '3.13' and platform_machine != 'aarch64' and platform_system == 'Darwin' and sys_platform != 'darwin') or (python_full_version >= '3.13' and platform_system == 'Darwin' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version >= '3.13' and platform_machine == 'aarch64' and platform_system == 'Linux' and sys_platform != 'darwin' and sys_platform != 'linux'", - "(python_full_version >= '3.13' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform != 'darwin') or (python_full_version >= '3.13' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -dependencies = [ - { name = "filelock", marker = "python_full_version >= '3.13'" }, - { name = "fsspec", marker = "python_full_version >= '3.13'" }, - { name = "jinja2", marker = "python_full_version >= '3.13'" }, - { name = "networkx", marker = "python_full_version >= '3.13'" }, - { name = "nvidia-cublas-cu12", version = "12.8.4.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.13' and platform_machine == 'x86_64' and platform_system == 'Linux'" }, - { name = "nvidia-cuda-cupti-cu12", version = "12.8.90", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.13' and platform_machine == 'x86_64' and platform_system == 'Linux'" }, - { name = "nvidia-cuda-nvrtc-cu12", version = "12.8.93", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.13' and platform_machine == 'x86_64' and platform_system == 'Linux'" }, - { name = "nvidia-cuda-runtime-cu12", version = "12.8.90", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.13' and platform_machine == 'x86_64' and platform_system == 'Linux'" }, - { name = "nvidia-cudnn-cu12", version = "9.10.2.21", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.13' and platform_machine == 'x86_64' and platform_system == 'Linux'" }, - { name = "nvidia-cufft-cu12", version = "11.3.3.83", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.13' and platform_machine == 'x86_64' and platform_system == 'Linux'" }, - { name = "nvidia-cufile-cu12", version = "1.13.1.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.13' and platform_machine == 'x86_64' and platform_system == 'Linux'" }, - { name = "nvidia-curand-cu12", version = "10.3.9.90", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.13' and platform_machine == 'x86_64' and platform_system == 'Linux'" }, - { name = "nvidia-cusolver-cu12", version = "11.7.3.90", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.13' and platform_machine == 'x86_64' and platform_system == 'Linux'" }, - { name = "nvidia-cusparse-cu12", version = "12.5.8.93", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.13' and platform_machine == 'x86_64' and platform_system == 'Linux'" }, - { name = "nvidia-cusparselt-cu12", version = "0.7.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.13' and platform_machine == 'x86_64' and platform_system == 'Linux'" }, - { name = "nvidia-nccl-cu12", version = "2.27.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.13' and platform_machine == 'x86_64' and platform_system == 'Linux'" }, - { name = "nvidia-nvjitlink-cu12", version = "12.8.93", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.13' and platform_machine == 'x86_64' and platform_system == 'Linux'" }, - { name = "nvidia-nvtx-cu12", version = "12.8.90", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.13' and platform_machine == 'x86_64' and platform_system == 'Linux'" }, - { name = "setuptools", marker = "python_full_version >= '3.13'" }, - { name = "sympy", marker = "python_full_version >= '3.13'" }, - { name = "triton", version = "3.4.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.13' and platform_machine == 'x86_64' and platform_system == 'Linux'" }, - { name = "typing-extensions", marker = "python_full_version >= '3.13'" }, -] -wheels = [ - { url = "https://files.pythonhosted.org/packages/63/28/110f7274254f1b8476c561dada127173f994afa2b1ffc044efb773c15650/torch-2.8.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:0be92c08b44009d4131d1ff7a8060d10bafdb7ddcb7359ef8d8c5169007ea905", size = 102052793 }, - { url = "https://files.pythonhosted.org/packages/70/1c/58da560016f81c339ae14ab16c98153d51c941544ae568da3cb5b1ceb572/torch-2.8.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:89aa9ee820bb39d4d72b794345cccef106b574508dd17dbec457949678c76011", size = 888025420 }, - { url = "https://files.pythonhosted.org/packages/70/87/f69752d0dd4ba8218c390f0438130c166fa264a33b7025adb5014b92192c/torch-2.8.0-cp310-cp310-win_amd64.whl", hash = "sha256:e8e5bf982e87e2b59d932769938b698858c64cc53753894be25629bdf5cf2f46", size = 241363614 }, - { url = "https://files.pythonhosted.org/packages/ef/d6/e6d4c57e61c2b2175d3aafbfb779926a2cfd7c32eeda7c543925dceec923/torch-2.8.0-cp310-none-macosx_11_0_arm64.whl", hash = "sha256:a3f16a58a9a800f589b26d47ee15aca3acf065546137fc2af039876135f4c760", size = 73611154 }, - { url = "https://files.pythonhosted.org/packages/8f/c4/3e7a3887eba14e815e614db70b3b529112d1513d9dae6f4d43e373360b7f/torch-2.8.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:220a06fd7af8b653c35d359dfe1aaf32f65aa85befa342629f716acb134b9710", size = 102073391 }, - { url = "https://files.pythonhosted.org/packages/5a/63/4fdc45a0304536e75a5e1b1bbfb1b56dd0e2743c48ee83ca729f7ce44162/torch-2.8.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:c12fa219f51a933d5f80eeb3a7a5d0cbe9168c0a14bbb4055f1979431660879b", size = 888063640 }, - { url = "https://files.pythonhosted.org/packages/84/57/2f64161769610cf6b1c5ed782bd8a780e18a3c9d48931319f2887fa9d0b1/torch-2.8.0-cp311-cp311-win_amd64.whl", hash = "sha256:8c7ef765e27551b2fbfc0f41bcf270e1292d9bf79f8e0724848b1682be6e80aa", size = 241366752 }, - { url = "https://files.pythonhosted.org/packages/a4/5e/05a5c46085d9b97e928f3f037081d3d2b87fb4b4195030fc099aaec5effc/torch-2.8.0-cp311-none-macosx_11_0_arm64.whl", hash = "sha256:5ae0524688fb6707c57a530c2325e13bb0090b745ba7b4a2cd6a3ce262572916", size = 73621174 }, - { url = "https://files.pythonhosted.org/packages/49/0c/2fd4df0d83a495bb5e54dca4474c4ec5f9c62db185421563deeb5dabf609/torch-2.8.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:e2fab4153768d433f8ed9279c8133a114a034a61e77a3a104dcdf54388838705", size = 101906089 }, - { url = "https://files.pythonhosted.org/packages/99/a8/6acf48d48838fb8fe480597d98a0668c2beb02ee4755cc136de92a0a956f/torch-2.8.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:b2aca0939fb7e4d842561febbd4ffda67a8e958ff725c1c27e244e85e982173c", size = 887913624 }, - { url = "https://files.pythonhosted.org/packages/af/8a/5c87f08e3abd825c7dfecef5a0f1d9aa5df5dd0e3fd1fa2f490a8e512402/torch-2.8.0-cp312-cp312-win_amd64.whl", hash = "sha256:2f4ac52f0130275d7517b03a33d2493bab3693c83dcfadf4f81688ea82147d2e", size = 241326087 }, - { url = "https://files.pythonhosted.org/packages/be/66/5c9a321b325aaecb92d4d1855421e3a055abd77903b7dab6575ca07796db/torch-2.8.0-cp312-none-macosx_11_0_arm64.whl", hash = "sha256:619c2869db3ada2c0105487ba21b5008defcc472d23f8b80ed91ac4a380283b0", size = 73630478 }, - { url = "https://files.pythonhosted.org/packages/10/4e/469ced5a0603245d6a19a556e9053300033f9c5baccf43a3d25ba73e189e/torch-2.8.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:2b2f96814e0345f5a5aed9bf9734efa913678ed19caf6dc2cddb7930672d6128", size = 101936856 }, - { url = "https://files.pythonhosted.org/packages/16/82/3948e54c01b2109238357c6f86242e6ecbf0c63a1af46906772902f82057/torch-2.8.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:65616ca8ec6f43245e1f5f296603e33923f4c30f93d65e103d9e50c25b35150b", size = 887922844 }, - { url = "https://files.pythonhosted.org/packages/e3/54/941ea0a860f2717d86a811adf0c2cd01b3983bdd460d0803053c4e0b8649/torch-2.8.0-cp313-cp313-win_amd64.whl", hash = "sha256:659df54119ae03e83a800addc125856effda88b016dfc54d9f65215c3975be16", size = 241330968 }, - { url = "https://files.pythonhosted.org/packages/de/69/8b7b13bba430f5e21d77708b616f767683629fc4f8037564a177d20f90ed/torch-2.8.0-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:1a62a1ec4b0498930e2543535cf70b1bef8c777713de7ceb84cd79115f553767", size = 73915128 }, - { url = "https://files.pythonhosted.org/packages/15/0e/8a800e093b7f7430dbaefa80075aee9158ec22e4c4fc3c1a66e4fb96cb4f/torch-2.8.0-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:83c13411a26fac3d101fe8035a6b0476ae606deb8688e904e796a3534c197def", size = 102020139 }, - { url = "https://files.pythonhosted.org/packages/4a/15/5e488ca0bc6162c86a33b58642bc577c84ded17c7b72d97e49b5833e2d73/torch-2.8.0-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:8f0a9d617a66509ded240add3754e462430a6c1fc5589f86c17b433dd808f97a", size = 887990692 }, - { url = "https://files.pythonhosted.org/packages/b4/a8/6a04e4b54472fc5dba7ca2341ab219e529f3c07b6941059fbf18dccac31f/torch-2.8.0-cp313-cp313t-win_amd64.whl", hash = "sha256:a7242b86f42be98ac674b88a4988643b9bc6145437ec8f048fea23f72feb5eca", size = 241603453 }, - { url = "https://files.pythonhosted.org/packages/04/6e/650bb7f28f771af0cb791b02348db8b7f5f64f40f6829ee82aa6ce99aabe/torch-2.8.0-cp313-none-macosx_11_0_arm64.whl", hash = "sha256:7b677e17f5a3e69fdef7eb3b9da72622f8d322692930297e4ccb52fefc6c8211", size = 73632395 }, + { url = "https://files.pythonhosted.org/packages/5f/56/9577683b23072075ed2e40d725c52c2019d71a972fab8e083763da8e707e/torch-2.9.1-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:1cc208435f6c379f9b8fdfd5ceb5be1e3b72a6bdf1cb46c0d2812aa73472db9e", size = 104207681 }, + { url = "https://files.pythonhosted.org/packages/38/45/be5a74f221df8f4b609b78ff79dc789b0cc9017624544ac4dd1c03973150/torch-2.9.1-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:9fd35c68b3679378c11f5eb73220fdcb4e6f4592295277fbb657d31fd053237c", size = 899794036 }, + { url = "https://files.pythonhosted.org/packages/67/95/a581e8a382596b69385a44bab2733f1273d45c842f5d4a504c0edc3133b6/torch-2.9.1-cp310-cp310-win_amd64.whl", hash = "sha256:2af70e3be4a13becba4655d6cc07dcfec7ae844db6ac38d6c1dafeb245d17d65", size = 110969861 }, + { url = "https://files.pythonhosted.org/packages/ad/51/1756dc128d2bf6ea4e0a915cb89ea5e730315ff33d60c1ff56fd626ba3eb/torch-2.9.1-cp310-none-macosx_11_0_arm64.whl", hash = "sha256:a83b0e84cc375e3318a808d032510dde99d696a85fe9473fc8575612b63ae951", size = 74452222 }, + { url = "https://files.pythonhosted.org/packages/15/db/c064112ac0089af3d2f7a2b5bfbabf4aa407a78b74f87889e524b91c5402/torch-2.9.1-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:62b3fd888277946918cba4478cf849303da5359f0fb4e3bfb86b0533ba2eaf8d", size = 104220430 }, + { url = "https://files.pythonhosted.org/packages/56/be/76eaa36c9cd032d3b01b001e2c5a05943df75f26211f68fae79e62f87734/torch-2.9.1-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:d033ff0ac3f5400df862a51bdde9bad83561f3739ea0046e68f5401ebfa67c1b", size = 899821446 }, + { url = "https://files.pythonhosted.org/packages/47/cc/7a2949e38dfe3244c4df21f0e1c27bce8aedd6c604a587dd44fc21017cb4/torch-2.9.1-cp311-cp311-win_amd64.whl", hash = "sha256:0d06b30a9207b7c3516a9e0102114024755a07045f0c1d2f2a56b1819ac06bcb", size = 110973074 }, + { url = "https://files.pythonhosted.org/packages/1e/ce/7d251155a783fb2c1bb6837b2b7023c622a2070a0a72726ca1df47e7ea34/torch-2.9.1-cp311-none-macosx_11_0_arm64.whl", hash = "sha256:52347912d868653e1528b47cafaf79b285b98be3f4f35d5955389b1b95224475", size = 74463887 }, + { url = "https://files.pythonhosted.org/packages/0f/27/07c645c7673e73e53ded71705045d6cb5bae94c4b021b03aa8d03eee90ab/torch-2.9.1-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:da5f6f4d7f4940a173e5572791af238cb0b9e21b1aab592bd8b26da4c99f1cd6", size = 104126592 }, + { url = "https://files.pythonhosted.org/packages/19/17/e377a460603132b00760511299fceba4102bd95db1a0ee788da21298ccff/torch-2.9.1-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:27331cd902fb4322252657f3902adf1c4f6acad9dcad81d8df3ae14c7c4f07c4", size = 899742281 }, + { url = "https://files.pythonhosted.org/packages/b1/1a/64f5769025db846a82567fa5b7d21dba4558a7234ee631712ee4771c436c/torch-2.9.1-cp312-cp312-win_amd64.whl", hash = "sha256:81a285002d7b8cfd3fdf1b98aa8df138d41f1a8334fd9ea37511517cedf43083", size = 110940568 }, + { url = "https://files.pythonhosted.org/packages/6e/ab/07739fd776618e5882661d04c43f5b5586323e2f6a2d7d84aac20d8f20bd/torch-2.9.1-cp312-none-macosx_11_0_arm64.whl", hash = "sha256:c0d25d1d8e531b8343bea0ed811d5d528958f1dcbd37e7245bc686273177ad7e", size = 74479191 }, + { url = "https://files.pythonhosted.org/packages/20/60/8fc5e828d050bddfab469b3fe78e5ab9a7e53dda9c3bdc6a43d17ce99e63/torch-2.9.1-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:c29455d2b910b98738131990394da3e50eea8291dfeb4b12de71ecf1fdeb21cb", size = 104135743 }, + { url = "https://files.pythonhosted.org/packages/f2/b7/6d3f80e6918213babddb2a37b46dbb14c15b14c5f473e347869a51f40e1f/torch-2.9.1-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:524de44cd13931208ba2c4bde9ec7741fd4ae6bfd06409a604fc32f6520c2bc9", size = 899749493 }, + { url = "https://files.pythonhosted.org/packages/a6/47/c7843d69d6de8938c1cbb1eba426b1d48ddf375f101473d3e31a5fc52b74/torch-2.9.1-cp313-cp313-win_amd64.whl", hash = "sha256:545844cc16b3f91e08ce3b40e9c2d77012dd33a48d505aed34b7740ed627a1b2", size = 110944162 }, + { url = "https://files.pythonhosted.org/packages/28/0e/2a37247957e72c12151b33a01e4df651d9d155dd74d8cfcbfad15a79b44a/torch-2.9.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:5be4bf7496f1e3ffb1dd44b672adb1ac3f081f204c5ca81eba6442f5f634df8e", size = 74830751 }, + { url = "https://files.pythonhosted.org/packages/4b/f7/7a18745edcd7b9ca2381aa03353647bca8aace91683c4975f19ac233809d/torch-2.9.1-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:30a3e170a84894f3652434b56d59a64a2c11366b0ed5776fab33c2439396bf9a", size = 104142929 }, + { url = "https://files.pythonhosted.org/packages/f4/dd/f1c0d879f2863ef209e18823a988dc7a1bf40470750e3ebe927efdb9407f/torch-2.9.1-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:8301a7b431e51764629208d0edaa4f9e4c33e6df0f2f90b90e261d623df6a4e2", size = 899748978 }, + { url = "https://files.pythonhosted.org/packages/1f/9f/6986b83a53b4d043e36f3f898b798ab51f7f20fdf1a9b01a2720f445043d/torch-2.9.1-cp313-cp313t-win_amd64.whl", hash = "sha256:2e1c42c0ae92bf803a4b2409fdfed85e30f9027a66887f5e7dcdbc014c7531db", size = 111176995 }, + { url = "https://files.pythonhosted.org/packages/40/60/71c698b466dd01e65d0e9514b5405faae200c52a76901baf6906856f17e4/torch-2.9.1-cp313-none-macosx_11_0_arm64.whl", hash = "sha256:2c14b3da5df416cf9cb5efab83aa3056f5b8cd8620b8fde81b4987ecab730587", size = 74480347 }, + { url = "https://files.pythonhosted.org/packages/48/50/c4b5112546d0d13cc9eaa1c732b823d676a9f49ae8b6f97772f795874a03/torch-2.9.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:1edee27a7c9897f4e0b7c14cfc2f3008c571921134522d5b9b5ec4ebbc69041a", size = 74433245 }, + { url = "https://files.pythonhosted.org/packages/81/c9/2628f408f0518b3bae49c95f5af3728b6ab498c8624ab1e03a43dd53d650/torch-2.9.1-cp314-cp314-manylinux_2_28_aarch64.whl", hash = "sha256:19d144d6b3e29921f1fc70503e9f2fc572cde6a5115c0c0de2f7ca8b1483e8b6", size = 104134804 }, + { url = "https://files.pythonhosted.org/packages/28/fc/5bc91d6d831ae41bf6e9e6da6468f25330522e92347c9156eb3f1cb95956/torch-2.9.1-cp314-cp314-manylinux_2_28_x86_64.whl", hash = "sha256:c432d04376f6d9767a9852ea0def7b47a7bbc8e7af3b16ac9cf9ce02b12851c9", size = 899747132 }, + { url = "https://files.pythonhosted.org/packages/63/5d/e8d4e009e52b6b2cf1684bde2a6be157b96fb873732542fb2a9a99e85a83/torch-2.9.1-cp314-cp314-win_amd64.whl", hash = "sha256:d187566a2cdc726fc80138c3cdb260970fab1c27e99f85452721f7759bbd554d", size = 110934845 }, + { url = "https://files.pythonhosted.org/packages/bd/b2/2d15a52516b2ea3f414643b8de68fa4cb220d3877ac8b1028c83dc8ca1c4/torch-2.9.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:cb10896a1f7fedaddbccc2017ce6ca9ecaaf990f0973bdfcf405439750118d2c", size = 74823558 }, + { url = "https://files.pythonhosted.org/packages/86/5c/5b2e5d84f5b9850cd1e71af07524d8cbb74cba19379800f1f9f7c997fc70/torch-2.9.1-cp314-cp314t-manylinux_2_28_aarch64.whl", hash = "sha256:0a2bd769944991c74acf0c4ef23603b9c777fdf7637f115605a4b2d8023110c7", size = 104145788 }, + { url = "https://files.pythonhosted.org/packages/a9/8c/3da60787bcf70add986c4ad485993026ac0ca74f2fc21410bc4eb1bb7695/torch-2.9.1-cp314-cp314t-manylinux_2_28_x86_64.whl", hash = "sha256:07c8a9660bc9414c39cac530ac83b1fb1b679d7155824144a40a54f4a47bfa73", size = 899735500 }, + { url = "https://files.pythonhosted.org/packages/db/2b/f7818f6ec88758dfd21da46b6cd46af9d1b3433e53ddbb19ad1e0da17f9b/torch-2.9.1-cp314-cp314t-win_amd64.whl", hash = "sha256:c88d3299ddeb2b35dcc31753305612db485ab6f1823e37fb29451c8b2732b87e", size = 111163659 }, ] [[package]] @@ -2512,7 +2115,7 @@ wheels = [ [[package]] name = "transformers" -version = "4.57.1" +version = "4.57.3" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "filelock" }, @@ -2527,51 +2130,30 @@ dependencies = [ { name = "tokenizers" }, { name = "tqdm" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/d6/68/a39307bcc4116a30b2106f2e689130a48de8bd8a1e635b5e1030e46fcd9e/transformers-4.57.1.tar.gz", hash = "sha256:f06c837959196c75039809636cd964b959f6604b75b8eeec6fdfc0440b89cc55", size = 10142511 } +sdist = { url = "https://files.pythonhosted.org/packages/dd/70/d42a739e8dfde3d92bb2fff5819cbf331fe9657323221e79415cd5eb65ee/transformers-4.57.3.tar.gz", hash = "sha256:df4945029aaddd7c09eec5cad851f30662f8bd1746721b34cc031d70c65afebc", size = 10139680 } wheels = [ - { url = "https://files.pythonhosted.org/packages/71/d3/c16c3b3cf7655a67db1144da94b021c200ac1303f82428f2beef6c2e72bb/transformers-4.57.1-py3-none-any.whl", hash = "sha256:b10d05da8fa67dc41644dbbf9bc45a44cb86ae33da6f9295f5fbf5b7890bd267", size = 11990925 }, + { url = "https://files.pythonhosted.org/packages/6a/6b/2f416568b3c4c91c96e5a365d164f8a4a4a88030aa8ab4644181fdadce97/transformers-4.57.3-py3-none-any.whl", hash = "sha256:c77d353a4851b1880191603d36acb313411d3577f6e2897814f333841f7003f4", size = 11993463 }, ] [[package]] name = "triton" -version = "3.3.1" +version = "3.5.1" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform == 'darwin') or (python_full_version == '3.12.*' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform == 'darwin')", - "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform != 'darwin') or (python_full_version == '3.12.*' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'darwin' and sys_platform != 'linux')", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform == 'darwin') or (python_full_version == '3.11.*' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform == 'darwin')", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform != 'darwin') or (python_full_version == '3.11.*' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'darwin' and sys_platform != 'linux')", - "(python_full_version < '3.11' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform == 'darwin') or (python_full_version < '3.11' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform == 'darwin')", - "(python_full_version < '3.11' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform != 'darwin') or (python_full_version < '3.11' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -dependencies = [ - { name = "setuptools", marker = "(python_full_version < '3.13' and platform_machine != 'aarch64' and platform_system != 'Darwin') or (python_full_version < '3.13' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'linux')" }, -] wheels = [ - { url = "https://files.pythonhosted.org/packages/8d/a9/549e51e9b1b2c9b854fd761a1d23df0ba2fbc60bd0c13b489ffa518cfcb7/triton-3.3.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b74db445b1c562844d3cfad6e9679c72e93fdfb1a90a24052b03bb5c49d1242e", size = 155600257 }, - { url = "https://files.pythonhosted.org/packages/21/2f/3e56ea7b58f80ff68899b1dbe810ff257c9d177d288c6b0f55bf2fe4eb50/triton-3.3.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b31e3aa26f8cb3cc5bf4e187bf737cbacf17311e1112b781d4a059353dfd731b", size = 155689937 }, - { url = "https://files.pythonhosted.org/packages/24/5f/950fb373bf9c01ad4eb5a8cd5eaf32cdf9e238c02f9293557a2129b9c4ac/triton-3.3.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9999e83aba21e1a78c1f36f21bce621b77bcaa530277a50484a7cb4a822f6e43", size = 155669138 }, - { url = "https://files.pythonhosted.org/packages/74/1f/dfb531f90a2d367d914adfee771babbd3f1a5b26c3f5fbc458dee21daa78/triton-3.3.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b89d846b5a4198317fec27a5d3a609ea96b6d557ff44b56c23176546023c4240", size = 155673035 }, - { url = "https://files.pythonhosted.org/packages/28/71/bd20ffcb7a64c753dc2463489a61bf69d531f308e390ad06390268c4ea04/triton-3.3.1-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a3198adb9d78b77818a5388bff89fa72ff36f9da0bc689db2f0a651a67ce6a42", size = 155735832 }, -] - -[[package]] -name = "triton" -version = "3.4.0" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "(python_full_version >= '3.13' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform == 'darwin') or (python_full_version >= '3.13' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform == 'darwin')", - "(python_full_version >= '3.13' and platform_machine != 'aarch64' and platform_system != 'Darwin' and sys_platform != 'darwin') or (python_full_version >= '3.13' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -dependencies = [ - { name = "setuptools", marker = "(python_full_version >= '3.13' and platform_machine != 'aarch64' and platform_system != 'Darwin') or (python_full_version >= '3.13' and platform_system != 'Darwin' and platform_system != 'Linux' and sys_platform != 'linux')" }, -] -wheels = [ - { url = "https://files.pythonhosted.org/packages/62/ee/0ee5f64a87eeda19bbad9bc54ae5ca5b98186ed00055281fd40fb4beb10e/triton-3.4.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7ff2785de9bc02f500e085420273bb5cc9c9bb767584a4aa28d6e360cec70128", size = 155430069 }, - { url = "https://files.pythonhosted.org/packages/7d/39/43325b3b651d50187e591eefa22e236b2981afcebaefd4f2fc0ea99df191/triton-3.4.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7b70f5e6a41e52e48cfc087436c8a28c17ff98db369447bcaff3b887a3ab4467", size = 155531138 }, - { url = "https://files.pythonhosted.org/packages/d0/66/b1eb52839f563623d185f0927eb3530ee4d5ffe9d377cdaf5346b306689e/triton-3.4.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:31c1d84a5c0ec2c0f8e8a072d7fd150cab84a9c239eaddc6706c081bfae4eb04", size = 155560068 }, - { url = "https://files.pythonhosted.org/packages/30/7b/0a685684ed5322d2af0bddefed7906674f67974aa88b0fae6e82e3b766f6/triton-3.4.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:00be2964616f4c619193cb0d1b29a99bd4b001d7dc333816073f92cf2a8ccdeb", size = 155569223 }, - { url = "https://files.pythonhosted.org/packages/20/63/8cb444ad5cdb25d999b7d647abac25af0ee37d292afc009940c05b82dda0/triton-3.4.0-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7936b18a3499ed62059414d7df563e6c163c5e16c3773678a3ee3d417865035d", size = 155659780 }, + { url = "https://files.pythonhosted.org/packages/d9/2e/f95e673222afa2c7f0c687d8913e98fcf2589ef0b1405de76894e37fe18f/triton-3.5.1-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f63e34dcb32d7bd3a1d0195f60f30d2aee8b08a69a0424189b71017e23dfc3d2", size = 159821655 }, + { url = "https://files.pythonhosted.org/packages/fd/6e/676ab5019b4dde8b9b7bab71245102fc02778ef3df48218b298686b9ffd6/triton-3.5.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5fc53d849f879911ea13f4a877243afc513187bc7ee92d1f2c0f1ba3169e3c94", size = 170320692 }, + { url = "https://files.pythonhosted.org/packages/dc/dc/6ce44d055f2fc2403c4ec6b3cfd3a9b25f57b7d95efadccdea91497f8e81/triton-3.5.1-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:da47169e30a779bade679ce78df4810fca6d78a955843d2ddb11f226adc517dc", size = 159928005 }, + { url = "https://files.pythonhosted.org/packages/b0/72/ec90c3519eaf168f22cb1757ad412f3a2add4782ad3a92861c9ad135d886/triton-3.5.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:61413522a48add32302353fdbaaf92daaaab06f6b5e3229940d21b5207f47579", size = 170425802 }, + { url = "https://files.pythonhosted.org/packages/db/53/2bcc46879910991f09c063eea07627baef2bc62fe725302ba8f46a2c1ae5/triton-3.5.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:275a045b6ed670dd1bd005c3e6c2d61846c74c66f4512d6f33cc027b11de8fd4", size = 159940689 }, + { url = "https://files.pythonhosted.org/packages/f2/50/9a8358d3ef58162c0a415d173cfb45b67de60176e1024f71fbc4d24c0b6d/triton-3.5.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d2c6b915a03888ab931a9fd3e55ba36785e1fe70cbea0b40c6ef93b20fc85232", size = 170470207 }, + { url = "https://files.pythonhosted.org/packages/f1/ba/805684a992ee32d486b7948d36aed2f5e3c643fc63883bf8bdca1c3f3980/triton-3.5.1-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:56765ffe12c554cd560698398b8a268db1f616c120007bfd8829d27139abd24a", size = 159955460 }, + { url = "https://files.pythonhosted.org/packages/27/46/8c3bbb5b0a19313f50edcaa363b599e5a1a5ac9683ead82b9b80fe497c8d/triton-3.5.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f3f4346b6ebbd4fad18773f5ba839114f4826037c9f2f34e0148894cd5dd3dba", size = 170470410 }, + { url = "https://files.pythonhosted.org/packages/84/1e/7df59baef41931e21159371c481c31a517ff4c2517343b62503d0cd2be99/triton-3.5.1-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:02c770856f5e407d24d28ddc66e33cf026e6f4d360dcb8b2fabe6ea1fc758621", size = 160072799 }, + { url = "https://files.pythonhosted.org/packages/37/92/e97fcc6b2c27cdb87ce5ee063d77f8f26f19f06916aa680464c8104ef0f6/triton-3.5.1-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0b4d2c70127fca6a23e247f9348b8adde979d2e7a20391bfbabaac6aebc7e6a8", size = 170579924 }, + { url = "https://files.pythonhosted.org/packages/14/f9/0430e879c1e63a1016cb843261528fd3187c872c3a9539132efc39514753/triton-3.5.1-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f617aa7925f9ea9968ec2e1adaf93e87864ff51549c8f04ce658f29bbdb71e2d", size = 159956163 }, + { url = "https://files.pythonhosted.org/packages/a4/e6/c595c35e5c50c4bc56a7bac96493dad321e9e29b953b526bbbe20f9911d0/triton-3.5.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d0637b1efb1db599a8e9dc960d53ab6e4637db7d4ab6630a0974705d77b14b60", size = 170480488 }, + { url = "https://files.pythonhosted.org/packages/41/1e/63d367c576c75919e268e4fbc33c1cb33b6dc12bb85e8bfe531c2a8bd5d3/triton-3.5.1-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8932391d7f93698dfe5bc9bead77c47a24f97329e9f20c10786bb230a9083f56", size = 160073620 }, + { url = "https://files.pythonhosted.org/packages/16/b5/b0d3d8b901b6a04ca38df5e24c27e53afb15b93624d7fd7d658c7cd9352a/triton-3.5.1-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bac7f7d959ad0f48c0e97d6643a1cc0fd5786fe61cb1f83b537c6b2d54776478", size = 170582192 }, ] [[package]]

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�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%0D`5kD}JNfO>sb-2LFkGg|&#u6NkKKMZTh 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