Skip to content

jwzhanggy/tinyBIG

Repository files navigation

function_data


Introduction

tinybig is a Python library developed by the IFM Lab for deep function learning model designing and building.

Citation

If you find tinybig library and RPN papers useful in your work, please cite the RPN papers as follows:

@article{Zhang2024RPN_version1,
    title={RPN: Reconciled Polynomial Network Towards Unifying PGMs, Kernel SVMs, MLP and KAN},
    author={Jiawei Zhang},
    year={2024},
    eprint={2407.04819},
    archivePrefix={arXiv},
    primaryClass={cs.LG}
}

@article{Zhang2024RPN_version2,
    title={RPN 2: On Interdependence Function Learning Towards Unifying and Advancing CNN, RNN, GNN, and Transformer},
    author={Jiawei Zhang},
    year={2024},
    eprint={2411.11162},
    archivePrefix={arXiv},
    primaryClass={cs.LG}
}

Installation

You can install tinybig either via pip or directly from the github source code.

Install via Pip

pip install tinybig

Install from Source

git clone https://github.com/jwzhanggy/tinyBIG.git

After entering the downloaded source code directory, tinybig can be installed with the following command:

python setup.py install

If you don't have setuptools installed locally, please consider to first install setuptools:

pip install setuptools 

Install Dependency

Please download the requirements.txt file, and install all the dependency packages:

pip install -r requirements.txt

Verification

If you have successfully installed both tinybig and the dependency packages, now you can use tinybig in your projects.

To ensure that tinybig was installed correctly, we can verify the installation by running the sample python code as follows:

>>> import torch
>>> import tinybig as tb
>>> expansion_func = tb.expansion.taylor_expansion()
>>> expansion_func(torch.Tensor([[1, 2]]))

The output should be something like:

tensor([[1., 2., 1., 2., 2., 4.]])

Tutorials

Tutorial ID Tutorial Title Last Update
Tutorial 0 Quickstart Tutorial July 6, 2024
Tutorial 1 Data Expansion Functions July 7, 2024
Tutorial 2 Parameter Reconciliation Functions November 28, 2024
Tutorial 3 Data Interdependence Functions December 1, 2024
Tutorial 4 Structural Interdependence Functions December 10, 2024

Examples

Example ID Example Title Released Date
Example 0 Failure of KAN on Sparse Data July 9, 2024
Example 1 Elementary Function Approximation July 7, 2024
Example 2 Composite Function Approximation July 8, 2024
Example 3 Feynman Function Approximation July 8, 2024
Example 4 MNIST Classification with Identity Reconciliation July 8, 2024
Example 5 MNIST Classification with Dual LPHM Reconciliation July 8, 2024
Example 6 CIFAR10 Image Object Recognition July 8, 2024
Example 7 IMDB Review Classification July 9, 2024
Example 8 AGNews Topic Classification July 9, 2024
Example 9 SST-2 Sentiment Classification July 9, 2024
Example 10 Iris Species Inference (Naive Probabilistic) July 9, 2024
Example 11 Diabetes Diagnosis (Comb. Probabilistic) July 9, 2024
Example 12 Banknote Authentication (Comb. Probabilistic) July 9, 2024

Library Organizations

Components Descriptions
tinybig a deep function learning library like torch.nn, deeply integrated with autograd
tinybig.model a library providing the RPN models for addressing various deep function learning tasks
tinybig.module a library providing the basic building blocks for RPN model designing and implementation
tinybig.layer a library providing the implemented layers for RPN model designing and implementation
tinybig.head a library providing the implemented heads for RPN model designing and implementation
tinybig.config a library providing model component instantiation from textual configuration descriptions
tinybig.expansion a library providing the "data expansion functions" for effective data expansions
tinybig.compression a library providing the "data compression functions" for effective data compression
tinybig.transformation a library providing the "data transformation functions" for effective data transformation
tinybig.reconciliation a library providing the "parameter reconciliation functions" for parameter efficient learning
tinybig.remainder a library providing the "remainder functions" for complementary information addition
tinybig.interdependence a library providing the "interdependence functions" for data interdependence relationships modeling
tinybig.fusion a library providing the "fusionn functions" for multi-source/channel/head data integration
tinybig.koala a library providing the functions from mathematics, statistics and other interdisciplinary sciences
tinybig.data a library providing multi-modal datasets for solving various deep function learning tasks
tinybig.output a library providing the processing method interfaces for output processing, saving and loading
tinybig.loss a library providing the loss functions for model introduced error computation in learning
tinybig.metric a library providing the metrics that can be used for model performance evaluation
tinybig.optimizer a library providing the optimizers that can be used for model parameter optimization in training
tinybig.learner a library providing the learner that can be used for model effective and efficient training
tinybig.visual a library of utility functions for data, model and learning process visualization and rendering
tinybig.util a library of utility functions for RPN model design, implementation and learning
tinybig.zootopia a library of models developed with the functions for concrete AI applications

License & Copyright

Copyright © 2024 IFM Lab. All rights reserved.

  • tinybig source code is published under the terms of the MIT License.
  • tinybig's documentation and the RPN papers are licensed under a Creative Commons Attribution-Share Alike 4.0 Unported License (CC BY-SA 4.0).

About

tinybig for deep function learning

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages