gpu technology conference - digits deep …...2015 using digits deep learning gpu training system...

35
DIGITS DEEP LEARNING GPU TRAINING SYSTEM

Upload: others

Post on 23-Aug-2020

17 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: GPU Technology Conference - DIGITS DEEP …...2015 Using DIGITS Deep Learning GPU Training System How to start DIGITS Two options “digits-devserver” Starts a development server

DIGITS DEEP LEARNING GPU TRAINING SYSTEM

Page 2: GPU Technology Conference - DIGITS DEEP …...2015 Using DIGITS Deep Learning GPU Training System How to start DIGITS Two options “digits-devserver” Starts a development server

1 Introduction to Deep Learning

2 What is DIGITS

3 How to use DIGITS AGENDA

Page 3: GPU Technology Conference - DIGITS DEEP …...2015 Using DIGITS Deep Learning GPU Training System How to start DIGITS Two options “digits-devserver” Starts a development server

Practical DEEP LEARNING Examples

Image Classification, Object Detection, Localization, Action Recognition, Scene Understanding

Speech Recognition, Speech Translation, Natural Language Processing

Pedestrian Detection, Traffic Sign Recognition Breast Cancer Cell Mitosis Detection, Volumetric Brain Image Segmentation

Page 4: GPU Technology Conference - DIGITS DEEP …...2015 Using DIGITS Deep Learning GPU Training System How to start DIGITS Two options “digits-devserver” Starts a development server

What is DEEP LEARNING?

Input Result

Page 5: GPU Technology Conference - DIGITS DEEP …...2015 Using DIGITS Deep Learning GPU Training System How to start DIGITS Two options “digits-devserver” Starts a development server

Image Classification with DNNs

Training

Inference

cars buses trucks motorcycles

truck

Page 6: GPU Technology Conference - DIGITS DEEP …...2015 Using DIGITS Deep Learning GPU Training System How to start DIGITS Two options “digits-devserver” Starts a development server

Image Classification with DNNs

Training

cars buses trucks motorcycles

Typical training run

Pick a DNN design

Input 100 million training images

spanning 1,000 categories

One week of computation

Test accuracy

If bad: modify DNN, fix training

set or update training parameters

Page 7: GPU Technology Conference - DIGITS DEEP …...2015 Using DIGITS Deep Learning GPU Training System How to start DIGITS Two options “digits-devserver” Starts a development server

Why are GPUs good for deep learning?

GPUs deliver --

same or better prediction accuracy

faster results

smaller footprint

lower power

Neural Networks GPUs

Inherently

Parallel Matrix

Operations

FLOPS

0 0 4

60

110 28%

26%

16%

12%

7%

2010 2011 2012 2013 2014

bird

frog

person

dog

chair

Page 8: GPU Technology Conference - DIGITS DEEP …...2015 Using DIGITS Deep Learning GPU Training System How to start DIGITS Two options “digits-devserver” Starts a development server

Deep Learning Acceleration with GPUs

CPU is 16 core Haswell E5-2698 at 2.3 GHz, with 3.6 GHz Turbo

GPU is NVIDIA Titan X

Page 9: GPU Technology Conference - DIGITS DEEP …...2015 Using DIGITS Deep Learning GPU Training System How to start DIGITS Two options “digits-devserver” Starts a development server

Image Recognition

Face Recognition

Gesture Recognition

Video Search & Analytics

Speech Recognition & Translation

Recommendation Engines

Indexing & Search

Use Cases Industry

Image Analytics for Creative

Cloud

Image Classification

Speech/Image Recognition

Recommendation

Hadoop

Search Rankings

Research

WHO IS USING DEEP Learning?

Page 10: GPU Technology Conference - DIGITS DEEP …...2015 Using DIGITS Deep Learning GPU Training System How to start DIGITS Two options “digits-devserver” Starts a development server

What is DIGITS

Deep Learning GPU Training System

Page 11: GPU Technology Conference - DIGITS DEEP …...2015 Using DIGITS Deep Learning GPU Training System How to start DIGITS Two options “digits-devserver” Starts a development server

DIGITS

Deep Learning GPU Training System

Visualization tool for DNN training

Use default network, import one, or

design your own

Import your training data from disk or

web

Monitor multiple trainings in parallel

