Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kourouklides/artificial_neural_networks
A collection of Methods and Models for various architectures of Artificial Neural Networks
https://github.com/kourouklides/artificial_neural_networks
artificial-neural-networks bayesian-inference bayesian-learning bayesian-neural-networks data-science deep-learning deep-neural-networks edward edward2 keras machine-learning machine-learning-algorithms machinelearning neural-networks probabilistic-modeling probabilistic-models python tensorflow variational-inference
Last synced: 1 day ago
JSON representation
A collection of Methods and Models for various architectures of Artificial Neural Networks
- Host: GitHub
- URL: https://github.com/kourouklides/artificial_neural_networks
- Owner: kourouklides
- License: apache-2.0
- Created: 2017-12-05T04:18:00.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2024-05-03T19:42:49.000Z (7 months ago)
- Last Synced: 2024-05-03T20:59:40.212Z (7 months ago)
- Topics: artificial-neural-networks, bayesian-inference, bayesian-learning, bayesian-neural-networks, data-science, deep-learning, deep-neural-networks, edward, edward2, keras, machine-learning, machine-learning-algorithms, machinelearning, neural-networks, probabilistic-modeling, probabilistic-models, python, tensorflow, variational-inference
- Language: Python
- Homepage:
- Size: 6.61 MB
- Stars: 41
- Watchers: 9
- Forks: 11
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# artificial_neural_networks
[![GitHub license](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](https://raw.githubusercontent.com/kourouklides/artificial_neural_networks/master/LICENSE)
[![Contributions
welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg)](#contributing)## About
This repository contains a collection of Methods and Models for various architectures of __Artificial Neural Networks__.For comparison purposes, sometimes other Machine Learning Methods and Models might also be included.
The focus of this repository is mainly on __Supervised Learning__ and to a lesser degree on __Unsupervised Learning__.
The code implementation is in __Python 3__ using [TensorFlow](https://www.tensorflow.org/) library (and [Keras](https://keras.io/) which is now part of it).
The repository is the one used for the module [CEI 523: Data Science](https://github.com/kourouklides/CEI_523_2019) at the Master's degree [MSc in Data Science and Engineering](https://www.cut.ac.cy/faculties/fet/eecei/module-description/modules-msc-data-science-and-engineering/?languageId=1) at the [Cyprus University of Technology](https://www.cut.ac.cy/) and also, at the [meetups](https://github.com/PyDataCyprus/meetups) and [workshops](https://github.com/PyDataCyprus/workshops) of [PyData Cyprus](https://www.meetup.com/PyDataCyprus/).
If you like this repository or if you found it useful, feel free to __Star, Fork, Watch__ it or __share__ it online.
__Note:__ Hyperparameter Optimization, Model Selection and Model Evaluation are outside the scope of this repository.
## Introduction
* Currently, this repository is neither a library nor a framework, but it is a collection of __code examples__
* The code is well documented so that it can be used for both __educational purposes__ and for __real-life applications__
* This repository is intended to be friendly to beginners, but it is not limited just to them
* Since TensorFlow is ideal for both __Research__ and __Production Development__, then so is this repository
* In order to deploy the source code into Production, a few extensions will have to be made first
* The [license](LICENSE) of this repository essentially allows you to do whatever you want with the code## Downloading
It is strongly recommended that you download the whole GitHub repository, but you can also try to download just the individual Python files and see if they work. However, there is no guarantee that individual files will work on their own.To download the whole repository, there are currently two mains options:
* Clone the repository either using [GitHub Desktop](https://desktop.github.com/) or using the [command line (terminal)](https://help.github.com/articles/cloning-a-repository/):git clone https://github.com/kourouklides/artificial_neural_networks.git
* Download the respository as a ZIP file
You can choose the one which best suits your needs. If you do not have __Git__ on Windows, then you can downloawd it [here](https://git-scm.com/download/win).
## Setup and Installation
The code should run on any machine (i.e. Windows, macOS, Linux) that supports __Python 3__.Guides and instructions on how to install the necessary libraries and how to setup your environment can be found [here](setup/README.md).
## Running from the terminal
If you do not want to use an IDE (e.g. [Spyder](https://www.spyder-ide.org/)) and want to run a script from the command line (terminal) then you __should use__ it with the [``-m`` command-line flag](https://docs.python.org/3.6/using/cmdline.html#cmdoption-m) and __without__ its ``.py`` extension, for the reasons explained [here](https://stackoverflow.com/questions/22241420/execution-of-python-code-with-m-option-or-not).
For example, by __replacing__ \ accordingly, you can __either__ run this:
cd /artificial_neural_networks/architectures/feedforward_neural_networks/standard_neural_networks/
python -m snn_dense_mnist__or__ you can run this:
cd /artificial_neural_networks/
python -m artificial_neural_networks.architectures.feedforward_neural_networks.standard_neural_networks.snn_dense_mnist## Methods and Models
This repository includes the following __architectures__:- [Feedforward Neural Network](artificial_neural_networks/architectures/feedforward_neural_networks)
- - [ ] Bayesian Neural Networks
- - [x] [Convolutional Neural Networks](artificial_neural_networks/architectures/feedforward_neural_networks/convolutional_neural_networks)
- - [x] [Standard Neural Networks](artificial_neural_networks/architectures/feedforward_neural_networks/standard_neural_networks)
- [Recurrent Neural Network](artificial_neural_networks/architectures/recurrent_neural_networks)
- - [ ] GRUs
- - [x] [LSTMs](artificial_neural_networks/architectures/recurrent_neural_networks/LSTM)
- - [ ] Vanilla RNNsSome advanced __Methods__ of Machine Learning are also included:
- - [ ] Ensemble Learning
- - [ ] Transfer Learning## Areas of Application
Various applications of the aforementioned Methods and Models are also included and they fall under the following domains, in alphabetical order:- - [ ] [Bioinformatics](artificial_neural_networks/applications/bioinformatics)
- - [ ] [Compressed Sensing](artificial_neural_networks/applications/compressed_sensing)
- - [ ] [Computational Finance](artificial_neural_networks/applications/computational_finance) (including Financial Econometrics)
- - [ ] [Computer Vision](artificial_neural_networks/applications/computer_vision)
- - [ ] [Control](artificial_neural_networks/applications/control)
- - [ ] Energy
- - [ ] Environmetrics
- - [ ] Geospatial Data (including LiDAR, Hyperspectral images and GIS)
- - [ ] [Medical Imaging](artificial_neural_networks/applications/medical_imaging)
- - [ ] [Natural Language Processing](artificial_neural_networks/applications/natural_language_processing)
- - [ ] Robotics
- - [ ] Recommender Systems
- - [ ] [Sequential Data](artificial_neural_networks/applications/sequential_data) (including Time Series)
- - [ ] [Speech Processing](artificial_neural_networks/applications/speech_processing)## Theory
Finally, regarding theory of Artificial Neural Networks, you can check the following pages on my personal wiki:- [Artificial Neural Networks](https://wiki.kourouklides.com/wiki/Artificial_Neural_Network)
- [Deep Learning](https://wiki.kourouklides.com/wiki/Deep_Learning)
- [Machine Learning](https://wiki.kourouklides.com/wiki/Machine_Learning)The wiki contains curated lists of online and offline resources (e.g. books, papers, URL links) about these topics.
## Contributing
Contributors are all welcome.
Please note that this project is __under development__, so it is possible that you might run into bugs and/or problems.
So, if you find any bugs and/or problems, please feel free to open an [issue](https://github.com/kourouklides/artificial_neural_networks/issues) or submit a [pull request](https://github.com/kourouklides/artificial_neural_networks/pulls).
## License
[Apache License 2.0](LICENSE)