您的位置:首页 > 编程语言 > MATLAB

[caffe笔记003]:caffe的matlab接口

2017-01-05 18:46 239 查看
caffe的matlab接口的功能和python接口功能基本类似,不同之处在于:

- python可以自己增加python layer

- python可以采用多种求解反向传播的算法

但是matlab在处理数据及数据可视化方面比python容易很多,在需要查看中间结果时使用matlab要方便许多。

1. 查看caffe版本号

caffe.version()


如果正确编译了caffe的matlab接口,并将其
$CAFFE_DIR/matlab
及其子文件添加到matlab的路径当中,执行该语句将会出现caffe的版本号,同时这也是验证caffe使用编译成功的一种方式。

2. 设置caffe运行方式

GPU方式,matlab是不支持GPU多核的,需要设置一个GPU的id。

caffe.set_mode_gpu();
caffe.set_device(0);


CPU方式

caffe.set_mode_cpu();


3. 载入网络

将训练网络和测试网络写入两个不同的prototxt文件,会增减可读性。载入网络可分为训练阶段载入和测试阶段载入。

载入测试网络

net = caffe.Net(model, weights, 'test');


载入训练网路

net = caffe.Net(model, weights, 'train');


4. 测试阶段

按照网络输入数据参数准备好数据之后,将其传递到net当中并进行前向传播

residual= net.forward({data});


5. 获得各层中间结果

可以直接通过blob的名字获得中间结果,例如:

conv1 = net.blobs('conv1_1').get_data();


6. 获得模型参数

模型参数通过layer来获得,例如:

weightConv1 = net.layers('conv1_1').params(1).get_data();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  matlab caffe