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
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
440
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
[RSJ26] Hierarchy-Aware Multimodal Retrieval-Augmented Generation for Embodied Question Answering
keio_smilab
PRO
1
170
Backstageでつくるセルフサービスな社内開発基盤
kikunosuke75
1
230
振り返りこそエンジニアの本領
negima
0
260
V8コントリビュート超入門
riyaamemiya
0
130
[RSJ26] Building a VLA Model Based on Self-Distilled Classification
keio_smilab
PRO
0
190
PdMをやめて、 "プロダクトビルダー"という 働き方に変えました / PdM to Product Builder
shikichee
2
670
Jetpack Compose で挑む新聞紙面UI ─ 複合ジェスチャー・ポリゴン記事領域・適応的ページ構成という3つの壁/droidkaigi2026
nikkei_engineer_recruiting
0
170
AI-DLCって実際どう? 〜聞きたいこと全部聞いてみる〜
news_it_enj
0
210
Azure Cost Management の FOCUS コストデータを迷わず読むための“3つの軸”
tetsuyaooooo
0
140
書籍『生成AIの安全性入門』の入門
wataoka
0
200
生成AI時代の クレデンシャルとパーミッション設計
nrinetcom
PRO
3
1.5k
AI時代におけるプロダクト横断勉強会の設計
zozotech
PRO
0
140
Featured
See All Featured
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
920
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.4k
The Curse of the Amulet
leimatthew05
2
14k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
It's Worth the Effort
3n
188
29k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
The Spectacular Lies of Maps
axbom
PRO
1
970
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
Google's AI Overviews - The New Search
badams
0
1.6k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.8k
WCS-LA-2024
lcolladotor
0
820
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
550
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