tinybig library for deep function learning
Project description
Introduction
tinybig
is a Python library developed by the IFM Lab for deep function learning model designing and building.
- List of RPN Papers:
- RPN 1 (July 2024): https://arxiv.org/abs/2407.04819
- RPN 2 (November 2024):
- RPN 3 (In Development...)
- Official Website: https://www.tinybig.org/
- PyPI: https://pypi.org/project/tinybig/
- IFM Lab: https://www.ifmlab.org/index.html
- Project Description in Chinese:
Citation
If you find tinybig
and RPN useful in your work, please cite the RPN paper as follows:
@article{Zhang2024RPN,
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}
}
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 | Extended and Nested Data Expansion | TBD |
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.expansion |
a library providing the "data expansion functions" for multi-modal data effective expansions |
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.module |
a library providing the basic building blocks for RPN model designing and implementation |
tinybig.model |
a library providing the RPN models for addressing various deep function learning tasks |
tinybig.config |
a library providing model component instantiation from textual configuration descriptions |
tinybig.learner |
a library providing the learners that can be used for RPN model training and testing |
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.metric |
a library providing the metrics that can be used for RPN model performance evaluation |
tinybig.util |
a library of utility functions for RPN model design, implementation and learning |
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).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file tinybig-0.2.0.tar.gz
.
File metadata
- Download URL: tinybig-0.2.0.tar.gz
- Upload date:
- Size: 32.4 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d23e5ae4b737e847b946d98839a52227319dba280c2ee83028978fed132311bb |
|
MD5 | b8e00604c4e1ef17638898da9bb5f881 |
|
BLAKE2b-256 | 742692d9fba54859bb2373bd8a67d274701043dff3ea167cc562b80b71d8ec60 |
File details
Details for the file tinybig-0.2.0-py3-none-any.whl
.
File metadata
- Download URL: tinybig-0.2.0-py3-none-any.whl
- Upload date:
- Size: 326.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e490145fc629af08e8c9820c527f533f0915f19aea46a461366e9f3e2d18411c |
|
MD5 | fc4a796b3741055613aa267f16664d1e |
|
BLAKE2b-256 | 4f1241787ae5280b1e4242558405a99dfba858fd17c355ffcc8d001cecd89773 |