Tsetlin Machine Unified (TMU) - One Codebase to Rule Them All
May 5, 2025 ยท View on GitHub
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.
Guides and Tutorials
๐ฆ 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:
# Installing Stable Branch
pip install git+https://github.com/cair/tmu.git
# Installing Development Branch
pip install git+https://github.com/cair/tmu.git@dev
๐ Development
If you're looking to contribute or experiment with the codebase, follow these steps:
-
Clone the Repository:
git clone -b dev git@github.com:cair/tmu.git && cd tmu -
Set Up Development Environment: Navigate to the project directory and compile the C library:
# Install TMU pip install . # (Alternative): Install TMU in Development Mode pip install -e . # Install TMU-Composite pip install .[composite] # Install TMU-Composite in Development Mode pip install -e .[composite] -
Starting a New Project: For your projects, simply create a new branch and then within the 'examples' folder, create a new project and initiate your development.