/crowdsource-video-experiments-on-android

Crowdsourcing video experiments (such as collaborative benchmarking and optimization of DNN algorithms) using Collective Knowledge Framework across diverse Android devices provided by volunteers. Results are continuously aggregated in the open repository:

Primary LanguageJavaOtherNOASSERTION

Build Status

NEWS

  • We use CK technology to power open and reproducible ACM ReQuEST tournaments on co-design of Pareto-efficient software/hardware stack for deep learning;
  • We are building a collective training set from user mispredictions and correct labels to improve models
  • Our collaborative work with ARM was presented at ARM TechCon'16 (Oct. 27);
  • ARM uses CK as a front-end for systematic and reproducible benchmarking and tuning of real workloads: link;
  • Open challenges in computer engineering have been updated: link;
  • General Motors and dividiti shared CK workflow to crowdsource benchmarking and optimization of CAFFE (DNN framework) here;
  • We have moved related Open Science resources here;

Introduction

This CK-powered open-source Android application lets the community participate in experiment crowdsourcing which require webcam (such as crowd-benchmarking and crowd-tuning Caffe, Tensorflow and other DNN frameworks or any realistic application for image processing and recognition) using their mobile devices (mobile phones, tablets, IoT, etc) and exchange knowledge via public CK servers.

You can download this app from the Google Play Store.

You can also find public results at Live CK repo!

Public scenarios are prepared using this CK GitHub repo. Caffe libraries are generated using CK-Caffe framework. Collective training set is available here.

Current scenarios include multi-dimensional and multi-objective optimization of benchmarks and real workloads such as Caffe, TensorFlow and other DNN frameworks in terms of performance, accuracy, energy, memory footprint, cost, etc.

See our vision paper.

Related outdated projects:

License

  • Permissive 3-clause BSD license. (See LICENSE.txt for more details).

Minimal requirements

Android 5.0+ (we hope to provide support for older Android versions soon)!

Authors

Privacy Policy

This application requires access to your Camera to let you capture images, recognize them and collect various performance statistics. Note that, by default, no images are sent to public servers! Only if misprediction happens, you are encouraged but not obliged (!) to submit incorrectly recognized image with the correct label to the public server to help the community enhance existing data sets with new images!

Questions/comments/discussions?

Please subscribe to our mailing lists:

Publications

The concepts have been described in the following publications:

If you found this app useful for your R&D, you are welcome to reference any of the above publications in your articles and reports. You can download all above references in one BibTex file here.

Testimonials and awards

Acknowledgments

CK development is coordinated by dividiti and the cTuning foundation (non-profit research organization) We are also extremely grateful to all volunteers for their valuable feedback and contributions.

logo