Tsetlin Machine Unified (TMU) - One Codebase to Rule Them All
TMU is a comprehensive repository that encompasses several Tsetlin Machine implementations. Offering a rich set of features and extensions, it serves as a central resource for enthusiasts and researchers alike.
Features
-
Core Implementations:
- Tsetlin Machine
- Coalesced Tsetlin Machine
- Convolutional Tsetlin Machine
- Regression Tsetlin Machine
- Weighted Tsetlin Machine
- Autoencoder
- Multi-task Classifier (Upcoming)
- One-vs-one Multi-class Classifier (Upcoming)
- Relational Tsetlin Machine (In Progress)
-
Extended Features:
- Support for Continuous Features
- Drop Clause
- Literal Budget
- Focused Negative Sampling
- Type III Feedback
- Incremental Clause Evaluation (Upcoming)
- Sparse Computation with Absorbing Actions
- TMComposites: Plug-and-Play Collaboration Between Specialized Tsetlin Machines (In Progress)
-
Wrappers for C and CUDA-based clause evaluation and updates to enable high-performance computation.
๐ฆ Installation
Prerequisites for Windows
Before installing TMU on Windows, ensure you have the MSVC build tools. Follow these steps:
- Download MSVC build tools
- Install the
Workloads โ Desktop development with C++
package. (Note: The package size is about 6-7GB.)
Dependencies
Ubuntu: sudo apt install libffi-dev
Installing TMU
To get started with TMU, run the following command:
pip install git+https://github.com/cair/tmu.git
๐ Development
If you're looking to contribute or experiment with the codebase, follow these steps:
-
Clone the Repository:
git clone [email protected]:cair/tmu.git
-
Set Up Development Environment: Navigate to the project directory and compile the C library:
cd tmu && pip install develop .
-
Starting a New Project: For your projects, simply create a new folder within 'examples' and initiate your development.
Modifying the C Codebase
If you make changes to the C codebase, ensure you recompile the code using:
pip install develop .