New
V 0.1
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