ENHANCE AI

ENHANCE AI

The ultimate platform for creating and interacting with digital images using AI. Transform your imagination into stunning reality.

Features
AI Art GeneratorVideo AI StudioImage UpscalerBackground RemoverFace GeneratorImage ReferenceImage EditingStyles & FiltersVector AIMusic GeneratorText to SpeechChat AI
Resources
  • About
  • FAQ
  • Blogs
  • Contact Us
Policies
  • Privacy Policy
  • Terms & Conditions
  • Refund Policy
  • Shipping Policy
Privacy PolicyTerms & ConditionsRefund PolicyShipping Policy

© 2026 Enhance AI™. All Rights Reserved.

How to Merge a Flux LoRA into a Checkpoint Easily
Blog
TutorialGuide

How to Merge a Flux LoRA into a Checkpoint Easily

P

Pranav

|September 12, 2024·5 min read·11505

Learn how to merge a Flux LoRA into a checkpoint with Python and safetensors, choose the right merge ratio, and improve image generation results.

How to Merge Flux LoRA into a Checkpoint: A Step-by-Step Tutorial

Merging a Flux LoRA model into a base checkpoint is a great way to enhance the capabilities of your pre-trained models. Whether you’re working with AI models like Stable Diffusion or any custom-trained model, using LoRA allows you to introduce fine-tuned control over the features and style of your model. In this tutorial, I'll walk you through how to merge a Flux LoRA model into your checkpoint using a Python script.

Prerequisites

Before we start, make sure you have the following installed on your system:

  • Python 3.6+

  • Git (for version control, if needed)

  • Necessary Python libraries, which you can install using:

    bash
    pip install torch safetensors tqdm

File Setup

Here’s how you should organize your files:

  1. LoRA Model: Download and place your Flux LoRA model in a folder called lora_models.
  2. Base Checkpoint Model: Place your pre-trained base model in a folder called checkpoints/input.

You should also create an output folder to store your merged models, called checkpoints/output.


Folder Structure

Make sure your project structure looks like this:

/lora_models                  # Folder for your LoRA model
/checkpoints/input            # Base checkpoint model
/checkpoints/output           # Merged model output

The Python Script: LoRA to Checkpoint Merger

Below is the Python script you’ll use to merge your Flux LoRA model into the base checkpoint. This script has been designed for flexibility — you can either fully blend the models or mix them using different weights.

python
import os import torch from tqdm import tqdm from safetensors.torch import load_file, save_file # Main entry point def merge_lora_with_checkpoint(config): print(f"\nStarting the merge process with configuration: {config}") # Load LoRA and checkpoint lora_dir = "lora_models" checkpoint_dir = "checkpoints/input" output_dir = "checkpoints/output" lora_path = os.path.join(lora_dir, config['lora_file']) checkpoint_path = os.path.join(checkpoint_dir, config['checkpoint_file']) # Ensure output directory exists os.makedirs(output_dir, exist_ok=True) lora_data = load_file(lora_path) checkpoint_data = load_file(checkpoint_path) # Merge based on the selected strategy if config['merge_type'] == 'blend': merged_model = full_merge(lora_data, checkpoint_data, config['merge_ratio']) else: merged_model = selective_merge(lora_data, checkpoint_data, config['merge_weights']) save_merged_model(merged_model, output_dir, config['lora_file'], config['checkpoint_file'], config['merge_ratio']) print("Merge completed successfully!") # Full model merging with a specific ratio def full_merge(lora_data, checkpoint_data, ratio): merged = {} total_layers = set(checkpoint_data.keys()).union(lora_data.keys()) for layer in tqdm(total_layers, desc="Merging Layers", unit="layer"): if layer in checkpoint_data and layer in lora_data: merged[layer] = checkpoint_data[layer] + (ratio * lora_data[layer]) elif layer in checkpoint_data: merged[layer] = checkpoint_data[layer] else: merged[layer] = ratio * lora_data[layer] return merged # Selective merge with different ratios per layer def selective_merge(lora_data, checkpoint_data, merge_weights): merged = {} total_layers = set(checkpoint_data.keys()).union(lora_data.keys()) for layer in tqdm(total_layers, desc="Selective Merging", unit="layer"): if layer in merge_weights: ratio = merge_weights[layer] merged[layer] = checkpoint_data.get(layer, 0) + (ratio * lora_data.get(layer, 0)) else: merged[layer] = checkpoint_data.get(layer, lora_data.get(layer)) return merged # Save the merged model to disk def save_merged_model(merged_data, output_dir, lora_file, checkpoint_file, ratio): lora_name = os.path.splitext(lora_file)[0] checkpoint_name = os.path.splitext(checkpoint_file)[0] output_file = f"{checkpoint_name}_merged_with_{lora_name}_r{int(ratio * 100)}.safetensors" output_path = os.path.join(output_dir, output_file) save_file(merged_data, output_path) print(f"Model saved as: {output_file}")

Running the Script

Once you have set up your files, simply run the Python script:

bash
python main.py

You will be prompted for the following input:

  • LoRA Model File: Enter the name of your LoRA model (e.g., flux_lora.safetensors).
  • Checkpoint Model File: Enter the name of your base checkpoint (e.g., base_checkpoint.safetensors).
  • Merge Type: Choose between blend (to fully merge the models with a given ratio) or selective (to apply different weights for different layers).
  • Merge Ratio: If blending, specify how much influence the LoRA model should have (e.g., 0.3 for 30%).

Testing the Merged Model

After the merge process, the merged model will be saved in the checkpoints/output folder. You can load this merged checkpoint into your favorite AI application, like Stable Diffusion, to start generating images.


FAQ: Common Questions About Merging LoRA and Checkpoints

Q1: What is a LoRA model?
A: LoRA (Low-Rank Adaptation) models are used to fine-tune large pre-trained models efficiently. They adapt the weights of specific layers without retraining the entire model.

Q2: What happens if the sizes of the layers in my LoRA and checkpoint models don't match?
A: The script handles this by padding the smaller tensor so that both tensors match in size before merging. This ensures compatibility between different models.

Q3: Can I merge multiple LoRA models into one checkpoint?
A: Yes! You can run the script multiple times, each time merging a new LoRA model into the previously merged checkpoint.

Q4: What’s the ideal merge ratio?
A: This depends on your use case. If you want the LoRA model to have a significant influence, try a merge ratio of around 30-40%. For subtler effects, 10-20% may be sufficient.

Q5: Is there a limit to how many LoRA models I can merge?
A: There is no strict limit, but merging too many models could lead to unintended behavior or loss of clarity in your model’s outputs.


Support EnhanceAI.art

If you found this guide helpful, consider visiting https://enhanceai.art/pricing, where you can explore more about AI, image generation, and custom AI models. We are committed to helping developers and creators unlock their creative potential using AI.

Feel free to leave a comment, suggestion, or reach out if you have any questions or run into issues!

TutorialGuide
P

Written by Pranav

Explore more articles on AI powered creativity, tools, and tutorials.

More Posts

Related Articles

Ready to Create with AI?

Transform your ideas into stunning visuals with Enhance AI. Image generation, video creation, upscaling, and more.

Get Started Free