# Practical Deep Learning Contents

### Day 1

### Introduction

Introduction to Artificial Intelligence and the focus of the class

### Linear Regression

Linear Regression definition, how to create models, how to train linear regression models, how to generate data, how to test accuracy of regression models

### Exercise 1

Linear Regression using standard Python

### Perceptron

Classification definition, basic neuron definition and operation, neuron creation, neuron training, accuracy testing

### Exercise 2

Implementing a Perceptron using standard Python

### Multi-Class Models

Classification using multiple neurons, multiple neuron models, multiple neuron error calculation, multiple neuron optimization, multiple neuron training

### Exercise 3

Implementing a multi-class classification model using standard Python

### Deep Neural Networks

Activation functions, multiple layer network creation, multiple layer operation, multiple layer optimization, multiple layer error propagation, loss differentiation

### Exercise 4

Implementing a Deep Neural Network using standard Python

### Day 2

### Artificial Intelligence Frameworks

Introduction to AI frameworks, Introduction to Tensorflow

### Tensorflow Linear Regression

Placeholders, Variables, Sessions, Running sessions, optimization, calculating error

### Exercise 5

Implementing Linear Regression of housing prices using TensorFlow

### Tensorflow Classification

Softmax definition, Cross Entropy definition, error propagation, Tensorflow Optimizers, Learning rate, epochs

### Exercise 6

Implementing MNIST classification using TensorFlow

### Tensorflow Deep Networks

Tensorflow activation functions, Tensorflow differentiation, Tensorflow error propagation, Tensorflow Deep Network optimization, Deep Network descriptions

### Exercise 7

Implementing MNIST classification using a Deep Neural Network with TensorFlow

### Sessions, Graphs, Saving and Restoring

Session and graph description. Running sessions on multiple platforms including CPU, GPU, Mobile/Embedded. Save a graph, restore a graph, using a graph for inference only.

### Exercise 9 and 9a

Training an MNIST classifier network, save a checkpoint, restore the checkpoint in a new session and evaluate results

### Day 3

### Visualizing Model Operation

Tensorboard, adding summaries, adding histograms, adding graphs, interpreting results

### Exercise 10

Using Tensorboard to visualize training and results

### Convolutional Neural Networks

Convolutional filters, feature maps, convolutional layers, pooling layers, fully connected layers, stride, padding, constructing CNN networks, training CNN networks

### Exercise 11

Implementing a CNN network using tf.layers

### Transfer Learning

What makes a good data set, balanced data sets, distinct data sets, non-conflicting data, ImageNet, Inception-V3, transfer learning description, transfer learning operation, transfer learning

### Exercise 12

Retrain Inception-V3 with new training data

### Object Detection

Detecting multiple objects in an image, bounding boxes, different types of object detection algorithms, object detection transfer learning

### Embedded Vision

TensorFlow Lite, weight quantization, operation on mobile/embedded devices