Page 12: GPU Technology Conference - DIGITS DEEP …...2015 Using DIGITS Deep Learning GPU Training System How to start DIGITS Two options “digits-devserver” Starts a development server

DIGITS

Deep Learning GPU Training System

Who it is for

Deep learning researchers

Automotive

Medical Researchers

Defense

Intelligent Video Analytics

Web Companies

Startups

Page 13: GPU Technology Conference - DIGITS DEEP …...2015 Using DIGITS Deep Learning GPU Training System How to start DIGITS Two options “digits-devserver” Starts a development server

DIGITS

Deep Learning GPU Training System

Available at

developer.nvidia.com/digits

Free to use

v1.0 supports classification on images

Future versions: More problem types

and data formats (video, speech)

(Also available on Github for

advanced developers)

Page 14: GPU Technology Conference - DIGITS DEEP …...2015 Using DIGITS Deep Learning GPU Training System How to start DIGITS Two options “digits-devserver” Starts a development server

NVIDIA® DIGITS Roadmap

Support for image

classification networks

Visualize layer-wise

responses

Run locally, manage single-

GPU jobs

Framework Support

Features

Version 1 March 2015

Caffe

Additional image analysis

network types

Richer visual analysis tools

Run locally, more job

management options

Continued improvement to

visualization tools

Front end to cluster task

scheduler

Additional frameworks

Version 3 Version 2

API for easy framework

integration

2015

Page 15: GPU Technology Conference - DIGITS DEEP …...2015 Using DIGITS Deep Learning GPU Training System How to start DIGITS Two options “digits-devserver” Starts a development server

Using DIGITS

Deep Learning GPU Training System

Page 16: GPU Technology Conference - DIGITS DEEP …...2015 Using DIGITS Deep Learning GPU Training System How to start DIGITS Two options “digits-devserver” Starts a development server

How to start DIGITS

Two options

“digits-devserver”

Starts a development server that listens on port 5000

“digits-server”

Gunicorn application that listens on port 8080. You can configure this with nginx,

and access DIGITS @ http://localhost/

DIGITS

Main Console

Page 17: GPU Technology Conference - DIGITS DEEP …...2015 Using DIGITS Deep Learning GPU Training System How to start DIGITS Two options “digits-devserver” Starts a development server

DIGITS Workflow

Create your database

Configure your model

Choose a default network, modify

one, or create your own

Main Console

Create your dataset

Configure your Network

Start Training

Choose your database

Page 18: GPU Technology Conference - DIGITS DEEP …...2015 Using DIGITS Deep Learning GPU Training System How to start DIGITS Two options “digits-devserver” Starts a development server

DIGITS Workflow

Create your database

Configure your model

Choose a default network, modify

one, or create your own

Main Console

Create your dataset

Configure your Network

Start Training

Choose your database

Page 19: GPU Technology Conference - DIGITS DEEP …...2015 Using DIGITS Deep Learning GPU Training System How to start DIGITS Two options “digits-devserver” Starts a development server

Create the Database

Image parameter

options

Create your dataset

Insert the path to your train

and validation set

DIGITS can automatically create your

training and validation set

OR

OR use a URL list

Page 20: GPU Technology Conference - DIGITS DEEP …...2015 Using DIGITS Deep Learning GPU Training System How to start DIGITS Two options “digits-devserver” Starts a development server

Create the Database

Image directory

on host machine

images

truck cars

images

person house

planes dogs

images

DIGITS creates your training

and validation set for you.

Insert the path to your images here

cats bikes

Page 21: GPU Technology Conference - DIGITS DEEP …...2015 Using DIGITS Deep Learning GPU Training System How to start DIGITS Two options “digits-devserver” Starts a development server

Create the Database

Create Training and Validation Set

Validation

images

truck cars

images

person house

planes dogs

Training

bikes cats

Page 22: GPU Technology Conference - DIGITS DEEP …...2015 Using DIGITS Deep Learning GPU Training System How to start DIGITS Two options “digits-devserver” Starts a development server

Create the Database

train

val

Apply rotation, color distortion,

noise to training set

planes cats

Page 23: GPU Technology Conference - DIGITS DEEP …...2015 Using DIGITS Deep Learning GPU Training System How to start DIGITS Two options “digits-devserver” Starts a development server

Creating the Database

Training and validation data set information

