Skip to main content

A small framework for teaching students about basics of neural networks

Project description

['# LENGTH - Lightning-fast Extensible Neural-network Guarding The HPI\n', '\n', 'logo\n', '\n', 'A simple neural network implementation that could be used for education.\n', 'But beware! Some important parts of the code are missing :wink: and you\n', 'have to fill the blanks!\n', '\n', '# Installation\n', '\n', '1. Make sure to install Python 3 on your device\n', ' - Windows: Get it here\n', ' - Mac: Get it here or use\n', ' your favourite package manager\n', ' - Linux: Use your favourite package manager i.e. pacman -S python or\n', ' apt install python3\n', '2. Create a virtualenvironment\n', ' - you can do so with python3 -m venv <path to virtualenv>\n', ' - If you are using Linux, we recommend that you install\n', ' virtualenvwrapper\n', ' and organize all virtualenvironments with this tool, its quite neat.\n', '3. Load the virtualenvironment\n', '4. Clone the repository\n', '4. Install all necessary libraries with pip install -r requirements.txt\n', '\n', '\n', '# Structure of the Repository\n', '\n', 'You can find all neural network specific code in the directory length.\n', 'Follows is a list of all directories and their respective content:\n', '- data_sets contains code that is necessary for dealing with specific\n', 'datasets like MNIST or FashionMNIST. Those implementations shall\n', 'follow the interface specification in length/data_set.py.\n', '- functions contains code for all neural network functions that do not\n', 'have any parameters that need to be updated. All those functions follow\n', 'the interface specified in length/function.py.\n', '- initializers contains code for weight initializers that follow the\n', 'initializer interface specified in length/initializer.py.\n', '- layers contains code for all implemented neural network layers.\n', 'Those layers follow the interface specification in length/layer.py. A\n', 'layer is a neural network function that has internal parameters, which\n', 'need to be updated.\n', '- models contains code for sample models that come with this library\n', 'and can be trained out of the box.\n', '- optimizers contains the implementation of all neural network\n', 'optimizers. Those implementations follow the interface, specified in\n', 'length/optimizer.py.\n', '- tests contains tests for the library, that use py.test as testing\n', 'framework.\n', '\n', 'The file train.py in the root directory contains sample code for\n', 'training a neural network with this library.\n', '\n', '# Training\n', '\n', 'You can start a train run, using the sample train script, by entering\n', 'the following command from the root directory of the repository:\n', 'python train.py. If you want to know more about possible command-line\n', 'arguments, type python train.py -h.\n', '\n', '\n', '# Principles of this library\n', '\n', 'This library follows the design principles of\n', 'Chainer in a very rudimentary way. This library\n', 'implements a dynamic computational graph that can be used to easily\n', 'prototype, design, and debug neural networks. It furthermore allows for\n', 'the design of dynamic neural networks that change at every iteration,\n', 'making such an approach suitable for recurrent neural networks.\n', '\n', 'A word of WARNING: If you ever feel tempted to use this library for\n', "training a real neural network and not just a toy example: don't! Use a\n", 'library like Chainer that is more mature and also supports GPUs. The\n', 'transition from this library to Chainer should not be that difficult, as\n', 'the same principles are used here and in Chainer.\n', '\n', '# Contributions\n', '\n', 'Contributions in every form are welcome. If you think, that you nicely\n', 'implemented a new layer, we are happy to see your contribution in form\n', 'of a pull request!\n', '\n', '# One Last Thing\n', '\n', 'Remember: Do not use this library for training a real network.\n', 'This library is only intended to be used for education and not for real\n', 'prototyping.\n']

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

length_hpi-0.0.1.tar.gz (34.7 kB view details)

Uploaded Source

Built Distribution

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

length_hpi-0.0.1-py3-none-any.whl (47.1 kB view details)

Uploaded Python 3

File details

Details for the file length_hpi-0.0.1.tar.gz.

File metadata

  • Download URL: length_hpi-0.0.1.tar.gz
  • Upload date:
  • Size: 34.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for length_hpi-0.0.1.tar.gz
Algorithm Hash digest
SHA256 3ab98c22ad7239b6b36b234cc13147e4d2f4fe026df53c746510221d36c14c32
MD5 d41e53abe8b3b09da2d88be4bf08f93e
BLAKE2b-256 1f110919f496732edcf1bb6c77865939260505c67303401814d887b06dd02b10

See more details on using hashes here.

File details

Details for the file length_hpi-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: length_hpi-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 47.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for length_hpi-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 06559958f5550f5a129a2fe28a19650d27ccc774aa198fa1eb6293b36851a37d
MD5 02b9c28ced6cf7a1ed41bc49f1ebfcd8
BLAKE2b-256 96af242f68f4c2214380b52b1febd26c781fc2f0ae201b339f4a4805bcd1f5a5

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