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
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Casey West
October 19, 2017
Technology
220
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
330
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
React改造してみた
tsukina_7mochi
0
140
DGX Spark でどこまでハッキングができるのか?
kash1064
3
1.4k
AIにシークレットを見せない、WSL2で安全な開発環境
yazm
0
330
JAWS-UGグッズ職人仕事の流儀
kentapapa
0
130
コンテナ運用におけるネットワーク・コンテナコストの削減方法/How to Reduce Network and Container Costs in Container Operations
masakiokuda
2
350
Post AI時代のリファクタリング実践記 / Refactoring in the post AI era
kaminashi
1
310
LLM Content Moderationを支える評価・改善ループの実践
suikabar
1
240
Metadata - Section 1: HTML Basics
mohab1
0
140
『SAR衛星データ解析入門』のご紹介とその応用
syuchimu
0
130
JAWSUG TOHOKU 青森支部 「LoGoチャット」のAWS移行で 乗り越えたこと
taketakekaho
0
360
M5Stackで作る BLEマウス GPSログの世界
tomokusaba
PRO
0
450
DBについての基礎説明(MySQL編) - コロプラ 2026年度 新卒研修
colopl
0
150
Featured
See All Featured
Reflections from 52 weeks, 52 projects
jeffersonlam
356
22k
The Cult of Friendly URLs
andyhume
79
7k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
490
YesSQL, Process and Tooling at Scale
rocio
174
15k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
570
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.8k
Writing Fast Ruby
sferik
630
63k
Designing for Performance
lara
612
70k
Evolving SEO for Evolving Search Engines
ryanjones
0
330
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
270
Large-scale JavaScript Application Architecture
addyosmani
516
110k
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