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:
Network | ccn2 | nn | cudnn |
---|---|---|---|
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.