A complete artificial intelligence kit built from scratch using Numpy.
Project description
Numpy AI
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-learnstyle 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
nnmodule 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
51abf27350a1bd919af405b24f30f2e5f4c130ffc5d4cb3cdda9597fddccb827
|
|
| MD5 |
76767b42ca99f3e36e92d74546f25a53
|
|
| BLAKE2b-256 |
2deea71092212d97e032e0b6593876d0b8106d847a2b97756653b52ec6932175
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c449c1134dadb802c9328d442cbfb51258ab8eee8a0e72383ee0c2782eb011dc
|
|
| MD5 |
e8f4caafa195796efbfd0334dfc844cc
|
|
| BLAKE2b-256 |
6c816591816bae9747559c3afa96493975518e8cb32141eaa2b3869fc6608a8b
|