diff --git a/CHANGELOG.md b/CHANGELOG.md index 0089906..96540fa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Added + +- **`nn.SaveTo`/`nn.LoadFrom`** — streaming Save/Load over `io.Writer`/`io.ReadSeeker` for HTTP responses, network connections, and in-memory buffers without touching disk. `nn.SaveToBytes` added as in-memory convenience. `LoadFromBytes` refactored as thin wrapper over `LoadFrom`. Serializer writer inverted onto `io.Writer`; `WriteTo` deduplication (~90 lines removed). Statement coverage 69.6% → 81.8% ([#133](https://github.com/born-ml/born/pull/133) by [@amery](https://github.com/amery)) + ## [0.9.17] - 2026-07-12 ### Added diff --git a/README.md b/README.md index ac4300d..44879ec 100644 --- a/README.md +++ b/README.md @@ -86,7 +86,7 @@ prediction := model.Predict(image) - **GGUF Import** - llama.cpp format with K-quant dequantization (Q4_K, Q5_K, Q6_K, Q8_0) - **LLaMA** - `models/llama.LoadGGUF()` for end-to-end LLaMA inference; verified on TinyLlama 1.1B Q8_0 and Q4_K_M - **Injectable Attention** - swap attention implementation at model load time for research experiments -- **Native Format** - `.born` format with `nn.Save()` / `nn.Load()` / `nn.LoadFromBytes()` (`go:embed` support) +- **Native Format** - `.born` format with `nn.Save()` / `nn.Load()` / `nn.SaveTo()` / `nn.LoadFrom()` (file, stream, or `[]byte`) - **Checkpoints** - Resume training with optimizer state preservation - **SafeTensors** - HuggingFace compatible export - **Reproducibility** - `nn.SetSeed()` for deterministic weight initialization