《Born》第14章:模型序列化、检查点与版本管理
训练好的模型需要保存。Born 提供了三种保存格式,各有适用场景。
---
三种格式
| 格式 | 扩展名 | 用途 | 特点 |
|---|---|---|---|
| Born 原生 | .born | 生产部署 | 紧凑、加载快、版本兼容 |
| SafeTensors | .safetensors | 与 HuggingFace 互操作 | 安全、防注入 |
| GGUF | .gguf | LLM 模型 | llama.cpp 标准格式 |
保存与加载
// 保存
nn.Save(model, "mnist_model.born", "MNISTClassifier", metadata)
// 加载
meta, err := nn.Load("mnist_model.born", backend, &model)
---
检查点(Checkpoint)
// 保存训练状态(模型 + 优化器 + epoch)
nn.SaveCheckpoint(model, optimizer, "checkpoint_epoch_10.born", epoch, step, loss)
// 恢复训练
epoch, step, loss, err := nn.LoadCheckpoint("checkpoint_epoch_10.born", backend, &model, &optimizer)
---
版本兼容性
Born 的序列化格式包含版本信息:
[BORN][version:2][model_name][metadata_json][tensor_count][tensors...]
加载时自动检测版本,旧版本格式会触发升级路径。
---
📘 《Born》连载技术书,第 14/22 章。
💬 讨论回复 (0)
推荐
🌟 智谱 GLM-5 已上线
我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。
🎁 领取 2000万 Tokens