Wolfvin's picture
AAM Diffusion LLM v1.0 — The Body of Aphantasic Abstraction Model
2d7e335 verified
#!/usr/bin/env python3
"""
AAM Diffusion LLM — Export Script
Export a trained model for deployment.
Usage:
python scripts/export.py --checkpoint output/best.pt --output model_export/
"""
from __future__ import annotations
import argparse
import logging
import sys
from pathlib import Path
sys.path.insert(0, str(Path(__file__).parent.parent))
from diffusion_llm.config.model_config import AamDiffusionConfig
from diffusion_llm.model.aam_diffusion_model import AamDiffusionModel
from diffusion_llm.tokenizer.aam_tokenizer import AamTokenizer
logging.basicConfig(level=logging.INFO, format="%(asctime)s [%(levelname)s] %(name)s: %(message)s")
logger = logging.getLogger(__name__)
def main() -> None:
parser = argparse.ArgumentParser(description="Export AAM Diffusion Model")
parser.add_argument("--checkpoint", type=str, required=True)
parser.add_argument("--output", type=str, default="./model_export")
parser.add_argument("--format", type=str, default="pt", choices=["pt", "onnx"])
args = parser.parse_args()
output_dir = Path(args.output)
output_dir.mkdir(parents=True, exist_ok=True)
# Load model
model = AamDiffusionModel.load(args.checkpoint)
model.eval()
# Save model
model_path = output_dir / "model.pt"
model.save(str(model_path))
logger.info("Model exported to %s", model_path)
# Save config
config_path = output_dir / "config.json"
model.config.to_json(config_path)
logger.info("Config saved to %s", config_path)
# Try to copy tokenizer
checkpoint_dir = Path(args.checkpoint).parent
tokenizer_path = checkpoint_dir / "data" / "tokenizer.json"
if tokenizer_path.exists():
import shutil
shutil.copy(tokenizer_path, output_dir / "tokenizer.json")
logger.info("Tokenizer copied to %s", output_dir / "tokenizer.json")
# Summary
print(f"\nExport complete!")
print(f" Model: {model_path}")
print(f" Config: {config_path}")
print(f" Parameters: {model._format_params(model.get_num_params())}")
print(f"\n This is AAM's own body — 1 mind + 1 body.")
print(f" Mind = RSVS Knowledge Graph")
print(f" Body = This Diffusion Model ({model.config.model_name})")
if __name__ == "__main__":
main()