caffe学习笔记4-matcaffe训练与测试
来源:互联网 发布:虚拟局域网 软件 推荐 编辑:程序博客网 时间:2024/05/16 17:15
.m文件流程(训练或者测试)
1.
添加路径 caffe/matlab 使得 Matlab 可以使用 matcaffe, +caffe文件夹下都是matcaffe的.m接口,可用matlab操作caffe网络
if exist('../+caffe', 'dir')
addpath('..');
2.设置caffe cpu/gpu 模式(在测试或者训练之前。.m文件中)
if exist('use_gpu', 'var') && use_gpu
caffe.set_mode_gpu();
gpu_id = 0; % we will use the first gpu in this demo
caffe.set_device(gpu_id);
else
caffe.set_mode_cpu();
end
3.后面就是初始化网络,进行训练或者测试。
用已有模型进行测试流程(测试以分类为例)
model_dir = '../../models/bvlc_reference_caffenet/'; //实际文件路径model = './models/bvlc_reference_caffenet/deploy.prototxt';
net_model = [model_dir 'deploy.prototxt'];
net_weights = [model_dir 'bvlc_reference_caffenet.caffemodel'];
phase = 'test'
net = caffe.Net(net_model, net_weights, phase); //创建网络并加载权值
或者:net = caffe.Net(model, 'test'); % 创建网络,但不加载权值
net.copy_from(weights); % 加载权值
prepare_image() //数据预处理(格式+冗余),自己定义
input_data = {prepare_image(im)}; //装载数据,等价net.blobs('data').set_data(prepare_image(im));用法
scores = net.forward(input_data); //前向计算
//提取出最大的score(概率)以及对应的标签号
scores = scores{1}; //等价prob = net.blobs('prob').get_data();用法//计算之后再读取原块的数据,最后一层为prob
scores = mean(scores, 2); //取所有分类结果的平均值
1.
添加路径 caffe/matlab 使得 Matlab 可以使用 matcaffe, +caffe文件夹下都是matcaffe的.m接口,可用matlab操作caffe网络
if exist('../+caffe', 'dir')
addpath('..');
2.设置caffe cpu/gpu 模式(在测试或者训练之前。.m文件中)
if exist('use_gpu', 'var') && use_gpu
caffe.set_mode_gpu();
gpu_id = 0; % we will use the first gpu in this demo
caffe.set_device(gpu_id);
else
caffe.set_mode_cpu();
end
3.后面就是初始化网络,进行训练或者测试。
用已有模型进行测试流程(测试以分类为例)
model_dir = '../../models/bvlc_reference_caffenet/'; //实际文件路径model = './models/bvlc_reference_caffenet/deploy.prototxt';
net_model = [model_dir 'deploy.prototxt'];
net_weights = [model_dir 'bvlc_reference_caffenet.caffemodel'];
phase = 'test'
net = caffe.Net(net_model, net_weights, phase); //创建网络并加载权值
或者:net = caffe.Net(model, 'test'); % 创建网络,但不加载权值
net.copy_from(weights); % 加载权值
prepare_image() //数据预处理(格式+冗余),自己定义
input_data = {prepare_image(im)}; //装载数据,等价net.blobs('data').set_data(prepare_image(im));用法
scores = net.forward(input_data); //前向计算
//提取出最大的score(概率)以及对应的标签号
scores = scores{1}; //等价prob = net.blobs('prob').get_data();用法//计算之后再读取原块的数据,最后一层为prob
scores = mean(scores, 2); //取所有分类结果的平均值
[~, maxlabel] = max(scores); //找到最大概率对应的标签号
0 0
- caffe学习笔记4-matcaffe训练与测试
- matcaffe训练与测试
- caffe 学习笔记-模型训练与测试
- caffe学习笔记2-caffe命令行训练与测试
- caffe学习笔记3-matcaffe接口学习
- caffe学习之训练与测试minst
- matcaffe编译与测试
- matcaffe编译与测试
- caffe学习笔记12:训练和测试自己的图片
- caffe学习笔记:mnist数据集的训练和测试
- Caffe学习:使用pycaffe进行网络训练与测试
- caffe学习-----2 matcaffe接口学习
- ubuntu16.04+caffe+matcaffe 安装笔记
- <caffe学习笔记> caffe训练日志输出
- 【caffe学习笔记】caffe训练日志输出
- Windows Caffe 学习笔记(三)在Caffe上训练和测试自己的数据
- Caffe学习笔记1:linux下建立自己的数据库训练和测试caffe中已有网络
- caffe学习笔记3:使用caffe对自己的图像数据进行训练和测试
- while循环,习题33,笨办法学python
- sdutacm-C--最短路
- QDataStream类用法实例
- 李白打酒
- Java基础:多线程
- caffe学习笔记4-matcaffe训练与测试
- sdutacm-最短路径
- hdu 5755 Gambler Bo 高斯消元 + 取余逆元 模3系下的开关灯问题
- 草药的最大总价值
- 使用PowerDesigner创建JAVA类图
- sdutacm-数据结构实验之图论七:驴友计划
- c语言
- Toast自定义自己的布局
- tensorflow安装