Skip to main content

A pure-Python machine learning and deep learning framework with no external dependencies.

Project description

PyLearn-AI

PyLearn-AI is a pure-Python machine learning and deep learning framework built entirely with the Python standard library. No external dependencies required.

Features

  • No dependencies (NO NumPy, SciPy, or Pandas), just Python 3.10
  • Supports basic machine learning and deep learning models
  • Includes custom matrix and tensor operations
  • Educational and easy to understand, encouraging users to learn the underlying functionality of modern ML/DL libraries

Note: The dependencies listed in requirements.txt are only for documentation, testing, and package publishing.

Novelty

Before starting this project, I searched for similar packages and was not surprised to find a handful of them, many of which use NumPy at the core of their framework.

What makes this project stand out is that PyLearn-AI does not use NumPy or any other external libraries.

At the core of the package is the UnitFrame data structure, which assists with common matrix operations performed in modern ML/DL libraries. It serves a similar purpose as a NumPy array or a pandas DataFrame.

The compromise with this approach is speed, efficiency, and computation.

This package is not intended to be used to train, optimize, or build the next machine learning model. It is intended as a learning experience to remove as much abstraction as possible.

Work in Progress

To my surprise, PyLearn-AI was available in the Python Package Index. To secure the name, I published the package prematurely. I will be releasing beta versions as development continues.

Installation

pip install pylearn-ai

Usage

from pylearn_ai.core.unitframe import UnitFrame

uf = UnitFrame([[1, 2], [3, 4]])
print(uf)

Project Structure

PyLearn-AI/
├── core/           
├── neural/         
├── reinforcement/  
├── supervised/     
├── unsupervised/   
├── utils/          
  • core: Core algorithms, structures, and tensor class
  • neural: Deep learning models (MLP, CNN, GNN)
  • reinforcement: Reinforcement learning (Q-learning, policy optimization)
  • supervised: Supervised learning (regression, classification)
  • unsupervised: Clustering, dimensionality reduction
  • utils: Activations, losses, metrics, and preprocessing

License

MIT License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pylearn_ai-0.1.0b3.tar.gz (5.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pylearn_ai-0.1.0b3-py3-none-any.whl (8.4 kB view details)

Uploaded Python 3

File details

Details for the file pylearn_ai-0.1.0b3.tar.gz.

File metadata

  • Download URL: pylearn_ai-0.1.0b3.tar.gz
  • Upload date:
  • Size: 5.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.16

File hashes

Hashes for pylearn_ai-0.1.0b3.tar.gz
Algorithm Hash digest
SHA256 bc94c5b0d891e776db44021a2c83528925bde85fde14bbec224af7fc020c0613
MD5 fe2f93a55fca862543499f56e5e6f6c8
BLAKE2b-256 b9e62086d74aa2a51b776c05427a3599b7d0877b455d29d15bb1aaeb5aa2903a

See more details on using hashes here.

File details

Details for the file pylearn_ai-0.1.0b3-py3-none-any.whl.

File metadata

  • Download URL: pylearn_ai-0.1.0b3-py3-none-any.whl
  • Upload date:
  • Size: 8.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.16

File hashes

Hashes for pylearn_ai-0.1.0b3-py3-none-any.whl
Algorithm Hash digest
SHA256 a1c6db91807192a4c560d308f1bf577536640e76886a5aa49b8e1828670a8e47
MD5 3c12a802f9e049b378892ce65b96a56b
BLAKE2b-256 1734385ab9386e61fcb56f2ed95b2a804a1a92afac1624cbff89c607699fc562

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page