Deep Learning Software: TensorFlow

Slides:



Advertisements
Similar presentations
A Workflow Engine with Multi-Level Parallelism Supports Qifeng Huang and Yan Huang School of Computer Science Cardiff University
Advertisements

GPU Architecture and Programming
M. Wang, T. Xiao, J. Li, J. Zhang, C. Hong, & Z. Zhang (2014)
6.5.4 Back-Propagation Computation in Fully-Connected MLP.
Facial Detection via Convolutional Neural Network Nathan Schneider.
Mihaela Malița Gheorghe M. Ștefan
Comparing TensorFlow Deep Learning Performance Using CPUs, GPUs, Local PCs and Cloud Pace University, Research Day, May 5, 2017 John Lawrence, Jonas Malmsten,
TensorFlow The Deep Learning Library You Should Be Using.
VisIt Project Overview
TENSORFLOW Team 2: Andrey, Daniel, John, Jonas, Ken
Deep Neural Networks: A Hands on Challenge
Big data classification using neural network
Auburn University COMP8330/7330/7336 Advanced Parallel and Distributed Computing Parallel Hardware Dr. Xiao Qin Auburn.
TensorFlow CS 5665 F16 practicum Karun Joseph, A Reference:
TensorFlow– A system for large-scale machine learning
The language focusses on ease of use
Zheng ZHANG 1-st year PhD candidate Group ILES, LIMSI
BigDL Deep Learning Library on HDInsight
Big Data A Quick Review on Analytical Tools
Tensorflow Tutorial Homin Yoon.
基于多核加速计算平台的深度神经网络 分割与重训练技术
Large-scale Machine Learning
Why it is Called Tensor Flow Parallelism in ANNs Project Ideas and Discussion Glenn Fung Presents Batch Renormalizating Paper.
DeepCount Mark Lenson.
Enabling machine learning in embedded systems
Deep Learning in HEP Large number of applications:
Utilizing AI & GPUs to Build Cloud-based Real-Time Video Event Detection Solutions Zvika Ashani CTO.
Deep Learning Platform as a Service
Deep Learning Libraries
Intro to NLP and Deep Learning
CS 224S: TensorFlow Tutorial
Introduction CSE 1310 – Introduction to Computers and Programming
Overview of TensorFlow
A VERY Brief Introduction to Convolutional Neural Network using TensorFlow 李 弘
Comparison Between Deep Learning Packages
First Steps With Deep Learning Course.
Blazingly Fast Machine Learning Inference
TensorFlow and Clipper (Lecture 24, cs262a)
Introduction to CuDNN (CUDA Deep Neural Nets)
Torch 02/27/2018 Hyeri Kim Good afternoon, everyone. I’m Hyeri. Today, I’m gonna talk about Torch.
Introduction to Deep Learning for neuronal data analyses
Tensorflow in Deep Learning
INF 5860 Machine learning for image classification
Brewing Deep Networks With Caffe
COS 518: Advanced Computer Systems Lecture 12 Mike Freedman
Brain Inspired Algorithms Dr. David Fagan
Deep Learning Packages
Introduction to Tensorflow
An open-source software library for Machine Intelligence
MXNet Internals Cyrus M. Vahid, Principal Solutions Architect,
Introduction to Deep Learning with Keras
GENERAL VIEW OF KRATOS MULTIPHYSICS
Overview of big data tools
MNIST Dataset Training with Tensorflow
CSC 578 Neural Networks and Deep Learning
APACHE MXNET By Beni Mulyana.
Deep Learning and Mixed Integer Optimization
Vinit Shah, Joseph Picone and Iyad Obeid
Debugging Dataflow Graphs using TensorFlow Debugger.
Tensorflow Tutorial Presented By :- Ankur Mali
TensorFlow: Biology’s Gateway to Deep Learning?
TensorFlow: A System for Large-Scale Machine Learning
Automatic Handwriting Generation
Deep Learning Libraries
Search-Based Approaches to Accelerate Deep Learning
CSC 578 Neural Networks and Deep Learning
Igor Stančin, Alan Jović to: {igor.stancin,
Deep Learning with TensorFlow
Machine Learning for Cyber
Machine Learning for Cyber
Presentation transcript:

Deep Learning Software: TensorFlow Emre Kavak Technische Universität München Fakultät für Informatik München, 04.06.2017

Content What is a deep learning framework? How do we express machine learning models? Why do TF and co exist? TensorFlow Short facts First-steps Architecture TensorBoard and MNIST  Emre Kavak

1. What is a deep learning framework? a) What is deep learning? Recap: What is the aim of machine learning? Given a data set, we want to make predictions for data points that are not observed. E.g.: size, location, year of building  price Set up a model and test it Linear algebra, prob. theory and optimization Emre Kavak

1. What is a deep learning framework? a) What is deep learning? Problem: How can my computer decide whether there is a dinosaur or a cat on the picture? Unstructured data + what are my independent variables? What should I look for? Use some kind of unsupervised learning, e.g. neural networks Non-linear transformation between each of them If many (>2) layers  deep network Emre Kavak

1. What is a deep learning framework? b) What is a framework? A platform to develop applications Collection of predefined tools, functionalities, ... Handling tasks in the ‚background‘  do not reinvent the wheel Unequal library; framework defines control flow Emre Kavak

1. What is a deep learning framework? How do we express machine learning models? General purpose compuation Machine learning Deep learning Emre Kavak

1. What is a deep learning framework? There are many libraries for scientific computing in Matlab or Python? Why use TensorFlow (Torch, Caffe and co.)? Specialization: Optimizations and computation accelerators for special ML and DL applications Easy to build complex and long computations Distributed execution Visualization (TensorBoard ) Emre Kavak

