$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
TensorFlow for Mobile Developers
Search
Enrique López Mañas
February 22, 2018
Programming
0
160
TensorFlow for Mobile Developers
TensorFlow for Mobile Developers @ DroidKaigi
Enrique López Mañas
February 22, 2018
Tweet
Share
More Decks by Enrique López Mañas
See All by Enrique López Mañas
Composifying Your Not-Compose Code
kikoso
0
10
Guardrails and Sanity Checks: Verifying LLM Input and Output for Developers
kikoso
0
50
KMP_for_Swift.pdf
kikoso
0
55
Android Benchmarking and other stories
kikoso
0
360
KMP for Mobile Developers
kikoso
0
71
Diving into Coroutines
kikoso
1
76
K/N for mobile developers (including libraries' snippets)
kikoso
0
100
Kotlin/Native for Multiplatform development
kikoso
0
73
TensorFlow for Mobile Developers
kikoso
0
21
Other Decks in Programming
See All in Programming
手軽に積ん読を増やすには?/読みたい本と付き合うには?
o0h
PRO
1
140
Socio-Technical Evolution: Growing an Architecture and Its Organization for Fast Flow
cer
PRO
0
260
ViewファーストなRailsアプリ開発のたのしさ
sugiwe
0
400
複数人でのCLI/Infrastructure as Codeの暮らしを良くする
shmokmt
5
2.1k
Microservices Platforms: When Team Topologies Meets Microservices Patterns
cer
PRO
1
920
TUIライブラリつくってみた / i-just-make-TUI-library
kazto
1
310
WebRTC と Rust と8K 60fps
tnoho
2
1.9k
AI時代もSEOを頑張っている話
shirahama_x
0
230
非同期処理の迷宮を抜ける: 初学者がつまづく構造的な原因
pd1xx
1
580
「コードは上から下へ読むのが一番」と思った時に、思い出してほしい話
panda728
PRO
11
6k
モダンJSフレームワークのビルドプロセス 〜なぜReactは503行、Svelteは12行なのか〜
fuuki12
0
190
connect-python: convenient protobuf RPC for Python
anuraaga
0
360
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
234
18k
RailsConf 2023
tenderlove
30
1.3k
Designing for Performance
lara
610
69k
How to train your dragon (web standard)
notwaldorf
97
6.4k
Side Projects
sachag
455
43k
Facilitating Awesome Meetings
lara
57
6.7k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
GraphQLとの向き合い方2022年版
quramy
50
14k
Become a Pro
speakerdeck
PRO
30
5.7k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.3k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.2k
Transcript
TensorFlow for Mobile Developers Enrique López Mañas Google Developer Expert
Ego Slide • Freelance Dev • Google Developer Expert •
@eenriquelopez
Machine Learning / AI
Machine Learning / AI
Machine Learning / AI
Buzzwords classification Artificial intelligence Machine Learning The science of making
machines smarts Building machines that can learn Neural Networks One of the many different algorithms in Machine Learning
Buzzwords classification
Neural Network
Machine Learning
Machine Learning
Machine Learning 12% of all responses on mobile
Machine Learning
Machine Learning
Machine Learning
Cloud vs. Mobile Less Traffic & Faster Response Motion Sensors
TensorFlow OpenSource library for Machine Learning tensorflow.org Today most popular
ML framework
TensorFlow You can train: - Mac / Windows - GPU
Server - GPU/TPU on Cloud Prediction: - Android - iOS - Raspberry
TensorFlow CIFAR10
TensorFlow ecosystem
From Training to App (@yufengg)
Data Gathering?
From Training to App (@yufengg)
From Training to App (@yufengg)
Convolutional Neural Networks (@yufengg)
Convolutional Neural Networks (@yufengg)
Convolutional Neural Networks (@yufengg)
Convolutional Neural Networks (@yufengg)
Convolutional Neural Networks (@yufengg)
Convolutional Neural Networks (@yufengg)
Convolutional Neural Networks (@yufengg)
Convolutional Neural Networks (@yufengg)
From Training to App (@yufengg)
Optimizing model for Mobile (@yufengg)
From Training to App (@yufengg) Other inception versions (inception v1
quantised is 7 MB)
From Training to App (@yufengg) TensorFlow increases APK in 12
MB
From Training to App (@yufengg)
From Training to App (@yufengg)
TensorFlow community 1000+ contributors 22.000+ commits 18.000+ repositories with name
“TensorFlow”
TensorFlow community
Building with Android Studio Uses Bazel to build Set Bazel
binary location in /tensorflow/examples/ android/build.gradle Add project in tensorflor/examples/android folder to Android Studio
Building with Android Studio Installing Bazel first: Download from https://github.com/bazelbuild/bazel/releases
Install instructions in https://docs.bazel.build/versions/master/install.html
Building with Android Studio Download Android SDK (23) Download Android
NDK (12b) (recommend it with Android SDK Manager)
Building with Android Studio WORKSPACE FILE
Building with Android Studio Run Bazel bazel build -c opt
//tensorflow/examples/ android:tensorflow_demo
Building with Android Studio Install APK adb install -r bazel-bin/tensorflow/examples/android/
tensorflow_demo.apk
Building with Android Studio OR… TensorFlow AAR from JCenter YUV
-> RGB less efficient Object tracking not available
Android Samples TF Classify TF Detect TF Stylize
TF Classify Uses Google Inception (v3) to label images Model
easy to swap No “person label” Volume button up for statistics
TF Classify
TF Classify
TF Detect
TF Detect - Draw bounding boxes around people - Useful
to count objects - No training yet
TF Style
TF Style - Real time style transfer algorithm - Pick/mix
different styles - Can train Magenta models
TF Style
TensorFlow Written in C++ Android uses Kotlin/Java? HowTo? Android
inference Library https://github.com/tensorflow/tensorflow/tree/master/tensorflow/contrib/android
Building for iOS Install requirements: - Xcode 8 - Command
line tools (xcode-select install) - brew install automake - brew install lib tool - tensorflow/contrib/makefile_build_all_ios.sh (takes 20 minutes)
iOS Examples: simple
iOS Examples: camera
iOS Examples: camera - Run inception each frame - Models
can be replaced
iOS Examples: benchmark
Raspberry Pi
Resources TensorFlow: https://www.tensorflow.org/ Magenta: https://magenta.tensorflow.org/welcome-to-magenta TensorFlow for Poets: https://codelabs.developers.google.com/codelabs/ tensorflow-for-poets/index.html#0
Shameless self-promotion www.kotlinweekly.net
Feedback! http://bit.ly/droidkaigi
None