Introduction
Fireball is a Deep Neural Network (DNN) library for creating, training, evaluating, quantizing, and compressing DNN based models across a range of applications.
Features
Here is a summary of main features:
Easily create any network structure using a limited set of fundamental building blocks chained together in a text string.
Create models for classification, regression, object detection, and NLP applications.
Add functionality by creating your own “Blocks” and reuse them in your network structure.
Define your own layer types or loss functions and use them in the network structure.
Apply Low-Rank decomposition on layers of your model to reduce the number of network parameters.
Apply Pruning to the network parameters.
Apply K-Means quantization on network parameters to further reduce the size of model.
Retrain your model after applying low-rank decomposition, pruning, and/or quantization.
Compress models using arithmetic entropy coding.
Export the models to ONNX, Tensorflow, or CoreML even after applying low-rank decomposition, pruning, and/or quantization.