SlideShare una empresa de Scribd logo
1 de 39
Descargar para leer sin conexión
A Tale of Three Deep
Learning Frameworks:
TensorFlow, Keras, and
PyTorch
Brooke Wenig
Jules S. Damji
Spark + AI Summit, London 4October 2018
About Us . . .
Machine LearningPractice Lead @ Databricks
Data Science @ Splunk & MyFitnessPal
MS Machine Learning(UCLA)
Fluentin Chinese
https://www.linkedin.com/in/brookewenig/
Brooke WenigJules S. Damji
Apache Spark Developer& Community
Advocate @Databricks
Program Chair Spark + AI Summit
Software engineering @Sun Microsystems,
Netscape, @Home, VeriSign, Scalix, Centrify,
LoudCloud/Opsware, ProQuest
https://www.linkedin.com/in/dmatrix
@2twitme
Agenda for Today’s Talk
• What’s Deep Learning and Why?
• Short Survey of 3 DL Frameworks
• TensorFlow
• Keras
• PyTorch
• Training Options
• Single Node
• Distributed
• Q&A
What is Deep Learning?
“Composing representations of data in a
hierarchical manner”
Why Deep Learning?
Applications
Source : MIT
Zoo of DL Frameworks: Which One?
DPL
Survey of Three Deep
Learning Frameworks
What’s TensorFlow?
• Open source from Google, 2015
• Current v1.12 API
• 2.0 Coming Soon... :)
• Declarative Toolkit
• Fast: Backend C/C++
• Data flow graphs
• Nodes are functions/operators
• Edges are input or data (tensors)
• Lazy execution
• Eager execution (1.7)
TensorFlow Key API Concepts
• Constants
• Variables
• Placeholders
• Operations
• Sessions
• Tensors
• Graphs
•
x = tf.constants (42, name= ‘x’)
w = tf.Variable(1.34,name=’w’)
input= tf.Placeholder(“float”)
c = tf.add(x, w); m = tf.matmul(a, b) ...
with tf.Session([URI]) as sess:
1, [1, 2], [[2, 3], [4, 5]] ...
g = tf.Graph(“my_graph”)
withg.as_default():
c = tf.add(x,w)
m= tf.matmul(a, b)
TensorFlow Code
import tensorflow as tf
a = tf.placeholder(tf.float32, shape=(2,1))
b = tf.placeholder(tf.float32, shape=(1,2))
c = tf.matmul(a, b)
sess = tf.Session()
print(sess.run(c, {a: [[1],[2]], b:[[3,4]]}))
[[3. 4.] [6. 8.]]
Create a TF Session
Run the session, with input parameters
for place holders ‘a’ & ’b’
‘c’ as an operation won’t to run until
sess.run() Lazily evaluated.
TF matmul matrix operation
TF session output
Create TF placeholder types, a & b
Define their input shape as tensors
TensorFlow Code: MNIST
import tensorflow as tf
from tensorflow.examples.tutorials.mnist import input_data
mnist = input_data.read_data_sets("MNIST_data/", one_hot=True)
# Create the model
x = tf.placeholder(tf.float32, [None, 784])
W = tf.Variable(tf.zeros([784, 10]))
b = tf.Variable(tf.zeros([10]))
y = tf.matmul(x, W) + b
y_ = tf.placeholder(tf.int64, [None])
...
# Define loss and optimizer
cross_entropy = tf.losses.sparse_softmax_cross_entropy(labels=y_, logits=y)
train_step = tf.train.GradientDescentOptimizer(0.5).minimize(cross_entropy)
#create session, train, and evaluate
sess = tf.InteractiveSession()
tf.global_variables_initializer().run()
# Train
for _ in range(1000):
batch_xs, batch_ys = mnist.train.next_batch(100)
sess.run(train_step, feed_dict={x: batch_xs, y_: batch_ys})
# Test trained model
correct_prediction = tf.equal(tf.argmax(y, 1), y_)
accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32))
...
print(sess.run(accuracy, feed_dict={
x: mnist.test.images,
y_: mnist.test.labels
}))
https://github.com/tensorflow/tensorflow/blob/master/tensorflow/examples/tutorials/mnist/mnist_softmax.py
Use tf input_data modules for MNIST
TF placeholders & variables
Define our model
TF variable for predicted value y’
Define our loss function: cross_entropy
Use Gradient Descent Optimizer
Train or evaluate the model
TensorFlow Programming Stack
CPU GPU Android iOS …TPU
Use canned estimators
Build models
Keras	
Models
Why TensorFlow: Community
AF
AF
• 105K+ stars!
• 11+M downloads
• Popular open-source code
• TensorFlow Hub & Blog
○ Code Examples &
Tutorials!
○ Learn + share from
others
Why TensorFlow: Tools
AF
AF
Deploy + Serve Models
TFX
Visualize Tensors flow
TensorFlow: We Get it … So What?
• Steep learning curve, but powerful!!
• Low-level APIs, butoffers control!!
• Expert in Machine Learning, justlearn!!
• Yet, high-level Estimators help, you bet!!
• Yeah, TensorFlow 2.0, ease-of-use,eagerexecution!
• Better, Keras integration helps, indeed!!
What’s Keras?
• Open source Python Library APIs for Deep Learning
• Current v2.2.2 APIs François Chollet (Google)
• APIs : with TensorFlow, CNTK and Theano Backends
• Easy to UseHigh-Level DeclarativeAPIs!
• Build layers
– Great for Neural Network Applications
– CNN
– RNN & LSTM
• Fast Experimentation,Modular & Extensible!
Keras Programming Stack
CPU GPU Android iOS …TPU
Use canned estimators
Specific
Runtime
Backend Impl
models
Python	Keras	API	
TF-Keras Theano-Keras CNTK
TensorFlow	
Workflow
.....
Why Keras?
• Focuses on Developer Experience
• Popular & Broader Community
• Supports multiple backends
• Modularity
• Sequential
• Functional
model = Sequential()
model.add(Dense(32, input_dim=784))
model.add(Activation('relu'))
model.add(Dense, 32, activation=’softmax’)
...
Keras Code: MNIST
from keras import models
from keras import layers
mnist = tf.keras.datasets.mnist
(train_images, train_labels),(test_images, test_labels)=
prepare_data(mnist.load_data())
network= models.Sequential()
network.add(layers.Dense(512, activation=‘relu’,
input_shape(28 * 28,)))
network.add(layers.Dense(10, activation=‘softmax’))
network.compile(optimizer=’rmsprop',
loss='categorical_crossentropy',
metrics=['accuracy'])
network.fit(train_images, train_labels, epochs=5,
batch_size=128 )
results = network.evaluate(test_images, test_labels)
Set up code & use dataset
Define Network
Fit Network
Compile Network
Evaluate Network
predictions = network.predict(new_images) Make Predictions
Repeatable
Another a Simple Network Model:Which code is easier to read?
What is PyTorch?
• Open source from Facebook, 2017
– v1.0 dev release
• Primarily a Python Package
• Tensor Computations
– Torch.tensor -> CPU, GPU/CUDA
• Dynamic NN: Tape-based Autograd
• Graph Based Dynamic Computations
• Imperative Toolkit
PyTorch Programming Stack
Python API
Auto Differentiation
Engine
Numpy Library
(GPU Support )
Gradient Based
Optimized Package
Utilities
(Data, Text, Video..)
Deep Learning &
Reinforcement
Learning
Numpy Alternative
Ndarray <->torch.Tensor
Optimized: Adam,
Adamax, RMSProp,
SGD, LBFGS ...
Data loading: SciPy,
SpaCy, OpenCV,
PIL, torchvision
CPU CPU GPU GPU...
Why PyTorch?
• Imperative Experience
– Rapid Prototyping for Research
– Easy Debugging & TBX
• Quick Ramp-up time
• Decent Docs & Community
– 275K Downloads
– 1900 Community Repos
– 13+K Blogs Posts
• Pythonic!
PyTorch Key API Concepts
• Variables & Autograd
• Torch Tensors
• Operations
•
from torch import Variable
x = Variable(torch.Tensor([2]),requires_grad=True)
y = 5*x**4 + 3*x**3 + 7*x**2 + 9*x - 5
y.backward() #compute gradient and backpropagate
x.grad
#different kinds of Torch Tensors
x = torch.rand(5, 3);
y = torch.rand(5, 3)
t = torch.tensor([5.5, 3])
n = torch.tensor(np.array([[1, 2, 3], [4, 5, 6]]))
#operations or element-wise operations
a = (x + y)
m = (x * y)
if torch.cuda.is_available():
x = x.cuda()
y = y.cuda()
torch.add(x, y, out=result)
print(a, m, out)
PyTorch Rhythm ...
Design Model with
Autograd Variables
Construct Loss and
Optimizer
Training
Cycle
1
.
2
Design a model using PyTorch Autograd
Variables
Construct a loss function and optimizer with
PyTorch APIs
Train your model: forward, backward, and
update steps
1. 1
1
3
.
2
.
2
3.
2.
PyTorch Rhythm : Linear Regression
https://www.youtube.com/watch?v=113b7O3mabY (Sung Kim)
Training Options
Options
1) Train on single node
2) Train on single node, distributed inference
3) Distributed training
Horovod
● Created by Alexander Sergeev of Uber, open-sourced in 2017
● Simplifies distributed neural network training
● Supports TensorFlow, Keras, and PyTorch
Classical Parameter Server
All-Reduce
Minimal Code Change
TensorFlow, Keras, or
PyTorch?
Takeaways: Gaining Momentum...
Keras
TensorFlow
PyTorch
TensorFlow Keras
Takeaways: When to Use TF, Keras or PyTorch
PyTorch
• Low-level APIs & Control
• Model Serving
• Supports multiple
languages
• High-level APIs
• MultipleBackends
• LovePython
• Rapid Experimentation
• Pythonic!
• Imperative
Programming
• RapidExperimentation
Databricks Runtime for Machine Learning
Ready to use clusters with built-in ML Frameworks
includingTensorFlow, Keras, Horovod, andmore
Horovod Estimator
for simplifieddistributedtrainingon TensorFlowwith HorovodusingApache Spark on Databricks
GPU support
on AWS (P2/P3) andAzure (NC/NC-v3) instancesnow supported!
Resources & BooksBlogposts Talk, & webinars (http://databricks.com/blog)
• GPU acceleration in Databricks
• Deep Learning and ApacheSpark
• fast.ai
• TensorFlowTutorials
• TensorFlowDev Summit
• Keras/TensorFlowTutorials
• PyTorch Docs & Tutorials
• Talk-1from Soumith Chintala
• Talk-2from Soumith Chintala
• MLflow.org
Docs for Deep Learning on Databricks (http://docs.databricks.com)
• Databricks RuntimeML
• HorovodEstimator
Thank You!
Questions?
brooke@databricks.com
jules@databricks.com (@2twitme)

Más contenido relacionado

La actualidad más candente

KNN Algorithm - How KNN Algorithm Works With Example | Data Science For Begin...
KNN Algorithm - How KNN Algorithm Works With Example | Data Science For Begin...KNN Algorithm - How KNN Algorithm Works With Example | Data Science For Begin...
KNN Algorithm - How KNN Algorithm Works With Example | Data Science For Begin...
Simplilearn
 
Apriori and Eclat algorithm in Association Rule Mining
Apriori and Eclat algorithm in Association Rule MiningApriori and Eclat algorithm in Association Rule Mining
Apriori and Eclat algorithm in Association Rule Mining
Wan Aezwani Wab
 
Support Vector Machine - How Support Vector Machine works | SVM in Machine Le...
Support Vector Machine - How Support Vector Machine works | SVM in Machine Le...Support Vector Machine - How Support Vector Machine works | SVM in Machine Le...
Support Vector Machine - How Support Vector Machine works | SVM in Machine Le...
Simplilearn
 
Machine Learning Course | Edureka
Machine Learning Course | EdurekaMachine Learning Course | Edureka
Machine Learning Course | Edureka
Edureka!
 

La actualidad más candente (20)

Scikit Learn intro
Scikit Learn introScikit Learn intro
Scikit Learn intro
 
KNN Algorithm - How KNN Algorithm Works With Example | Data Science For Begin...
KNN Algorithm - How KNN Algorithm Works With Example | Data Science For Begin...KNN Algorithm - How KNN Algorithm Works With Example | Data Science For Begin...
KNN Algorithm - How KNN Algorithm Works With Example | Data Science For Begin...
 
Python Anaconda Tutorial | Edureka
Python Anaconda Tutorial | EdurekaPython Anaconda Tutorial | Edureka
Python Anaconda Tutorial | Edureka
 
CNN and its applications by ketaki
CNN and its applications by ketakiCNN and its applications by ketaki
CNN and its applications by ketaki
 
Support vector machine
Support vector machineSupport vector machine
Support vector machine
 
Apriori and Eclat algorithm in Association Rule Mining
Apriori and Eclat algorithm in Association Rule MiningApriori and Eclat algorithm in Association Rule Mining
Apriori and Eclat algorithm in Association Rule Mining
 
Pytorch
PytorchPytorch
Pytorch
 
Support Vector Machine - How Support Vector Machine works | SVM in Machine Le...
Support Vector Machine - How Support Vector Machine works | SVM in Machine Le...Support Vector Machine - How Support Vector Machine works | SVM in Machine Le...
Support Vector Machine - How Support Vector Machine works | SVM in Machine Le...
 
NP completeness
NP completenessNP completeness
NP completeness
 
Object detection
Object detectionObject detection
Object detection
 
TensorFlow
TensorFlowTensorFlow
TensorFlow
 
Keras vs Tensorflow vs PyTorch | Deep Learning Frameworks Comparison | Edureka
Keras vs Tensorflow vs PyTorch | Deep Learning Frameworks Comparison | EdurekaKeras vs Tensorflow vs PyTorch | Deep Learning Frameworks Comparison | Edureka
Keras vs Tensorflow vs PyTorch | Deep Learning Frameworks Comparison | Edureka
 
Machine Learning Course | Edureka
Machine Learning Course | EdurekaMachine Learning Course | Edureka
Machine Learning Course | Edureka
 
Deep Learning for Video: Action Recognition (UPC 2018)
Deep Learning for Video: Action Recognition (UPC 2018)Deep Learning for Video: Action Recognition (UPC 2018)
Deep Learning for Video: Action Recognition (UPC 2018)
 
Introduction to Recurrent Neural Network
Introduction to Recurrent Neural NetworkIntroduction to Recurrent Neural Network
Introduction to Recurrent Neural Network
 
Introduction to Recurrent Neural Network
Introduction to Recurrent Neural NetworkIntroduction to Recurrent Neural Network
Introduction to Recurrent Neural Network
 
Support Vector Machines for Classification
Support Vector Machines for ClassificationSupport Vector Machines for Classification
Support Vector Machines for Classification
 
Introduction to Clustering algorithm
Introduction to Clustering algorithmIntroduction to Clustering algorithm
Introduction to Clustering algorithm
 
Hierarchical Clustering
Hierarchical ClusteringHierarchical Clustering
Hierarchical Clustering
 
KNN
KNN KNN
KNN
 

Similar a A Tale of Three Deep Learning Frameworks: TensorFlow, Keras, & PyTorch with Brooke Wenig and Jules Damji

Hands-on Learning with KubeFlow + Keras/TensorFlow 2.0 + TF Extended (TFX) + ...
Hands-on Learning with KubeFlow + Keras/TensorFlow 2.0 + TF Extended (TFX) + ...Hands-on Learning with KubeFlow + Keras/TensorFlow 2.0 + TF Extended (TFX) + ...
Hands-on Learning with KubeFlow + Keras/TensorFlow 2.0 + TF Extended (TFX) + ...
Chris Fregly
 

Similar a A Tale of Three Deep Learning Frameworks: TensorFlow, Keras, & PyTorch with Brooke Wenig and Jules Damji (20)

Automate ml workflow_transmogrif_ai-_chetan_khatri_berlin-scala
Automate ml workflow_transmogrif_ai-_chetan_khatri_berlin-scalaAutomate ml workflow_transmogrif_ai-_chetan_khatri_berlin-scala
Automate ml workflow_transmogrif_ai-_chetan_khatri_berlin-scala
 
Language translation with Deep Learning (RNN) with TensorFlow
Language translation with Deep Learning (RNN) with TensorFlowLanguage translation with Deep Learning (RNN) with TensorFlow
Language translation with Deep Learning (RNN) with TensorFlow
 
Power ai tensorflowworkloadtutorial-20171117
Power ai tensorflowworkloadtutorial-20171117Power ai tensorflowworkloadtutorial-20171117
Power ai tensorflowworkloadtutorial-20171117
 
Simone Scardapane - Bring your neural networks to the browser with TF.js! - C...
Simone Scardapane - Bring your neural networks to the browser with TF.js! - C...Simone Scardapane - Bring your neural networks to the browser with TF.js! - C...
Simone Scardapane - Bring your neural networks to the browser with TF.js! - C...
 
Machine learning with py torch
Machine learning with py torchMachine learning with py torch
Machine learning with py torch
 
NUS-ISS Learning Day 2019-Deploying AI apps using tensor flow lite in mobile ...
NUS-ISS Learning Day 2019-Deploying AI apps using tensor flow lite in mobile ...NUS-ISS Learning Day 2019-Deploying AI apps using tensor flow lite in mobile ...
NUS-ISS Learning Day 2019-Deploying AI apps using tensor flow lite in mobile ...
 
Hands-on Learning with KubeFlow + Keras/TensorFlow 2.0 + TF Extended (TFX) + ...
Hands-on Learning with KubeFlow + Keras/TensorFlow 2.0 + TF Extended (TFX) + ...Hands-on Learning with KubeFlow + Keras/TensorFlow 2.0 + TF Extended (TFX) + ...
Hands-on Learning with KubeFlow + Keras/TensorFlow 2.0 + TF Extended (TFX) + ...
 
slide-keras-tf.pptx
slide-keras-tf.pptxslide-keras-tf.pptx
slide-keras-tf.pptx
 
TransmogrifAI - Automate Machine Learning Workflow with the power of Scala an...
TransmogrifAI - Automate Machine Learning Workflow with the power of Scala an...TransmogrifAI - Automate Machine Learning Workflow with the power of Scala an...
TransmogrifAI - Automate Machine Learning Workflow with the power of Scala an...
 
Bring your neural networks to the browser with TF.js - Simone Scardapane
Bring your neural networks to the browser with TF.js - Simone ScardapaneBring your neural networks to the browser with TF.js - Simone Scardapane
Bring your neural networks to the browser with TF.js - Simone Scardapane
 
Anirudh Koul. 30 Golden Rules of Deep Learning Performance
Anirudh Koul. 30 Golden Rules of Deep Learning PerformanceAnirudh Koul. 30 Golden Rules of Deep Learning Performance
Anirudh Koul. 30 Golden Rules of Deep Learning Performance
 
Spark Summit EU talk by Tim Hunter
Spark Summit EU talk by Tim HunterSpark Summit EU talk by Tim Hunter
Spark Summit EU talk by Tim Hunter
 
Deep Learning and TensorFlow
Deep Learning and TensorFlowDeep Learning and TensorFlow
Deep Learning and TensorFlow
 
Meetup tensorframes
Meetup tensorframesMeetup tensorframes
Meetup tensorframes
 
Google Big Data Expo
Google Big Data ExpoGoogle Big Data Expo
Google Big Data Expo
 
A Tour of Tensorflow's APIs
A Tour of Tensorflow's APIsA Tour of Tensorflow's APIs
A Tour of Tensorflow's APIs
 
Machine Learning and Go. Go!
Machine Learning and Go. Go!Machine Learning and Go. Go!
Machine Learning and Go. Go!
 
OpenPOWER Workshop in Silicon Valley
OpenPOWER Workshop in Silicon ValleyOpenPOWER Workshop in Silicon Valley
OpenPOWER Workshop in Silicon Valley
 
Scalable Deep Learning on AWS Using Apache MXNet - AWS Summit Tel Aviv 2017
Scalable Deep Learning on AWS Using Apache MXNet - AWS Summit Tel Aviv 2017Scalable Deep Learning on AWS Using Apache MXNet - AWS Summit Tel Aviv 2017
Scalable Deep Learning on AWS Using Apache MXNet - AWS Summit Tel Aviv 2017
 
Standardizing on a single N-dimensional array API for Python
Standardizing on a single N-dimensional array API for PythonStandardizing on a single N-dimensional array API for Python
Standardizing on a single N-dimensional array API for Python
 

Más de Databricks

Democratizing Data Quality Through a Centralized Platform
Democratizing Data Quality Through a Centralized PlatformDemocratizing Data Quality Through a Centralized Platform
Democratizing Data Quality Through a Centralized Platform
Databricks
 
Stage Level Scheduling Improving Big Data and AI Integration
Stage Level Scheduling Improving Big Data and AI IntegrationStage Level Scheduling Improving Big Data and AI Integration
Stage Level Scheduling Improving Big Data and AI Integration
Databricks
 
Simplify Data Conversion from Spark to TensorFlow and PyTorch
Simplify Data Conversion from Spark to TensorFlow and PyTorchSimplify Data Conversion from Spark to TensorFlow and PyTorch
Simplify Data Conversion from Spark to TensorFlow and PyTorch
Databricks
 
Raven: End-to-end Optimization of ML Prediction Queries
Raven: End-to-end Optimization of ML Prediction QueriesRaven: End-to-end Optimization of ML Prediction Queries
Raven: End-to-end Optimization of ML Prediction Queries
Databricks
 
Processing Large Datasets for ADAS Applications using Apache Spark
Processing Large Datasets for ADAS Applications using Apache SparkProcessing Large Datasets for ADAS Applications using Apache Spark
Processing Large Datasets for ADAS Applications using Apache Spark
Databricks
 

Más de Databricks (20)

DW Migration Webinar-March 2022.pptx
DW Migration Webinar-March 2022.pptxDW Migration Webinar-March 2022.pptx
DW Migration Webinar-March 2022.pptx
 
Data Lakehouse Symposium | Day 1 | Part 1
Data Lakehouse Symposium | Day 1 | Part 1Data Lakehouse Symposium | Day 1 | Part 1
Data Lakehouse Symposium | Day 1 | Part 1
 
Data Lakehouse Symposium | Day 1 | Part 2
Data Lakehouse Symposium | Day 1 | Part 2Data Lakehouse Symposium | Day 1 | Part 2
Data Lakehouse Symposium | Day 1 | Part 2
 
Data Lakehouse Symposium | Day 2
Data Lakehouse Symposium | Day 2Data Lakehouse Symposium | Day 2
Data Lakehouse Symposium | Day 2
 
Data Lakehouse Symposium | Day 4
Data Lakehouse Symposium | Day 4Data Lakehouse Symposium | Day 4
Data Lakehouse Symposium | Day 4
 
5 Critical Steps to Clean Your Data Swamp When Migrating Off of Hadoop
5 Critical Steps to Clean Your Data Swamp When Migrating Off of Hadoop5 Critical Steps to Clean Your Data Swamp When Migrating Off of Hadoop
5 Critical Steps to Clean Your Data Swamp When Migrating Off of Hadoop
 
Democratizing Data Quality Through a Centralized Platform
Democratizing Data Quality Through a Centralized PlatformDemocratizing Data Quality Through a Centralized Platform
Democratizing Data Quality Through a Centralized Platform
 
Learn to Use Databricks for Data Science
Learn to Use Databricks for Data ScienceLearn to Use Databricks for Data Science
Learn to Use Databricks for Data Science
 
Why APM Is Not the Same As ML Monitoring
Why APM Is Not the Same As ML MonitoringWhy APM Is Not the Same As ML Monitoring
Why APM Is Not the Same As ML Monitoring
 
The Function, the Context, and the Data—Enabling ML Ops at Stitch Fix
The Function, the Context, and the Data—Enabling ML Ops at Stitch FixThe Function, the Context, and the Data—Enabling ML Ops at Stitch Fix
The Function, the Context, and the Data—Enabling ML Ops at Stitch Fix
 
Stage Level Scheduling Improving Big Data and AI Integration
Stage Level Scheduling Improving Big Data and AI IntegrationStage Level Scheduling Improving Big Data and AI Integration
Stage Level Scheduling Improving Big Data and AI Integration
 
Simplify Data Conversion from Spark to TensorFlow and PyTorch
Simplify Data Conversion from Spark to TensorFlow and PyTorchSimplify Data Conversion from Spark to TensorFlow and PyTorch
Simplify Data Conversion from Spark to TensorFlow and PyTorch
 
Scaling your Data Pipelines with Apache Spark on Kubernetes
Scaling your Data Pipelines with Apache Spark on KubernetesScaling your Data Pipelines with Apache Spark on Kubernetes
Scaling your Data Pipelines with Apache Spark on Kubernetes
 
Scaling and Unifying SciKit Learn and Apache Spark Pipelines
Scaling and Unifying SciKit Learn and Apache Spark PipelinesScaling and Unifying SciKit Learn and Apache Spark Pipelines
Scaling and Unifying SciKit Learn and Apache Spark Pipelines
 
Sawtooth Windows for Feature Aggregations
Sawtooth Windows for Feature AggregationsSawtooth Windows for Feature Aggregations
Sawtooth Windows for Feature Aggregations
 
Redis + Apache Spark = Swiss Army Knife Meets Kitchen Sink
Redis + Apache Spark = Swiss Army Knife Meets Kitchen SinkRedis + Apache Spark = Swiss Army Knife Meets Kitchen Sink
Redis + Apache Spark = Swiss Army Knife Meets Kitchen Sink
 
Re-imagine Data Monitoring with whylogs and Spark
Re-imagine Data Monitoring with whylogs and SparkRe-imagine Data Monitoring with whylogs and Spark
Re-imagine Data Monitoring with whylogs and Spark
 
Raven: End-to-end Optimization of ML Prediction Queries
Raven: End-to-end Optimization of ML Prediction QueriesRaven: End-to-end Optimization of ML Prediction Queries
Raven: End-to-end Optimization of ML Prediction Queries
 
Processing Large Datasets for ADAS Applications using Apache Spark
Processing Large Datasets for ADAS Applications using Apache SparkProcessing Large Datasets for ADAS Applications using Apache Spark
Processing Large Datasets for ADAS Applications using Apache Spark
 
Massive Data Processing in Adobe Using Delta Lake
Massive Data Processing in Adobe Using Delta LakeMassive Data Processing in Adobe Using Delta Lake
Massive Data Processing in Adobe Using Delta Lake
 

Último

Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
amitlee9823
 
➥🔝 7737669865 🔝▻ mahisagar Call-girls in Women Seeking Men 🔝mahisagar🔝 Esc...
➥🔝 7737669865 🔝▻ mahisagar Call-girls in Women Seeking Men  🔝mahisagar🔝   Esc...➥🔝 7737669865 🔝▻ mahisagar Call-girls in Women Seeking Men  🔝mahisagar🔝   Esc...
➥🔝 7737669865 🔝▻ mahisagar Call-girls in Women Seeking Men 🔝mahisagar🔝 Esc...
amitlee9823
 
➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men 🔝Bangalore🔝 Esc...
➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men  🔝Bangalore🔝   Esc...➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men  🔝Bangalore🔝   Esc...
➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men 🔝Bangalore🔝 Esc...
amitlee9823
 
Call Girls Bommasandra Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Bommasandra Just Call 👗 7737669865 👗 Top Class Call Girl Service B...Call Girls Bommasandra Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Bommasandra Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
amitlee9823
 
Abortion pills in Doha Qatar (+966572737505 ! Get Cytotec
Abortion pills in Doha Qatar (+966572737505 ! Get CytotecAbortion pills in Doha Qatar (+966572737505 ! Get Cytotec
Abortion pills in Doha Qatar (+966572737505 ! Get Cytotec
Abortion pills in Riyadh +966572737505 get cytotec
 
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
amitlee9823
 
Abortion pills in Jeddah | +966572737505 | Get Cytotec
Abortion pills in Jeddah | +966572737505 | Get CytotecAbortion pills in Jeddah | +966572737505 | Get Cytotec
Abortion pills in Jeddah | +966572737505 | Get Cytotec
Abortion pills in Riyadh +966572737505 get cytotec
 
Just Call Vip call girls roorkee Escorts ☎️9352988975 Two shot with one girl ...
Just Call Vip call girls roorkee Escorts ☎️9352988975 Two shot with one girl ...Just Call Vip call girls roorkee Escorts ☎️9352988975 Two shot with one girl ...
Just Call Vip call girls roorkee Escorts ☎️9352988975 Two shot with one girl ...
gajnagarg
 
➥🔝 7737669865 🔝▻ Ongole Call-girls in Women Seeking Men 🔝Ongole🔝 Escorts S...
➥🔝 7737669865 🔝▻ Ongole Call-girls in Women Seeking Men  🔝Ongole🔝   Escorts S...➥🔝 7737669865 🔝▻ Ongole Call-girls in Women Seeking Men  🔝Ongole🔝   Escorts S...
➥🔝 7737669865 🔝▻ Ongole Call-girls in Women Seeking Men 🔝Ongole🔝 Escorts S...
amitlee9823
 
➥🔝 7737669865 🔝▻ Sambalpur Call-girls in Women Seeking Men 🔝Sambalpur🔝 Esc...
➥🔝 7737669865 🔝▻ Sambalpur Call-girls in Women Seeking Men  🔝Sambalpur🔝   Esc...➥🔝 7737669865 🔝▻ Sambalpur Call-girls in Women Seeking Men  🔝Sambalpur🔝   Esc...
➥🔝 7737669865 🔝▻ Sambalpur Call-girls in Women Seeking Men 🔝Sambalpur🔝 Esc...
amitlee9823
 
CHEAP Call Girls in Rabindra Nagar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Rabindra Nagar  (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Rabindra Nagar  (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Rabindra Nagar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Just Call Vip call girls Mysore Escorts ☎️9352988975 Two shot with one girl (...
Just Call Vip call girls Mysore Escorts ☎️9352988975 Two shot with one girl (...Just Call Vip call girls Mysore Escorts ☎️9352988975 Two shot with one girl (...
Just Call Vip call girls Mysore Escorts ☎️9352988975 Two shot with one girl (...
gajnagarg
 
Call Girls In Attibele ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Attibele ☎ 7737669865 🥵 Book Your One night StandCall Girls In Attibele ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Attibele ☎ 7737669865 🥵 Book Your One night Stand
amitlee9823
 

Último (20)

Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
 
➥🔝 7737669865 🔝▻ mahisagar Call-girls in Women Seeking Men 🔝mahisagar🔝 Esc...
➥🔝 7737669865 🔝▻ mahisagar Call-girls in Women Seeking Men  🔝mahisagar🔝   Esc...➥🔝 7737669865 🔝▻ mahisagar Call-girls in Women Seeking Men  🔝mahisagar🔝   Esc...
➥🔝 7737669865 🔝▻ mahisagar Call-girls in Women Seeking Men 🔝mahisagar🔝 Esc...
 
➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men 🔝Bangalore🔝 Esc...
➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men  🔝Bangalore🔝   Esc...➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men  🔝Bangalore🔝   Esc...
➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men 🔝Bangalore🔝 Esc...
 
Call Girls Bommasandra Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Bommasandra Just Call 👗 7737669865 👗 Top Class Call Girl Service B...Call Girls Bommasandra Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Bommasandra Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
 
Abortion pills in Doha Qatar (+966572737505 ! Get Cytotec
Abortion pills in Doha Qatar (+966572737505 ! Get CytotecAbortion pills in Doha Qatar (+966572737505 ! Get Cytotec
Abortion pills in Doha Qatar (+966572737505 ! Get Cytotec
 
DATA SUMMIT 24 Building Real-Time Pipelines With FLaNK
DATA SUMMIT 24  Building Real-Time Pipelines With FLaNKDATA SUMMIT 24  Building Real-Time Pipelines With FLaNK
DATA SUMMIT 24 Building Real-Time Pipelines With FLaNK
 
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
 
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
 
Abortion pills in Jeddah | +966572737505 | Get Cytotec
Abortion pills in Jeddah | +966572737505 | Get CytotecAbortion pills in Jeddah | +966572737505 | Get Cytotec
Abortion pills in Jeddah | +966572737505 | Get Cytotec
 
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
 
Detecting Credit Card Fraud: A Machine Learning Approach
Detecting Credit Card Fraud: A Machine Learning ApproachDetecting Credit Card Fraud: A Machine Learning Approach
Detecting Credit Card Fraud: A Machine Learning Approach
 
Just Call Vip call girls roorkee Escorts ☎️9352988975 Two shot with one girl ...
Just Call Vip call girls roorkee Escorts ☎️9352988975 Two shot with one girl ...Just Call Vip call girls roorkee Escorts ☎️9352988975 Two shot with one girl ...
Just Call Vip call girls roorkee Escorts ☎️9352988975 Two shot with one girl ...
 
➥🔝 7737669865 🔝▻ Ongole Call-girls in Women Seeking Men 🔝Ongole🔝 Escorts S...
➥🔝 7737669865 🔝▻ Ongole Call-girls in Women Seeking Men  🔝Ongole🔝   Escorts S...➥🔝 7737669865 🔝▻ Ongole Call-girls in Women Seeking Men  🔝Ongole🔝   Escorts S...
➥🔝 7737669865 🔝▻ Ongole Call-girls in Women Seeking Men 🔝Ongole🔝 Escorts S...
 
➥🔝 7737669865 🔝▻ Sambalpur Call-girls in Women Seeking Men 🔝Sambalpur🔝 Esc...
➥🔝 7737669865 🔝▻ Sambalpur Call-girls in Women Seeking Men  🔝Sambalpur🔝   Esc...➥🔝 7737669865 🔝▻ Sambalpur Call-girls in Women Seeking Men  🔝Sambalpur🔝   Esc...
➥🔝 7737669865 🔝▻ Sambalpur Call-girls in Women Seeking Men 🔝Sambalpur🔝 Esc...
 
CHEAP Call Girls in Rabindra Nagar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Rabindra Nagar  (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Rabindra Nagar  (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Rabindra Nagar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
5CL-ADBA,5cladba, Chinese supplier, safety is guaranteed
5CL-ADBA,5cladba, Chinese supplier, safety is guaranteed5CL-ADBA,5cladba, Chinese supplier, safety is guaranteed
5CL-ADBA,5cladba, Chinese supplier, safety is guaranteed
 
(NEHA) Call Girls Katra Call Now 8617697112 Katra Escorts 24x7
(NEHA) Call Girls Katra Call Now 8617697112 Katra Escorts 24x7(NEHA) Call Girls Katra Call Now 8617697112 Katra Escorts 24x7
(NEHA) Call Girls Katra Call Now 8617697112 Katra Escorts 24x7
 
Just Call Vip call girls Mysore Escorts ☎️9352988975 Two shot with one girl (...
Just Call Vip call girls Mysore Escorts ☎️9352988975 Two shot with one girl (...Just Call Vip call girls Mysore Escorts ☎️9352988975 Two shot with one girl (...
Just Call Vip call girls Mysore Escorts ☎️9352988975 Two shot with one girl (...
 
Thane Call Girls 7091864438 Call Girls in Thane Escort service book now -
Thane Call Girls 7091864438 Call Girls in Thane Escort service book now -Thane Call Girls 7091864438 Call Girls in Thane Escort service book now -
Thane Call Girls 7091864438 Call Girls in Thane Escort service book now -
 
Call Girls In Attibele ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Attibele ☎ 7737669865 🥵 Book Your One night StandCall Girls In Attibele ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Attibele ☎ 7737669865 🥵 Book Your One night Stand
 

A Tale of Three Deep Learning Frameworks: TensorFlow, Keras, & PyTorch with Brooke Wenig and Jules Damji

  • 1. A Tale of Three Deep Learning Frameworks: TensorFlow, Keras, and PyTorch Brooke Wenig Jules S. Damji Spark + AI Summit, London 4October 2018
  • 2. About Us . . . Machine LearningPractice Lead @ Databricks Data Science @ Splunk & MyFitnessPal MS Machine Learning(UCLA) Fluentin Chinese https://www.linkedin.com/in/brookewenig/ Brooke WenigJules S. Damji Apache Spark Developer& Community Advocate @Databricks Program Chair Spark + AI Summit Software engineering @Sun Microsystems, Netscape, @Home, VeriSign, Scalix, Centrify, LoudCloud/Opsware, ProQuest https://www.linkedin.com/in/dmatrix @2twitme
  • 3. Agenda for Today’s Talk • What’s Deep Learning and Why? • Short Survey of 3 DL Frameworks • TensorFlow • Keras • PyTorch • Training Options • Single Node • Distributed • Q&A
  • 4. What is Deep Learning? “Composing representations of data in a hierarchical manner”
  • 7. Zoo of DL Frameworks: Which One? DPL
  • 8. Survey of Three Deep Learning Frameworks
  • 9. What’s TensorFlow? • Open source from Google, 2015 • Current v1.12 API • 2.0 Coming Soon... :) • Declarative Toolkit • Fast: Backend C/C++ • Data flow graphs • Nodes are functions/operators • Edges are input or data (tensors) • Lazy execution • Eager execution (1.7)
  • 10. TensorFlow Key API Concepts • Constants • Variables • Placeholders • Operations • Sessions • Tensors • Graphs • x = tf.constants (42, name= ‘x’) w = tf.Variable(1.34,name=’w’) input= tf.Placeholder(“float”) c = tf.add(x, w); m = tf.matmul(a, b) ... with tf.Session([URI]) as sess: 1, [1, 2], [[2, 3], [4, 5]] ... g = tf.Graph(“my_graph”) withg.as_default(): c = tf.add(x,w) m= tf.matmul(a, b)
  • 11. TensorFlow Code import tensorflow as tf a = tf.placeholder(tf.float32, shape=(2,1)) b = tf.placeholder(tf.float32, shape=(1,2)) c = tf.matmul(a, b) sess = tf.Session() print(sess.run(c, {a: [[1],[2]], b:[[3,4]]})) [[3. 4.] [6. 8.]] Create a TF Session Run the session, with input parameters for place holders ‘a’ & ’b’ ‘c’ as an operation won’t to run until sess.run() Lazily evaluated. TF matmul matrix operation TF session output Create TF placeholder types, a & b Define their input shape as tensors
  • 12. TensorFlow Code: MNIST import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data mnist = input_data.read_data_sets("MNIST_data/", one_hot=True) # Create the model x = tf.placeholder(tf.float32, [None, 784]) W = tf.Variable(tf.zeros([784, 10])) b = tf.Variable(tf.zeros([10])) y = tf.matmul(x, W) + b y_ = tf.placeholder(tf.int64, [None]) ... # Define loss and optimizer cross_entropy = tf.losses.sparse_softmax_cross_entropy(labels=y_, logits=y) train_step = tf.train.GradientDescentOptimizer(0.5).minimize(cross_entropy) #create session, train, and evaluate sess = tf.InteractiveSession() tf.global_variables_initializer().run() # Train for _ in range(1000): batch_xs, batch_ys = mnist.train.next_batch(100) sess.run(train_step, feed_dict={x: batch_xs, y_: batch_ys}) # Test trained model correct_prediction = tf.equal(tf.argmax(y, 1), y_) accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32)) ... print(sess.run(accuracy, feed_dict={ x: mnist.test.images, y_: mnist.test.labels })) https://github.com/tensorflow/tensorflow/blob/master/tensorflow/examples/tutorials/mnist/mnist_softmax.py Use tf input_data modules for MNIST TF placeholders & variables Define our model TF variable for predicted value y’ Define our loss function: cross_entropy Use Gradient Descent Optimizer Train or evaluate the model
  • 13. TensorFlow Programming Stack CPU GPU Android iOS …TPU Use canned estimators Build models Keras Models
  • 14. Why TensorFlow: Community AF AF • 105K+ stars! • 11+M downloads • Popular open-source code • TensorFlow Hub & Blog ○ Code Examples & Tutorials! ○ Learn + share from others
  • 15. Why TensorFlow: Tools AF AF Deploy + Serve Models TFX Visualize Tensors flow
  • 16. TensorFlow: We Get it … So What? • Steep learning curve, but powerful!! • Low-level APIs, butoffers control!! • Expert in Machine Learning, justlearn!! • Yet, high-level Estimators help, you bet!! • Yeah, TensorFlow 2.0, ease-of-use,eagerexecution! • Better, Keras integration helps, indeed!!
  • 17. What’s Keras? • Open source Python Library APIs for Deep Learning • Current v2.2.2 APIs François Chollet (Google) • APIs : with TensorFlow, CNTK and Theano Backends • Easy to UseHigh-Level DeclarativeAPIs! • Build layers – Great for Neural Network Applications – CNN – RNN & LSTM • Fast Experimentation,Modular & Extensible!
  • 18. Keras Programming Stack CPU GPU Android iOS …TPU Use canned estimators Specific Runtime Backend Impl models Python Keras API TF-Keras Theano-Keras CNTK TensorFlow Workflow .....
  • 19. Why Keras? • Focuses on Developer Experience • Popular & Broader Community • Supports multiple backends • Modularity • Sequential • Functional model = Sequential() model.add(Dense(32, input_dim=784)) model.add(Activation('relu')) model.add(Dense, 32, activation=’softmax’) ...
  • 20. Keras Code: MNIST from keras import models from keras import layers mnist = tf.keras.datasets.mnist (train_images, train_labels),(test_images, test_labels)= prepare_data(mnist.load_data()) network= models.Sequential() network.add(layers.Dense(512, activation=‘relu’, input_shape(28 * 28,))) network.add(layers.Dense(10, activation=‘softmax’)) network.compile(optimizer=’rmsprop', loss='categorical_crossentropy', metrics=['accuracy']) network.fit(train_images, train_labels, epochs=5, batch_size=128 ) results = network.evaluate(test_images, test_labels) Set up code & use dataset Define Network Fit Network Compile Network Evaluate Network predictions = network.predict(new_images) Make Predictions Repeatable
  • 21. Another a Simple Network Model:Which code is easier to read?
  • 22. What is PyTorch? • Open source from Facebook, 2017 – v1.0 dev release • Primarily a Python Package • Tensor Computations – Torch.tensor -> CPU, GPU/CUDA • Dynamic NN: Tape-based Autograd • Graph Based Dynamic Computations • Imperative Toolkit
  • 23. PyTorch Programming Stack Python API Auto Differentiation Engine Numpy Library (GPU Support ) Gradient Based Optimized Package Utilities (Data, Text, Video..) Deep Learning & Reinforcement Learning Numpy Alternative Ndarray <->torch.Tensor Optimized: Adam, Adamax, RMSProp, SGD, LBFGS ... Data loading: SciPy, SpaCy, OpenCV, PIL, torchvision CPU CPU GPU GPU...
  • 24. Why PyTorch? • Imperative Experience – Rapid Prototyping for Research – Easy Debugging & TBX • Quick Ramp-up time • Decent Docs & Community – 275K Downloads – 1900 Community Repos – 13+K Blogs Posts • Pythonic!
  • 25. PyTorch Key API Concepts • Variables & Autograd • Torch Tensors • Operations • from torch import Variable x = Variable(torch.Tensor([2]),requires_grad=True) y = 5*x**4 + 3*x**3 + 7*x**2 + 9*x - 5 y.backward() #compute gradient and backpropagate x.grad #different kinds of Torch Tensors x = torch.rand(5, 3); y = torch.rand(5, 3) t = torch.tensor([5.5, 3]) n = torch.tensor(np.array([[1, 2, 3], [4, 5, 6]])) #operations or element-wise operations a = (x + y) m = (x * y) if torch.cuda.is_available(): x = x.cuda() y = y.cuda() torch.add(x, y, out=result) print(a, m, out)
  • 26. PyTorch Rhythm ... Design Model with Autograd Variables Construct Loss and Optimizer Training Cycle 1 . 2 Design a model using PyTorch Autograd Variables Construct a loss function and optimizer with PyTorch APIs Train your model: forward, backward, and update steps 1. 1 1 3 . 2 . 2 3. 2.
  • 27. PyTorch Rhythm : Linear Regression https://www.youtube.com/watch?v=113b7O3mabY (Sung Kim)
  • 29. Options 1) Train on single node 2) Train on single node, distributed inference 3) Distributed training
  • 30. Horovod ● Created by Alexander Sergeev of Uber, open-sourced in 2017 ● Simplifies distributed neural network training ● Supports TensorFlow, Keras, and PyTorch
  • 36. TensorFlow Keras Takeaways: When to Use TF, Keras or PyTorch PyTorch • Low-level APIs & Control • Model Serving • Supports multiple languages • High-level APIs • MultipleBackends • LovePython • Rapid Experimentation • Pythonic! • Imperative Programming • RapidExperimentation
  • 37. Databricks Runtime for Machine Learning Ready to use clusters with built-in ML Frameworks includingTensorFlow, Keras, Horovod, andmore Horovod Estimator for simplifieddistributedtrainingon TensorFlowwith HorovodusingApache Spark on Databricks GPU support on AWS (P2/P3) andAzure (NC/NC-v3) instancesnow supported!
  • 38. Resources & BooksBlogposts Talk, & webinars (http://databricks.com/blog) • GPU acceleration in Databricks • Deep Learning and ApacheSpark • fast.ai • TensorFlowTutorials • TensorFlowDev Summit • Keras/TensorFlowTutorials • PyTorch Docs & Tutorials • Talk-1from Soumith Chintala • Talk-2from Soumith Chintala • MLflow.org Docs for Deep Learning on Databricks (http://docs.databricks.com) • Databricks RuntimeML • HorovodEstimator