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

来源:互联网 发布:2008年网络流行歌曲 编辑:程序博客网 时间:2024/06/04 19:38
准备工作:
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() 
0 0
原创粉丝点击