Skip to content
This repository was archived by the owner on Sep 23, 2025. It is now read-only.

Kataglyphis/MachineLearningAlgorithms

Repository files navigation


MLAlgo
MLPlayground

python logo tensorflow icon cupy icon anaconda icon pytorch symbol

GitHub Workflow Status GitHub Workflow Status TopLang codecov Donate Twitter YouTube

Playground for various ML algorithms .

Key FeaturesHow To UseDownloadRelatedLicenseLiterature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Tests
  5. Contributing
  6. License
  7. Contact
  8. Resources
  9. Literature

About The Project

Playground for a variety of different ML algorithms

Key Features

Feature Implement Status
VAE ✔️
LSTM ✔️
Image Segmentation with U-Net ✔️
Object Detection ✔️
Face similarity measure ✔️
Linear Regression ✔️
Linear Classification ✔️
Naive Bayes Classifier ✔️
Multiclass Classification ✔️
k-NN ✔️
Forests ✔️
Kernel Ridge Regression ✔️
Kernelized Support Vector Machine ✔️
Bayesian Linear Regression ✔️
Gaussian Processes ✔️
k-Means ✔️
Expectation Maximization for Gaussian Mixture Models ✔️
Probabilistic PCA with Expectation Maximization ✔️
Neural Network Classifier from Scratch ✔️
Probabilistic PCA with Expectation Maximization ✔️

Built With

For a detailed list of all required packages have a look into the respective environment.yaml. Each project uses its own environment in its own sub directory.
In the following an list (with its purpose):

Getting Started

Prerequisites

Python 3.8
For the dependencies on python modules I created an anaconda environment.yaml file. You can import it in your anaconda project.
For some projects you should have a potent graphics card. (I test code under RTX 2060 SUPER and RTX 3060 Notebook GPU)

Installation

  1. Clone the repo

    git clone git@github.com:Kataglyphis/MachineLearningAlgorithms.git
  2. Consider using some form of packet management/-distribution software. I am using here Anaconda. If you also do so you can use my Anaconda Env .yml for getting all python module dependencies. Keep in mind every project uses its own environment!

    conda env create -f environment_PROJECT_TOKEN.yaml 

Usage

pip/conda environment

I use this command to generate cross-platform env.yaml files.

    conda env export --from-history>environment.yaml

see also: Anaconda entry on environments.

VAE

    # for training VAE
    python train_vae.py train
    # checking the gradients
    python train_vae.py gradcheck
    #generating sample
    python train_vae.py sample


MLAlgo

LSTM

    # for training VAE
    python lstm_cupy.py train
    # checking the gradients
    python lstm_cupy.py gradcheck
    #generating sample
    python lstm_cupy.py sample sample

NOTE Under folder "data/" one can place any kind of .txt file one want to train the net with. Just make sure it is a .txt!

From Kants critique of practical reason I got sentences like:

(emb_size = 16
hidden_size = 124
seq_length = 512
learning_rate = 5e-2 
max_updates = 500000
batch_size = 32)

1.Result:
"on this it thush that determinated and representakoug advantaresuct
form) usefing
on which there dayver in this made of us as all in our cases of a rat just on it were orle freptive the law is of it. Thus to formalore this serucion the vatures,
the conding our explesed the vater, he constadnes and only a necessare the hedution now thisk the conduapo-sted anduredsifinated are
lastingavt one of thisplyssul supposables outisaty his
oblige of us. Forble only a have feeling to it it itself vione in it were is can in it were in this
doublious merew, justifysero anderedores in our vabutualy as a new this
condualed as alwagation as a
categ- will gerery give
us
all the fationed as all caneon constanally a universal empithed for such it it be advantaking on it whrows for
not of in this
sured, or beings have or private it it it tho advinated in a noursinedmegules determinour now on it. Thus, fromnevery or in a prove of thishity or if and it of a raterfined to formare of this deterd no douneablentonedered it come is a higher deterd of this dul to high. Now
its conduaventi;ethul frequently screp; this
suterninamersthicatedmentare the om its oblinately is a higherw
somethicated as alwaysion firmtom constionchilesogich is in this
dodevere
composenery
thind the bas ratherw
hablog constioning virtuest trued it out to
formapo,
advant well of and chereng in its or if thishs in our causaly his
erred oursualing the
ablegt of would only a universul the formais or segve
frounds thishigances the vatherw
the bat the determination of to its or in it because the caterfinateorangionation with things the deduct
of morality this dod alonestimateneables, notions our ear
of it a had of us a had only only a law with the
bein the in
happly to finds to
acu thereon whiculain he can physist to this dut all the vated, however, of it it destricest, and man's onowledgringuit is nothing
an every us to fog mo,ing on its own adept only a reasonally andering the
tysted a universublestlying the bound fromnes"  

Image Segmentation

There is a high demand in image segmentation applications. With this project you get access to a tool enabling you to build such.


MLAlgo

Object Detection

Face similarity measure

Tests

Code Coverage

Code coverage results

ML ML

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the GPL-3.0 License. See LICENSE for more information.

Contact

Jonas Heinle - @Cataglyphis_ - jonasheinle@googlemail.com

Project Link: https://github.com/Kataglyphis/MachineLearningAlgorithms

Resources

For datasets

Literature

Anaconda

Machine Learning Literature

Datasets

VAE

LSTM

RNN

Image Segmentation

About

Basic Machine Learning Algorithms

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages