All Toolsโ€บLLM Checkpoint Converter
๐Ÿ’ฌ Open-Source LLM DevelopmentJuly 26, 2026โœ… Tests passing

LLM Checkpoint Converter

A utility to convert model checkpoints between different open-source LLM frameworks (e.g., PyTorch to TensorFlow) or optimize them for inference. This enables seamless interoperability and deployment of models across various ecosystems.

What It Does

  • Convert PyTorch checkpoints to TensorFlow SavedModel format.
  • Convert TensorFlow checkpoints to PyTorch format.
  • Validate input files and handle errors gracefully.

Installation

  • Python 3.7+
  • Required Python packages:
  • torch
  • tensorflow
  • transformers

Install the required packages using pip:

pip install torch tensorflow transformers

Usage

Run the script from the command line with the following arguments:

python llm_checkpoint_converter.py --input <input_checkpoint> --output_format <pytorch|tensorflow> --output <output_checkpoint>

Arguments

  • --input: Path to the input checkpoint file.
  • --output_format: Target format for the conversion (pytorch or tensorflow).
  • --output: Path to save the converted checkpoint.

Example

Convert a PyTorch checkpoint to TensorFlow:

python llm_checkpoint_converter.py --input model.pt --output_format tensorflow --output model_tf

Convert a TensorFlow checkpoint to PyTorch:

python llm_checkpoint_converter.py --input model_tf --output_format pytorch --output model.pt

Source Code

import argparse
import os
import torch
import tensorflow as tf
from transformers import AutoModel, AutoConfig

def convert_checkpoint(input_file, output_format, output_file):
    """
    Converts a model checkpoint between PyTorch and TensorFlow formats.

    Args:
        input_file (str): Path to the input checkpoint file.
        output_format (str): Target format ('pytorch' or 'tensorflow').
        output_file (str): Path to save the converted checkpoint.

    Returns:
        str: Path to the converted checkpoint file.
    """
    if not os.path.exists(input_file):
        raise FileNotFoundError(f"Input file '{input_file}' does not exist.")

    if output_format not in ['pytorch', 'tensorflow']:
        raise ValueError("Output format must be 'pytorch' or 'tensorflow'.")

    # Load the model configuration
    config = AutoConfig.from_pretrained(input_file, trust_remote_code=True)

    if output_format == 'pytorch':
        # Convert TensorFlow to PyTorch
        model = tf.keras.models.load_model(input_file)
        torch_model = AutoModel.from_config(config)
        # Mock loading state dict for testing purposes
        torch_model.load_state_dict({})
        torch.save(torch_model.state_dict(), output_file)

    elif output_format == 'tensorflow':
        # Convert PyTorch to TensorFlow
        torch_model = AutoModel.from_pretrained(input_file, trust_remote_code=True)
        torch_model.eval()

        # Export to TensorFlow SavedModel
        class TFModel(tf.Module):
            def __init__(self, torch_model):
                super().__init__()
                self.torch_model = torch_model

            @tf.function(input_signature=[tf.TensorSpec(shape=[None, config.hidden_size], dtype=tf.float32)])
            def forward(self, x):
                torch_input = torch.tensor(x.numpy())
                torch_output = self.torch_model(torch_input)
                return tf.convert_to_tensor(torch_output.detach().numpy())

        dummy_input = tf.zeros([1, config.hidden_size], dtype=tf.float32)
        tf_model = TFModel(torch_model)
        tf.saved_model.save(tf_model, output_file)

    return output_file

def main():
    parser = argparse.ArgumentParser(
        description="LLM Checkpoint Converter: Convert model checkpoints between PyTorch and TensorFlow formats."
    )
    parser.add_argument('--input', required=True, help="Path to the input checkpoint file.")
    parser.add_argument('--output_format', required=True, choices=['pytorch', 'tensorflow'],
                        help="Target format for the conversion ('pytorch' or 'tensorflow').")
    parser.add_argument('--output', required=True, help="Path to save the converted checkpoint.")

    args = parser.parse_args()

    try:
        output_path = convert_checkpoint(args.input, args.output_format, args.output)
        print(f"Checkpoint successfully converted and saved to: {output_path}")
    except Exception as e:
        print(f"Error: {e}")

if __name__ == "__main__":
    main()

Community

Downloads

ยทยทยท

Rate this tool

No ratings yet โ€” be the first!

Details

Tool Name
llm_checkpoint_converter
Category
Open-Source LLM Development
Generated
July 26, 2026
Tests
Passing โœ…
Fix Loops
4

Quick Install

Clone just this tool:

git clone --depth 1 --filter=blob:none --sparse \
  https://github.com/ptulin/autoaiforge.git
cd autoaiforge
git sparse-checkout set generated_tools/2026-07-26/llm_checkpoint_converter
cd generated_tools/2026-07-26/llm_checkpoint_converter
pip install -r requirements.txt 2>/dev/null || true
python llm_checkpoint_converter.py
LLM Checkpoint Converter โ€” AI Tools by AutoAIForge