Home

Awesome

loadcaffe

Load Caffe networks in Torch7 http://torch.ch

Install torch first. There is no Caffe dependency, only protobuf has to be installed. In Ubuntu do:

sudo apt-get install libprotobuf-dev protobuf-compiler

In OS X:

brew install protobuf

Then install the package itself:

luarocks install loadcaffe

In Ubuntu 16.04 you need to use gcc-5: CC=gcc-5 CXX=g++-5 luarocks install loadcaffe

Load a network:

require 'loadcaffe'

model = loadcaffe.load('deploy.prototxt', 'bvlc_alexnet.caffemodel', 'ccn2')

Models from Caffe Model Zoo:

Networkccn2nncudnn
bvlc_alexnet+-+
bvlc_reference_caffenet+-+
bvlc_reference_rcnn_ilsvrc13+-+
finetune_flickr_style+-+
VGG_CNN_S+++
VGG_CNN_M+++
VGG_CNN_M_2048+++
VGG_CNN_M_1024+++
VGG_CNN_M_128+++
VGG_CNN_F+++
VGG ILSVRC-2014 16-layer+++
VGG ILSVRC-2014 19-layer+++
Network-in-Network Imagenet-++
Network-in-Network CIFAR-10-++
VGG16_SalObjSub+++
AlexNex_SalObjSub+-+
Binary Hash Codes+-+
Oxford 102 Flowers+-+
Age&Gender+++
MNIST LeNet-++

Loading googlenet is supported by https://github.com/soumith/inception.torch For other models with non-sequential structure check https://github.com/nhynes/caffegraph

NN support means both CPU and GPU backends.

You can also use Caffe inside Torch with this: https://github.com/szagoruyko/torch-caffe-binding However you can't use both loadcaffe and caffe in one torch session.

An example of using the package is in examples/mnist_lenet.lua. After running script to train lenet model in Caffe you can easily load and test it in Torch7 on CPU and GPU (with 'cuda' as a first arguments)

Some of ImageNet networks are validated to give reported accuracy in torch in https://github.com/szagoruyko/imagenet-validation.torch

Rights to caffe.proto belong to the University of California.