没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
Caffe 的 Matlab 接口
MatCaffe 与 PyCaffe 用法非常相似。下面的例子将展示如何使用 MatCaffe。
models 为网络模型所在路径,weights 为训练参数。
models = ‘./models/bvlc_reference_caffenet/deploy.prototxt’;
weights = ‘./models/bvlc_reference_caffenet/bvlc_reference_caffenet.caffemodel’;
1. 设置模式和设备
caffe.set_mode_cpu(); //使用 CPU
caffe.set_mode_gpu(); //使用 GPU
caffe.set_device(gpu_id);
2. 创建一个网络并且获取 layers 和 blobs 的权限
(1) 创建一个网络
net = caffe.Net(models, weights, ‘test’); //创建网络并加载权值
或者
net = caffe.Net(model, ‘test’); //创建网络,但不加载权值
net.copy_from(weights); //加载权值
创建的网络变量如下图所示:
(2) 获取 layers 和 blobs 的权限
net.blobs(‘data’).set_data(ones(net.blobs(‘data’).shape)); //用全 1 填充 blob data
net.blobs(‘data’).set_data(net.blobs(‘data’).get_data() * 10); //将 blobs data 中
数据乘以 10
Matlab 中索引从 1 开始,且是列优先,caffe 中 4 维 blob 在 matlab 中的顺序
是[width, height, channels, num]。而且图像是 BGR 通道的。Caffe 使用单精度
浮点数据,如果你的数据不是单精度的,set_data 将自动转换为单精度。
通过 matlab,可以访问每一层,例如对 conv1 的参数乘以 10:
net.params(‘conv1’, 1).set_data(net.params(‘conv1’, 1).get_data() * 10); //设置权
值
net.params(‘conv1’, 2).set_data(net.params(‘conv1’, 2).get_data() * 10); //设置偏
置
或者
net.layers(‘conv1’).params(1).set_data(net.layers(‘conv1’).params(1).get_data() *
10); //设置权值
资源评论
- yubing4102018-03-03很好的中文教程,简明扼要。
- xyj41892016-05-31这个教程写的很详细,值得下载
Sky_Huang90
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功