利用VGG_FACE来对性别数据进行finetune

第一步

生成数据,习惯了lmdb,我的数据中包含训练集3000张,测试集600张,利用create.sh生成train_lmdb和val_lmdb,然后利用make_imagenet.sh生成mean文件。


第二步

网络结构文件的改写,

数据层的改写:

name: "VGG_ILSVRC_16_layers"
layer {
  name: "data"
  type: "Data"
  top: "data"
  top: "label"
  include {
    phase: TRAIN
  }
  transform_param {
    mirror: true
    crop_size: 224
    mean_file: "/home/lyz/caffe-master/models/Cele_gender/Cele_mean.binaryproto"
  }
  data_param {
    source: "/home/lyz/caffe-master/models/Cele_gender/Cele_train_lmdb"
    batch_size: 32
    backend: LMDB
  }
}
最后一个全连接层的改写:

layer {
  name: "fc8-fine"
  type: "InnerProduct"
  bottom: "fc7"
  top: "fc8-fine"
  param {
    lr_mult: 10
    decay_mult: 1
  }
  param {
    lr_mult: 20
    decay_mult: 0
  }
  inner_product_param {
    num_output: 2
    weight_filler {
      type: "gaussian"
      std: 0.01
    }
    bias_filler {
      type: "constant"
      value: 0
    }
  }
}
其他的参考deploy.prototxt文件。


第三步 网络的运行

书写solver文件,其中学习率设置为0.0001.然后运行train.sh即可。并观测运行结果。

你可能感兴趣的:(caffe)