HelioAI's picture
LFM3-1.7B inference modules: experimental release
67ebcef verified
Raw History Blame Contribute Delete
872 Bytes
"""Weight extrapolation (ExPO): theta = theta_inst + alpha * (theta_inst - theta_base)."""
import os, shutil, sys, torch
from safetensors.torch import load_file, save_file
alpha, out = float(sys.argv[1]), sys.argv[2]
inst = load_file("models/LFM3-1.7B/model.safetensors")
base = load_file("models/LFM3-1.7B-Base/model.safetensors")
new = {}
for k, v in inst.items():
b = base.get(k)
new[k] = v if b is None or b.shape != v.shape else (v.float() + alpha * (v.float() - b.float())).to(v.dtype)
os.makedirs(out, exist_ok=True)
save_file(new, os.path.join(out, "model.safetensors"), metadata={"format": "pt"})
for f in os.listdir("models/LFM3-1.7B"):
if f != "model.safetensors" and os.path.isfile(os.path.join("models/LFM3-1.7B", f)):
shutil.copy(os.path.join("models/LFM3-1.7B", f), out)
print("missing in base:", [k for k in inst if k not in base][:5])