Job status

information displays

here – progress,

completion, and

errors

Category data information is

posted

Page 24: GPU Technology Conference - DIGITS DEEP …...2015 Using DIGITS Deep Learning GPU Training System How to start DIGITS Two options “digits-devserver” Starts a development server

DIGITS Workflow

Create your database

Configure your model

Choose a default network, modify

one, or create your own

Main Console

Create your dataset

Configure your Network

Start Training

Choose your database

Page 25: GPU Technology Conference - DIGITS DEEP …...2015 Using DIGITS Deep Learning GPU Training System How to start DIGITS Two options “digits-devserver” Starts a development server

Network Configuration

Insert your network here

Choose a preconfigured network

OR choose a previous configuration

OR add it here

Start training

Select training dataset

Page 26: GPU Technology Conference - DIGITS DEEP …...2015 Using DIGITS Deep Learning GPU Training System How to start DIGITS Two options “digits-devserver” Starts a development server

Network Configuration

Select a standard network and start training

OR

Customize a Standard Network

Choose a preconfigured network

Select training dataset

Page 27: GPU Technology Conference - DIGITS DEEP …...2015 Using DIGITS Deep Learning GPU Training System How to start DIGITS Two options “digits-devserver” Starts a development server

Network Configuration

Select a standard network and start training

OR

Customize a Standard Network

Choose a preconfigured network

Select training dataset

Make network changes here

Page 28: GPU Technology Conference - DIGITS DEEP …...2015 Using DIGITS Deep Learning GPU Training System How to start DIGITS Two options “digits-devserver” Starts a development server

Network Configuration

Select a standard network and start training

OR

Customize a Standard Network

Choose a preconfigured network

Select training dataset

Make network changes here

Page 29: GPU Technology Conference - DIGITS DEEP …...2015 Using DIGITS Deep Learning GPU Training System How to start DIGITS Two options “digits-devserver” Starts a development server

Network Configuration

Select a standard network and start training

OR

Customize a Standard Network

Visualize your network Choose a preconfigured network

Select training dataset

Make network changes here

Page 30: GPU Technology Conference - DIGITS DEEP …...2015 Using DIGITS Deep Learning GPU Training System How to start DIGITS Two options “digits-devserver” Starts a development server

Network Configuration

Choose a preconfigured network

Start training

Select training dataset

Make network changes here

Select a standard network and start training

OR

Customize a Standard Network

Visualize your network

Start training

Page 31: GPU Technology Conference - DIGITS DEEP …...2015 Using DIGITS Deep Learning GPU Training System How to start DIGITS Two options “digits-devserver” Starts a development server

DIGITS

Download

network files

Training status

Accuracy and

loss values

during training

Learning rate

Classification on

the with the

network

snapshots

Classification

Visualize DNN performance in real time

Compare networks

Page 32: GPU Technology Conference - DIGITS DEEP …...2015 Using DIGITS Deep Learning GPU Training System How to start DIGITS Two options “digits-devserver” Starts a development server

DIGITS Compare Networks

Page 33: GPU Technology Conference - DIGITS DEEP …...2015 Using DIGITS Deep Learning GPU Training System How to start DIGITS Two options “digits-devserver” Starts a development server

DIGITS

Classify Multiple Images

Upload a text file with URLs or

images on the host machine

Page 34: GPU Technology Conference - DIGITS DEEP …...2015 Using DIGITS Deep Learning GPU Training System How to start DIGITS Two options “digits-devserver” Starts a development server

Thank you!

Page 35: GPU Technology Conference - DIGITS DEEP …...2015 Using DIGITS Deep Learning GPU Training System How to start DIGITS Two options “digits-devserver” Starts a development server

NVIDIA Resources

• Try out GPU Computing: developer.nvidia.com/cuda-education-training

• Subscribe to Parallel Forall blog: devblogs.nvidia.com/parallelforall

• CUDACasts at bit.ly/cudacasts

• Self-paced labs: nvidia.qwiklab.com

• 90-minute labs, simply need a supported web browser

• Sign up as a Registered Developer -www.nvidia.com/paralleldeveloper

• Technical Questions: • NVIDIA Developer forums devtalk.nvidia.com

• Search or ask on stackoverflow.com/tags/cuda

• GPU Technology Conference www.gputechconf.com