Skip to content

V 0.1

Latest

Choose a tag to compare

@Hitomamacs Hitomamacs released this 16 Mar 21:05
· 906 commits to main since this release
fb461e2

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