GPU Technology Conference - DIGITS DEEP …...2015 Using DIGITS Deep Learning GPU Training System...

Preview:

Citation preview

DIGITS DEEP LEARNING GPU TRAINING SYSTEM

1 Introduction to Deep Learning

2 What is DIGITS

3 How to use DIGITS AGENDA

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

What is DEEP LEARNING?

Input Result

Image Classification with DNNs

Training

Inference

cars buses trucks motorcycles

truck

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

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

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

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?

What is DIGITS

Deep Learning GPU Training System

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

DIGITS

Deep Learning GPU Training System

Who it is for

Deep learning researchers

Automotive

Medical Researchers

Defense

Intelligent Video Analytics

Web Companies

Startups

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)

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

Using DIGITS

Deep Learning GPU Training System

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

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

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

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

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

Create the Database

Create Training and Validation Set

Validation

images

truck cars

images

person house

planes dogs

Training

bikes cats

Create the Database

train

val

Apply rotation, color distortion,

noise to training set

planes cats

Creating the Database

Training and validation data set information

Job status

information displays

here – progress,

completion, and

errors

Category data information is

posted

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

Network Configuration

Insert your network here

Choose a preconfigured network

OR choose a previous configuration

OR add it here

Start training

Select training dataset

Network Configuration

Select a standard network and start training

OR

Customize a Standard Network

Choose a preconfigured network

Select training dataset

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

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

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

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

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

DIGITS Compare Networks

DIGITS

Classify Multiple Images

Upload a text file with URLs or

images on the host machine

Thank you!

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

Recommended