This document describes research on running deep learning models on mobile devices. The researchers created Caffe2C, which converts Caffe models and parameters into a single C source code. This allows deep learning models trained in Caffe to run efficiently on mobile. Caffe2C is 15x faster than OpenCV DNN. Four mobile apps were created demonstrating Caffe2C: DeepFoodCam for food recognition, DeepStyleCam for neural style transfer, DeepMaterialCam for image translation, and DeepTextInpaintCam for text inpainting.
OpenCV DNN moduleとOur methodのruntimeを比較したスライドで、13th Annual International Conference on Mobile and Ubiquitous Systems: Computing, Networking and Services(MOBIQUITOUS)(http://mobiquitous.org/2016/show/home) のworkshopで発表したスライドの一部になっています。画像認識部分の詳細は省略しました。
CDA4411: Chapter 10 - Application DevelopmentFreddy San
Describe the application development process and the role of methodologies, models, and tools
Compare generations and types of programming language
Explain how assemblers, compilers, and interpreters translate source code instructions into executable code
Describe link editing and contrast static and dynamic linking
Explain the role of memory maps in symbolic debugging
Describe integrated application development tools
Turning the Heat up on DevOps: Providing a web-based editing experience aroun...Michael Elder
We’ll present a web-based editing experience around Heat Orchestration Templates. We have created a unified editing experience leveraging diagram and text-based metaphors into one seamless flow. We have also extended the Heat engine to support full-stack deployment by integrating application deployment capabilities from IBM UrbanCode Deploy. We’ll demonstrate creating ready to deploy HOT documents which capture Compute, Network, and Storage resources as well as our own extensions around software configuration and deployment resources.
We’ll describe how our solution supports three characteristics for Software Defined Environments:
- Organic: Support creating and updating environments in place as their purpose or architecture changes over time.
- Version-aware: We’ll show incorporating native scm solutions like git as part of the web-based interface to version and update templates across multiple environments.
- Fullstack Engineering: We’ll describe templates which capture cloud resources and software resources as part of a unified template which can then provision cloud resources and deploy software in one action.
Our extensions to Heat will be described along with our experiences in extending the engine as a vendor.
OpenCV DNN moduleとOur methodのruntimeを比較したスライドで、13th Annual International Conference on Mobile and Ubiquitous Systems: Computing, Networking and Services(MOBIQUITOUS)(http://mobiquitous.org/2016/show/home) のworkshopで発表したスライドの一部になっています。画像認識部分の詳細は省略しました。
CDA4411: Chapter 10 - Application DevelopmentFreddy San
Describe the application development process and the role of methodologies, models, and tools
Compare generations and types of programming language
Explain how assemblers, compilers, and interpreters translate source code instructions into executable code
Describe link editing and contrast static and dynamic linking
Explain the role of memory maps in symbolic debugging
Describe integrated application development tools
Turning the Heat up on DevOps: Providing a web-based editing experience aroun...Michael Elder
We’ll present a web-based editing experience around Heat Orchestration Templates. We have created a unified editing experience leveraging diagram and text-based metaphors into one seamless flow. We have also extended the Heat engine to support full-stack deployment by integrating application deployment capabilities from IBM UrbanCode Deploy. We’ll demonstrate creating ready to deploy HOT documents which capture Compute, Network, and Storage resources as well as our own extensions around software configuration and deployment resources.
We’ll describe how our solution supports three characteristics for Software Defined Environments:
- Organic: Support creating and updating environments in place as their purpose or architecture changes over time.
- Version-aware: We’ll show incorporating native scm solutions like git as part of the web-based interface to version and update templates across multiple environments.
- Fullstack Engineering: We’ll describe templates which capture cloud resources and software resources as part of a unified template which can then provision cloud resources and deploy software in one action.
Our extensions to Heat will be described along with our experiences in extending the engine as a vendor.
The Containers Ecosystem, the OpenStack Magnum Project, the Open Container In...Daniel Krook
Presentation at the OpenStack Summit in Tokyo, Japan on October 27, 2015.
http://sched.co/49x0
The technology industry has been abuzz about cloud workload containerization since the open source Docker project became a phenomenon in early 2014.
Meanwhile, an OpenStack Containers Team was formed and the Magnum project launched to provide users with a convenient Containers-as-a-Service solution for OpenStack environments.
As the potential of both technologies emerged, many wanted to see shared governance over the baseline container specification and runtime technology to ensure an open cloud ecosystem.
This past June, a new group was formed with a goal of creating open, industry standards around container formats and runtimes, called the Open Container Initiative (http://www.opencontainers.org).
So how will OpenStack Magnum influence - and be influenced by - the new OCI group? Why is the OCI under the stewardship of the Linux Foundation? What is the scope of the OCI effort? What project goals and/or principles will guide their work?
Attend this session to learn the following:
* A brief history of the open container ecosystem and the major benefits that containerization provides
* An overview of the Magnum CaaS plugin architecture and design goals
* Insider details on the the progress of the Linux Foundation Open Container Initiative (and the related Cloud Native Computing Foundation)
* What it all means for deploying container orchestration engines on your cloud with OpenStack Magnum
Megan Kostick - Software Engineer, Cloud and Open Source Technologies, IBM
Daniel Krook - Senior Software Engineer, Cloud and Open Source Technologies, IBM
Jeffrey Borek - WW Program Director, Open Technologies and Partnerships, Cloud Computing
Make Your Electron App Feel at Home EverywhereC4Media
Video and slides synchronized, mp3 and slide download available at URL https://bit.ly/2Z4ZJjn.
Kilian Valkhof discusses the process of making an Electron app feel at home on all three platforms: Windows, MacOS and Linux, making devs aware of the pitfalls and how to avoid them. Filmed at qconsf.com.
Kilian Valkhof is a Front-end Developer & User-experience Designer at Firstversionist. He writes about various topics, from design to machine learning, on his personal website, kilianvalkhof.com and is a frequent contributer to open source software. He is part of the Electron governance team that oversees the development of the Electron framework.
Presentation to Xamarin User Group in San Francisco, 19-Sep-2013... all the latest in Xamarin technology including iOS, Android, Xamarin Studio, Portable Class Libraries, Async/Await and TestCloud.
presentation describing NewsShorts an androif app designAditya14359
this presentation is the overview of an android app the functionality of which is to decribe the latest news of any regin of your choosing in short form.
Do you have an idea for a mobile app and you're only familiar with HTML, CSS and JS? Does going native and writing the same code twice over sound daunting? Ionic is an amazing framework that allows one code base to produce 2 platforms! Hybrid apps are a great way to get your idea out there to all users. Learn about Ionic and build a basic mobile app in less than 1 hour.
The talk would include the following:
- Brief intro/explanation of Ionic as a framework
- Installing Ionic
- Making A Basic App
We've presented this talk at:
- AngularCamp 2017
- Women in Tech Summit (Philly) 2017
- Women in Tech Summit MidAtlantic 2018
Please feel to reach out to either one of us for help with Ionic, PWD, Angular, etc! Or if you would like to chat about development in general :)
Follow us on Twitter: @paulpaultweets @bettierub
Rehosting apps between k8s clusters and automating deployment using craneKonveyor Community
Watch the presentation: https://youtu.be/kp5vFIg0BhQ
With Crane 2.0, application owners can migrate Kubernetes workloads and their state between clusters of different Kubernetes distributions, remove environment-specific configuration, and automate application deployments along the way.
The community has distilled several years of experience performing large-scale production Kubernetes migrations into this tool. It’s designed to drive a migration via a pipeline of non-destructive tasks that dump their results to disk so the operation can be easily audited and versioned without impacting live workloads. The tasks can be run repeatedly and will output consistent results given the same inputs without side-effects on the system at large.
These projects can be large, complex, error-prone, and usually must be performed under a limited window of time. Because of that challenge, it's paramount that a migration tool be designed with transparency and ease-of-diagnostics in mind.
Presenters: Marco Berube and Erik Nelson
Native development kit (ndk) introductionRakesh Jha
Native development kit (ndk) introduction
Topics covered include •
o What is an NDK and Why NDK? •
o Java Native Interface (JNI) •
o Using NDK •
o NDK and JNI by Example •
o NDK's Stable APIs
• Android NDK Multithreading
o Introduction To NDK Native Threading
o Creating and terminating native threads at Android NDK
Build with pthreads
Thread creation
Thread termination
o Synchronizing native threads with conditional variables at Android NDK
Initialize and destroy conditional variables
o Synchronizing native threads with semaphore at Android NDK
Initialize and destroy a semaphore
o Managing data for native threads at Android NDK
NCDevCon 2017 - Cross Platform Mobile AppsJohn M. Wargo
Building cross-platform mobile apps using open source tools. A manic paced session where I build the same app across 4 different open source mobile development frameworks.
The following resources come from the 2009/10 BEng in Electrical Engineering (course number 2ELE0066) from the University of Hertfordshire. All the mini projects are designed as level two modules of the undergraduate programmes.
The objectives of this module are to demonstrate within an industrial environment:
To use USB development Kit
To programme with VB
To integrate the logging system
The aim of this project is to develop a temperature logging system based on USB development Kit. The temperature logging system should collect ambient temperature samples, sample manipulation and display the data in a text and/or graphic format. Students design and programme GUI using VB.
The Containers Ecosystem, the OpenStack Magnum Project, the Open Container In...Daniel Krook
Presentation at the OpenStack Summit in Tokyo, Japan on October 27, 2015.
http://sched.co/49x0
The technology industry has been abuzz about cloud workload containerization since the open source Docker project became a phenomenon in early 2014.
Meanwhile, an OpenStack Containers Team was formed and the Magnum project launched to provide users with a convenient Containers-as-a-Service solution for OpenStack environments.
As the potential of both technologies emerged, many wanted to see shared governance over the baseline container specification and runtime technology to ensure an open cloud ecosystem.
This past June, a new group was formed with a goal of creating open, industry standards around container formats and runtimes, called the Open Container Initiative (http://www.opencontainers.org).
So how will OpenStack Magnum influence - and be influenced by - the new OCI group? Why is the OCI under the stewardship of the Linux Foundation? What is the scope of the OCI effort? What project goals and/or principles will guide their work?
Attend this session to learn the following:
* A brief history of the open container ecosystem and the major benefits that containerization provides
* An overview of the Magnum CaaS plugin architecture and design goals
* Insider details on the the progress of the Linux Foundation Open Container Initiative (and the related Cloud Native Computing Foundation)
* What it all means for deploying container orchestration engines on your cloud with OpenStack Magnum
Megan Kostick - Software Engineer, Cloud and Open Source Technologies, IBM
Daniel Krook - Senior Software Engineer, Cloud and Open Source Technologies, IBM
Jeffrey Borek - WW Program Director, Open Technologies and Partnerships, Cloud Computing
Make Your Electron App Feel at Home EverywhereC4Media
Video and slides synchronized, mp3 and slide download available at URL https://bit.ly/2Z4ZJjn.
Kilian Valkhof discusses the process of making an Electron app feel at home on all three platforms: Windows, MacOS and Linux, making devs aware of the pitfalls and how to avoid them. Filmed at qconsf.com.
Kilian Valkhof is a Front-end Developer & User-experience Designer at Firstversionist. He writes about various topics, from design to machine learning, on his personal website, kilianvalkhof.com and is a frequent contributer to open source software. He is part of the Electron governance team that oversees the development of the Electron framework.
Presentation to Xamarin User Group in San Francisco, 19-Sep-2013... all the latest in Xamarin technology including iOS, Android, Xamarin Studio, Portable Class Libraries, Async/Await and TestCloud.
presentation describing NewsShorts an androif app designAditya14359
this presentation is the overview of an android app the functionality of which is to decribe the latest news of any regin of your choosing in short form.
Do you have an idea for a mobile app and you're only familiar with HTML, CSS and JS? Does going native and writing the same code twice over sound daunting? Ionic is an amazing framework that allows one code base to produce 2 platforms! Hybrid apps are a great way to get your idea out there to all users. Learn about Ionic and build a basic mobile app in less than 1 hour.
The talk would include the following:
- Brief intro/explanation of Ionic as a framework
- Installing Ionic
- Making A Basic App
We've presented this talk at:
- AngularCamp 2017
- Women in Tech Summit (Philly) 2017
- Women in Tech Summit MidAtlantic 2018
Please feel to reach out to either one of us for help with Ionic, PWD, Angular, etc! Or if you would like to chat about development in general :)
Follow us on Twitter: @paulpaultweets @bettierub
Rehosting apps between k8s clusters and automating deployment using craneKonveyor Community
Watch the presentation: https://youtu.be/kp5vFIg0BhQ
With Crane 2.0, application owners can migrate Kubernetes workloads and their state between clusters of different Kubernetes distributions, remove environment-specific configuration, and automate application deployments along the way.
The community has distilled several years of experience performing large-scale production Kubernetes migrations into this tool. It’s designed to drive a migration via a pipeline of non-destructive tasks that dump their results to disk so the operation can be easily audited and versioned without impacting live workloads. The tasks can be run repeatedly and will output consistent results given the same inputs without side-effects on the system at large.
These projects can be large, complex, error-prone, and usually must be performed under a limited window of time. Because of that challenge, it's paramount that a migration tool be designed with transparency and ease-of-diagnostics in mind.
Presenters: Marco Berube and Erik Nelson
Native development kit (ndk) introductionRakesh Jha
Native development kit (ndk) introduction
Topics covered include •
o What is an NDK and Why NDK? •
o Java Native Interface (JNI) •
o Using NDK •
o NDK and JNI by Example •
o NDK's Stable APIs
• Android NDK Multithreading
o Introduction To NDK Native Threading
o Creating and terminating native threads at Android NDK
Build with pthreads
Thread creation
Thread termination
o Synchronizing native threads with conditional variables at Android NDK
Initialize and destroy conditional variables
o Synchronizing native threads with semaphore at Android NDK
Initialize and destroy a semaphore
o Managing data for native threads at Android NDK
NCDevCon 2017 - Cross Platform Mobile AppsJohn M. Wargo
Building cross-platform mobile apps using open source tools. A manic paced session where I build the same app across 4 different open source mobile development frameworks.
The following resources come from the 2009/10 BEng in Electrical Engineering (course number 2ELE0066) from the University of Hertfordshire. All the mini projects are designed as level two modules of the undergraduate programmes.
The objectives of this module are to demonstrate within an industrial environment:
To use USB development Kit
To programme with VB
To integrate the logging system
The aim of this project is to develop a temperature logging system based on USB development Kit. The temperature logging system should collect ambient temperature samples, sample manipulation and display the data in a text and/or graphic format. Students design and programme GUI using VB.
1. 2016 UEC Tokyo.
Deep Learning on the Mobile Devices
Ryosuke Tanno and Keiji Yanai
Department of Informatics,
The University of Electro-Communications,
Tokyo, Japan
3. ⓒ 2016 UEC Tokyo.
• There are many attempts to archive CNN on the
mobile
– Require a high computational power and memory
Bring to CNN to Mobile
CNN into mobile !
High Computational Power and Memory are Bottleneck!!
4. ⓒ 2016 UEC Tokyo.
• We create a Caffe2C which converts the CNN model
definition files and the parameter files trained by
Caffe to a single C language code that can run on
mobile devices
• Caffe2C makes it easy to use deep learning on the C
language operating environment
• Caffe2C achieves faster runtime in comparison to
the existing OpenCV DNN module
Objective
Network
Mean
Label
Model
4 files
Caffe2C
Single C code
5. ⓒ 2016 UEC Tokyo.
• In order to demonstrate the utilization of the Caffe2C,
we have implemented 4 kinds of mobile CNN-based
apps on iOS.
Objective
6. ⓒ 2016 UEC Tokyo.
2. CONSTRUCTION OF CNN-
BASED MOBILE RECOGNITION
SYSTEM
7. ⓒ 2016 UEC Tokyo.
• In order to use the learned parameters by Caffe on
mobile devices, it is necessary to currently use the
OpenCV DNN module not optimized, relatively slow
• We create a Caffe2C which converts the CNN model
definition files and the parameter files trained by Caffe
to a single C language code
– We can use parameter files trained by Caffe on mobile devices
Caffe2C
8. ⓒ 2016 UEC Tokyo.
• Caffe2C achieves faster execution speed in comparison
to the existing OpenCV DNN module
Caffe2C
Caffe2C OpenCV DNN
AlexNet
iPhone 7 Plus 106.9 1663.8
iPad Pro 141.5 1900.1
iPhone SE 141.5 2239.8
Runtime[ms] Caffe2C vs. OpenCV DNN(Input size: 227x227)
Speedup Rate:
About 15X
9. ⓒ 2016 UEC Tokyo.
1. Caffe2C directly converts the Deep Neural Network to
a C source code
Reasons for Fast Execution
Caffe2C
OpenCV DNN
Network
Mean
Label
Model
Caffe2C
Single C code
Execution
like Compiler
Execution
like Interpreter
10. ⓒ 2016 UEC Tokyo.
2. Caffe2C performs the pre-processing of the CNN as
much as possible to reduce the amount of online
computation
– Compute batch normalization in advance for conv weight.
3. Caffe2C effectively uses NEON/BLAS by multi-threading
Reasons for Fast Execution
Network
Mean
Label
Model
4 files
Caffe2C
Single C code
11. ⓒ 2016 UEC Tokyo.
3. EXAMPLES OF MOBILE
APPLICATIONS
12. ⓒ 2016 UEC Tokyo.
• We have implemented 4 kinds of mobile CNN-based
apps on iOS
– Food recognition app: “DeepFoodCam”
– Neural Style Transfer app: “DeepStyleCam”
– Material Transfer app: “DeepMaterialCam”
– Text Inpaint app: “DeepTextInpaintCam”
4 iOS Applications
13. ⓒ 2016 UEC Tokyo.
DeepFoodCam
• Recognize 101 classes including 100 food classes and
one nonfood class
Training Phase
• fine-tuned the CNN with 101 class images
– totally 20,000 images
– UECFOOD-100 and non-food collected from Twitter
Target Top-1 Top-5
Food 101 class 74.5% 93.5%
Accuracy
14. ⓒ 2016 UEC Tokyo.
DeepStyleCam
• Neural Style Transfer
– Synthesize an image which has the style of a given style
image and the contents of a given content image using
Convolutional Neural Network
15. ⓒ 2016 UEC Tokyo.
DeepMaterialCam
• Translate an image from a source domain X to a
target domain Y in the absence of paired examples.
16. ⓒ 2016 UEC Tokyo.
1. We create a Caffe2C which converts the model
definition files and the parameter files of Caffe into
a single C code that can run on mobile devices
2. We explain the flow of construction of recognition
app using Caffe2C
3. We have implemented 4 kinds of mobile CNN-based
apps on iOS.
Conclusions
17. 2016 UEC Tokyo.
Thank you for listening
iOS App is Available !
“DeepFoodCam“
iOS App is Available !
“DeepStyleCam”