Skip to main content

A complete artificial intelligence kit built from scratch using Numpy.

Project description

Numpy AI

PyPI Version GitHub Wiki

Numpy AI is a complete artificial intelligence library built from scratch using pure Python and Numpy. It aims to provide clear reference implementations of many algorithms for educational purposes.

The current documentation for the project can be accessed here.

Key Features

  • Keras-style Neural Networks: Build complex architectures like CNNs using intuitive sequential models. Supports advanced layers and multiple optimisers to give complete control over training.
  • Classical Machine Learning: A growing suite of scikit-learn style estimators. Currently supports a full range of Naive Bayes classifiers.
  • Pure Numpy Backend: Every algorithm is implemented from scratch using Numpy for maximum transparency and vectorised performance.

Installation

Install the latest version from PyPI using pip:

pip install numpy-ai-kit

Then, you can import and use numpyai. See the wiki for more details and example usage.

Project Roadmap

Numpy AI is actively expanding to become a general-purpose AI toolkit. The following modules are currently under development:

Neural Networks

  • Datasets: Additional sample datasets including CIFAR-10, CIFAR-100, and Fashion MNIST
  • Layers: More layer types including Batch Normalisation
  • Infrastructure: Learning rate schedulers for improved training stability and training callbacks/logging capability

Utilities

  • Preprocessing: Encoders, scalers, and binarisers for preprocessing data
  • Feature Extraction: Vectorisers, feature hasher, HOG (Histogram of Oriented Gradients)
  • Backend: Generic graph implementation for use with search algorithms

Classical ML

  • Supervised: Linear/Logistic Regression, Decision Trees, Random Forests, AdaBoost, SVMs
  • Unsupervised: Clustering (KMeans, DBSCAN), Gaussian Mixture Models, and Decomposition (PCA, t-SNE)
  • Model Selection: KFold, ShuffleSplit, and Grid Search for hyperparameter tuning.

Search & Pathfinding

  • Uninformed: BFS, DFS, Iterative Deepening, and Dijkstra's
  • Informed: A* and Greedy Best-First Search
  • Adversarial: Minimax, Negamax, Expectiminimax, and Monte Carlo Tree Search (MCTS)
  • Local Search: Hill Climbing, Simulated Annealing, Genetic Algorithms, and Particle Swarm Optimisation (PSO)
  • Constraint Satisfaction: Backtracking and DLX (Dancing Links)

Reinforcement Learning

  • Tabular Methods: Q-Learning and SARSA implementations for discrete state spaces
  • Deep RL: Integration with the nn module for Deep Q-Networks (DQN) and policy gradient methods
  • Environment API: A standardised interface for creating native environments, plus a compatibility wrapper for Gymnasium environments

License

This project is licensed under the MIT License. See the LICENSE file for details.

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

numpy_ai_kit-0.1.4.tar.gz (45.3 kB view details)

Uploaded Source

Built Distribution

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

numpy_ai_kit-0.1.4-py3-none-any.whl (69.8 kB view details)

Uploaded Python 3

File details

Details for the file numpy_ai_kit-0.1.4.tar.gz.

File metadata

  • Download URL: numpy_ai_kit-0.1.4.tar.gz
  • Upload date:
  • Size: 45.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.22 {"installer":{"name":"uv","version":"0.9.22","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Nobara Linux","version":"43","id":"","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for numpy_ai_kit-0.1.4.tar.gz
Algorithm Hash digest
SHA256 c0fbc242bff3236ed99b11a698742afa67b1576279185ac86a72e3634eb78f5b
MD5 e7001921d95c3424694ecc5ae63ffea8
BLAKE2b-256 5f9120dc038159c73d001232365bf84c083c9b5de90b622819df6468dea628b9

See more details on using hashes here.

File details

Details for the file numpy_ai_kit-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: numpy_ai_kit-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 69.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.22 {"installer":{"name":"uv","version":"0.9.22","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Nobara Linux","version":"43","id":"","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for numpy_ai_kit-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 30611f3470674c9584c65b82dd139856b34a0b4e20bb63a3e0f6dc31a93e53e8
MD5 35c918d701b9e21bc4a15ccb7c26c07a
BLAKE2b-256 22c894ca8d73c852edc313797dfc31ab8573688e8beccadbe238ae07a410cb39

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