EpyNN is written in pure Python/NumPy.
If you use EpyNN in academia, please cite:
Malard F., Danner L., Rouzies E., Meyer J. G., Lescop E., Olivier-Van Stichelen S. EpyNN: Educational python for Neural Networks, 2021, Submitted.
Please visit https://epynn.net/ for extensive documentation.
EpyNN is intended for teachers, students, scientists, or more generally anyone with minimal skills in Python programming who wish to understand and build from basic implementations of Neural Network architectures.
Although EpyNN can be used for production, it is meant to be a library of homogeneous architecture templates and practical examples which is expected to save an important amount of time for people who wish to learn, teach or develop from scratch.
EpyNN features scalable, minimalistic and homogeneous implementations of major Neural Network architectures in pure Python/Numpy including:
- Embedding layer (Input)
- Fully connected layer (Dense)
- Recurrent Neural Network (RNN)
- Long Short-Term Memory (LSTM)
- Gated Recurrent Unit (GRU)
- Convolution (CNN)
- Pooling (CNN)
- Dropout - Regularization
- Flatten - Adapter
Model and function rules and definition:
- Architecture Layers - Model
- Neural Network - Model
- Data - Model
- Activation - Functions
- Loss - Functions
While not enhancing, extending or replacing EpyNN's documentation, series of live examples in Python and Jupyter notebook formats are offered online and within the archive, including:
EpyNN has been cross-validated against TensorFlow/Keras API and provides identical results for identical configurations in the limit of float64 precision.
Please see Is EpyNN reliable? for details and executable codes.
# Use bash shell bash # Clone git repository git clone https://github.com/Synthaze/EpyNN # Alternatively, not recommended # pip3 install EpyNN # epynn # Change directory to EpyNN cd EpyNN # Install EpyNN dependencies pip3 install -r requirements.txt # Export EpyNN path in $PYTHONPATH for current session export PYTHONPATH=$PYTHONPATH:$PWD
Linux: Permanent export of EpyNN directory path in
# Append export instruction to the end of .bashrc file echo "export PYTHONPATH=$PYTHONPATH:$PWD" >> ~/.bashrc # Source .bashrc to refresh $PYTHONPATH source ~/.bashrc
MacOS: Permanent export of EpyNN directory path in
# Append export instruction to the end of .bash_profile file echo "export PYTHONPATH=$PYTHONPATH:$PWD" >> ~/.bash_profile # Source .bash_profile to refresh $PYTHONPATH source ~/.bash_profile
# Clone git repository git clone https://github.com/Synthaze/EpyNN # Alternatively, not recommended # pip3 install EpyNN # epynn # Change directory to EpyNN chdir EpyNN # Install EpyNN dependencies pip3 install -r requirements.txt # Show full path of EpyNN directory echo %cd%
Copy the full path of EpyNN directory, then go to:
Control Panel > System > Advanced > Environment variable
If you already have
PYTHONPATH in the
User variables section, select it and click
Edit, otherwise click
New to add it.
Paste the full path of EpyNN directory in the input field, keep in mind that paths in
PYTHONPATH should be comma-separated.
ANSI coloring schemes do work on native Windows10 and later. For prior Windows versions, users should configure their environment to work with ANSI coloring schemes for optimal experience.
1.0 - Initial release
- epynn contains core API sources and related to https://epynn.net/.
- dpynn contains developmental API sources.
- nnlive contains live examples in Python and Jupyter notebook formats.
- https://epynn.net/ contains extensive documentation.
- Change epynn to epynn.
- Implement dpynn.
See CHANGELOG.md for past releases.