2. TensorFlow – general facts Develpoed by Google and now it is open-source Mostly used for deep learning applications but is also applicable for various computational tasks Supports different devices: GPU, CPU, ... Build and deploy large-scale applications on distributed machines with different computational units -Google DeepMind developed -Main applications in DL -can utilize CPUs, GPUs and more -large-scale application and distribution Emre Kavak

2. TensorFlow – first steps Define two constants and print them: Result: (<tf.Tensor 'Const_1:0' shape=() dtype=float32>, <tf.Tensor 'Const_2:0' shape=() dtype=float32>) TensorFlow gave us tensors But we want to have constants: Result: [3.0, 4.0] - Python Script - defining two constants and printing them out - create Session and run  desired output Emre Kavak

2. TensorFlow – Architecture Questions/observations: User has to tell TensorFlow explicitly to run What is a tensor? Is there any reason behind calling our constants node1 and node2? We used Python -most obvious point: we use python -what is a tensor? -there is a reason for naming our variables nodes Emre Kavak

2. TensorFlow – Architecture Actors Client - first understand main actors of TensorFlow framework just high-level and shortly We were just the user defining our programm node1 = tf.constant(3.0, tf.float32) node2 = tf.constant(4.0) # also tf.float32 implicitly Emre Kavak

2. TensorFlow – User Computational graph: User defines compuation symbolically. Declarative paradigm. Using placeholders and symbolic representatives that are not directly executed Graph: nodes: operations, variables, constants edges: tensors (informal: multidimensional vectors, matrices) - Here it gets obvious why nodes and edges - symbolic/declarative pograming approach Program is data flow graph Adding two nodes Emre Kavak

2. TensorFlow – User Computational graph: User defines compuation symbolically. Declarative paradigm. Using placeholders and symbolic representatives that are not directly executed Graph: nodes: operations, variables, constants edges: tensors (informal: multidimensional vectors, matrices) - Here it gets obvious why nodes and edges - symbolic/declarative pograming approach Program is data flow graph Adding two nodes Emre Kavak

2. TensorFlow – Architecture Master (Coordinator) Actors Client Session.run() Create session (bridge) and call run Master does optimizations, and decides based on certain metrics how to distrubte execution Orchestrates execution node1 = tf.constant(3.0, tf.float32) node2 = tf.constant(4.0) # also tf.float32 implicitly Emre Kavak

TensorFlow – (distributed) Master Prune the computational graph Perform optimizations Distribute graph partitions on avavilable machines and devices Emre Kavak

2. TensorFlow – Architecture Master (Coordinator) Actors Optimizations + (Distribution) Client Session.run() - Code is going to be executed on existing computational units Execute model node1 = tf.constant(3.0, tf.float32) node2 = tf.constant(4.0) # also tf.float32 implicitly CPU GPU Worker (MacBook Pro) Emre Kavak

2. TensorFlow – Architecture Master (Coordinator) Actors Client Session.run() - More general, distributed setting CPU1 GPU1 CPU2 GPU2 GPU CPU Worker Process 1 Worker Process 2 Emre Kavak

2. TensorFlow – Architecture Master (Coordinator) Actors Client Session.run() - first understand main actors of TensorFlow framework - just high-level and shortly CPU1 GPU1 CPU2 GPU2 GPU CPU Worker Process 1 Worker Process 2 Emre Kavak

2. TensorFlow – User A few operations: Stateful Operations - Here it gets obvious why nodes and edges - symbolic/declarative pograming approach Program is data flow graph Adding two nodes Emre Kavak

2. TensorFlow – How can Python be efficient? Actually, Python is not efficient But we only describe our computation with Python Implementations are handled by so called kernels Pre-built code for devices (CPU: C++, GPU:CUDA) New operations need new kernels (if they cannot be composed) Python Client ... Kernel implementations RelU Softmax MatMul ... Emre Kavak

3. TensorFlow – TensorBoard Deep networks can become extremely complex Key feature of TensorFlow: visualize models Emre Kavak

Case Study: MNIST with TensorFlow MNIST is a data set of handwritten numbers Equivalent to ‚Hello World!‘ (but for DL) Given 55,000 training examples of 28x28 pixel images Create vector with 724 (28*28) dimensions to store one picture (flattened). Values are [0,1] describing the pixel density  One data point is [1,724] tensor All examples [55000,124] tensor We also have identification tensors that help to compare our results to the actual values [0,0,1,0,0,0,0,0,0,0] [0,0,0,0,0,0,0,0,0,1] Emre Kavak

Sources (Images) https://commons.wikimedia.org/wiki/File:Tensorflow_logo.svg (TensorFlow Logo) https://commons.wikimedia.org/wiki/Category:Images_with_Matlab_source_code#/media/File:Matlab_Logo.png (Matlab Logo) https://commons.wikimedia.org/wiki/File:Python.svg (Python Logo) https://de.wikipedia.org/wiki/R_(Programmiersprache)#/media/File:R_logo.svg (R Logo) https://commons.wikimedia.org/wiki/File:Gnu-octave-logo-cutout.svg (Octave Logo) https://github.com/Theano/Theano/tree/master/doc/images (Theano) https://raw.githubusercontent.com/dmlc/dmlc.github.io/master/img/logo-m/mxnet2.png (MXNet) https://github.com/scikit-learn/scikit-learn/blob/master/doc/images/scikit-learn-logo-notext.png (scikit-learn) Emre Kavak