SlideShare a Scribd company logo
1 of 47
J. Kang Ph.D. presents
Quick Review on TF2.0 preview
- From APIs use perspectives
Jaewook
2019. Jan
1
© 2019
Jaewook Kang
All Rights Reserved
J. Kang Ph.D. presents
▪ GIST EEC Ph.D. (2015)
▪ Research Lead (~18. 5)
▪ MoTLab Director (18.1~ present)
▪ (18. 10~present)
NLP/Company AI (18.12~ present)
▪
▪ I recently like :
▪ Mobile Machine learning
▪ Natural Language Processing /Chatbot!!
▪ Tensorflow / Google Cloud TPU
▪ Swimming!
2
Jaewook Kang (Jae)
About me!
OMG! TF-KR exceeds 40,000
users!!!!
- Founded at 2016 Mar.
- TFKR is around 3 years olds!!
3
👏👏👏👏👏
Types of TF 2.0 APIs:
- tf keras
- tf.Estimator
- tf native (tf.*/ tf.nn)
4
Types of APIs
5
❖ TF 1.x has too many high level APIs. This makes
confusion.
– tf.layers: To build various types of ML layers
– tf.estimator: To train and evaluate models
• Premade Estimators: model_fn() is premaded.
• Custom Estimators: model_fn() is built by users.
Types of APIs
6
❖ TF 1.x has too many high level APIs. This makes
confusion.
– tf.layers: To build various types of ML layers
– tf.estimator: To train and evaluate models
• Premade Estimators: model_fn() is premaded.
• Custom Estimators: model_fn() is built by users.
tf.keras is now part of the core TF API
7
- tf.keras (Since v1.4 @17 Nov)
Types of APIs
8
❖ TF 1.x has too many high level APIs. This makes
confusion.
– tf.layers: To build various types of ML layers
– tf.estimator: To train and evaluate models
• Premade Estimators: model_fn() is premaded.
• Custom Estimators: model_fn() is built by users.
– tf.keras: Given by the Keras grammar and TF native
binding
• From easy layer definition
• To easy training and evaluation
tf.keras: Major API sets in TF2.0
x = tf.placeholder(tf.float32, [None,784])
y = tf.placeholder(tf.float32, [None,10])
W = tf.Variable(tf.zeros[784,10]))
b = tf.Variable(tf.zeros[10]))
pred_y = tf.nn.softmax(tf.matmul(x,W) + b )
…
with tf.Session() as sess:
sess.run(tf.initialize_all_variables())
tf.train.start_queue_runner(sess)
example_batch = tf.train.batch( [x], batch_size=10, num_threads=4,
capacity=10)
max_steps = 1000
for step in range(max_steps):
x_in = sess.run(example_batch)
sess.run(train_step, feed_dict = { x: train_data, y: train_labels})
9
Tensorflow 1.x
Coding style
slide credit: Google Brain
tf.keras: Major API sets in TF2.0
mnist = dataset.get(‘image_mnist’)
model = tf.keras.Input.Sequential(
[ tf.keras.layers.Input(784,),
tf.keras.layers.Dense(10, activation = tf.nn.softmax)
])
model.complie( optimizer = ‘adam’,
loss=‘sparse_categorical_crossentropy’,
distribute = tf.distribute.MirroredStrartegy())
model.fit(mnist[TRAIN][‘image’], mnist[TRAIN][‘target’], epochs = 5)
model.evaluate(mnist[EVAL][‘image’], mnist[EVAL][‘target’])
10
Tensorflow 2.0
Coding style
slide credit: Google Brain
tf.keras: Major API sets in TF2.0
❖ “tf.keras” fully compatible to the TF framework
– Use tf.data with tf.keras
– Export model in SavedModel
– Build your custom model by subclassing API
– Very simple distributed strategy to use TPU, MultiGPU
and Multi-nodes
11
Types of APIs
12
❖ How is it rearranged in Tf.2.0?
– tf.layers → tf.keras.layers
– tf.Estimator → tf.keras as well (except some premaded)
Types of APIs
13
❖ TF 1.x has too many high level APIs. This makes
confusion.
– tf.layers → tf.keras.layers
– tf.Estimator → tf.keras as well
image credit:
http://bonkersworld.net/backwards-
Types of APIs
14
❖ Don’t forget! Backward Compatibility to tf.Estimator
– Comments:
• Tf.train.optimizer incompatibility to tf.keras
• Lack of Tensorboard support
• Alternative “training and evaluation” are possible?
Types of APIs
15
❖ Don’t forget! Backward Compatibility to tf.Estimator
– Comments:
• Tf.train.optimizer incompatibility to tf.keras
• Lack of Tensorboard support
• Alternative “training and evaluation” are possible?
All right!! We can expect,
the “tf-upgrade-v2” script!
Types of APIs
16
❖ What about low-level APIs in TF 2.0 ?
– In TF2.0, you still can use low-level tf APIs like “tf.nn/tf.*”
with some changes
• 1) API Namespace change
– https://github.com/tensorflow/community/blob/master/rfcs/20180827-api-names.md
• 2) tf.Variable handling change
– https://github.com/tensorflow/community/blob/master/rfcs/20180817-variables-20.md
Types of APIs
17
❖ What about low-level APIs in TF 2.0 ?
– How to run without sess.run() ?
– Functions not session!: Python-style low-level coding by
Autograph
• https://github.com/tensorflow/community/blob/master/rfcs/20180918-functions-not-
sessions-20.md
• We will handle this topic on the next chapter of this slide
Mode options in TF2.0:
18
Mode options in TF2.0:
Graph mode or eager mode? otherwise mixed ?
- Eager mode (slower but interactive)
- Graph mode (faster but not-intuitive)
- Autograph ?
19
Graph mode
● Parallelism
● Distributed execution
● Portability
Eager mode
● An intuitive interface
● Easier debugging
● Natural control flow
def f(x):
if x > 0:
x = x * x
return x
def f(x):
def if_true():
return x * x
def if_false():
return x
x = tf.cond(
tf.greater(x, 0),
if_true,
if_false)
return xslide credit: Google Brain
Graph mode
● Parallelism
● Distributed execution
● Portability
Eager mode
● An intuitive
interface
● Easier debugging
● Natural control flow
def f(x):
if x > 0:
x = x * x
return x
def f(x):
def if_true():
return x * x
def if_false():
return x
x = tf.cond(
tf.greater(x, 0),
if_true,
if_false)
return xslide credit: Google Brain
Eager mode is default! in TF 2.0
❖ An imperative TF coding env
– Returning concrete values instead of building a
compt. graph!
22
Eager mode is default! in TF 2.0
❖ An imperative TF coding env
– Returning concrete values instead of building a
compt. graph!
– Purpose:
• intuitive coding
• Fast prototyping
• Easy debugging
23
Eager mode is default! in TF 2.0
❖ An imperative TF coding env
– Challenges:
• Losing some advantages in deployment
– Potability on various devices like GPU, TPU
– distributed training
• Losing training speed and performance optimization
24
Graph mode
● Parallelism
● Distributed execution
● Portability
Eager mode
● An intuitive interface
● Easier debugging
● Natural control flow
def f(x):
if x > 0:
x = x * x
return x
def f(x):
def if_true():
return x * x
def if_false():
return x
x = tf.cond(
tf.greater(x, 0),
if_true,
if_false)
return xslide credit: Google Brain
Graph mode
● Parallelism
● Distributed execution
● Portability
Eager mode
● An intuitive interface
● Easier debugging
● Natural control flow
def f(x):
if x > 0:
x = x * x
return x
def f(x):
def if_true():
return x * x
def if_false():
return x
x = tf.cond(
tf.greater(x, 0),
if_true,
if_false)
return xslide credit: Google Brain
● Performance
“hot spots”
● Productionize
Autograph
+
tf.function
Graph mode by Autograph
27
❖ Code for graph model in eager-style!
– AutoGraph takes in your eager-style Python code
and converts it to graph-generating code.
• Automatically converts python control flow expressions to tf API
expressions
• (https://medium.com/tensorflow/autograph-converts-python-into-tensorflow-graphs-
b2a871f87ec7)
Graph mode by Autograph
28
❖ Code for graph model in eager-style!
– AutoGraph takes in your eager-style Python code
and converts it to graph-generating code.
• Automatically converts python control flow expressions to tf API
expressions
• (https://medium.com/tensorflow/autograph-converts-python-into-tensorflow-graphs-
b2a871f87ec7)
– Changes from Autograph in TF 1.x:
• The Decorator changes
– Dont Use “@autogrph.convert()” but “@tf.function”
• Supporting customization on tf.keras.models
– add the “@tf.function” on the head of def call().
Graph mode by Autograph
29
❖ How to run without sess.run() ?
– Key: python function as Graph!
• when you decorate your functions using
@tf.function and call the functions,
• TF internally run the functions with tf.Session()
• More information
– https://github.com/tensorflow/community/blob/master/rf
cs/20180918-functions-not-sessions-20.md
Graph mode by Autograph
30
❖ How to run without sess.run() ?
– Key: python function as Graph!
import tensorflow as tf
x = tf.placeholder(tf.float32)
y = tf.square(x)
z = tf.add(x, y)
sess = tf.Session()
z0 = sess.run([z], feed_dict={x: 2.}) # 6.0
z1 = sess.run([z], feed_dict={x: 2., y: 2.}) # 4.0
Tensorflow 1.x
Coding style
Graph mode by Autograph
31
❖ How to run without sess.run() ?
– Key: python function as Graph!
import tensorflow as tf
@tf.function
def compute_z1(x, y):
return tf.add(x, y)
@tf.function
def compute_z0(x):
return compute_z1(x, tf.square(x))
z0 = compute_z0(2.)
z1 = compute_z1(2., 2.)
Tensorflow 2.0
Coding style
Graph mode by Autograph
❖ Code for graph model in eager-style!
- Challenges:
- Make debugging difficult again
- Not all iterator supported
- Not all python-built-in func supported
- Lambda functions not supported
- Dict and tuple types not supported
- For more details, please see
• https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/autograph/LI
MITATIONS.md
32
Graph mode by Autograph
❖ Code for graph model in eager-style!
- Comments:
- Functional duplication?
• tf.contrib.eager.defun()
• tfe.defun()
- Need more use cases !
33
How to use Eager and Autograph
❖ Recommendation
– Use tf.keras as much as possible
– For Customized models, recommend to code in tf.keras
custom model
• where you can use the eager and the autograph modes
– Code any your codes work for the eager and the
autograph modes both.
34
How to use TF 2.0 APIs ?
35
Again, too many options are provided
in TF2.0
36
37
TF2.0: Big Pictures
38
Python
native +
autograph
slide credit: Google Brain
TF2.0: Big Pictures
39
Python
native +
autograph
slide credit: Google Brain
No!,We need detailed
guides and
documentation!!
In my opinion…
40
❖ High-level : tf.keras.models / tf.keras.layers
❖ Low-level opt1: tf.nn/tf.*
❖ Low-level opt2: tf.keras + subclassing API
❖ Low-level opt3: python style only + autograph
In reality, still ...
41
❖ High-level : tf.keras.models / tf.keras.layers
❖ Low-level opt1: tf.nn/tf.*
– → Hope, this is going to be deprecated
❖ Low-level opt2: tf.keras + subclassing API
❖ Low-level opt3: python style only + autograph
– The use of “eager +autograph” can accelerate your low-level coding
– But need improvement and more support
– See
https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/autograph/LIMITATIONS.md
Some Non-technical Comments
❖ Tensorflow is an open source but..
42
Some Non-technical Comments
❖ Tensorflow is an open source but..
❖ People are waiting for Google’s coding guideline
❖ Fast changing may lose diversity
43
Some Questions
44
❖ Q1) Can we use .tflite format for server-based serving as
well?
– Nope !
❖ Q2) Can ckpt or savedmodel from tf1.x be compatible with tf
2.0 ?
– Ans) savedModel → YES
– Ans) ckpt → No!
❖ Q3) How to test “tf-upgrade-v2” ?
– Ans) Still need test and fix it together!
Nevertheless, I hope!
45
46
47
Accelerate your AI
coding with TF 2.0!
Thank you for your
attention

