4. Outline
About the story
Umbo Computer Vision intro
Develop and maintain CV services
Build our machine learning pipelines
What I have learned
About the future
My imagination
5. Outline
About the story
➡ Umbo Computer Vision intro
Develop and maintain CV services
Build our machine learning pipelines
What I have learned
About the future
My imagination
17. Outline
About the story
Umbo Computer Vision intro
➡ Develop and maintain CV services
Build our machine learning pipelines
What I have learned
About the future
My imagination
18. • On production in 2016
• From PoC projects to online services
Previously on SmartCloud and Umbo Light
25. • Infra
• LB / ASG / VPC …
• Monitoring
• PaperTrail, Cloud Watch …
• Development
• Add new features
• CI/CD
• Maintenance
• Upgrade packages
• Refactor
• Debug
87%
MS
CF
LB SR
SM
SM
SM
LB
CW
CW
CW
AE
26. • Infra
• LB / ASG / VPC …
• Monitoring
• PaperTrail, Cloud Watch …
• Development
• Add new features
• CI/CD
• Maintenance
• Upgrade packages
• Refactor
• Debug
87%
MS
CF
LB SR
SM
SM
SM
LB
CW
CW
CW
AE
27. • Stream Router/Manager was written by Python2 ❤ ❤
• Python2 => Python3
• byte string / decode
• isinstance
• format
• API changes
• Results
• Python3 ❤ ❤ ❤
• Enable a lot of cool features
• F-strings, typing, asyncio, tracemalloc, etc.
87%
28. • Refactor Stream Manager
• Happy to use async/await
• Use pipeline pattern
• Still use run_in_executor/
ThreadPoolExecutor if needed
• Results
• Cleaner architecture
• Performance boost
87%
29. • Refactor CV Worker
• Lua => Python
• Torch => PyTorch
• Use aiohttp server
• Results
• Easier to maintain/upgrade
• High performance
• GPU resources are the bottleneck
• Python package ecosystem 👍
87%
30. • Debug
• Use pyflame to profile the program
• Use tracemaclloc to find memory
usage
• Use Valgrind to check your C++
code
• Results
• Understand more and gotcha!
87%
31. Ping me if you want to listen this
story (and also give us a talk) in
Tainan.py 😼
35. • Computer Vision and Machine
Learning
• They are everywhere
• The learning curve is steep
More than 13%
MS
CF
LB SR
SM
SM
SM
LB
CW
CW
CW
AE
36. You need to delve really deep into
Computer Vision and Machine Learning to
build a self-improving system
37. Outline
About the story
Umbo Computer Vision intro
Develop and maintain CV services
➡ Build our machine learning pipelines
What I have learned
About the future
My imagination
39. How to improve your services
Measure first
New models / heuristics approaches
Need to do training or redesigning
Need more (or specific) labeled data
Training!
Need to compare with the existing ones
Get the best on production
…
Measure again
👷
48. • Can train you a lot of new
models with different parameters
• Backend:
• Airflow
• Celery
Training Pipeline
49. • Can visualize
• The ground truth data
• The evaluation results
• Backend:
• Flask + plugins
• NumPy
• SQLAlchemy
Visualization Platform
50. A faster pipeline means a shorter turnaround time!
Speed matters for a startup
51. Outline
About the story
Umbo Computer Vision intro
Develop and maintain CV services
Build our machine learning pipelines
➡ What I have learned
About the future
My imagination
56. Outline
About the story
Umbo Computer Vision intro
Develop and maintain CV services
Build our machine learning pipelines
What I have learned
About the future
➡ My imagination