| 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 |
| } |
|
|