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

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

  • Upload
    others

  • View
    10

  • Download
    0

Embed Size (px)

Citation preview

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?