【caffe】Windows下使用GPU版caffe训练minist网络模型

                            Caffe的GPU版训练minist模型步骤

1.下载训练数据。

【caffe】Windows下使用GPU版caffe训练minist网络模型

2.将训练数据生成lmdb文件

1)建立下面两个脚本文件,用来将上面的4个数据转换为lmdb文件。

【caffe】Windows下使用GPU版caffe训练minist网络模型

其中脚本文件中的内容如下:

文件:convert-mnist-data-test.bat

..\..\..\Build\x64\Release\convert_mnist_data.exe --backend=lmdb t10k-images.idx3-ubyte t10k-labels.idx1-ubyte mnist_test_lmdb  
Pause 

 

文件:convert-mnist-data-train.bat

..\..\..\Build\x64\Release\convert_mnist_data.exe --backend=lmdb train-images.idx3-ubyte train-labels.idx1-ubyte mnist_train_lmdb  
pause

2)运行上面两个脚本文件后,得到两个lmdb文件夹。

【caffe】Windows下使用GPU版caffe训练minist网络模型

其中一个文件夹中包含下面两个文件:

【caffe】Windows下使用GPU版caffe训练minist网络模型

3.然后建立启动训练的脚本文件。

【caffe】Windows下使用GPU版caffe训练minist网络模型

脚本文件中的内容如下:

..\..\..\Build\x64\Release\caffe.exe  train --solver=../lenet_solver.prototxt  
pause  

注意:记住下面两个文件中会涉及一些读取lmdb等其他文件的路径,此处最好改成自己电脑中的静态路径,以免出现问题。(路径不对,会导致许多问题)

【caffe】Windows下使用GPU版caffe训练minist网络模型

文件:lenet_solver.prototxt

# The train/test net protocol buffer definition
net: "G:/caffe-master/examples/mnist/lenet_train_test.prototxt"
# test_iter specifies how many forward passes the test should carry out.
# In the case of MNIST, we have test batch size 100 and 100 test iterations,
# covering the full 10,000 testing images.
test_iter: 100
# Carry out testing every 500 training iterations.
test_interval: 500
# The base learning rate, momentum and the weight decay of the network.
base_lr: 0.01
momentum: 0.9
weight_decay: 0.0005
# The learning rate policy
lr_policy: "inv"
gamma: 0.0001
power: 0.75
# Display every 100 iterations
display: 100
# The maximum number of iterations
max_iter: 10000
# snapshot intermediate results
snapshot: 5000
snapshot_prefix: "G:/caffe-master/examples/mnist/lenet"
# solver mode: CPU or GPU
solver_mode: GPU

文件:lenet_train_test.prototxt     (此处只展示了前面带有文件路径的代码,后面的网络省略)

name: "LeNet"
layer {
  name: "mnist"
  type: "Data"
  top: "data"
  top: "label"
  include {
    phase: TRAIN
  }
  transform_param {
    scale: 0.00390625
  }
  data_param {
    source: "G:/caffe-master/examples/mnist/mycaffe-mnist-test/mnist_train_lmdb"
    batch_size: 64
    backend: LMDB
  }
}
layer {
  name: "mnist"
  type: "Data"
  top: "data"
  top: "label"
  include {
    phase: TEST
  }
  transform_param {
    scale: 0.00390625
  }
  data_param {
    source: "G:/caffe-master/examples/mnist/mycaffe-mnist-test/mnist_test_lmdb"
    batch_size: 100
    backend: LMDB
  }
}

所有内容设置成功的话,运行run_caffe_mnist.bat文件就会进行minist模型训练,训练过程显示窗口如下:

【caffe】Windows下使用GPU版caffe训练minist网络模型

 

网络模型训练好了以后可以得到以下两个文件:

【caffe】Windows下使用GPU版caffe训练minist网络模型

其中.caffemodel保存了caffe模型中的参数,*solverstate*文件保存了训练过程中的一些中间结果。

训练过程大概就是如此吧。