name: "auto-encoder"
train_steps: 12200
test_steps:100
test_freq:1000
disp_freq:100

checkpoint_path: "/root/data/workspaces/rbm1/checkpoint/step6000-worker0"
checkpoint_path: "/root/data/workspaces/rbm2/checkpoint/step6000-worker0"
checkpoint_path: "/root/data/workspaces/rbm3/checkpoint/step6000-worker0"
checkpoint_path: "/root/data/workspaces/rbm4/checkpoint/step6000-worker0"

train_one_batch{
  alg: kBP
}
updater{
  type: kAdaGrad
  learning_rate{
  base_lr: 0.01
  type: kFixed
  }
}

neuralnet {
layer {
  name: "data"
  type: kCSVInput
  store_conf {
    has_label: false
    backend: "textfile"
    path: "/root/data/entities_train.csv"
    batchsize: 100
    shape: 6424
  }
  include: kTrain
}

layer {
  name: "data"
  type: kCSVInput
  store_conf {
    has_label: false
    backend: "textfile"
    path: "/root/data/entities_test.csv"
    batchsize: 100
    shape: 6424
  }
  include: kTest
}

  layer{
    name: "Inner1"
    type: kInnerProduct
    srclayers:"data"
    innerproduct_conf{
      num_output: 1000
    }
    param{
      name: "w1"
      init{
      type: kGaussian
      mean: 0.0
      std: 0.1
      }
    }
    param{
      name: "b12"
      wd_scale: 0
      init{
      type: kConstant
      value: 0.0
      }
    }
  }

  layer{
    name: "Sigmoid1"
    type: kSigmoid
    srclayers:"Inner1"
  }
  layer{
    name: "Inner2"
    type: kInnerProduct
    srclayers:"Sigmoid1"
    innerproduct_conf{
      num_output: 500
    }
    param{
      name: "w2"
      init{
      type: kGaussian
      mean: 0.0
      std: 0.1
      }
    }
    param{
      name: "b22"
      wd_scale: 0
      init{
      type: kConstant
      value: 0.0
      }
    }
  }

  layer{
    name: "Sigmoid2"
    type: kSigmoid
    srclayers:"Inner2"
  }

  layer{
    name: "Inner3"
    type:  kInnerProduct
    srclayers:"Sigmoid2"
    innerproduct_conf{
      num_output: 250
    }
    param{
      name: "w3"
      init{
      type: kGaussian
      mean: 0.0
      std: 0.1
      }
    }
    param{
      name: "b32"
      wd_scale: 0
      init{
      type: kConstant
      value: 0.0
      }
    }
  }

  layer{
    name: "Sigmoid3"
    type: kSigmoid
    srclayers:"Inner3"
  }

  layer{
    name: "Inner4"
    type: kInnerProduct
    srclayers:"Sigmoid3"
    innerproduct_conf{
      num_output: 30
    }
    param{
      name: "w4"
      init{
      type: kGaussian
      mean: 0.0
      std: 0.1
      }
    }
    param{
      name: "b42"
      wd_scale: 0
      init{
      type: kConstant
      value: 0.0
      }
    }
  }

  layer{
    name: "Inner5"
    type: kInnerProduct
    #srclayers:"Sigmoid4"
    srclayers:"Inner4"
    innerproduct_conf{
      num_output: 250
      transpose: true
    }
    param{
      name: "w5"
      share_from: "0#w4"
      init{
      type: kGaussian
      mean: 0.0
      std: 0.1
      }
    }
    param{
      name: "b41"
      wd_scale: 0
      init{
      type: kConstant
      value: 0.0
      }
    }
  }

  layer{
    name: "Sigmoid5"
    type: kSigmoid
    srclayers:"Inner5"
  }
  layer{
    name: "Inner6"
    type: kInnerProduct
    srclayers:"Sigmoid5"
    innerproduct_conf{
      num_output: 500
      transpose: true
    }
    param{
      name: "w6"
      share_from: "0#w3"
      init{
      type: kGaussian
      mean: 0.0
      std: 0.1
      }
    }
    param{
      name: "b31"
      wd_scale: 0
      init{
      type: kConstant
      value: 0.0
      }
    }
  }

  layer{
    name: "Sigmoid6"
    type: kSigmoid
    srclayers:"Inner6"
  }
 layer{
    name: "Inner7"
    type: kInnerProduct
    srclayers:"Sigmoid6"
    innerproduct_conf{
      num_output: 1000
      transpose: true
    }
    param{
      name: "w7"
      share_from: "0#w2"
      init{
      type: kGaussian
      mean: 0.0
      std: 0.1
      }
    }
    param{
      name: "b21"
      wd_scale: 0
      init{
      type: kConstant
      value: 0.0
      }
    }

  }

  layer{
    name: "Sigmoid7"
    type: kSigmoid
    srclayers:"Inner7"
  }
 layer{
    name: "Inner8"
    type: kInnerProduct
    srclayers:"Sigmoid7"
    innerproduct_conf{
      num_output: 6424
      transpose: true
    }
    param{
      name: "w8"
      share_from: "0#w1"
      init{
      type: kGaussian
      mean: 0.0
      std: 0.1
      }
    }
    param{
      name: "b11"
      wd_scale: 0
      init{
      type: kConstant
      value: 0.0
      }
    }
  }

  layer{
    name: "Sigmoid8"
    type: kSigmoid
    srclayers:"Inner8"
  }

  layer{
    name: "loss"
    type:kEuclideanLoss
    srclayers:"Sigmoid8"
    srclayers:"data"
  }
}
cluster {
  nworker_groups: 1
  nserver_groups: 1
  workspace: "/root/data/workspaces/ae/"
}
