All Projects → solrex → Caffe Mobile

solrex / Caffe Mobile

Licence: other
Optimized (for size and speed) Caffe lib for iOS and Android with out-of-the-box demo APP.

Projects that are alternatives of or similar to Caffe Mobile

Caffe Hrt
Heterogeneous Run Time version of Caffe. Added heterogeneous capabilities to the Caffe, uses heterogeneous computing infrastructure framework to speed up Deep Learning on Arm-based heterogeneous embedded platform. It also retains all the features of the original Caffe architecture which users deploy their applications seamlessly.
Stars: ✭ 271 (-14.24%)
Mutual labels:  cnn, caffe, dnn
Eeui
📱 使用 Vue.js 跨平台开发高质量原生(Android/iOS)应用。
Stars: ✭ 475 (+50.32%)
Mutual labels:  mobile-app, app
Cnnforandroid
The Convolutional Neural Network(CNN) for Android
Stars: ✭ 245 (-22.47%)
Mutual labels:  cnn, caffe
Flutter Ui Showcase
FLUTTER UI Showcase
Stars: ✭ 68 (-78.48%)
Mutual labels:  mobile-app, app
Liteflownet2
A Lightweight Optical Flow CNN - Revisiting Data Fidelity and Regularization, TPAMI 2020
Stars: ✭ 195 (-38.29%)
Mutual labels:  cnn, caffe
Lq Nets
LQ-Nets: Learned Quantization for Highly Accurate and Compact Deep Neural Networks
Stars: ✭ 195 (-38.29%)
Mutual labels:  cnn, dnn
Reactgym
Workout-Tracking app built in ES6 using react, flux and ImmutableJS
Stars: ✭ 36 (-88.61%)
Mutual labels:  mobile-app, app
Flownet2 Docker
Dockerfile and runscripts for FlowNet 2.0 (estimation of optical flow)
Stars: ✭ 137 (-56.65%)
Mutual labels:  cnn, caffe
Ionic Starter Template
Reinventing the wheel, again! Sorry Ionic Team... but there are many newbies learning on Youtube!
Stars: ✭ 208 (-34.18%)
Mutual labels:  mobile-app, app
Fultter Example App
一个功能完整齐全的Bloc模式Flutter App项目。🍨更关注架构的SPA应用。,使用Node作为后台系统,使用了部分官方plugin,大体功能自己封装。🥰 有用请Star。
Stars: ✭ 248 (-21.52%)
Mutual labels:  mobile-app, app
Flutter Osc
基于Google Flutter的开源中国客户端,支持Android和iOS。
Stars: ✭ 2,793 (+783.86%)
Mutual labels:  mobile-app, app
Hidden Two Stream
Caffe implementation for "Hidden Two-Stream Convolutional Networks for Action Recognition"
Stars: ✭ 179 (-43.35%)
Mutual labels:  cnn, caffe
Keraspp
코딩셰프의 3분 딥러닝, 케라스맛
Stars: ✭ 178 (-43.67%)
Mutual labels:  cnn, dnn
Raspberrypi Facedetection Mtcnn Caffe With Motion
MTCNN with Motion Detection, on Raspberry Pi with Love
Stars: ✭ 204 (-35.44%)
Mutual labels:  cnn, caffe
Awesome Speech Recognition Speech Synthesis Papers
Automatic Speech Recognition (ASR), Speaker Verification, Speech Synthesis, Text-to-Speech (TTS), Language Modelling, Singing Voice Synthesis (SVS), Voice Conversion (VC)
Stars: ✭ 2,085 (+559.81%)
Mutual labels:  cnn, dnn
Tinder React Native
Tinder clone - React Native.
Stars: ✭ 661 (+109.18%)
Mutual labels:  mobile-app, app
Tf2
An Open Source Deep Learning Inference Engine Based on FPGA
Stars: ✭ 113 (-64.24%)
Mutual labels:  cnn, dnn
Noiseface
Noise-Tolerant Paradigm for Training Face Recognition CNNs
Stars: ✭ 132 (-58.23%)
Mutual labels:  cnn, caffe
Flutter parallax scroll
Flutter UI challenge- Parallax scroll effect
Stars: ✭ 172 (-45.57%)
Mutual labels:  mobile-app, app
Facedetection
C++ project to implement MTCNN, a perfect face detect algorithm, on different DL frameworks. The most popular frameworks: caffe/mxnet/tensorflow, are all suppported now
Stars: ✭ 255 (-19.3%)
Mutual labels:  cnn, caffe

Caffe on Mobile Devices

