Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Voxxed Days Belgrade 2017: Deploying Image Reco...
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
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
200
Said no CEO ever: Things that don't matter in the cloud
caseywest
12
3.4k
OperabilityIO 2016 – Achieving Cloud-Native Operability
caseywest
0
690
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
310
Minimum Viable Platform - Devops MSP
caseywest
0
270
How Platforms Work
caseywest
0
760
Linux Conf Australia 2016 - The Twelve-Factor Container
caseywest
3
600
Other Decks in Technology
See All in Technology
設計の世代交代を乗り越える、14年続くAndroidアプリの開発戦略
sansantech
PRO
1
150
Nav2、Nav3 ... はたまた自作?〜 作って理解する Nav3 の設計意図 〜 / Nav2, Nav3 ... or Build Your Own? — Understanding Nav3's design intent by building it from scratch
yanzm
0
260
AIで開発は速くなったのに、なぜ現場は楽にならないのか 〜あなたの組織のボトルネックを突き止めるワークショップ〜
jacopen
1
270
スクラムで身についていた動き方を、XPで捉え直してみた
codmoninc
PRO
1
300
Jetpack Compose で挑む新聞紙面UI ─ 複合ジェスチャー・ポリゴン記事領域・適応的ページ構成という3つの壁/droidkaigi2026
nikkei_engineer_recruiting
0
240
2026-09-11 【Snowflake World Tour Tokyo 2026】Snowflakeを起点に、AI Agentが自律稼働し続ける未来へ / Driving AI Agents with Snowflake
civitaspo
0
170
Bet AI Day 2026丨バクラク Autopilot、業務システムの再設計
layerx
PRO
2
1.6k
薬剤師(ドメインエキスパート)と一緒に育てる薬局向けAIアシスタント
kakehashi
PRO
2
120
enechainの内製セルフサービスプラットフォーム
hiyosi
0
130
AI 駆動 Terraform 開発/SRE_BizReach_MIXI_2
visional_engineering_and_design
2
1.9k
DGX Sparkを2台使って いろいろ動かす話
sonoda_mj
1
140
データエンジニアリングワークショップ:Auto LoaderとSparkで学ぶデータパイプライン構築
databricksjapan
PRO
0
210
Featured
See All Featured
So, you think you're a good person
axbom
PRO
2
2.1k
Producing Creativity
orderedlist
PRO
348
41k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.3k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
440
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
560
4 Signs Your Business is Dying
shpigford
187
23k
How Software Deployment tools have changed in the past 20 years
geshan
1
34k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.6k
Ruling the World: When Life Gets Gamed
codingconduct
0
320
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
320
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