This repository contains a practical introduction to artificial neural networks by way of Jupyter notebooks and the Python programming language.
This mini-course was prepared by Igor Barros Barbosa and Aleksander Rognhaugen.
The mini-course is split up into the following components:
- Getting started with NumPy [optional]
- Regression
- Linear regression
- Multivariate linear regression
- Multilayer perceptron
- Convolutional neural networks
- Generative adversarial networks
The zeroth component refers to an optional getting started guide for those of you not too familiar with NumPy arrays, e.g. vectors, matrices. We strongly recommend that you scan through it and use it as a reference for whenever you need it in any of the other Jupyter notebooks.
All of the notebooks use the high-level artificial neural network package Keras for creating and training machine learning models. The notebooks assume you are using TensorFlow.
To run the Jupyter notebooks on your local machine you will have to (i) clone the repository and (ii) start Jupyter via the terminal using the following command:
jupyter notebook
When Jupyter is running, you can point your web browser at http://localhost:8888
to start using the notebook. The start screen displays all available Jupyter notebooks in the current directory. You may have to change directory to find the notebook you want to read.
Press Shift-Enter to run the currently selected cell.
The notebooks assume you have the following Python packages installed
Library | Function |
---|---|
Jupyter | Installs all necessary components of the Jupyter system |
NumPy | Adds support for multi-dimensional arrays along with algorithms to operate on them |
Pillow | A PIL (Python Imaging Library) fork |
matplotlib | A 2D plotting package |
Pandas | A data analysis package |
tqdm | A package for easily displaying progress meters |
TensorFlow | A numerical computing library using data flow graphs |
Keras | A high-level artificial neural network package |
For those of you with pip see requirements.txt.