DeepFace icon indicating copy to clipboard operation
DeepFace copied to clipboard

Difference in deploy.prototxt and train_val.prototxt in FaceRecognition

Open deepakcrk opened this issue 7 years ago • 2 comments

I am seeing difference in deploy.prototxt and train_val.prototxt in FaceRecognition. In deploy.prototxt, ReLU and InnerProduct layer is missing. What is the reason for same ?.

Following layers are available in train_val.prototxt and not available in deploy.prototxt.

layer {
  name: "relu6_1"
  type: "ReLU"
  bottom: "deepid_1"
  top: "deepid_1"
}

layer {
  name: "fc8_1"
  type:  "InnerProduct"
  bottom: "deepid_1"
  top: "fc8_1"
  param {
    name: "fc8_w"
    lr_mult: 1
    decay_mult: 1
  }
  param {
    name: "fc8_b"
    lr_mult: 2
    decay_mult: 0
  }
  inner_product_param {
    num_output: 10575
    weight_filler {
      type: "gaussian"
      std: 0.01
    }
    bias_filler {
      type: "constant"
      value: 0
    }
  }
}

deepakcrk avatar Mar 27 '18 04:03 deepakcrk

Hi @deepakcrk

This code is implemented according to DeepId paper. During training phase, they are trying to learn the Face Representation vector of dimension 160 in size by classifying a given face into one of the 10,000 classes. After training, 160 dimensional vector is used as the Face Representaion Vector or Face Embedding. So during deployment, there is no need of the last inner product layer. I hope this clears your doubt.

jagadeesh09 avatar Mar 27 '18 05:03 jagadeesh09

@jagadeesh09 Thanks

ysh329 avatar Aug 09 '18 07:08 ysh329