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.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.0b2.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.0b2-py3-none-any.whl (8.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pylearn_ai-0.1.0b2.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.0b2.tar.gz
Algorithm Hash digest
SHA256 9e274002bf95f9f52a675e5319793f65ff5eda3e5ed54e45724892470ff9e3e4
MD5 8b135a1c6adb0f620d6599a4ff8661ef
BLAKE2b-256 3f36bb64cec14538971320214627eee17283c5bbc1c4b00ebec147d83241bc44

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pylearn_ai-0.1.0b2-py3-none-any.whl
  • Upload date:
  • Size: 8.3 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.0b2-py3-none-any.whl
Algorithm Hash digest
SHA256 486e1a1b1ccbf191af535026d19248abd86b17a12cc26ec19c5e573d6aa94ca3
MD5 94b7943acc33caed615f136f8f852c1e
BLAKE2b-256 0389bd97b9fdc439b98069c9733684dfc78de918a1557a9b7480fc2f30affa4d

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