您的位置:首页 > Web前端

caffe学习笔记3-matcaffe接口学习

2017-03-05 10:40 190 查看
准备工作:

1.网络定义:

  deploy.prototxt

  train_val.prototxt

  solver.prototxt
2.模型:

  .caffemodel
3.数据集(train&val):

  lmdb
4.均值计算:

  mean
5.从caffe-master启动;

  matlab
6.设置mode

  CPU: caffe.set_mode_cpu(); GPU: caffe.set_mode_gpu();caffe.set_device(gpu_id);
7.设置网络结构,参数以及配置路径

  net_model = ''

  net_weights = ''

  phase = 'test'
8.创建网络(训练)

  solver = caffe.Solver('solver.prototxt路径'); 

  solver.solve(); %开始训练

  或者solver.step(1000); %只训练一千次,默认按照solver.prototxt来

  iter = solver.iter(); %获得迭代次数

  train_net = solver.net; %获得训练网络

  test_net = solver.test_nets(1); %获得测试网络

  solver.restore('.solverstate'); %防止中断,继续训练
9.创建网络(测试)

  net = caffe.Net(model, weights, phase);
10.前向传播

  input_data = {prepare_image(im)};

  scores = net.forward(input_data);
11.后向传播

  prob_diff = rand(net.blobs('prob').shape); %随机生成梯度

  res = net.backward({prob_diff});
12.Reshape 

  net.blobs('data').reshape([227 227 3 1]); 

  %reshape blob 'data'

  net.reshape();
13.清理nets和solvers

  caffe.reset_all() 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  caffe