Optimized (for size and speed) Caffe lib for iOS and Android with demo APP. (CPU_ONLY, NO_BACKWARD, NO_BOOST, NO_HDF5, NO_LEVELDB)

Screenshots

iPhone5s Meizu M3 note

NOTE: Cmake version 3.7.2 builds faster lib than version 3.5.1 (verified on Ubuntu 16.10/Android NDK r14). Don't know why. So please use a newer cmake if you can.

NOTE: NDK version r16+ is not supported. NDK r16 moves all standalone headers to unified headers. It causes a lot of cross compile problems which I cannot resolve. See issue #52.

For iPhone or iPhone Simulator

Step 1: Build Caffe-Mobile Lib with cmake

$ git clone --recursive https://github.com/solrex/caffe-mobile.git
$ ./tools/build_ios.sh

Step 2: Build iOS App: CaffeSimple with Xcode

  • For CaffeSimple to run, you need a pre-trained LeNet on MNIST caffe model and the weight file. Follow the instructions in Training LeNet on MNIST with Caffe to train your LeNet Model on MNIST. Then copy the the trained weight file caffe/examples/mnist/lenet_iter_10000.caffemodel to CaffeSimple app directory. Note: Check the batch size setting in net.prototxt, set it to 1 if needed.
$ cp $CAFFE/examples/mnist/lenet_iter_10000.caffemodel \
     $CAFFE_MOBILE/examples/ios/simple/CaffeSimple/data/weight.caffemodel
  • If you want to use your self-defined caffe network, use tools/prototxt2bin.py net.prototxt to convert your prototxt to protobin. Then place net.protobin in $CAFFE_MOBILE/examples/ios/simple/CaffeSimple/data/.

  • Load the Xcode project inside the $CAFFE_MOBILE/examples/ios/simple/ folder, connect your iPhone to Mac, change target to "Your Name's iPhone", and press Command-R to build and run it on your connected device.

For Android

Step 1: Build Caffe-Mobile Lib with cmake

Test passed ANDROID_ABI:

  • [x] arm64-v8a
  • [x] armeabi
  • [x] armeabi-v7a with NEON (not stable)
$ git clone --recursive https://github.com/solrex/caffe-mobile.git
$ export NDK_HOME=/path/to/your/ndk  # C:/path/to/your/ndk on MinGW64 (/c/path/to/your/ndk not work for OpenBLAS)
$ ./tools/build_android.sh

For Windows Users:

Install the following softwares before you start:

  1. Git for Windows: A shell environment(MinGW64) to run the build.
  2. tdm64-gcc-5.1.0-2.exe: The GNU toolchain, remember to copy /path/to/TDM-GCC-64/bin/mingw32-make.exe to /path/to/TDM-GCC-64/bin/make.exe.
  3. cmake-3.8.2-win64-x64.msi: Cmake

Then start Git Bash application to run the build script.

Step 2: Build Android App: CaffeSimple with Android Studio

  • For CaffeSimple to run, you need a pre-trained LeNet on MNIST caffe model and the weight file. Follow the instructions in Training LeNet on MNIST with Caffe to train your LeNet Model on MNIST. Then copy the model file caffe/examples/mnist/lenet.prototxt and the trained weight file caffe/examples/mnist/lenet_iter_10000.caffemodel to the SD card root of your Android mobile phone. Check the batch size setting in net.prototxt, set it to 1 if needed.
$ adb push $CAFFE/examples/mnist/lenet_iter_10000.caffemodel \
     /sdcard/weight.caffemodel
$ adb push $CAFFE_MOBILE/examples/ios/simple/CaffeSimple/data/net.protobin \
     /sdcard/net.protobin
$ adb push $CAFFE_MOBILE/examples/ios/simple/CaffeSimple/data/test_image.jpg \
     /sdcard/test_image.jpg
  • If you want to use your self-defined caffe network, use tools/prototxt2bin.py net.prototxt to convert your prototxt to protobin. Then push net.protobin to your sdcard root directory.

  • Load the Android studio project inside the $CAFFE_MOBILE/examples/android/CaffeSimple/ folder, and press Command-R to build and run it on your connected device.

For MacOSX & Ubuntu

Step 1: Install dependency

$ brew install protobuf # MacOSX
$ sudo apt install libprotobuf-dev protobuf-compiler libatlas-dev # Ubuntu

Step 2: Build Caffe-Mobile Lib with cmake

$ git clone --recursive https://github.com/solrex/caffe-mobile.git
$ mkdir build
$ cd ../build
$ cmake ..
$ make -j 4

Step 3: Build Caffe-bin with cmake

$ brew install gflags
$ cmake .. -DTOOLS
$ make -j 4

Thanks

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].