Skip to main content

A complete artificial intelligence kit built from scratch using Numpy.

Project description

Numpy AI

PyPI Version

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.3.tar.gz (42.1 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.3-py3-none-any.whl (65.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: numpy_ai_kit-0.1.3.tar.gz
  • Upload date:
  • Size: 42.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.21 {"installer":{"name":"uv","version":"0.9.21","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.3.tar.gz
Algorithm Hash digest
SHA256 51abf27350a1bd919af405b24f30f2e5f4c130ffc5d4cb3cdda9597fddccb827
MD5 76767b42ca99f3e36e92d74546f25a53
BLAKE2b-256 2deea71092212d97e032e0b6593876d0b8106d847a2b97756653b52ec6932175

See more details on using hashes here.

File details

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

File metadata

  • Download URL: numpy_ai_kit-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 65.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.21 {"installer":{"name":"uv","version":"0.9.21","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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 c449c1134dadb802c9328d442cbfb51258ab8eee8a0e72383ee0c2782eb011dc
MD5 e8f4caafa195796efbfd0334dfc844cc
BLAKE2b-256 6c816591816bae9747559c3afa96493975518e8cb32141eaa2b3869fc6608a8b

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