Rochester Institute of Technology KGCOE Computer ... · TensorFlow Concepts TensorFlow 101 Software...

28
TensorFlow Tutorial Western New York Image and Signal Processing Workshop 2017 Syed Ahmed KGCOE Computer Engineering Department Rochester Institute of Technology

Transcript of Rochester Institute of Technology KGCOE Computer ... · TensorFlow Concepts TensorFlow 101 Software...

Page 1: Rochester Institute of Technology KGCOE Computer ... · TensorFlow Concepts TensorFlow 101 Software Development Workflow Profiling your code Multi-GPU execution Inference Pipeline

TensorFlow TutorialWestern New York Image and Signal Processing Workshop 2017

Syed AhmedKGCOE Computer Engineering Department

Rochester Institute of Technology

Page 2: Rochester Institute of Technology KGCOE Computer ... · TensorFlow Concepts TensorFlow 101 Software Development Workflow Profiling your code Multi-GPU execution Inference Pipeline

syed-ahmed.github.io/tensorflow-tutorial

Page 3: Rochester Institute of Technology KGCOE Computer ... · TensorFlow Concepts TensorFlow 101 Software Development Workflow Profiling your code Multi-GPU execution Inference Pipeline

Agenda

TensorFlow Concepts

TensorFlow 101

Software Development Workflow

Profiling your code

Multi-GPU execution

Inference Pipeline

3

Page 4: Rochester Institute of Technology KGCOE Computer ... · TensorFlow Concepts TensorFlow 101 Software Development Workflow Profiling your code Multi-GPU execution Inference Pipeline

How do I learn TensorFlow?

4

Page 5: Rochester Institute of Technology KGCOE Computer ... · TensorFlow Concepts TensorFlow 101 Software Development Workflow Profiling your code Multi-GPU execution Inference Pipeline

● Pick a paper without code● Implement the code● Publish in GitHub● Tweet/Email to the Author

5

Page 6: Rochester Institute of Technology KGCOE Computer ... · TensorFlow Concepts TensorFlow 101 Software Development Workflow Profiling your code Multi-GPU execution Inference Pipeline

TensorFlow Concepts

TensorFlow 101

Software Development Workflow

Profiling your code

Multi-GPU execution

Inference Pipeline

6

Page 7: Rochester Institute of Technology KGCOE Computer ... · TensorFlow Concepts TensorFlow 101 Software Development Workflow Profiling your code Multi-GPU execution Inference Pipeline

What’s in the name?

Tensor Flow

7

Page 8: Rochester Institute of Technology KGCOE Computer ... · TensorFlow Concepts TensorFlow 101 Software Development Workflow Profiling your code Multi-GPU execution Inference Pipeline

Data Flow

8

Page 9: Rochester Institute of Technology KGCOE Computer ... · TensorFlow Concepts TensorFlow 101 Software Development Workflow Profiling your code Multi-GPU execution Inference Pipeline

Data Flow Programming and Architecture

9

Page 10: Rochester Institute of Technology KGCOE Computer ... · TensorFlow Concepts TensorFlow 101 Software Development Workflow Profiling your code Multi-GPU execution Inference Pipeline

TensorFlow Concepts

TensorFlow 101

Software Development Workflow

Profiling your code

Multi-GPU execution

Inference Pipeline

10

Page 11: Rochester Institute of Technology KGCOE Computer ... · TensorFlow Concepts TensorFlow 101 Software Development Workflow Profiling your code Multi-GPU execution Inference Pipeline

TensorFlow Concepts

TensorFlow 101

Software Development Workflow

Profiling your code

Multi-GPU execution

Inference Pipeline

11

Page 12: Rochester Institute of Technology KGCOE Computer ... · TensorFlow Concepts TensorFlow 101 Software Development Workflow Profiling your code Multi-GPU execution Inference Pipeline

TensorFlow 101

Follow Jupyter Notebook

12

Page 13: Rochester Institute of Technology KGCOE Computer ... · TensorFlow Concepts TensorFlow 101 Software Development Workflow Profiling your code Multi-GPU execution Inference Pipeline

TensorFlow Concepts

TensorFlow 101

Software Development Workflow

Profiling your code

Multi-GPU execution

Inference Pipeline

13

