Tofu is a framework for Machine Learning and Deep Learning supporting Python, C, and C++ programming languages. It is still in its very early development stages.
Tofu contains the following features/functionalities as of now and will be upgraded in the future.
-
- Contains Linear Regression & Logistic Regression classes for multiple features.
The preprocessing module mimics Scikit-Learn's preprocessing classes and functions.
-
- Feature scaling using Standard Distribution.
-
- Feature scaling by feature normalization using minimum and maximum values.
-
- Split given arrays of data and labels into training set and testing set.
-
- Shuffles input arrays (single or a pair) and returns them.
Neural Network layers for Multi-layered perceptron models.
-
- Linear class implementing a single Fully-Connected / Dense layer.
-
- Regularization layer that randomly drops neurons / sets neurons to zero randomly based on given probability.
-
- Regularization layer that normalizes input batch of neurons.
-
- ReLU
- LeakyReLU
- ELU
- Sigmoid
- TanH
A set of common activation functions are available in this script.
- Linear
- ReLU
- Leaky ReLU
- ELU
- Sigmoid
- TanH
- Softmax
A set of common loss functions are available in this script.
- Mean Squared Error (MSE) & Derivative
- Mean Absolute Error (MAE)
- Root Mean Squared Error (RMSE)
- Binary Cross-Entropy
- Categorical Cross-Entropy
- Softmax Cross-Entropy with logits & Derivative
Python / C / C++ development environment
Numpy is the only dependency for Python
pip install numpy
I've added some example scripts and dataset in this drive link. Clone this repository and run the scripts from within the examples folder, after pasting it under Python directory which is under tofu. Install the requirements using:
pip install -r requirements.txt
tofu-v0.01-alpha