More Related Content

What's hot

Yampa AFRP Introduction
Yampa AFRP IntroductionYampa AFRP Introduction
Yampa AFRP IntroductionChengHui Weng
 
Best Practices for OpenMP on GPUs - OpenMP UK Users Group
Best Practices for OpenMP on GPUs - OpenMP UK Users GroupBest Practices for OpenMP on GPUs - OpenMP UK Users Group
Best Practices for OpenMP on GPUs - OpenMP UK Users GroupJeff Larkin
 
GTC16 - S6510 - Targeting GPUs with OpenMP 4.5
GTC16 - S6510 - Targeting GPUs with OpenMP 4.5GTC16 - S6510 - Targeting GPUs with OpenMP 4.5
GTC16 - S6510 - Targeting GPUs with OpenMP 4.5Jeff Larkin
 
An evaluation of LLVM compiler for SVE with fairly complicated loops
An evaluation of LLVM compiler for SVE with fairly complicated loopsAn evaluation of LLVM compiler for SVE with fairly complicated loops
An evaluation of LLVM compiler for SVE with fairly complicated loopsLinaro
 
Compilation of COSMO for GPU using LLVM
Compilation of COSMO for GPU using LLVMCompilation of COSMO for GPU using LLVM
Compilation of COSMO for GPU using LLVMLinaro
 
GTC16 - S6410 - Comparing OpenACC 2.5 and OpenMP 4.5
GTC16 - S6410 - Comparing OpenACC 2.5 and OpenMP 4.5GTC16 - S6410 - Comparing OpenACC 2.5 and OpenMP 4.5
GTC16 - S6410 - Comparing OpenACC 2.5 and OpenMP 4.5Jeff Larkin
 
Tele4653 l5
Tele4653 l5Tele4653 l5
Tele4653 l5Vin Voro
 
Code GPU with CUDA - Optimizing memory and control flow
Code GPU with CUDA - Optimizing memory and control flowCode GPU with CUDA - Optimizing memory and control flow
Code GPU with CUDA - Optimizing memory and control flowMarina Kolpakova
 
Arm tools and roadmap for SVE compiler support
Arm tools and roadmap for SVE compiler supportArm tools and roadmap for SVE compiler support
Arm tools and roadmap for SVE compiler supportLinaro
 
OXiGen: A tool for automatic acceleration of C functions into dataflow FPGA-b...
OXiGen: A tool for automatic acceleration of C functions into dataflow FPGA-b...OXiGen: A tool for automatic acceleration of C functions into dataflow FPGA-b...
OXiGen: A tool for automatic acceleration of C functions into dataflow FPGA-b...NECST Lab @ Politecnico di Milano
 
Distributed Multi-device Execution of TensorFlow – an Outlook
Distributed Multi-device Execution of TensorFlow – an OutlookDistributed Multi-device Execution of TensorFlow – an Outlook
Distributed Multi-device Execution of TensorFlow – an OutlookSebnem Rusitschka
 
Accelerate Your Python* Code through Profiling, Tuning, and Compilation Part ...
Accelerate Your Python* Code through Profiling, Tuning, and Compilation Part ...Accelerate Your Python* Code through Profiling, Tuning, and Compilation Part ...
Accelerate Your Python* Code through Profiling, Tuning, and Compilation Part ...Intel® Software
 
SPU Optimizations-part 1
SPU Optimizations-part 1SPU Optimizations-part 1
SPU Optimizations-part 1Naughty Dog
 
Profiling PyTorch for Efficiency & Sustainability
Profiling PyTorch for Efficiency & SustainabilityProfiling PyTorch for Efficiency & Sustainability
Profiling PyTorch for Efficiency & Sustainabilitygeetachauhan
 
Performance Portability Through Descriptive Parallelism
Performance Portability Through Descriptive ParallelismPerformance Portability Through Descriptive Parallelism
Performance Portability Through Descriptive ParallelismJeff Larkin
 
Productive OpenCL Programming An Introduction to OpenCL Libraries with Array...
Productive OpenCL Programming An Introduction to OpenCL Libraries  with Array...Productive OpenCL Programming An Introduction to OpenCL Libraries  with Array...
Productive OpenCL Programming An Introduction to OpenCL Libraries with Array...AMD Developer Central
 
Sound analysis and processing with MATLAB
Sound analysis and processing with MATLABSound analysis and processing with MATLAB
Sound analysis and processing with MATLABTan Hoang Luu
 
Tail call optimization (TCO) - Lecture
Tail call optimization (TCO) - LectureTail call optimization (TCO) - Lecture
Tail call optimization (TCO) - LectureJesse Frankley
 

What's hot (20)

Yampa AFRP Introduction
Yampa AFRP IntroductionYampa AFRP Introduction
Yampa AFRP Introduction
 
Best Practices for OpenMP on GPUs - OpenMP UK Users Group
Best Practices for OpenMP on GPUs - OpenMP UK Users GroupBest Practices for OpenMP on GPUs - OpenMP UK Users Group
Best Practices for OpenMP on GPUs - OpenMP UK Users Group
 
GTC16 - S6510 - Targeting GPUs with OpenMP 4.5
GTC16 - S6510 - Targeting GPUs with OpenMP 4.5GTC16 - S6510 - Targeting GPUs with OpenMP 4.5
GTC16 - S6510 - Targeting GPUs with OpenMP 4.5
 
An evaluation of LLVM compiler for SVE with fairly complicated loops
An evaluation of LLVM compiler for SVE with fairly complicated loopsAn evaluation of LLVM compiler for SVE with fairly complicated loops
An evaluation of LLVM compiler for SVE with fairly complicated loops
 
Compilation of COSMO for GPU using LLVM
Compilation of COSMO for GPU using LLVMCompilation of COSMO for GPU using LLVM
Compilation of COSMO for GPU using LLVM
 
GTC16 - S6410 - Comparing OpenACC 2.5 and OpenMP 4.5
GTC16 - S6410 - Comparing OpenACC 2.5 and OpenMP 4.5GTC16 - S6410 - Comparing OpenACC 2.5 and OpenMP 4.5
GTC16 - S6410 - Comparing OpenACC 2.5 and OpenMP 4.5
 
Tele4653 l5
Tele4653 l5Tele4653 l5
Tele4653 l5
 
Code GPU with CUDA - Optimizing memory and control flow
Code GPU with CUDA - Optimizing memory and control flowCode GPU with CUDA - Optimizing memory and control flow
Code GPU with CUDA - Optimizing memory and control flow
 
Arm tools and roadmap for SVE compiler support
Arm tools and roadmap for SVE compiler supportArm tools and roadmap for SVE compiler support
Arm tools and roadmap for SVE compiler support
 
OXiGen: A tool for automatic acceleration of C functions into dataflow FPGA-b...
OXiGen: A tool for automatic acceleration of C functions into dataflow FPGA-b...OXiGen: A tool for automatic acceleration of C functions into dataflow FPGA-b...
OXiGen: A tool for automatic acceleration of C functions into dataflow FPGA-b...
 
Dsp Lab Record
Dsp Lab RecordDsp Lab Record
Dsp Lab Record
 
Distributed Multi-device Execution of TensorFlow – an Outlook
Distributed Multi-device Execution of TensorFlow – an OutlookDistributed Multi-device Execution of TensorFlow – an Outlook
Distributed Multi-device Execution of TensorFlow – an Outlook
 
The low level awesomeness of Go
The low level awesomeness of GoThe low level awesomeness of Go
The low level awesomeness of Go
 
Accelerate Your Python* Code through Profiling, Tuning, and Compilation Part ...
Accelerate Your Python* Code through Profiling, Tuning, and Compilation Part ...Accelerate Your Python* Code through Profiling, Tuning, and Compilation Part ...
Accelerate Your Python* Code through Profiling, Tuning, and Compilation Part ...
 
SPU Optimizations-part 1
SPU Optimizations-part 1SPU Optimizations-part 1
SPU Optimizations-part 1
 
Profiling PyTorch for Efficiency & Sustainability
Profiling PyTorch for Efficiency & SustainabilityProfiling PyTorch for Efficiency & Sustainability
Profiling PyTorch for Efficiency & Sustainability
 
Performance Portability Through Descriptive Parallelism
Performance Portability Through Descriptive ParallelismPerformance Portability Through Descriptive Parallelism
Performance Portability Through Descriptive Parallelism
 
Productive OpenCL Programming An Introduction to OpenCL Libraries with Array...
Productive OpenCL Programming An Introduction to OpenCL Libraries  with Array...Productive OpenCL Programming An Introduction to OpenCL Libraries  with Array...
Productive OpenCL Programming An Introduction to OpenCL Libraries with Array...
 