Page 14: Rochester Institute of Technology KGCOE Computer ... · TensorFlow Concepts TensorFlow 101 Software Development Workflow Profiling your code Multi-GPU execution Inference Pipeline

TensorFlow Concepts

TensorFlow 101

Software Development Workflow

Profiling your code

Multi-GPU execution

Inference Pipeline

14

Page 15: Rochester Institute of Technology KGCOE Computer ... · TensorFlow Concepts TensorFlow 101 Software Development Workflow Profiling your code Multi-GPU execution Inference Pipeline

Structuring your project

15

https://github.com/tensorflow/models

Page 16: Rochester Institute of Technology KGCOE Computer ... · TensorFlow Concepts TensorFlow 101 Software Development Workflow Profiling your code Multi-GPU execution Inference Pipeline

Docker Containers for ReproducibilityFollow link in Jupyter Notebook

16

Page 17: Rochester Institute of Technology KGCOE Computer ... · TensorFlow Concepts TensorFlow 101 Software Development Workflow Profiling your code Multi-GPU execution Inference Pipeline

Debugginghttps://wookayin.github.io/tensorflow-talk-debugging/#1

17

Page 18: Rochester Institute of Technology KGCOE Computer ... · TensorFlow Concepts TensorFlow 101 Software Development Workflow Profiling your code Multi-GPU execution Inference Pipeline

TensorFlow Concepts

TensorFlow 101

Software Development Workflow

Profiling your code

Multi-GPU execution

Inference Pipeline

18

Page 19: Rochester Institute of Technology KGCOE Computer ... · TensorFlow Concepts TensorFlow 101 Software Development Workflow Profiling your code Multi-GPU execution Inference Pipeline

TensorFlow Concepts

TensorFlow 101

Software Development Workflow

Profiling your code

Multi-GPU execution

Inference Pipeline

19

Page 20: Rochester Institute of Technology KGCOE Computer ... · TensorFlow Concepts TensorFlow 101 Software Development Workflow Profiling your code Multi-GPU execution Inference Pipeline

TF ProfilerFollow on Jupyter Notebook

20

Page 21: Rochester Institute of Technology KGCOE Computer ... · TensorFlow Concepts TensorFlow 101 Software Development Workflow Profiling your code Multi-GPU execution Inference Pipeline

NVIDIA Visual Profiler1. nvprof -o out.nvvp python mnist_deep.py2. Open out.nvvp in NVIDIA Visual Profiler3. Optimize code to minimize gap in compute

21

Page 22: Rochester Institute of Technology KGCOE Computer ... · TensorFlow Concepts TensorFlow 101 Software Development Workflow Profiling your code Multi-GPU execution Inference Pipeline

TensorFlow Concepts

TensorFlow 101

Software Development Workflow

Profiling your code

Multi-GPU execution

Inference Pipeline

22

Page 23: Rochester Institute of Technology KGCOE Computer ... · TensorFlow Concepts TensorFlow 101 Software Development Workflow Profiling your code Multi-GPU execution Inference Pipeline

TensorFlow Concepts

TensorFlow 101

Software Development Workflow

Profiling your code

Multi-GPU execution

Inference Pipeline

23

Page 24: Rochester Institute of Technology KGCOE Computer ... · TensorFlow Concepts TensorFlow 101 Software Development Workflow Profiling your code Multi-GPU execution Inference Pipeline

Multi-GPU Training1. Documentation

24

Page 25: Rochester Institute of Technology KGCOE Computer ... · TensorFlow Concepts TensorFlow 101 Software Development Workflow Profiling your code Multi-GPU execution Inference Pipeline

TensorFlow Concepts

TensorFlow 101

Software Development Workflow

Profiling your code

Multi-GPU execution

Inference Pipeline

25

Page 26: Rochester Institute of Technology KGCOE Computer ... · TensorFlow Concepts TensorFlow 101 Software Development Workflow Profiling your code Multi-GPU execution Inference Pipeline

TensorFlow Concepts

TensorFlow 101

Software Development Workflow

Profiling your code

Multi-GPU execution

Inference Pipeline

26

Page 28: Rochester Institute of Technology KGCOE Computer ... · TensorFlow Concepts TensorFlow 101 Software Development Workflow Profiling your code Multi-GPU execution Inference Pipeline

Thank You!

28

[email protected]

Questions?