• Stars
    star
    106
  • Rank 325,871 (Top 7 %)
  • Language
    Python
  • License
    MIT License
  • Created almost 3 years ago
  • Updated 8 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Implements the Tsetlin Machine, Coalesced Tsetlin Machine, Convolutional Tsetlin Machine, Regression Tsetlin Machine, and Weighted Tsetlin Machine, with support for continuous features, drop clause, Type III Feedback, focused negative sampling, multi-task classifier, autoencoder, literal budget, and one-vs-one multi-class classifier. TMU is written in Python with wrappers for C and CUDA-based clause evaluation and updating.

Tsetlin Machine Unified (TMU) - One Codebase to Rule Them All

License Python VersionMaintenance

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

๐Ÿ“ฆ Installation

Prerequisites for Windows

Before installing TMU on Windows, ensure you have the MSVC build tools. Follow these steps:

  1. Download MSVC build tools
  2. 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:

  1. Clone the Repository:

    git clone [email protected]:cair/tmu.git
  2. Set Up Development Environment: Navigate to the project directory and compile the C library:

    cd tmu && pip install develop .
  3. 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 .

More Repositories

1

TsetlinMachine

Code and datasets for the Tsetlin Machine
Cython
444
star
2

Fire-Detection-Image-Dataset

This dataset contains normal images and images with fire. It is highly unbalanced to reciprocate real world situations. It consists of a variety of scenarios and different fire situations (intensity, luminosity, size, environment etc).
208
star
3

deep-rts

A Real-Time-Strategy game for Deep Learning research
C++
202
star
4

pyTsetlinMachine

Implements the Tsetlin Machine, Convolutional Tsetlin Machine, Regression Tsetlin Machine, Weighted Tsetlin Machine, and Embedding Tsetlin Machine, with support for continuous features, multigranularity, clause indexing, and literal budget
C
120
star
5

pyVNC

VNC Client Library for Python
Python
82
star
6

fast-tsetlin-machine-with-mnist-demo

A fast Tsetlin Machine implementation employing bit-wise operators, with MNIST demo.
C
61
star
7

convolutional-tsetlin-machine-tutorial

Tutorial on the Convolutional Tsetlin Machine
Python
51
star
8

TextUnderstandingTsetlinMachine

Using the Tsetlin Machine to learn human-interpretable rules for high-accuracy text categorization with medical applications
Cuda
48
star
9

PyTsetlinMachineCUDA

Massively Parallel and Asynchronous Architecture for Logic-based AI
Python
41
star
10

pyTsetlinMachineParallel

Multi-threaded implementation of the Tsetlin Machine, Convolutional Tsetlin Machine, Regression Tsetlin Machine, and Weighted Tsetlin Machine, with support for continuous features and multigranularity.
C
39
star
11

TsetlinMachineBook

Python code accompanying the book "An Introduction to Tsetlin Machines".
Jupyter Notebook
31
star
12

FlashRL

Python
26
star
13

fast-tsetlin-machine-in-cuda-with-imdb-demo

A CUDA implementation of the Tsetlin Machine based on bitwise operators
Cuda
26
star
14

deep_maze

Python
22
star
15

open-tsetlin-machine

Open Source Tsetlin Machine framework
17
star
16

TsetlinMachineC

A C implementation of the Tsetlin Machine
C
14
star
17

rl

C++
10
star
18

awesome-tsetlin-machine

A curated list of Tsetlin Machine research
10
star
19

regression-tsetlin-machine

Implementation of the Regression Tsetlin Machine
Python
9
star
20

deep-warehouse

A Simulator for complex logistic environments
Python
7
star
21

TM-XOR-proof

#tsetlin-machine #machine-learning #game-theory #propositional-logic #pattern-recognition #bandit-learning #frequent-pattern-mining #learning-automata
Cython
5
star
22

Axis_and_Allies

A simple Axis & Allies engine.
Python
5
star
23

python-fast-tsetlin-machine

Python wrapper for https://github.com/cair/fast-tsetlin-machine-with-mnist-demo
C
3
star
24

tmu-datasets

A dataset repository for datasets in tmu
Python
3
star
25

ICML-Massively-Parallel-and-Asynchronous-Tsetlin-Machine-Architecture

Code repository for ICML 21 for Paper titled Massively Parallel and Asynchronous Tsetlin Machine Architecture
Python
3
star
26

ikt111

Python
3
star
27

notebooks

A collection of jupyter notebooks
Jupyter Notebook
2
star
28

Fire-Scene-Parsing

2
star
29

py_image_stitcher

A small library for stitching together images, from Numpy or PIL Sources
Python
1
star
30

deep-line-wars

Python
1
star
31

Docker-Tutorial

A docker tutorial for cair-gpu's
Python
1
star
32

ray-bugfix

A workaround to issues with Rllib, given it does not work for your current gym environment. CarRacing-v0 is one of these.
Python
1
star
33

fire

Python
1
star
34

deep-line-wars-2

C++
1
star
35

Deterministic-Tsetlin-Machine

Due to the high energy consumption and scalability challenges of deep learning, there is a critical need to shift research focus towards dealing with energy consumption constraints. Tsetlin Machines (TMs) are a recent approach to machine learning that has demonstrated significantly reduced energy usage compared to neural networks alike, while performing competitively accuracy-wise on several benchmarks. However, TMs rely heavily on energy-costly random number generation to stochastically guide a team of Tsetlin Automata to a Nash Equilibrium of the TM game. In this paper, we propose a novel finite-state learning automaton that can replace the Tsetlin Automata in TM learning, for increased determinism. The new automaton uses multi-step deterministic state jumps to reinforce sub-patterns. Simultaneously, flipping a coin to skip every d'th state update ensures diversification by randomization. The d-parameter thus allows the degree of randomization to be finely controlled. E.g., d=1 makes every update random and d=infinity makes the automaton completely deterministic. Our empirical results show that, overall, only substantial degrees of determinism reduces accuracy. Energy-wise, random number generation constitutes switching energy consumption of the TM, saving up to 11 mW power for larger datasets with high d values. We can thus use the new d-parameter to trade off accuracy against energy consumption, to facilitate low-energy machine learning.
Python
1
star
36

DeepAxie

Implementation of a simplified Axie Infinity Environment in C++ that is used to train an agent with the reinforcement learning algorithm DQN to play the game.
C++
1
star
37

Tsetlin-Machine-Deep-Neural-Network-Recommendation-System-Comparison

Jupyter Notebook
1
star
38

LogicalTransformerWithTsetlinMachine

Python
1
star