Book Image

Python: Advanced Guide to Artificial Intelligence

By : Giuseppe Bonaccorso, Rajalingappaa Shanmugamani
Book Image

Python: Advanced Guide to Artificial Intelligence

By: Giuseppe Bonaccorso, Rajalingappaa Shanmugamani

Overview of this book

This Learning Path is your complete guide to quickly getting to grips with popular machine learning algorithms. You'll be introduced to the most widely used algorithms in supervised, unsupervised, and semi-supervised machine learning, and learn how to use them in the best possible manner. Ranging from Bayesian models to the MCMC algorithm to Hidden Markov models, this Learning Path will teach you how to extract features from your dataset and perform dimensionality reduction by making use of Python-based libraries. You'll bring the use of TensorFlow and Keras to build deep learning models, using concepts such as transfer learning, generative adversarial networks, and deep reinforcement learning. Next, you'll learn the advanced features of TensorFlow1.x, such as distributed TensorFlow with TF clusters, deploy production models with TensorFlow Serving. You'll implement different techniques related to object classification, object detection, image segmentation, and more. By the end of this Learning Path, you'll have obtained in-depth knowledge of TensorFlow, making you the go-to person for solving artificial intelligence problems This Learning Path includes content from the following Packt products: • Mastering Machine Learning Algorithms by Giuseppe Bonaccorso • Mastering TensorFlow 1.x by Armando Fandango • Deep Learning for Computer Vision by Rajalingappaa Shanmugamani
Table of Contents (31 chapters)
Title Page
About Packt
Contributors
Preface
19
Tensor Processing Units
Index

RNN in Keras for MNIST data


Although RNN is mostly used for sequence data, it can also be used for image data. We know that images have minimum two dimensions - height and width. Now think of one of the dimensions as time steps, and other as features. For MNIST, the image size is 28 x 28 pixels, thus we can think of an MNIST image as having 28 time steps with 28 features in each timestep.

Let us build and train an RNN for MNIST in Keras to quickly glance over the process of building and training the RNN models.

Note

You can follow along with the code in the Jupyter notebook ch-06_RNN_MNIST_Keras.

Import the required modules:

import keras
from keras.models import Sequential
from keras.layers import Dense, Activation
from keras.layers.recurrent import SimpleRNN
from keras.optimizers import RMSprop
from keras.optimizers import SGD

Get the MNIST data and transform the data from 784 pixels in 1-D to 28 x 28 pixels in 2-D:

from tensorflow.examples.tutorials.mnist import input_data
mnist = input_data...