编译MatCaffe
使用如下命令编译MatCaffe
make all matcaffe
之后,你可以用以下命令测试MatCaffe:
make mattest
如果你在运行上面命令时,遇到如下错误:libstdc++.so.6 version ‘GLIBCXX_3.4.15’ not found,说明你的Matlab库不匹配。你需要在启动Matlab之前运行如下命令:
export LD_LIBRARY_PATH=/opt/intel/mkl/lib/intel64:/usr/local/cuda/lib64
export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libstdc++.so.6
在Caffe根目录启动Matlab之后需要增加路径:
addpath ./matlab
你可以使用savepath
来保存Matlab搜索路径,这样下次就不用再添加路径了。
使用MatCaffe
MatCaffe 和 PyCaffe 的使用方法很相似。
下面将用一个例子来解释MatCaffe的具体使用细节,假设你已经下载了BVLC CaffeNet,并且在caffe根目录启动matlab。
model = './models/bvlc_reference_caffenet/deploy.prototxt';
weights = './models/bvlc_reference_caffenet/bvlc_reference_caffenet.caffemodel';
1.设置模式和设备
模式和设备的设置必须在创建一个net或solver之前。
使用CPU:
caffe.set_mode_cpu();
使用GPU并指定gpu_id:
caffe.set_mode_gpu();
caffe.set_device(gpu_id);
2.创建一个网络并访问它的layers和blobs
1.创建网络
创建一个网络:
net = caffe.Net(model, weights, 'test'); % create net and load weights
或者
net = caffe.Net(model, 'test'); % create net but not load weights
net.copy_from(weights); % load weights
它可以创建一个如下的net对象: