Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Voxxed Days Belgrade 2017: Deploying Image Reco...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Casey West
October 19, 2017
Technology
210
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Voxxed Days Belgrade 2017: Deploying Image Recognition with TensorFlow and Kubernetes
Casey West
October 19, 2017
More Decks by Casey West
See All by Casey West
TechSummit Amsterdam 2017: Enhance! Deploying Image Recognition with TensorFlow and Kubernetes
caseywest
0
210
Said no CEO ever: Things that don't matter in the cloud
caseywest
12
3.5k
OperabilityIO 2016 – Achieving Cloud-Native Operability
caseywest
0
700
ContainerCon North America – Cloud Anti-Patterns
caseywest
3
3.4k
Abstractions – Pittsburgh – The Twelve-Factor Container + BONUS
caseywest
0
450
Velocity — Minimum Viable Platform
caseywest
0
320
Minimum Viable Platform - Devops MSP
caseywest
0
270
How Platforms Work
caseywest
0
770
Linux Conf Australia 2016 - The Twelve-Factor Container
caseywest
3
610
Other Decks in Technology
See All in Technology
AIに賢く動いてもらうためのコンテキスト〜Snowflake女子会 vol.8
snowwmn0824
0
200
なぜAI任せのゲームは面白くならないのか?
hirohasuyoutube
0
330
Amazon Bedrock Agents ClassicからAmazon Bedrock AgentCoreへ移行した際、ガードレール設定が2箇所に割れた話
matsunobu
0
160
HolmesGPTで始めるSREエージェント入門!プラットフォームの障害調査はAIにお任せ 〜
sanghyuk
0
250
企業の現実世界をグラフで写し取る
sansantech
PRO
0
210
データ品質を壊しながらSnowflakeのAIに分析させてみた
kawanago
0
320
音声コミュニティを守るAI監視基盤_ 90%以上の入力削減を支えたServerless設計と運用判断
shuheioka123
0
120
AI臭い文章とは何なのか
nasuvitz
36
75k
AI coding 整合正規方法
philipz
0
580
カンファレンスに参加した後の浮遊感とセルフケア
pauli
0
250
HolmesGPTで始めるSREエージェント入門!プラットフォームの障害調査はAIにお任せ 〜
leveragestech
PRO
0
120
「今盗んで、後で解く」に備える ― AWSのポスト量子暗号入門
yama3133
2
280
Featured
See All Featured
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
850
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Utilizing Notion as your number one productivity tool
mfonobong
4
600
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
290
Documentation Writing (for coders)
carmenintech
77
5.5k
How Software Deployment tools have changed in the past 20 years
geshan
2
34k
WCS-LA-2024
lcolladotor
0
840
YesSQL, Process and Tooling at Scale
rocio
174
15k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
290
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
960
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
690
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Transcript
Enhance! Deploying Image Recognition with TensorFlow and Kubernetes Casey West
! @caseywest @googlecloud @VoxxedBelgrade #" #VBD17 #machinelearning #tensorflow #kubernetes 1
I am… —Dad, software architect, technical lead, change agent, programmer,
beverage enthusiast, rock climber, cyclist, acro yoga person… —An Architecture Advocate at Google. I am not… —A data scientist. —An expert in machine learning. ! @caseywest @googlecloud @VoxxedBelgrade #" #VBD17 #machinelearning #tensorflow #kubernetes 2
however… ! @caseywest @googlecloud @VoxxedBelgrade #" #VBD17 #machinelearning #tensorflow #kubernetes
3
I know enough to be dangerous. ! @caseywest @googlecloud @VoxxedBelgrade
#" #VBD17 #machinelearning #tensorflow #kubernetes 4
In 40 minutes you will also know enough to be
dangerous. ! ! @caseywest @googlecloud @VoxxedBelgrade #" #VBD17 #machinelearning #tensorflow #kubernetes 5
Let's get dangerous. ! @caseywest @googlecloud @VoxxedBelgrade #" #VBD17 #machinelearning
#tensorflow #kubernetes 6
Project Plan —Phase 0: Understand ML Basics —Phase 1: Create
TensorFlow Serving model —Phase 2: Create TensorFlow Serving client app —Phase 3: Deploy on Kubernetes —Phase 4: Play! ! @caseywest @googlecloud @VoxxedBelgrade #" #VBD17 #machinelearning #tensorflow #kubernetes 7
Understand ML Basics ! @caseywest @googlecloud @VoxxedBelgrade #" #VBD17 #machinelearning
#tensorflow #kubernetes 8
Understand ML Basics ¯\_(ϑ)_/¯ ! @caseywest @googlecloud @VoxxedBelgrade #" #VBD17
#machinelearning #tensorflow #kubernetes 9
Training a Model 1. Data 2. Time 3. Procedure !
@caseywest @googlecloud @VoxxedBelgrade #" #VBD17 #machinelearning #tensorflow #kubernetes 10
Training a Model 1. Data Historical or available data. !
@caseywest @googlecloud @VoxxedBelgrade #" #VBD17 #machinelearning #tensorflow #kubernetes 11
Training a Model 2. Time Iterations you have time to
make. ! @caseywest @googlecloud @VoxxedBelgrade #" #VBD17 #machinelearning #tensorflow #kubernetes 12
Training a Model 3. Procedure Discover data preparation procedures, an
algorithm to use, and how to configure it. ! @caseywest @googlecloud @VoxxedBelgrade #" #VBD17 #machinelearning #tensorflow #kubernetes 13
Training a Model: Steps 1. Get a data set. 2.
Split it into training and testing data. 3. Train the algorithm. 4. Test the algorithm. 5. Ship it! ! @caseywest @googlecloud @VoxxedBelgrade #" #VBD17 #machinelearning #tensorflow #kubernetes 14
Training a Model: Know More in Five Minutes https://www.youtube.com/watch?v=2FmcHiLCwTU —
Siraj Raval ! @caseywest @googlecloud @VoxxedBelgrade #" #VBD17 #machinelearning #tensorflow #kubernetes 15
Image Recognition: Inception v3 https://github.com/tensorflow/models/tree/master/research/inception ! @caseywest @googlecloud @VoxxedBelgrade #"
#VBD17 #machinelearning #tensorflow #kubernetes 16
Serving the model with TensorFlow Serving —Continuous training pipeline —gRPC
interface —Production ready https://www.tensorflow.org/serving/ ! @caseywest @googlecloud @VoxxedBelgrade #" #VBD17 #machinelearning #tensorflow #kubernetes 17
Pre-trained models exist! ! Let's containerize them before they get
away! ! @caseywest @googlecloud @VoxxedBelgrade #" #VBD17 #machinelearning #tensorflow #kubernetes 18
Create a Docker Image: TensorFlow Serving Inception v3 Docker Machine
docker-machine create \ --driver google \ --google-project goog-caseywest \ --google-zone us-central1-a \ --google-machine-type n1-standard-4 \ docker-machine eval $(docker-machine env docker-machine) ! @caseywest @googlecloud @VoxxedBelgrade #" #VBD17 #machinelearning #tensorflow #kubernetes 19
Create a Docker Image: TensorFlow Serving Inception v3 Run developer
container git clone
[email protected]
:tensorflow/serving.git cd serving docker build --pull \ -t $USER/tensorflow-serving-devel \ -f tensorflow_serving/tools/docker/Dockerfile.devel . docker run --name=inception_container -it \ $USER/tensorflow-serving-devel ! @caseywest @googlecloud @VoxxedBelgrade #" #VBD17 #machinelearning #tensorflow #kubernetes 20
Create a Docker Image: TensorFlow Serving Inception v3 Build in
the devel the container git clone --recurse-submodules \ https://github.com/tensorflow/serving cd serving/tensorflow ./configure # interactive :-( cd .. bazel build -c opt tensorflow_serving/... ! @caseywest @googlecloud @VoxxedBelgrade #" #VBD17 #machinelearning #tensorflow #kubernetes 21
Create a Docker Image: TensorFlow Serving Inception v3 Export inception
in the devel the container curl -LO http://cwe.st/tf-inception-v3 tar xzf inception-v3-2016-03-01.tar.gz bazel-bin/tensorflow_serving/example/inception_saved_model \ --checkpoint_dir=inception-v3 \ --output_dir=inception-export ! @caseywest @googlecloud @VoxxedBelgrade #" #VBD17 #machinelearning #tensorflow #kubernetes 22
Create a Docker Image: TensorFlow Serving Inception v3 Commit and
deploy container docker commit inception_container \ $USER/inception_serving docker tag $USER/inception_serving \ gcr.io/goog-caseywest/inception gcloud docker -- push \ gcr.io/goog-caseywest/inception ! @caseywest @googlecloud @VoxxedBelgrade #" #VBD17 #machinelearning #tensorflow #kubernetes 23
The Machines Have Already Learned Using ML isn't doing ML.
! @caseywest @googlecloud @VoxxedBelgrade #" #VBD17 #machinelearning #tensorflow #kubernetes 24
Deploy Inception Service on Kubernetes Create a cluster gcloud container
clusters create \ image-recognition-cluster \ --num-nodes 5 ! @caseywest @googlecloud @VoxxedBelgrade #" #VBD17 #machinelearning #tensorflow #kubernetes 25
Let's do it live… ! @caseywest @googlecloud @VoxxedBelgrade #" #VBD17
#machinelearning #tensorflow #kubernetes 26
We did it! ! ! @caseywest @googlecloud @VoxxedBelgrade #" #VBD17
#machinelearning #tensorflow #kubernetes 27
Takeaways —Training models is hard. —Serving models is kind of
easy. —gRPC and protobuf have steep learning curves. —therefore, client libraries are challenging. ! @caseywest @googlecloud @VoxxedBelgrade #" #VBD17 #machinelearning #tensorflow #kubernetes 28
Want the code? —DM me @caseywest —Email me
[email protected]
—Try
a similar tutorial —https://tensorflow.github.io/serving/ serving_inception ! @caseywest @googlecloud @VoxxedBelgrade #" #VBD17 #machinelearning #tensorflow #kubernetes 29
Want to try more ML? —TensorFlow —https://www.tensorflow.org/ —MXNet —http://mxnet.io/ —Google
Cloud Playground —https://cloud.google.com/vision/ ! @caseywest @googlecloud @VoxxedBelgrade #" #VBD17 #machinelearning #tensorflow #kubernetes 30
Let's be friends @caseywest ! ! @caseywest @googlecloud @VoxxedBelgrade #"
#VBD17 #machinelearning #tensorflow #kubernetes 31