Skip to content

Releases: ZantFoundation/Z-Ant

Zant v1.0.0

30 Aug 19:48

Choose a tag to compare

[v1.0.0] - 2025-08-30

Added

  • One-click deployment and test shell scripts (./create MyModel ) for reproducible pipelines.
  • ONNX preprocessing stage feeding Zant IR (layout normalization, graph cleanup, graph optimization).
  • Graph-split testing pipeline (./zant onnx_extract --path path/my_model.onnx \ zig build extractor-* -Dmodel="my_model") validating per-node intermediate I/O.
  • Expanded math operations and full CNN support (conv/pool/activations).
  • New documentation: end-to-end guides and troubleshooting.

Changed

  • CLI redesigned for faster workflows and consistent flags; improved help and diagnostics.
  • Default conversion pipeline now routes through ONNX preprocessing.

Fixed

  • Clearer error surfaces and exit codes across CLI/tooling.

Notes

  • Rebuild artifacts with v1.0.0 to benefit from preprocessing and per-node tests.

V 0.1

16 Mar 21:05
fb461e2

Choose a tag to compare

Changelog

  • Project Overview and Documentation
  • Updated Zant description as an SDK for deploying optimized neural networks on microcontrollers
  • Revised key features, use cases, and reasons to use Zant
  • Updated roadmap with short-term (Q1 2025), mid-term (Q2-Q3 2025), and long-term (Q3 2025) goals
  • Added comprehensive documentation for code generation and model integration
  • Added instructions for generating code for models and testing them
  • Added section on integrating projects with Zant via static library and CMake
  • Build System and Dependencies
  • Updated Zig version from 0.13.0 to 0.14.0
  • Removed build.zig.zon file
  • Added new module for code generation in build.zig
  • Added executable for code generation with options
  • Added test for oneOp models with dependencies

Code Generation

  • Renamed src/codeGen directory to src/CodeGen for consistency
  • Added shape_handler and zant_codegen modules
  • Added functions for parsing input shapes from codegen options
  • Added network output initialization handling
  • Added graph serialization and code generation functionality
  • Added test file generation capabilities
  • Added support for exporting predict functions

Tensor Math Operations

  • Completely restructured tensor math operations into individual files
  • Added implementations for activation functions:
  • ReLU, Leaky ReLU, Sigmoid, Softmax, Tanh
  • Added element-wise operations:
  • Add, Subtract, Multiply, Divide, Ceil
  • Added shape operations:
  • Reshape, Resize, Transpose, Concat, Split, Slice, Unsqueeze, Identity, Neg
  • Added convolution and matrix operations:
  • Convolution, MatMul, Gemm
  • Added reduction operations:
  • ReduceMean
  • Added padding and pooling operations

ONNX Support

  • Added comprehensive ONNX model parsing capabilities
  • Added structs for ONNX components:
  • ModelProto, GraphProto, NodeProto, TensorProto, AttributeProto
  • TensorShapeProto, ValueInfoProto, TypeProto, StringStringEntryProto
  • TensorAnnotation, SparseTensorProto, Segment, DataLocation
  • Added shape inference for ONNX operators

Testing

  • Added user tests for MNIST and other models
  • Added benchmarking for tensor operations
  • Added Python scripts for generating test ONNX models
  • Added tests for tensor math operations
  • Added random data prediction tests
  • Removed Components
  • Removed data loading and processing functionality
  • Removed neural network layer implementations (Dense, Convolutional, etc.)
  • Removed model training functionality
  • Removed model import/export functionality
  • Removed optimizer implementations
  • Removed loss function implementations
  • Removed tests for removed components

Other Changes

  • Updated GitHub issue templates with new contact links
  • Added tensor math issue template with rules for writing methods
  • Updated GitHub workflows to run on "main", "feature", and "codegen" branches
  • Updated .gitignore rules for callgrind files and results.json