mirror of
https://github.com/zhunzhong07/person-re-ranking.git
synced 2025-06-03 14:59:19 +08:00
350 lines
4.8 KiB
Plaintext
350 lines
4.8 KiB
Plaintext
name: "mnist_siamese_train_test"
|
|
layer {
|
|
name: "pair_data"
|
|
type: "Data"
|
|
top: "pair_data"
|
|
top: "sim"
|
|
include {
|
|
phase: TRAIN
|
|
}
|
|
transform_param {
|
|
scale: 0.00390625
|
|
}
|
|
data_param {
|
|
source: "examples/siamese/mnist_siamese_train_leveldb"
|
|
batch_size: 64
|
|
}
|
|
}
|
|
layer {
|
|
name: "pair_data"
|
|
type: "Data"
|
|
top: "pair_data"
|
|
top: "sim"
|
|
include {
|
|
phase: TEST
|
|
}
|
|
transform_param {
|
|
scale: 0.00390625
|
|
}
|
|
data_param {
|
|
source: "examples/siamese/mnist_siamese_test_leveldb"
|
|
batch_size: 100
|
|
}
|
|
}
|
|
layer {
|
|
name: "slice_pair"
|
|
type: "Slice"
|
|
bottom: "pair_data"
|
|
top: "data"
|
|
top: "data_p"
|
|
slice_param {
|
|
slice_dim: 1
|
|
slice_point: 1
|
|
}
|
|
}
|
|
layer {
|
|
name: "conv1"
|
|
type: "Convolution"
|
|
bottom: "data"
|
|
top: "conv1"
|
|
param {
|
|
name: "conv1_w"
|
|
lr_mult: 1
|
|
}
|
|
param {
|
|
name: "conv1_b"
|
|
lr_mult: 2
|
|
}
|
|
convolution_param {
|
|
num_output: 20
|
|
kernel_size: 5
|
|
stride: 1
|
|
weight_filler {
|
|
type: "xavier"
|
|
}
|
|
bias_filler {
|
|
type: "constant"
|
|
}
|
|
}
|
|
}
|
|
layer {
|
|
name: "pool1"
|
|
type: "Pooling"
|
|
bottom: "conv1"
|
|
top: "pool1"
|
|
pooling_param {
|
|
pool: MAX
|
|
kernel_size: 2
|
|
stride: 2
|
|
}
|
|
}
|
|
layer {
|
|
name: "conv2"
|
|
type: "Convolution"
|
|
bottom: "pool1"
|
|
top: "conv2"
|
|
param {
|
|
name: "conv2_w"
|
|
lr_mult: 1
|
|
}
|
|
param {
|
|
name: "conv2_b"
|
|
lr_mult: 2
|
|
}
|
|
convolution_param {
|
|
num_output: 50
|
|
kernel_size: 5
|
|
stride: 1
|
|
weight_filler {
|
|
type: "xavier"
|
|
}
|
|
bias_filler {
|
|
type: "constant"
|
|
}
|
|
}
|
|
}
|
|
layer {
|
|
name: "pool2"
|
|
type: "Pooling"
|
|
bottom: "conv2"
|
|
top: "pool2"
|
|
pooling_param {
|
|
pool: MAX
|
|
kernel_size: 2
|
|
stride: 2
|
|
}
|
|
}
|
|
layer {
|
|
name: "ip1"
|
|
type: "InnerProduct"
|
|
bottom: "pool2"
|
|
top: "ip1"
|
|
param {
|
|
name: "ip1_w"
|
|
lr_mult: 1
|
|
}
|
|
param {
|
|
name: "ip1_b"
|
|
lr_mult: 2
|
|
}
|
|
inner_product_param {
|
|
num_output: 500
|
|
weight_filler {
|
|
type: "xavier"
|
|
}
|
|
bias_filler {
|
|
type: "constant"
|
|
}
|
|
}
|
|
}
|
|
layer {
|
|
name: "relu1"
|
|
type: "ReLU"
|
|
bottom: "ip1"
|
|
top: "ip1"
|
|
}
|
|
layer {
|
|
name: "ip2"
|
|
type: "InnerProduct"
|
|
bottom: "ip1"
|
|
top: "ip2"
|
|
param {
|
|
name: "ip2_w"
|
|
lr_mult: 1
|
|
}
|
|
param {
|
|
name: "ip2_b"
|
|
lr_mult: 2
|
|
}
|
|
inner_product_param {
|
|
num_output: 10
|
|
weight_filler {
|
|
type: "xavier"
|
|
}
|
|
bias_filler {
|
|
type: "constant"
|
|
}
|
|
}
|
|
}
|
|
layer {
|
|
name: "feat"
|
|
type: "InnerProduct"
|
|
bottom: "ip2"
|
|
top: "feat"
|
|
param {
|
|
name: "feat_w"
|
|
lr_mult: 1
|
|
}
|
|
param {
|
|
name: "feat_b"
|
|
lr_mult: 2
|
|
}
|
|
inner_product_param {
|
|
num_output: 2
|
|
weight_filler {
|
|
type: "xavier"
|
|
}
|
|
bias_filler {
|
|
type: "constant"
|
|
}
|
|
}
|
|
}
|
|
layer {
|
|
name: "conv1_p"
|
|
type: "Convolution"
|
|
bottom: "data_p"
|
|
top: "conv1_p"
|
|
param {
|
|
name: "conv1_w"
|
|
lr_mult: 1
|
|
}
|
|
param {
|
|
name: "conv1_b"
|
|
lr_mult: 2
|
|
}
|
|
convolution_param {
|
|
num_output: 20
|
|
kernel_size: 5
|
|
stride: 1
|
|
weight_filler {
|
|
type: "xavier"
|
|
}
|
|
bias_filler {
|
|
type: "constant"
|
|
}
|
|
}
|
|
}
|
|
layer {
|
|
name: "pool1_p"
|
|
type: "Pooling"
|
|
bottom: "conv1_p"
|
|
top: "pool1_p"
|
|
pooling_param {
|
|
pool: MAX
|
|
kernel_size: 2
|
|
stride: 2
|
|
}
|
|
}
|
|
layer {
|
|
name: "conv2_p"
|
|
type: "Convolution"
|
|
bottom: "pool1_p"
|
|
top: "conv2_p"
|
|
param {
|
|
name: "conv2_w"
|
|
lr_mult: 1
|
|
}
|
|
param {
|
|
name: "conv2_b"
|
|
lr_mult: 2
|
|
}
|
|
convolution_param {
|
|
num_output: 50
|
|
kernel_size: 5
|
|
stride: 1
|
|
weight_filler {
|
|
type: "xavier"
|
|
}
|
|
bias_filler {
|
|
type: "constant"
|
|
}
|
|
}
|
|
}
|
|
layer {
|
|
name: "pool2_p"
|
|
type: "Pooling"
|
|
bottom: "conv2_p"
|
|
top: "pool2_p"
|
|
pooling_param {
|
|
pool: MAX
|
|
kernel_size: 2
|
|
stride: 2
|
|
}
|
|
}
|
|
layer {
|
|
name: "ip1_p"
|
|
type: "InnerProduct"
|
|
bottom: "pool2_p"
|
|
top: "ip1_p"
|
|
param {
|
|
name: "ip1_w"
|
|
lr_mult: 1
|
|
}
|
|
param {
|
|
name: "ip1_b"
|
|
lr_mult: 2
|
|
}
|
|
inner_product_param {
|
|
num_output: 500
|
|
weight_filler {
|
|
type: "xavier"
|
|
}
|
|
bias_filler {
|
|
type: "constant"
|
|
}
|
|
}
|
|
}
|
|
layer {
|
|
name: "relu1_p"
|
|
type: "ReLU"
|
|
bottom: "ip1_p"
|
|
top: "ip1_p"
|
|
}
|
|
layer {
|
|
name: "ip2_p"
|
|
type: "InnerProduct"
|
|
bottom: "ip1_p"
|
|
top: "ip2_p"
|
|
param {
|
|
name: "ip2_w"
|
|
lr_mult: 1
|
|
}
|
|
param {
|
|
name: "ip2_b"
|
|
lr_mult: 2
|
|
}
|
|
inner_product_param {
|
|
num_output: 10
|
|
weight_filler {
|
|
type: "xavier"
|
|
}
|
|
bias_filler {
|
|
type: "constant"
|
|
}
|
|
}
|
|
}
|
|
layer {
|
|
name: "feat_p"
|
|
type: "InnerProduct"
|
|
bottom: "ip2_p"
|
|
top: "feat_p"
|
|
param {
|
|
name: "feat_w"
|
|
lr_mult: 1
|
|
}
|
|
param {
|
|
name: "feat_b"
|
|
lr_mult: 2
|
|
}
|
|
inner_product_param {
|
|
num_output: 2
|
|
weight_filler {
|
|
type: "xavier"
|
|
}
|
|
bias_filler {
|
|
type: "constant"
|
|
}
|
|
}
|
|
}
|
|
layer {
|
|
name: "loss"
|
|
type: "ContrastiveLoss"
|
|
bottom: "feat"
|
|
bottom: "feat_p"
|
|
bottom: "sim"
|
|
top: "loss"
|
|
contrastive_loss_param {
|
|
margin: 1
|
|
}
|
|
}
|