Deep Learning Keras Tensorflow

Introduction to Deep Neural Networks with Keras and Tensorflow
Alternatives To Deep Learning Keras Tensorflow
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Keras59,4475785 hours ago80June 27, 2023100apache-2.0Python
Deep Learning for humans
Data Science Ipython Notebooks25,242
3 months ago34otherPython
Data science Python notebooks: Deep learning (TensorFlow, Theano, Caffe, Keras), scikit-learn, Kaggle, big data (Spark, Hadoop MapReduce, HDFS), matplotlib, pandas, NumPy, SciPy, Python essentials, AWS, and various command lines.
Netron24,09346914 hours ago587August 01, 202323mitJavaScript
Visualizer for neural network, deep learning, and machine learning models
11 days ago5March 05, 20191,974otherPython
Mask R-CNN for object detection and instance segmentation on Keras and TensorFlow
100 Days Of Ml Code20,187
a year ago9mitJupyter Notebook
D2l En19,251
5 hours ago2November 13, 202294otherPython
Interactive deep learning book with multi-framework code, math, and discussions. Adopted at 500 universities from 70 countries including Stanford, MIT, Harvard, and Cambridge.
Ncnn17,987117 hours ago24November 28, 20221,046otherC++
ncnn is a high-performance neural network inference framework optimized for the mobile platform
Onnx15,62314839413 hours ago29May 04, 2023315apache-2.0Python
Open standard for machine learning interoperability
Best Of Ml Python14,484
4 days ago18cc-by-sa-4.0
🏆 A ranked list of awesome machine learning Python libraries. Updated weekly.
Horovod13,57720115 days ago77June 12, 2023360otherPython
Distributed training framework for TensorFlow, Keras, PyTorch, and Apache MXNet.
Alternatives To Deep Learning Keras Tensorflow
Select To Compare

Alternative Project Comparisons

Deep Learning with Keras and Tensorflow

Author: Valerio Maggio


@leriomaggio valeriomaggio valeriomaggio_at_gmail

git clone

Table of Contents

  • Part I: Introduction

    • Intro to Artificial Neural Networks

      • Perceptron and MLP
      • naive pure-Python implementation
      • fast forward, sgd, backprop
    • Introduction to Deep Learning Frameworks

      • Intro to Theano
      • Intro to Tensorflow
      • Intro to Keras
        • Overview and main features
        • Overview of the core layers
        • Multi-Layer Perceptron and Fully Connected
          • Examples with keras.models.Sequential and Dense
        • Keras Backend
  • Part II: Supervised Learning

    • Fully Connected Networks and Embeddings

      • Intro to MNIST Dataset
      • Hidden Leayer Representation and Embeddings
    • Convolutional Neural Networks

      • meaning of convolutional filters

        • examples from ImageNet
      • Visualising ConvNets

      • Advanced CNN

        • Dropout
        • MaxPooling
        • Batch Normalisation
      • HandsOn: MNIST Dataset

        • FC and MNIST
        • CNN and MNIST
      • Deep Convolutional Neural Networks with Keras (ref: keras.applications)

        • VGG16
        • VGG19
        • ResNet50
    • Transfer Learning and FineTuning

    • Hyperparameters Optimisation

  • Part III: Unsupervised Learning

    • AutoEncoders and Embeddings
    • AutoEncoders and MNIST
      • word2vec and doc2vec (gensim) with keras.datasets
      • word2vec and CNN
  • Part IV: Recurrent Neural Networks

    • Recurrent Neural Network in Keras
      • SimpleRNN, LSTM, GRU
    • LSTM for Sentence Generation
  • PartV: Additional Materials:

    • Custom Layers in Keras
    • Multi modal Network Topologies with Keras


This tutorial requires the following packages:

(Optional but recommended):

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.

Python Version

I'm currently running this tutorial with Python 3 on Anaconda

!python --version
Python 3.5.2

Setting the Environment

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 support

NOTE: 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:

  1. [If you're using Anaconda] 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

  1. [Works with both Anaconda Python or Official CPython]

After Theano is installed:

echo "[global]
device = cuda
floatX = float32

cnmem = 1.0" > ~/.theanorc

Installing Tensorflow

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.

Tensorflow for CPU only:

pip install tensorflow

Tensorflow with GPU support:

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.

Important Note:

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 tensorflow

By default, Keras is configured with theano as backend.

If you want to use tensorflow instead, these are the simple steps to follow:

  1. Create the keras.json (if it does not exist):
touch $HOME/.keras/keras.json
  1. Copy the following content into the file:
    "epsilon": 1e-07,
    "backend": "tensorflow",
    "floatx": "float32",
    "image_data_format": "channels_last"
  1. Verify it is properly configured:
!cat ~/.keras/keras.json
	"epsilon": 1e-07,
	"backend": "tensorflow",
	"floatx": "float32",
	"image_data_format": "channels_last"

Test if everything is up&running

1. Check import

import numpy as np
import scipy as sp
import pandas as pd
import matplotlib.pyplot as plt
import sklearn
import keras
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

If everything worked till down here, you're ready to start!

Popular Tensorflow Projects
Popular Keras Projects
Popular Machine Learning Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Deep Learning
Keras Tensorflow
Keras Tutorials