tmu
tmu copied to clipboard
Implements the Tsetlin Machine, Coalesced Tsetlin Machine, Convolutional Tsetlin Machine, Regression Tsetlin Machine, and Weighted Tsetlin Machine, with support for continuous features, drop clause, T...
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.
Guides and Tutorials
- Setting up efficient Development Environment
📦 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 [email protected]: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.