TensorFlow The Deep Learning Library You Should Be Using.

Slides:



Advertisements
Similar presentations
Linear Clustering Algorithm BY Horne Ken & Khan Farhana & Padubidri Shweta.
Advertisements

HPCC Mid-Morning Break Dirk Colbry, Ph.D. Research Specialist Institute for Cyber Enabled Discovery Introduction to the new GPU (GFX) cluster.
Large-scale Deep Unsupervised Learning using Graphics Processors
Overview of Operating Systems Introduction to Operating Systems: Module 0.
CS 732: Advance Machine Learning
Scaling up R computation with high performance computing resources.
CFI 2004 UW A quick overview with lots of time for Q&A and exploration.
9/24/2017 7:27 AM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Comparing TensorFlow Deep Learning Performance Using CPUs, GPUs, Local PCs and Cloud Pace University, Research Day, May 5, 2017 John Lawrence, Jonas Malmsten,
2/13/2018 4:38 AM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Deep Neural Networks: A Hands on Challenge
Big data classification using neural network
GPU Architecture and Its Application
TensorFlow CS 5665 F16 practicum Karun Joseph, A Reference:
TensorFlow– A system for large-scale machine learning
Deep Learning Software: TensorFlow
Analysis of Sparse Convolutional Neural Networks
Sushant Ahuja, Cassio Cristovao, Sameep Mohta
DL (Deep Learning) Workspace
Benchmarking Deep Learning Inference
Big Data A Quick Review on Analytical Tools
Tensorflow Tutorial Homin Yoon.
Machine Learning Developments in ROOT Sergei Gleyzer, Lorenzo Moneta
Working With Azure Batch AI
Chilimbi, et al. (2014) Microsoft Research
DeepCount Mark Lenson.
Enabling machine learning in embedded systems
Deep Learning in HEP Large number of applications:
Applications of Deep Learning and how to get started with implementation of deep learning Presentation By : Manaswi Advisor : Dr.Chinmay.
Spatial Analysis With Big Data
Deep Learning Platform as a Service
Low-Cost High-Performance Computing Via Consumer GPUs
Deep Learning Libraries
Intro to NLP and Deep Learning
Cloud Big Data Decision Support System for Machine Learning on AWS
Intelligent Information System Lab
Exploring Parallelism in
A VERY Brief Introduction to Convolutional Neural Network using TensorFlow 李 弘
Prepared by Kimberly Sayre and Jinbo Bi
Comparison Between Deep Learning Packages
TensorFlow and Clipper (Lecture 24, cs262a)
PipeDream: Pipeline Parallelism for DNN Training
Torch 02/27/2018 Hyeri Kim Good afternoon, everyone. I’m Hyeri. Today, I’m gonna talk about Torch.
Master’s Thesis defense Ming Du Advisor: Dr. Yi Shang
CSE Social Media & Text Analytics
INF 5860 Machine learning for image classification
Brewing Deep Networks With Caffe
CMPT 733, SPRING 2016 Jiannan Wang
Brain Inspired Algorithms Dr. David Fagan
Deep Learning Packages
MXNet Internals Cyrus M. Vahid, Principal Solutions Architect,
Introduction to Deep Learning with Keras
CSC 578 Neural Networks and Deep Learning
APACHE MXNET By Beni Mulyana.
Introduction to CUDA.
Artificial Neural Networks
Artificial Neural Networks
PANN Testing.
TensorFlow: A System for Large-Scale Machine Learning
Sketch Object Prediction
CMPT 733, SPRING 2017 Jiannan Wang
Deep Learning Libraries
Search-Based Approaches to Accelerate Deep Learning
2019/9/14 The Deep Learning Vision for Heterogeneous Network Traffic Control Proposal, Challenges, and Future Perspective Author: Nei Kato, Zubair Md.
CSC 578 Neural Networks and Deep Learning
Igor Stančin, Alan Jović to: {igor.stancin,
Beating the market -- forecasting the S&P 500 Index
Parallel Systems to Compute
Machine Learning for Cyber
An introduction to neural network and machine learning
Presentation transcript:

TensorFlow The Deep Learning Library You Should Be Using

Caveats Ecosystem of Tools High-Level Overview In Development “I should learn how to use this tool” “I know where to start” In Development v1.0 announced last Wednesday Evolving API, limited dev support The magic is in the C Ecosystem of Tools TensorFlow; TF Learn; TensorBoard; XLA Compiler; TensorServing; TF Debug Plus third party development Community Development Google; Reddit; StackOverflow; GitHub; Udacity; Slack

Mathematical Caveats Machine Learning is a pipeline: Neural Network math contains: Forward propagation Backward propagation Parameter optimization Single/Multi-threadedness of packages varies Machine Learning is a pipeline: CPU CPU (system) memory I/O (HDD, SSD, NVME) GPU GPU Memory

Step Back: Neural Networks Why do we use them? They can learn highly complex patterns and apply transformations to features we would never think of Demo How do they work? Forward prop makes predictions Backward prop adjusts parameters Demo on http://playground.tensorflow.org cluster data with 2x2 hidden layers cluster data with no hidden layers concentric circle data with no hidden layers concentric circle data with squared inputs, no hidden layers concentric circle data with 2x2 hidden layers concentric circle data with 2x4 hidden layers

𝑋 → 𝐻 → 𝑌 Forward Prop 𝐻 =𝑟𝑒𝑙𝑢 𝑊 ∗ 𝑋 1 𝑋 2 𝑋 3 + 𝑏 𝑋 → 𝐻 → 𝑌 𝐻 =𝑟𝑒𝑙𝑢 𝑊 ∗ 𝑋 1 𝑋 2 𝑋 3 + 𝑏 𝑌 =𝑟𝑒𝑙𝑢 𝑈 ∗ 𝐻 1 𝐻 2 𝐻 3 𝐻 4 + 𝑐

Forward Prop 𝐻 =𝑟𝑒𝑙𝑢 𝑊 ∗ 𝑋 1 𝑋 2 𝑋 3 + 𝑏 Matrix Multiplication 𝐻 =𝑟𝑒𝑙𝑢 𝑊 ∗ 𝑋 1 𝑋 2 𝑋 3 + 𝑏 Matrix Multiplication Extremely Parallel Changes Dimensionality 𝑚∗𝑛 ∗ 𝑛∗𝑝 =(𝑚∗𝑝) 𝑚∗𝑛 ∗ 3∗1 =(4∗1) 4∗3 ∗ 3∗1 =(4∗1) 𝐻 =𝑟𝑒𝑙𝑢 𝑊 11 𝑊 12 𝑊 13 𝑊 21 𝑊 22 𝑊 23 𝑊 31 𝑊 32 𝑊 33 𝑊 41 𝑊 42 𝑊 43 ∗ 𝑋 1 𝑋 2 𝑋 3 + 𝑏 1 𝑏 2 𝑏 3 𝑏 4

High-Level API

Step Back: SKlearn SciKit Learn allows for rapid machine learning prototyping In Python With an easy API

Parallelization Neural networks are fancy matrix operations Matrix operations run best on GPU Let’s GPU accelerate…

Parallelization We want a library that can run on: CPU and GPU (and TPU!) different types of CPUs and GPUs different operating systems and environments distributed systems all this without modifying code

Performance Gains Hostname Hippie Fireball Frank Cobalt CPU i3-2330M 4 cores @ 2.2GHz E5-2603 12 cores @ 1.6GHz i5-2400 4 cores @ 3.1GHz i7-6800k 12 cores @ 4.0GHz RAM 4 GB 32 GB 8 GB GPU N/A GTX 750 Ti 640 cores @ 1.2GHz 2x GTX 1070 1920 cores @ 1.7GHz CPU Load 400% (98% ea) 1130% (90% ea) 270% (60% ea) 730% (40% ea) System Memory Load 17% 3% 7% GPU Load 49% 34%, 32% GPU Memory Load 96% 96%, 96% Time per Batch 0.95s 0.29s 0.10s 0.04s Time to Complete 325m, 36s 95m, 26s 33m, 37s 13m, 55s

TensorFlow Large-Scale Machine Learning Across Heterogeneous Distributed Systems Normally, we run programs (largely) sequentially TensorFlow: builds a computation graph assigns operations to optimal hardware then runs the computations

TF Learn TensorFlow with an SkLearn API model.fit() model.predict() model.evaluate() model.save() and model.load() GPU accelerated deep learning in 8 lines of Python

Workflow Demo Example notebook Workflow: Are performance advantages significant (6hr vs. 6min)? If you’re training one model, no If you’re training 6000, yes How many should you train? As many as possible Workflow: Preprocess the dataset Identify candidate models Implement candidate models Model generation functions “Dumb” candidate evaluation “Smart” candidate evaluation Example notebook

Now What Get your hands on a TensorFlow compatible GPU (CUDA compute 3.0+) Make friends with UNIX Install tensorflow and tflearn (harder than you think…) Learn more about supported deep learning methods Do the quickstart tutorial: http://tflearn.org/tutorials/quickstart.html Explore some examples: http://tflearn.org/examples/ Explore the documentation too (*gasp*): http://tflearn.org/optimizers/ Follow along with some additional tutorials: Sentdex, Siraj Ravel, Martin Görner