Load Caffe networks in Torch7
There is no Caffe dependency, only protobuf has to be installed. In Ubuntu do:
sudo apt-get install libprotobuf-dev protobuf-compiler
Then install the package itself do:
luarocks install loadcaffe
To load a network do:
require 'loadcaffe'
model = loadcaffe.load('deploy.prototxt', 'bvlc_alexnet.caffemodel', 'ccn2')Models from Caffe Model Zoo:
| Network | ccn2 | cunn | 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 | - | + | + |
| MNIST LeNet | - | + | + |
If you want to use nn and BDHW routines only, please install https://github.com/szagoruyko/imagine-nn, which has ceil max-pooling and local response normalization. Note that it is not required for ccn2.
You can also use Caffe inside Torch with this: https://github.com/szagoruyko/torch-caffe-binding However you can't use both loadcaffe in 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.
Rights to caffe.proto belong to the University of California.