All Projects → luoyetx → Mini Caffe

luoyetx / Mini Caffe

Licence: bsd-3-clause
Minimal runtime core of Caffe, Forward only, GPU support and Memory efficiency.

Projects that are alternatives of or similar to Mini Caffe

Aurora
Minimal Deep Learning library is written in Python/Cython/C++ and Numpy/CUDA/cuDNN.
Stars: ✭ 90 (-75.87%)
Mutual labels:  cudnn, cuda
Ctranslate2
Fast inference engine for OpenNMT models
Stars: ✭ 140 (-62.47%)
Mutual labels:  cudnn, cuda
Tutorial Ubuntu 18.04 Install Nvidia Driver And Cuda And Cudnn And Build Tensorflow For Gpu
Ubuntu 18.04 How to install Nvidia driver + CUDA + CUDNN + build tensorflow for gpu step by step command line
Stars: ✭ 91 (-75.6%)
Mutual labels:  cudnn, cuda
Simple Sh Datascience
A collection of Bash scripts and Dockerfiles to install data science Tool, Lib and application
Stars: ✭ 32 (-91.42%)
Mutual labels:  cudnn, cuda
Social-Distancing-and-Face-Mask-Detection
Social Distancing and Face Mask Detection using TensorFlow. Install all required Libraries and GPU drivers as well. Refer to README.md or REPORT for know to installation requirement
Stars: ✭ 39 (-89.54%)
Mutual labels:  cuda, cudnn
Nvidia libs test
Tests and benchmarks for cudnn (and in the future, other nvidia libraries)
Stars: ✭ 36 (-90.35%)
Mutual labels:  cudnn, cuda
Tensorflow Optimized Wheels
TensorFlow wheels built for latest CUDA/CuDNN and enabled performance flags: SSE, AVX, FMA; XLA
Stars: ✭ 118 (-68.36%)
Mutual labels:  cudnn, cuda
Cupy
NumPy & SciPy for GPU
Stars: ✭ 5,625 (+1408.04%)
Mutual labels:  cudnn, cuda
Senet
Squeeze-and-Excitation Networks
Stars: ✭ 2,850 (+664.08%)
Mutual labels:  caffe, cuda
Ck Caffe
Collective Knowledge workflow for Caffe to automate installation across diverse platforms and to collaboratively evaluate and optimize Caffe-based workloads across diverse hardware, software and data sets (compilers, libraries, tools, models, inputs):
Stars: ✭ 192 (-48.53%)
Mutual labels:  caffe, cuda
Imagenet Classifier Tensorflow
Image recognition and classification using Convolutional Neural Networks with TensorFlow
Stars: ✭ 13 (-96.51%)
Mutual labels:  cudnn, cuda
Arch-Data-Science
Archlinux PKGBUILDs for Data Science, Machine Learning, Deep Learning, NLP and Computer Vision
Stars: ✭ 92 (-75.34%)
Mutual labels:  cuda, cudnn
Arraymancer
A fast, ergonomic and portable tensor library in Nim with a deep learning focus for CPU, GPU and embedded devices via OpenMP, Cuda and OpenCL backends
Stars: ✭ 793 (+112.6%)
Mutual labels:  cudnn, cuda
Singularity Tutorial
Tutorial for using Singularity containers
Stars: ✭ 46 (-87.67%)
Mutual labels:  cudnn, cuda
Chainer
A flexible framework of neural networks for deep learning
Stars: ✭ 5,656 (+1416.35%)
Mutual labels:  cudnn, cuda
Tensorflow Object Detection Tutorial
The purpose of this tutorial is to learn how to install and prepare TensorFlow framework to train your own convolutional neural network object detection classifier for multiple objects, starting from scratch
Stars: ✭ 113 (-69.71%)
Mutual labels:  cudnn, cuda
Gocv
Go package for computer vision using OpenCV 4 and beyond.
Stars: ✭ 4,511 (+1109.38%)
Mutual labels:  caffe, cuda
How to write cuda extensions in pytorch
How to write cuda kernels or c functions in pytorch, especially for former caffe users.
Stars: ✭ 51 (-86.33%)
Mutual labels:  caffe, cuda
gpu-monitor
Script to remotely check GPU servers for free GPUs
Stars: ✭ 85 (-77.21%)
Mutual labels:  cuda, cudnn
Bayadera
High-performance Bayesian Data Analysis on the GPU in Clojure
Stars: ✭ 342 (-8.31%)
Mutual labels:  cuda

Mini-Caffe

Build Status Build status

Minimal runtime core of Caffe. This repo is aimed to provide a minimal C++ runtime core for those want to Forward a Caffe model.

What can Mini-Caffe do?

Mini-Caffe only depends on OpenBLAS and protobuf which means you can't train model with Mini-Caffe. It also only supports Forward function which means you can't apply models like neural art style transform that uses Backward function.

Build on Windows

You need a VC compiler to build Mini-Caffe. Visual Studio 2013 Community should be fine. You can download from here.

OpenBLAS

OpenBLAS library is already shipped with the source code, we don't need to compile it. If you want, you could download other version from here. v0.2.14 is used for Mini-Caffe.

protobuf

protobuf is a git submodule in Mini-Caffe, we need to fetch the source code and compile it.

$ git submodule update --init
$ cd 3rdparty/src/protobuf/cmake
$ mkdir build
$ cd build
$ cmake .. -Dprotobuf_BUILD_TESTS=OFF -Dprotobuf_MSVC_STATIC_RUNTIME=OFF -G "Visual Studio 12 2013 Win64"

Use protobuf.sln to compile Debug and Release version.

With these two libraries, we can compile Mini-Caffe now. Copy protobuf's include headers and libraries. Generate caffe.pb.h and caffe.pb.cc.

$ copydeps.bat
$ generatepb.bat
$ mkdir build
$ cd build
$ cmake .. -G "Visual Studio 12 2013 Win64"

Use mini-caffe.sln to compile it.

Build on Linux

Install OpenBLAS and protobuf library through system package manager. Or you can compile OpenBLAS and protobuf by yourself. Then build Mini-Caffe.

$ sudo apt install libopenblas-dev libprotobuf-dev protobuf-compiler
$ ./generatepb.sh
$ mkdir build
$ cd build
$ cmake .. -DCMAKE_BUILD_TYPE=Release
$ make -j4

If you don't use Ubuntu, then you may need to install OpenBLAS and protobuf through your system package manager if any.

Build on Mac OSX

Install OpenBLAS and protobuf library through brew.

$ brew install openblas protobuf
$ ./generate.sh
$ mkdir build
$ cd build
$ cmake .. -DCMAKE_BUILD_TYPE=Release
$ make -j4

Build for Android

Mini-Caffe now can be cross compiled for Android platform, checkout the document here.

With CUDA and CUDNN support

Install CUDA and cuDNN in your system, then we can compile Mini-Caffe with GPU support. Run CMake command below.

$ cmake .. -DUSE_CUDA=ON -DUSE_CUDNN=ON

Currently we only test mini-caffe on CUDA8.0 with cuDNN5.1 and CUDA9.0 with cuDNN7.1.

With Java support

Install Java and set environment variable JAVA_HOME. Run CMake command below.

$ cmake .. -DUSE_JAVA=ON

With Python support

checkout Python API here, install package via python setup.py install.

How to use Mini-Caffe

To use Mini-Caffe as a library, you may refer to example.

How to profile your network

The Profiler in Mini-Caffe can help you profile your network performance, see docs here.

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].