Sound analysis and processing with MATLAB
Sound analysis and processing with MATLABSound analysis and processing with MATLAB
Sound analysis and processing with MATLAB
 
Tail call optimization (TCO) - Lecture
Tail call optimization (TCO) - LectureTail call optimization (TCO) - Lecture
Tail call optimization (TCO) - Lecture
 

Similar to 190111 tf2 preview_jwkang_pub

Towards Safe Automated Refactoring of Imperative Deep Learning Programs to Gr...
Towards Safe Automated Refactoring of Imperative Deep Learning Programs to Gr...Towards Safe Automated Refactoring of Imperative Deep Learning Programs to Gr...
Towards Safe Automated Refactoring of Imperative Deep Learning Programs to Gr...Raffi Khatchadourian
 
Swift for tensorflow
Swift for tensorflowSwift for tensorflow
Swift for tensorflow규영 허
 
Introduction to TensorFlow 2
Introduction to TensorFlow 2Introduction to TensorFlow 2
Introduction to TensorFlow 2Oswald Campesato
 
Natural language processing open seminar For Tensorflow usage
Natural language processing open seminar For Tensorflow usageNatural language processing open seminar For Tensorflow usage
Natural language processing open seminar For Tensorflow usagehyunyoung Lee
 
Boosting machine learning workflow with TensorFlow 2.0
Boosting machine learning workflow with TensorFlow 2.0Boosting machine learning workflow with TensorFlow 2.0
Boosting machine learning workflow with TensorFlow 2.0Jeongkyu Shin
 
Paolo Galeone - Dissecting tf.function to discover auto graph strengths and s...
Paolo Galeone - Dissecting tf.function to discover auto graph strengths and s...Paolo Galeone - Dissecting tf.function to discover auto graph strengths and s...
Paolo Galeone - Dissecting tf.function to discover auto graph strengths and s...MeetupDataScienceRoma
 
Stack Hybridization: A Mechanism for Bridging Two Compilation Strategies in a...
Stack Hybridization: A Mechanism for Bridging Two Compilation Strategies in a...Stack Hybridization: A Mechanism for Bridging Two Compilation Strategies in a...
Stack Hybridization: A Mechanism for Bridging Two Compilation Strategies in a...Yusuke Izawa
 
running Tensorflow in Production
running Tensorflow in Productionrunning Tensorflow in Production
running Tensorflow in ProductionMatthias Feys
 
Introduction to TensorFlow 2 and Keras
Introduction to TensorFlow 2 and KerasIntroduction to TensorFlow 2 and Keras
Introduction to TensorFlow 2 and KerasOswald Campesato
 
Introduction to TensorFlow, by Machine Learning at Berkeley
Introduction to TensorFlow, by Machine Learning at BerkeleyIntroduction to TensorFlow, by Machine Learning at Berkeley
Introduction to TensorFlow, by Machine Learning at BerkeleyTed Xiao
 
Specialized Compiler for Hash Cracking
Specialized Compiler for Hash CrackingSpecialized Compiler for Hash Cracking
Specialized Compiler for Hash CrackingPositive Hack Days
 
