324 lines
4.7 KiB
Plaintext
324 lines
4.7 KiB
Plaintext
name: "MNISTAutoencoder"
|
|
layer {
|
|
name: "data"
|
|
type: "Data"
|
|
top: "data"
|
|
include {
|
|
phase: TRAIN
|
|
}
|
|
transform_param {
|
|
scale: 0.0039215684
|
|
}
|
|
data_param {
|
|
source: "examples/mnist/mnist_train_lmdb"
|
|
batch_size: 100
|
|
backend: LMDB
|
|
}
|
|
}
|
|
layer {
|
|
name: "data"
|
|
type: "Data"
|
|
top: "data"
|
|
include {
|
|
phase: TEST
|
|
stage: "test-on-train"
|
|
}
|
|
transform_param {
|
|
scale: 0.0039215684
|
|
}
|
|
data_param {
|
|
source: "examples/mnist/mnist_train_lmdb"
|
|
batch_size: 100
|
|
backend: LMDB
|
|
}
|
|
}
|
|
layer {
|
|
name: "data"
|
|
type: "Data"
|
|
top: "data"
|
|
include {
|
|
phase: TEST
|
|
stage: "test-on-test"
|
|
}
|
|
transform_param {
|
|
scale: 0.0039215684
|
|
}
|
|
data_param {
|
|
source: "examples/mnist/mnist_test_lmdb"
|
|
batch_size: 100
|
|
backend: LMDB
|
|
}
|
|
}
|
|
layer {
|
|
name: "flatdata"
|
|
type: "Flatten"
|
|
bottom: "data"
|
|
top: "flatdata"
|
|
}
|
|
layer {
|
|
name: "encode1"
|
|
type: "InnerProduct"
|
|
bottom: "data"
|
|
top: "encode1"
|
|
param {
|
|
lr_mult: 1
|
|
decay_mult: 1
|
|
}
|
|
param {
|
|
lr_mult: 1
|
|
decay_mult: 0
|
|
}
|
|
inner_product_param {
|
|
num_output: 1000
|
|
weight_filler {
|
|
type: "gaussian"
|
|
std: 1
|
|
sparse: 15
|
|
}
|
|
bias_filler {
|
|
type: "constant"
|
|
value: 0
|
|
}
|
|
}
|
|
}
|
|
layer {
|
|
name: "encode1neuron"
|
|
type: "Sigmoid"
|
|
bottom: "encode1"
|
|
top: "encode1neuron"
|
|
}
|
|
layer {
|
|
name: "encode2"
|
|
type: "InnerProduct"
|
|
bottom: "encode1neuron"
|
|
top: "encode2"
|
|
param {
|
|
lr_mult: 1
|
|
decay_mult: 1
|
|
}
|
|
param {
|
|
lr_mult: 1
|
|
decay_mult: 0
|
|
}
|
|
inner_product_param {
|
|
num_output: 500
|
|
weight_filler {
|
|
type: "gaussian"
|
|
std: 1
|
|
sparse: 15
|
|
}
|
|
bias_filler {
|
|
type: "constant"
|
|
value: 0
|
|
}
|
|
}
|
|
}
|
|
layer {
|
|
name: "encode2neuron"
|
|
type: "Sigmoid"
|
|
bottom: "encode2"
|
|
top: "encode2neuron"
|
|
}
|
|
layer {
|
|
name: "encode3"
|
|
type: "InnerProduct"
|
|
bottom: "encode2neuron"
|
|
top: "encode3"
|
|
param {
|
|
lr_mult: 1
|
|
decay_mult: 1
|
|
}
|
|
param {
|
|
lr_mult: 1
|
|
decay_mult: 0
|
|
}
|
|
inner_product_param {
|
|
num_output: 250
|
|
weight_filler {
|
|
type: "gaussian"
|
|
std: 1
|
|
sparse: 15
|
|
}
|
|
bias_filler {
|
|
type: "constant"
|
|
value: 0
|
|
}
|
|
}
|
|
}
|
|
layer {
|
|
name: "encode3neuron"
|
|
type: "Sigmoid"
|
|
bottom: "encode3"
|
|
top: "encode3neuron"
|
|
}
|
|
layer {
|
|
name: "encode4"
|
|
type: "InnerProduct"
|
|
bottom: "encode3neuron"
|
|
top: "encode4"
|
|
param {
|
|
lr_mult: 1
|
|
decay_mult: 1
|
|
}
|
|
param {
|
|
lr_mult: 1
|
|
decay_mult: 0
|
|
}
|
|
inner_product_param {
|
|
num_output: 30
|
|
weight_filler {
|
|
type: "gaussian"
|
|
std: 1
|
|
sparse: 15
|
|
}
|
|
bias_filler {
|
|
type: "constant"
|
|
value: 0
|
|
}
|
|
}
|
|
}
|
|
layer {
|
|
name: "decode4"
|
|
type: "InnerProduct"
|
|
bottom: "encode4"
|
|
top: "decode4"
|
|
param {
|
|
lr_mult: 1
|
|
decay_mult: 1
|
|
}
|
|
param {
|
|
lr_mult: 1
|
|
decay_mult: 0
|
|
}
|
|
inner_product_param {
|
|
num_output: 250
|
|
weight_filler {
|
|
type: "gaussian"
|
|
std: 1
|
|
sparse: 15
|
|
}
|
|
bias_filler {
|
|
type: "constant"
|
|
value: 0
|
|
}
|
|
}
|
|
}
|
|
layer {
|
|
name: "decode4neuron"
|
|
type: "Sigmoid"
|
|
bottom: "decode4"
|
|
top: "decode4neuron"
|
|
}
|
|
layer {
|
|
name: "decode3"
|
|
type: "InnerProduct"
|
|
bottom: "decode4neuron"
|
|
top: "decode3"
|
|
param {
|
|
lr_mult: 1
|
|
decay_mult: 1
|
|
}
|
|
param {
|
|
lr_mult: 1
|
|
decay_mult: 0
|
|
}
|
|
inner_product_param {
|
|
num_output: 500
|
|
weight_filler {
|
|
type: "gaussian"
|
|
std: 1
|
|
sparse: 15
|
|
}
|
|
bias_filler {
|
|
type: "constant"
|
|
value: 0
|
|
}
|
|
}
|
|
}
|
|
layer {
|
|
name: "decode3neuron"
|
|
type: "Sigmoid"
|
|
bottom: "decode3"
|
|
top: "decode3neuron"
|
|
}
|
|
layer {
|
|
name: "decode2"
|
|
type: "InnerProduct"
|
|
bottom: "decode3neuron"
|
|
top: "decode2"
|
|
param {
|
|
lr_mult: 1
|
|
decay_mult: 1
|
|
}
|
|
param {
|
|
lr_mult: 1
|
|
decay_mult: 0
|
|
}
|
|
inner_product_param {
|
|
num_output: 1000
|
|
weight_filler {
|
|
type: "gaussian"
|
|
std: 1
|
|
sparse: 15
|
|
}
|
|
bias_filler {
|
|
type: "constant"
|
|
value: 0
|
|
}
|
|
}
|
|
}
|
|
layer {
|
|
name: "decode2neuron"
|
|
type: "Sigmoid"
|
|
bottom: "decode2"
|
|
top: "decode2neuron"
|
|
}
|
|
layer {
|
|
name: "decode1"
|
|
type: "InnerProduct"
|
|
bottom: "decode2neuron"
|
|
top: "decode1"
|
|
param {
|
|
lr_mult: 1
|
|
decay_mult: 1
|
|
}
|
|
param {
|
|
lr_mult: 1
|
|
decay_mult: 0
|
|
}
|
|
inner_product_param {
|
|
num_output: 784
|
|
weight_filler {
|
|
type: "gaussian"
|
|
std: 1
|
|
sparse: 15
|
|
}
|
|
bias_filler {
|
|
type: "constant"
|
|
value: 0
|
|
}
|
|
}
|
|
}
|
|
layer {
|
|
name: "loss"
|
|
type: "SigmoidCrossEntropyLoss"
|
|
bottom: "decode1"
|
|
bottom: "flatdata"
|
|
top: "cross_entropy_loss"
|
|
loss_weight: 1
|
|
}
|
|
layer {
|
|
name: "decode1neuron"
|
|
type: "Sigmoid"
|
|
bottom: "decode1"
|
|
top: "decode1neuron"
|
|
}
|
|
layer {
|
|
name: "loss"
|
|
type: "EuclideanLoss"
|
|
bottom: "decode1neuron"
|
|
bottom: "flatdata"
|
|
top: "l2_error"
|
|
loss_weight: 0
|
|
}
|