git clone https://github.com/leriomaggio/deep-learning-keras-tensorflow.git
Part I: Introduction
Intro to Artificial Neural Networks
Introduction to Deep Learning Frameworks
core
layerskeras.models.Sequential
and Dense
Part II: Supervised Learning
Fully Connected Networks and Embeddings
Convolutional Neural Networks
meaning of convolutional filters
Visualising ConvNets
Advanced CNN
HandsOn: MNIST Dataset
Deep Convolutional Neural Networks with Keras (ref: keras.applications
)
Transfer Learning and FineTuning
Hyperparameters Optimisation
Part III: Unsupervised Learning
keras.datasets
Part IV: Recurrent Neural Networks
SimpleRNN
, LSTM
, GRU
PartV: Additional Materials:
This tutorial requires the following packages:
Python version 3.5
numpy
version 1.10 or later: http://www.numpy.org/
scipy
version 0.16 or later: http://www.scipy.org/
matplotlib
version 1.4 or later: http://matplotlib.org/
pandas
version 0.16 or later: http://pandas.pydata.org
scikit-learn
version 0.15 or later: http://scikit-learn.org
keras
version 2.0 or later: http://keras.io
tensorflow
version 1.0 or later: https://www.tensorflow.org
ipython
/jupyter
version 4.0 or later, with notebook support
(Optional but recommended):
pyyaml
hdf5
and h5py
(required if you use model saving/loading functions in keras)The easiest way to get (most) these is to use an all-in-one installer such as Anaconda from Continuum. These are available for multiple architectures.
I'm currently running this tutorial with Python 3 on Anaconda
In this repository, files to re-create virtual env with conda
are provided for Linux and OSX systems, namely deep-learning.yml
and deep-learning-osx.yml
, respectively.
To re-create the virtual environments (on Linux, for example):
conda env create -f deep-learning.yml
For OSX, just change the filename, accordingly.
Notes about Installing Theano with GPU supportNOTE: Read this section only if after pip installing theano
, it raises error in enabling the GPU support!
Since version 0.9
Theano introduced the libgpuarray
in the stable release (it was previously only available in the development version).
The goal of libgpuarray
is (from the documentation) make a common GPU ndarray (n dimensions array) that can be reused by all projects that is as future proof as possible, while keeping it easy to use for simple need/quick test.
Here are some useful tips (hopefully) I came up with to properly install and configure theano
on (Ubuntu) Linux with GPU support:
conda install theano pygpu
should be just fine!Sometimes it is suggested to install pygpu
using the conda-forge
channel:
conda install -c conda-forge pygpu
Install libgpuarray
from source: Step-by-step install libgpuarray user library
Then, install pygpu
from source: (in the same source folder) python setup.py build && python setup.py install
pip install theano
.
After Theano is installed:
echo "[global]
device = cuda
floatX = float32
[lib]
cnmem = 1.0" > ~/.theanorc
To date tensorflow
comes in two different packages, namely tensorflow
and tensorflow-gpu
, whether you want to install the framework with CPU-only or GPU support, respectively.
For this reason, tensorflow
has not been included in the conda envs and has to be installed separately.
pip install tensorflow-gpu
Note: NVIDIA Drivers and CuDNN must be installed and configured before hand. Please refer to the official Tensorflow documentation for further details.
All the code provided+ in this tutorial can run even if tensorflow
is not installed, and so using theano
as the (default) backend!
This is exactly the power of Keras!
Therefore, installing tensorflow
is not stricly required!
+: Apart from the 1.2 Introduction to Tensorflow tutorial, of course.
Configure Keras with tensorflowBy default, Keras is configured with theano
as backend.
If you want to use tensorflow
instead, these are the simple steps to follow:
keras.json
(if it does not exist):touch $HOME/.keras/keras.json
{
"epsilon": 1e-07,
"backend": "tensorflow",
"floatx": "float32",
"image_data_format": "channels_last"
}
{
"epsilon": 1e-07,
"backend": "tensorflow",
"floatx": "float32",
"image_data_format": "channels_last"
}
Test if everything is up&running
import numpy as np import scipy as sp import pandas as pd import matplotlib.pyplot as plt import sklearn
Using TensorFlow backend.
2. Check installed Versions
import numpy print('numpy:', numpy.__version__) import scipy print('scipy:', scipy.__version__) import matplotlib print('matplotlib:', matplotlib.__version__) import IPython print('iPython:', IPython.__version__) import sklearn print('scikit-learn:', sklearn.__version__)
numpy: 1.11.1
scipy: 0.18.0
matplotlib: 1.5.2
iPython: 5.1.0
scikit-learn: 0.18
import keras print('keras: ', keras.__version__) # optional import theano print('Theano: ', theano.__version__) import tensorflow as tf print('Tensorflow: ', tf.__version__)
keras: 2.0.2
Theano: 0.9.0
Tensorflow: 1.0.1
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4