Certification Study Group -Professional ML Engineer Session 2 (GCP-TensorFlow...
Certification Study Group -Professional ML Engineer Session 2 (GCP-TensorFlow...Certification Study Group -Professional ML Engineer Session 2 (GCP-TensorFlow...
Certification Study Group -Professional ML Engineer Session 2 (GCP-TensorFlow...gdgsurrey
 
TensorFlow Dev Summit 2017 요약
TensorFlow Dev Summit 2017 요약TensorFlow Dev Summit 2017 요약
TensorFlow Dev Summit 2017 요약Jin Joong Kim
 
TensorFlow Dev Summit 2018 Extended: TensorFlow Eager Execution
TensorFlow Dev Summit 2018 Extended: TensorFlow Eager ExecutionTensorFlow Dev Summit 2018 Extended: TensorFlow Eager Execution
TensorFlow Dev Summit 2018 Extended: TensorFlow Eager ExecutionTaegyun Jeon
 
Introduction to TensorFlow 2
Introduction to TensorFlow 2Introduction to TensorFlow 2
Introduction to TensorFlow 2Oswald Campesato
 
A Sneak Peek of MLIR in TensorFlow
A Sneak Peek of MLIR in TensorFlowA Sneak Peek of MLIR in TensorFlow
A Sneak Peek of MLIR in TensorFlowKoan-Sin Tan
 
A Tale of Three Deep Learning Frameworks: TensorFlow, Keras, & PyTorch with B...
A Tale of Three Deep Learning Frameworks: TensorFlow, Keras, & PyTorch with B...A Tale of Three Deep Learning Frameworks: TensorFlow, Keras, & PyTorch with B...
A Tale of Three Deep Learning Frameworks: TensorFlow, Keras, & PyTorch with B...Databricks
 
Deep Learning, Scala, and Spark
Deep Learning, Scala, and SparkDeep Learning, Scala, and Spark
Deep Learning, Scala, and SparkOswald Campesato
 
20180926 kubeflow-meetup-1-kubeflow-operators-Preferred Networks-Shingo Omura
20180926 kubeflow-meetup-1-kubeflow-operators-Preferred Networks-Shingo Omura20180926 kubeflow-meetup-1-kubeflow-operators-Preferred Networks-Shingo Omura
20180926 kubeflow-meetup-1-kubeflow-operators-Preferred Networks-Shingo OmuraPreferred Networks
 
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 TensorFlowS N
 

Similar to 190111 tf2 preview_jwkang_pub (20)

Towards Safe Automated Refactoring of Imperative Deep Learning Programs to Gr...
Towards Safe Automated Refactoring of Imperative Deep Learning Programs to Gr...Towards Safe Automated Refactoring of Imperative Deep Learning Programs to Gr...
Towards Safe Automated Refactoring of Imperative Deep Learning Programs to Gr...
 
Swift for tensorflow
Swift for tensorflowSwift for tensorflow
Swift for tensorflow
 
Introduction to TensorFlow 2
Introduction to TensorFlow 2Introduction to TensorFlow 2
Introduction to TensorFlow 2
 
Natural language processing open seminar For Tensorflow usage
Natural language processing open seminar For Tensorflow usageNatural language processing open seminar For Tensorflow usage
Natural language processing open seminar For Tensorflow usage
 
Boosting machine learning workflow with TensorFlow 2.0
Boosting machine learning workflow with TensorFlow 2.0Boosting machine learning workflow with TensorFlow 2.0
Boosting machine learning workflow with TensorFlow 2.0
 
Paolo Galeone - Dissecting tf.function to discover auto graph strengths and s...
Paolo Galeone - Dissecting tf.function to discover auto graph strengths and s...Paolo Galeone - Dissecting tf.function to discover auto graph strengths and s...
Paolo Galeone - Dissecting tf.function to discover auto graph strengths and s...
 
Stack Hybridization: A Mechanism for Bridging Two Compilation Strategies in a...
Stack Hybridization: A Mechanism for Bridging Two Compilation Strategies in a...Stack Hybridization: A Mechanism for Bridging Two Compilation Strategies in a...
Stack Hybridization: A Mechanism for Bridging Two Compilation Strategies in a...
 
running Tensorflow in Production
running Tensorflow in Productionrunning Tensorflow in Production
running Tensorflow in Production
 
Introduction to TensorFlow 2 and Keras
Introduction to TensorFlow 2 and KerasIntroduction to TensorFlow 2 and Keras
Introduction to TensorFlow 2 and Keras
 
Introduction to TensorFlow, by Machine Learning at Berkeley
Introduction to TensorFlow, by Machine Learning at BerkeleyIntroduction to TensorFlow, by Machine Learning at Berkeley
Introduction to TensorFlow, by Machine Learning at Berkeley
 
Specialized Compiler for Hash Cracking
Specialized Compiler for Hash CrackingSpecialized Compiler for Hash Cracking
Specialized Compiler for Hash Cracking
 
Certification Study Group -Professional ML Engineer Session 2 (GCP-TensorFlow...
Certification Study Group -Professional ML Engineer Session 2 (GCP-TensorFlow...Certification Study Group -Professional ML Engineer Session 2 (GCP-TensorFlow...
Certification Study Group -Professional ML Engineer Session 2 (GCP-TensorFlow...
 
TensorFlow Dev Summit 2017 요약
TensorFlow Dev Summit 2017 요약TensorFlow Dev Summit 2017 요약
TensorFlow Dev Summit 2017 요약
 
TensorFlow Dev Summit 2018 Extended: TensorFlow Eager Execution
TensorFlow Dev Summit 2018 Extended: TensorFlow Eager ExecutionTensorFlow Dev Summit 2018 Extended: TensorFlow Eager Execution
TensorFlow Dev Summit 2018 Extended: TensorFlow Eager Execution
 
Introduction to TensorFlow 2
Introduction to TensorFlow 2Introduction to TensorFlow 2
Introduction to TensorFlow 2
 
A Sneak Peek of MLIR in TensorFlow
A Sneak Peek of MLIR in TensorFlowA Sneak Peek of MLIR in TensorFlow
A Sneak Peek of MLIR in TensorFlow
 
A Tale of Three Deep Learning Frameworks: TensorFlow, Keras, & PyTorch with B...
A Tale of Three Deep Learning Frameworks: TensorFlow, Keras, & PyTorch with B...A Tale of Three Deep Learning Frameworks: TensorFlow, Keras, & PyTorch with B...
A Tale of Three Deep Learning Frameworks: TensorFlow, Keras, & PyTorch with B...
 
Deep Learning, Scala, and Spark
Deep Learning, Scala, and SparkDeep Learning, Scala, and Spark
Deep Learning, Scala, and Spark
 
20180926 kubeflow-meetup-1-kubeflow-operators-Preferred Networks-Shingo Omura
20180926 kubeflow-meetup-1-kubeflow-operators-Preferred Networks-Shingo Omura20180926 kubeflow-meetup-1-kubeflow-operators-Preferred Networks-Shingo Omura
20180926 kubeflow-meetup-1-kubeflow-operators-Preferred Networks-Shingo Omura
 
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
 

More from Jaewook. Kang

181123 poseest101 devfest_pangyo_jwkang
181123 poseest101 devfest_pangyo_jwkang181123 poseest101 devfest_pangyo_jwkang
181123 poseest101 devfest_pangyo_jwkangJaewook. Kang
 
Cloud tpu jae_180814
Cloud tpu jae_180814Cloud tpu jae_180814
Cloud tpu jae_180814Jaewook. Kang
 
180624 mobile visionnet_baeksucon_jwkang_pub
180624 mobile visionnet_baeksucon_jwkang_pub180624 mobile visionnet_baeksucon_jwkang_pub
180624 mobile visionnet_baeksucon_jwkang_pubJaewook. Kang
 
180525 mobile visionnet_hanlim_extended
180525 mobile visionnet_hanlim_extended180525 mobile visionnet_hanlim_extended
180525 mobile visionnet_hanlim_extendedJaewook. Kang
 
EveryBody Tensorflow module3 GIST Jan 2018 Korean
EveryBody Tensorflow module3 GIST Jan 2018 KoreanEveryBody Tensorflow module3 GIST Jan 2018 Korean
EveryBody Tensorflow module3 GIST Jan 2018 KoreanJaewook. Kang
 
EveryBody Tensorflow module2 GIST Jan 2018 Korean
EveryBody Tensorflow module2 GIST Jan 2018 KoreanEveryBody Tensorflow module2 GIST Jan 2018 Korean
EveryBody Tensorflow module2 GIST Jan 2018 KoreanJaewook. Kang
 
EveryBody Tensorflow module1 GIST Jan 2018 Korean
EveryBody Tensorflow module1 GIST Jan 2018 KoreanEveryBody Tensorflow module1 GIST Jan 2018 Korean
EveryBody Tensorflow module1 GIST Jan 2018 KoreanJaewook. Kang
 
[Tf2017] day1 jwkang_pub
[Tf2017] day1 jwkang_pub[Tf2017] day1 jwkang_pub
[Tf2017] day1 jwkang_pubJaewook. Kang
 
[Tf2017] day4 jwkang_pub
[Tf2017] day4 jwkang_pub[Tf2017] day4 jwkang_pub
[Tf2017] day4 jwkang_pubJaewook. Kang
 
[Tf2017] day3 jwkang_pub
[Tf2017] day3 jwkang_pub[Tf2017] day3 jwkang_pub
[Tf2017] day3 jwkang_pubJaewook. Kang
 
[Tf2017] day2 jwkang_pub
[Tf2017] day2 jwkang_pub[Tf2017] day2 jwkang_pub
[Tf2017] day2 jwkang_pubJaewook. Kang
 
MATLAB Programming BASIC @ GIST winter school 2015
MATLAB Programming BASIC @ GIST winter school 2015 MATLAB Programming BASIC @ GIST winter school 2015
MATLAB Programming BASIC @ GIST winter school 2015 Jaewook. Kang
 
Jaewook Kang's Phd final defense @ 20151117
Jaewook Kang's  Phd final defense @ 20151117Jaewook Kang's  Phd final defense @ 20151117
Jaewook Kang's Phd final defense @ 20151117Jaewook. Kang
 
Introduction to Soundlly 2nd screen services and technology: Seminar in 금오공대 ...
Introduction to Soundlly 2nd screen services and technology: Seminar in 금오공대 ...Introduction to Soundlly 2nd screen services and technology: Seminar in 금오공대 ...
Introduction to Soundlly 2nd screen services and technology: Seminar in 금오공대 ...Jaewook. Kang
 

More from Jaewook. Kang (15)

181123 poseest101 devfest_pangyo_jwkang
181123 poseest101 devfest_pangyo_jwkang181123 poseest101 devfest_pangyo_jwkang
181123 poseest101 devfest_pangyo_jwkang
 
Cloud tpu jae_180814
Cloud tpu jae_180814Cloud tpu jae_180814
Cloud tpu jae_180814
 
180624 mobile visionnet_baeksucon_jwkang_pub
180624 mobile visionnet_baeksucon_jwkang_pub180624 mobile visionnet_baeksucon_jwkang_pub
180624 mobile visionnet_baeksucon_jwkang_pub
 
180525 mobile visionnet_hanlim_extended
180525 mobile visionnet_hanlim_extended180525 mobile visionnet_hanlim_extended
180525 mobile visionnet_hanlim_extended
 
EveryBody Tensorflow module3 GIST Jan 2018 Korean
EveryBody Tensorflow module3 GIST Jan 2018 KoreanEveryBody Tensorflow module3 GIST Jan 2018 Korean
EveryBody Tensorflow module3 GIST Jan 2018 Korean
 
EveryBody Tensorflow module2 GIST Jan 2018 Korean
EveryBody Tensorflow module2 GIST Jan 2018 KoreanEveryBody Tensorflow module2 GIST Jan 2018 Korean
EveryBody Tensorflow module2 GIST Jan 2018 Korean
 
EveryBody Tensorflow module1 GIST Jan 2018 Korean
EveryBody Tensorflow module1 GIST Jan 2018 KoreanEveryBody Tensorflow module1 GIST Jan 2018 Korean
EveryBody Tensorflow module1 GIST Jan 2018 Korean
 
[Tf2017] day1 jwkang_pub
[Tf2017] day1 jwkang_pub[Tf2017] day1 jwkang_pub
[Tf2017] day1 jwkang_pub
 
[Tf2017] day4 jwkang_pub
[Tf2017] day4 jwkang_pub[Tf2017] day4 jwkang_pub
[Tf2017] day4 jwkang_pub
 
[Tf2017] day3 jwkang_pub
[Tf2017] day3 jwkang_pub[Tf2017] day3 jwkang_pub
[Tf2017] day3 jwkang_pub
 
[Tf2017] day2 jwkang_pub
[Tf2017] day2 jwkang_pub[Tf2017] day2 jwkang_pub
[Tf2017] day2 jwkang_pub
 
Life is stair-like
Life is stair-likeLife is stair-like
Life is stair-like
 
MATLAB Programming BASIC @ GIST winter school 2015
MATLAB Programming BASIC @ GIST winter school 2015 MATLAB Programming BASIC @ GIST winter school 2015
MATLAB Programming BASIC @ GIST winter school 2015
 
Jaewook Kang's Phd final defense @ 20151117
Jaewook Kang's  Phd final defense @ 20151117Jaewook Kang's  Phd final defense @ 20151117
Jaewook Kang's Phd final defense @ 20151117
 
Introduction to Soundlly 2nd screen services and technology: Seminar in 금오공대 ...
Introduction to Soundlly 2nd screen services and technology: Seminar in 금오공대 ...Introduction to Soundlly 2nd screen services and technology: Seminar in 금오공대 ...
Introduction to Soundlly 2nd screen services and technology: Seminar in 금오공대 ...
 

Recently uploaded

代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改atducpo
 
PKS-TGC-1084-630 - Stage 1 Proposal.pptx
PKS-TGC-1084-630 - Stage 1 Proposal.pptxPKS-TGC-1084-630 - Stage 1 Proposal.pptx
PKS-TGC-1084-630 - Stage 1 Proposal.pptxPramod Kumar Srivastava
 
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130Suhani Kapoor
 
VIP High Class Call Girls Bikaner Anushka 8250192130 Independent Escort Servi...
VIP High Class Call Girls Bikaner Anushka 8250192130 Independent Escort Servi...VIP High Class Call Girls Bikaner Anushka 8250192130 Independent Escort Servi...
VIP High Class Call Girls Bikaner Anushka 8250192130 Independent Escort Servi...Suhani Kapoor
 
EMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM TRACKING WITH GOOGLE ANALYTICS.pptx
EMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM  TRACKING WITH GOOGLE ANALYTICS.pptxEMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM  TRACKING WITH GOOGLE ANALYTICS.pptx
EMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM TRACKING WITH GOOGLE ANALYTICS.pptxthyngster
 
Customer Service Analytics - Make Sense of All Your Data.pptx
Customer Service Analytics - Make Sense of All Your Data.pptxCustomer Service Analytics - Make Sense of All Your Data.pptx
Customer Service Analytics - Make Sense of All Your Data.pptxEmmanuel Dauda
 
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdf
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdfKantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdf
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdfSocial Samosa
 
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...Suhani Kapoor
 
FESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdfFESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdfMarinCaroMartnezBerg
 
100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptx100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptxAnupama Kate
 
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Callshivangimorya083
 
Full night 🥵 Call Girls Delhi New Friends Colony {9711199171} Sanya Reddy ✌️o...
Full night 🥵 Call Girls Delhi New Friends Colony {9711199171} Sanya Reddy ✌️o...Full night 🥵 Call Girls Delhi New Friends Colony {9711199171} Sanya Reddy ✌️o...
Full night 🥵 Call Girls Delhi New Friends Colony {9711199171} Sanya Reddy ✌️o...shivangimorya083
 
High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...
High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...
High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...soniya singh
 
Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...
Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...
Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...dajasot375
 
Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Callshivangimorya083
 
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Callshivangimorya083
 
From idea to production in a day – Leveraging Azure ML and Streamlit to build...
From idea to production in a day – Leveraging Azure ML and Streamlit to build...From idea to production in a day – Leveraging Azure ML and Streamlit to build...
From idea to production in a day – Leveraging Azure ML and Streamlit to build...Florian Roscheck
 
Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝soniya singh
 

Recently uploaded (20)

代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改
 
PKS-TGC-1084-630 - Stage 1 Proposal.pptx
PKS-TGC-1084-630 - Stage 1 Proposal.pptxPKS-TGC-1084-630 - Stage 1 Proposal.pptx
PKS-TGC-1084-630 - Stage 1 Proposal.pptx
 
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
 
VIP High Class Call Girls Bikaner Anushka 8250192130 Independent Escort Servi...
VIP High Class Call Girls Bikaner Anushka 8250192130 Independent Escort Servi...VIP High Class Call Girls Bikaner Anushka 8250192130 Independent Escort Servi...
VIP High Class Call Girls Bikaner Anushka 8250192130 Independent Escort Servi...
 
EMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM TRACKING WITH GOOGLE ANALYTICS.pptx
EMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM  TRACKING WITH GOOGLE ANALYTICS.pptxEMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM  TRACKING WITH GOOGLE ANALYTICS.pptx
EMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM TRACKING WITH GOOGLE ANALYTICS.pptx
 
Customer Service Analytics - Make Sense of All Your Data.pptx
Customer Service Analytics - Make Sense of All Your Data.pptxCustomer Service Analytics - Make Sense of All Your Data.pptx
Customer Service Analytics - Make Sense of All Your Data.pptx
 
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdf
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdfKantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdf
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdf
 
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...
 
FESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdfFESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdf
 
100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptx100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptx
 
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
 
Full night 🥵 Call Girls Delhi New Friends Colony {9711199171} Sanya Reddy ✌️o...
Full night 🥵 Call Girls Delhi New Friends Colony {9711199171} Sanya Reddy ✌️o...Full night 🥵 Call Girls Delhi New Friends Colony {9711199171} Sanya Reddy ✌️o...
Full night 🥵 Call Girls Delhi New Friends Colony {9711199171} Sanya Reddy ✌️o...
 
High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...
High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...
High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...
 
꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...
꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...
꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...
 
Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...
Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...
Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...
 
Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
 
Delhi 99530 vip 56974 Genuine Escort Service Call Girls in Kishangarh
Delhi 99530 vip 56974 Genuine Escort Service Call Girls in  KishangarhDelhi 99530 vip 56974 Genuine Escort Service Call Girls in  Kishangarh
Delhi 99530 vip 56974 Genuine Escort Service Call Girls in Kishangarh
 
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
 
From idea to production in a day – Leveraging Azure ML and Streamlit to build...
From idea to production in a day – Leveraging Azure ML and Streamlit to build...From idea to production in a day – Leveraging Azure ML and Streamlit to build...
From idea to production in a day – Leveraging Azure ML and Streamlit to build...
 
Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝
 

190111 tf2 preview_jwkang_pub

  • 1. J. Kang Ph.D. presents Quick Review on TF2.0 preview - From APIs use perspectives Jaewook 2019. Jan 1 © 2019 Jaewook Kang All Rights Reserved
  • 2. J. Kang Ph.D. presents ▪ GIST EEC Ph.D. (2015) ▪ Research Lead (~18. 5) ▪ MoTLab Director (18.1~ present) ▪ (18. 10~present) NLP/Company AI (18.12~ present) ▪ ▪ I recently like : ▪ Mobile Machine learning ▪ Natural Language Processing /Chatbot!! ▪ Tensorflow / Google Cloud TPU ▪ Swimming! 2 Jaewook Kang (Jae) About me!
  • 3. OMG! TF-KR exceeds 40,000 users!!!! - Founded at 2016 Mar. - TFKR is around 3 years olds!! 3 👏👏👏👏👏
  • 4. Types of TF 2.0 APIs: - tf keras - tf.Estimator - tf native (tf.*/ tf.nn) 4
  • 5. Types of APIs 5 ❖ TF 1.x has too many high level APIs. This makes confusion. – tf.layers: To build various types of ML layers – tf.estimator: To train and evaluate models • Premade Estimators: model_fn() is premaded. • Custom Estimators: model_fn() is built by users.
  • 6. Types of APIs 6 ❖ TF 1.x has too many high level APIs. This makes confusion. – tf.layers: To build various types of ML layers – tf.estimator: To train and evaluate models • Premade Estimators: model_fn() is premaded. • Custom Estimators: model_fn() is built by users.
  • 7. tf.keras is now part of the core TF API 7 - tf.keras (Since v1.4 @17 Nov)
  • 8. Types of APIs 8 ❖ TF 1.x has too many high level APIs. This makes confusion. – tf.layers: To build various types of ML layers – tf.estimator: To train and evaluate models • Premade Estimators: model_fn() is premaded. • Custom Estimators: model_fn() is built by users. – tf.keras: Given by the Keras grammar and TF native binding • From easy layer definition • To easy training and evaluation
  • 9. tf.keras: Major API sets in TF2.0 x = tf.placeholder(tf.float32, [None,784]) y = tf.placeholder(tf.float32, [None,10]) W = tf.Variable(tf.zeros[784,10])) b = tf.Variable(tf.zeros[10])) pred_y = tf.nn.softmax(tf.matmul(x,W) + b ) … with tf.Session() as sess: sess.run(tf.initialize_all_variables()) tf.train.start_queue_runner(sess) example_batch = tf.train.batch( [x], batch_size=10, num_threads=4, capacity=10) max_steps = 1000 for step in range(max_steps): x_in = sess.run(example_batch) sess.run(train_step, feed_dict = { x: train_data, y: train_labels}) 9 Tensorflow 1.x Coding style slide credit: Google Brain
  • 10. tf.keras: Major API sets in TF2.0 mnist = dataset.get(‘image_mnist’) model = tf.keras.Input.Sequential( [ tf.keras.layers.Input(784,), tf.keras.layers.Dense(10, activation = tf.nn.softmax) ]) model.complie( optimizer = ‘adam’, loss=‘sparse_categorical_crossentropy’, distribute = tf.distribute.MirroredStrartegy()) model.fit(mnist[TRAIN][‘image’], mnist[TRAIN][‘target’], epochs = 5) model.evaluate(mnist[EVAL][‘image’], mnist[EVAL][‘target’]) 10 Tensorflow 2.0 Coding style slide credit: Google Brain
  • 11. tf.keras: Major API sets in TF2.0 ❖ “tf.keras” fully compatible to the TF framework – Use tf.data with tf.keras – Export model in SavedModel – Build your custom model by subclassing API – Very simple distributed strategy to use TPU, MultiGPU and Multi-nodes 11
  • 12. Types of APIs 12 ❖ How is it rearranged in Tf.2.0? – tf.layers → tf.keras.layers – tf.Estimator → tf.keras as well (except some premaded)
  • 13. Types of APIs 13 ❖ TF 1.x has too many high level APIs. This makes confusion. – tf.layers → tf.keras.layers – tf.Estimator → tf.keras as well image credit: http://bonkersworld.net/backwards-
  • 14. Types of APIs 14 ❖ Don’t forget! Backward Compatibility to tf.Estimator – Comments: • Tf.train.optimizer incompatibility to tf.keras • Lack of Tensorboard support • Alternative “training and evaluation” are possible?
  • 15. Types of APIs 15 ❖ Don’t forget! Backward Compatibility to tf.Estimator – Comments: • Tf.train.optimizer incompatibility to tf.keras • Lack of Tensorboard support • Alternative “training and evaluation” are possible? All right!! We can expect, the “tf-upgrade-v2” script!
  • 16. Types of APIs 16 ❖ What about low-level APIs in TF 2.0 ? – In TF2.0, you still can use low-level tf APIs like “tf.nn/tf.*” with some changes • 1) API Namespace change – https://github.com/tensorflow/community/blob/master/rfcs/20180827-api-names.md • 2) tf.Variable handling change – https://github.com/tensorflow/community/blob/master/rfcs/20180817-variables-20.md
  • 17. Types of APIs 17 ❖ What about low-level APIs in TF 2.0 ? – How to run without sess.run() ? – Functions not session!: Python-style low-level coding by Autograph • https://github.com/tensorflow/community/blob/master/rfcs/20180918-functions-not- sessions-20.md • We will handle this topic on the next chapter of this slide
  • 18. Mode options in TF2.0: 18
  • 19. Mode options in TF2.0: Graph mode or eager mode? otherwise mixed ? - Eager mode (slower but interactive) - Graph mode (faster but not-intuitive) - Autograph ? 19
  • 20. Graph mode ● Parallelism ● Distributed execution ● Portability Eager mode ● An intuitive interface ● Easier debugging ● Natural control flow def f(x): if x > 0: x = x * x return x def f(x): def if_true(): return x * x def if_false(): return x x = tf.cond( tf.greater(x, 0), if_true, if_false) return xslide credit: Google Brain
  • 21. Graph mode ● Parallelism ● Distributed execution ● Portability Eager mode ● An intuitive interface ● Easier debugging ● Natural control flow def f(x): if x > 0: x = x * x return x def f(x): def if_true(): return x * x def if_false(): return x x = tf.cond( tf.greater(x, 0), if_true, if_false) return xslide credit: Google Brain
  • 22. Eager mode is default! in TF 2.0 ❖ An imperative TF coding env – Returning concrete values instead of building a compt. graph! 22
  • 23. Eager mode is default! in TF 2.0 ❖ An imperative TF coding env – Returning concrete values instead of building a compt. graph! – Purpose: • intuitive coding • Fast prototyping • Easy debugging 23
  • 24. Eager mode is default! in TF 2.0 ❖ An imperative TF coding env – Challenges: • Losing some advantages in deployment – Potability on various devices like GPU, TPU – distributed training • Losing training speed and performance optimization 24
  • 25. Graph mode ● Parallelism ● Distributed execution ● Portability Eager mode ● An intuitive interface ● Easier debugging ● Natural control flow def f(x): if x > 0: x = x * x return x def f(x): def if_true(): return x * x def if_false(): return x x = tf.cond( tf.greater(x, 0), if_true, if_false) return xslide credit: Google Brain
  • 26. Graph mode ● Parallelism ● Distributed execution ● Portability Eager mode ● An intuitive interface ● Easier debugging ● Natural control flow def f(x): if x > 0: x = x * x return x def f(x): def if_true(): return x * x def if_false(): return x x = tf.cond( tf.greater(x, 0), if_true, if_false) return xslide credit: Google Brain ● Performance “hot spots” ● Productionize Autograph + tf.function
  • 27. Graph mode by Autograph 27 ❖ Code for graph model in eager-style! – AutoGraph takes in your eager-style Python code and converts it to graph-generating code. • Automatically converts python control flow expressions to tf API expressions • (https://medium.com/tensorflow/autograph-converts-python-into-tensorflow-graphs- b2a871f87ec7)
  • 28. Graph mode by Autograph 28 ❖ Code for graph model in eager-style! – AutoGraph takes in your eager-style Python code and converts it to graph-generating code. • Automatically converts python control flow expressions to tf API expressions • (https://medium.com/tensorflow/autograph-converts-python-into-tensorflow-graphs- b2a871f87ec7) – Changes from Autograph in TF 1.x: • The Decorator changes – Dont Use “@autogrph.convert()” but “@tf.function” • Supporting customization on tf.keras.models – add the “@tf.function” on the head of def call().
  • 29. Graph mode by Autograph 29 ❖ How to run without sess.run() ? – Key: python function as Graph! • when you decorate your functions using @tf.function and call the functions, • TF internally run the functions with tf.Session() • More information – https://github.com/tensorflow/community/blob/master/rf cs/20180918-functions-not-sessions-20.md
  • 30. Graph mode by Autograph 30 ❖ How to run without sess.run() ? – Key: python function as Graph! import tensorflow as tf x = tf.placeholder(tf.float32) y = tf.square(x) z = tf.add(x, y) sess = tf.Session() z0 = sess.run([z], feed_dict={x: 2.}) # 6.0 z1 = sess.run([z], feed_dict={x: 2., y: 2.}) # 4.0 Tensorflow 1.x Coding style
  • 31. Graph mode by Autograph 31 ❖ How to run without sess.run() ? – Key: python function as Graph! import tensorflow as tf @tf.function def compute_z1(x, y): return tf.add(x, y) @tf.function def compute_z0(x): return compute_z1(x, tf.square(x)) z0 = compute_z0(2.) z1 = compute_z1(2., 2.) Tensorflow 2.0 Coding style
  • 32. Graph mode by Autograph ❖ Code for graph model in eager-style! - Challenges: - Make debugging difficult again - Not all iterator supported - Not all python-built-in func supported - Lambda functions not supported - Dict and tuple types not supported - For more details, please see • https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/autograph/LI MITATIONS.md 32
  • 33. Graph mode by Autograph ❖ Code for graph model in eager-style! - Comments: - Functional duplication? • tf.contrib.eager.defun() • tfe.defun() - Need more use cases ! 33
  • 34. How to use Eager and Autograph ❖ Recommendation – Use tf.keras as much as possible – For Customized models, recommend to code in tf.keras custom model • where you can use the eager and the autograph modes – Code any your codes work for the eager and the autograph modes both. 34
  • 35. How to use TF 2.0 APIs ? 35
  • 36. Again, too many options are provided in TF2.0 36
  • 37. 37
  • 38. TF2.0: Big Pictures 38 Python native + autograph slide credit: Google Brain
  • 39. TF2.0: Big Pictures 39 Python native + autograph slide credit: Google Brain No!,We need detailed guides and documentation!!
  • 40. In my opinion… 40 ❖ High-level : tf.keras.models / tf.keras.layers ❖ Low-level opt1: tf.nn/tf.* ❖ Low-level opt2: tf.keras + subclassing API ❖ Low-level opt3: python style only + autograph
  • 41. In reality, still ... 41 ❖ High-level : tf.keras.models / tf.keras.layers ❖ Low-level opt1: tf.nn/tf.* – → Hope, this is going to be deprecated ❖ Low-level opt2: tf.keras + subclassing API ❖ Low-level opt3: python style only + autograph – The use of “eager +autograph” can accelerate your low-level coding – But need improvement and more support – See https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/autograph/LIMITATIONS.md
  • 42. Some Non-technical Comments ❖ Tensorflow is an open source but.. 42
  • 43. Some Non-technical Comments ❖ Tensorflow is an open source but.. ❖ People are waiting for Google’s coding guideline ❖ Fast changing may lose diversity 43
  • 44. Some Questions 44 ❖ Q1) Can we use .tflite format for server-based serving as well? – Nope ! ❖ Q2) Can ckpt or savedmodel from tf1.x be compatible with tf 2.0 ? – Ans) savedModel → YES – Ans) ckpt → No! ❖ Q3) How to test “tf-upgrade-v2” ? – Ans) Still need test and fix it together!
  • 46. 46
  • 47. 47 Accelerate your AI coding with TF 2.0! Thank you for your attention