Skip to main content

NumPy Neural Network

Project description

npnn

NumPy Neural Network

PyPI - Version PyPI - Implementation PyPI - Python Version

What's npnn?

npnn is a a torch-like Python module for gradient descent based machine learning implemented with numpy.

Dependency

Basically npnn only depends on numpy(the latest version 1.26.4 is verified).

If you have CUDA devices available, then you can easily get a acceleration by installing suitable version of cupy. In this case npnn will use cupy api rather than numpy api.

For example, my PC have CUDA v12.x (x86_64), so I use command:

pip install cupy-cuda12x
pip install npnn

or in short:

pip install npnn[cuda12x]

check cupy documentation for more information.

API references

See npnn WIKI.

Known issues

See npnn known-issues.

Work with npnn!

Here we will construct a image classification neural network with npnn.

BTW, this is a course assignment of DATA620004, School of Data Science, Fudan University.

Task

Construct and Train a neural network on Fashion-MNIST to do image classification.

  • Implement gradient backpropagation algorithm by hand,you can use numpy but DO NOT use pytorch or tensorflow to do autograd.

  • Submit source code including at least four parts: model definition, training, parameters searching and testing.

Implementation

  • dataset.py: provide Fashion MNIST dataset
  • model.py: model definition
  • train.py: model training
  • search.py: parameters searching
  • test.py: model testing
  • viz.py: visualization
  • utils.py: some misc function, such as save_model

run search.py, you can get a table like:

no train_id accuracy hidden_size batch_size learning_rate regularization regular_strength
0 2024_0423(1713841292) 0.8306 [384] 3 0.002 None 0.0
1 2024_0423(1713845802) 0.8145 [384] 3 0.002 l2 0.1
2 2024_0423(1713849349) 0.8269 [384] 3 0.002 l2 0.01
3 2024_0423(1713853939) 0.8255 [384] 3 0.002 l2 0.005
4 2024_0423(1713857657) 0.8373 [384] 3 0.002 l2 0.001

train log file and saved model weights can be found in ./logs and ./checkpoints folder.

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

npnn-0.1.1.tar.gz (12.7 kB view hashes)

Uploaded Source

Built Distribution

npnn-0.1.1-py3-none-any.whl (11.1 kB view hashes)

Uploaded Python 3

Supported by

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