type: "recurrent_nn"
layers {
  name: "seq_input"
  type: "data"
  size: 100
  active_type: ""
}
layers {
  name: "sub_seq_input"
  type: "data"
  size: 100
  active_type: ""
}
layers {
  name: "label"
  type: "data"
  size: 1
  active_type: ""
}
layers {
  name: "__mixed_0__"
  type: "mixed"
  size: 400
  active_type: ""
  inputs {
    input_layer_name: "seq_input"
    input_parameter_name: "___mixed_0__.w0"
    proj_conf {
      type: "fc"
      name: "___mixed_0__.w0"
      input_size: 100
      output_size: 400
    }
  }
}
layers {
  name: "__mixed_1__"
  type: "mixed"
  size: 300
  active_type: ""
  inputs {
    input_layer_name: "seq_input"
    input_parameter_name: "___mixed_1__.w0"
    proj_conf {
      type: "fc"
      name: "___mixed_1__.w0"
      input_size: 100
      output_size: 300
    }
  }
}
layers {
  name: "__recurrent_group_0__"
  type: "recurrent_layer_group"
  active_type: ""
}
layers {
  name: "seq_input@__recurrent_group_0__"
  type: "scatter_agent"
  size: 100
  active_type: ""
}
layers {
  name: "rnn_forward+delay1@__recurrent_group_0__"
  type: "agent"
  size: 200
  active_type: ""
}
layers {
  name: "rnn_forward@__recurrent_group_0__"
  type: "fc"
  size: 200
  active_type: "tanh"
  inputs {
    input_layer_name: "seq_input@__recurrent_group_0__"
    input_parameter_name: "_rnn_forward@__recurrent_group_0__.w0"
  }
  inputs {
    input_layer_name: "rnn_forward+delay1@__recurrent_group_0__"
    input_parameter_name: "_rnn_forward@__recurrent_group_0__.w1"
  }
  bias_parameter_name: "_rnn_forward@__recurrent_group_0__.wbias"
}
layers {
  name: "rnn_forward"
  type: "gather_agent"
  size: 200
  active_type: ""
}
layers {
  name: "__last_seq_0__"
  type: "seqlastins"
  size: 200
  active_type: ""
  inputs {
    input_layer_name: "rnn_forward"
  }
  trans_type: "non-seq"
  seq_pool_stride: -1
}
layers {
  name: "__recurrent_group_1__"
  type: "recurrent_layer_group"
  active_type: ""
}
layers {
  name: "seq_input@__recurrent_group_1__"
  type: "scatter_agent"
  size: 100
  active_type: ""
}
layers {
  name: "rnn_back+delay1@__recurrent_group_1__"
  type: "agent"
  size: 200
  active_type: ""
}
layers {
  name: "rnn_back@__recurrent_group_1__"
  type: "fc"
  size: 200
  active_type: "tanh"
  inputs {
    input_layer_name: "seq_input@__recurrent_group_1__"
    input_parameter_name: "_rnn_back@__recurrent_group_1__.w0"
  }
  inputs {
    input_layer_name: "rnn_back+delay1@__recurrent_group_1__"
    input_parameter_name: "_rnn_back@__recurrent_group_1__.w1"
  }
  bias_parameter_name: "_rnn_back@__recurrent_group_1__.wbias"
}
layers {
  name: "rnn_back"
  type: "gather_agent"
  size: 200
  active_type: ""
}
layers {
  name: "__first_seq_0__"
  type: "seqlastins"
  size: 200
  active_type: ""
  inputs {
    input_layer_name: "rnn_back"
  }
  select_first: true
  trans_type: "non-seq"
  seq_pool_stride: -1
}
layers {
  name: "__recurrent_group_2__"
  type: "recurrent_layer_group"
  active_type: ""
}
layers {
  name: "sub_seq_input@__recurrent_group_2__"
  type: "scatter_agent"
  size: 100
  active_type: ""
}
layers {
  name: "rnn_subseq_forward+delay1@__recurrent_group_2__"
  type: "agent"
  size: 200
  active_type: ""
}
layers {
  name: "rnn_subseq_forward@__recurrent_group_2__"
  type: "fc"
  size: 200
  active_type: "tanh"
  inputs {
    input_layer_name: "sub_seq_input@__recurrent_group_2__"
    input_parameter_name: "_rnn_subseq_forward@__recurrent_group_2__.w0"
  }
  inputs {
    input_layer_name: "rnn_subseq_forward+delay1@__recurrent_group_2__"
    input_parameter_name: "_rnn_subseq_forward@__recurrent_group_2__.w1"
  }
  bias_parameter_name: "_rnn_subseq_forward@__recurrent_group_2__.wbias"
}
layers {
  name: "rnn_subseq_forward"
  type: "gather_agent"
  size: 200
  active_type: ""
}
layers {
  name: "__last_seq_1__"
  type: "seqlastins"
  size: 200
  active_type: ""
  inputs {
    input_layer_name: "rnn_subseq_forward"
  }
  trans_type: "non-seq"
  seq_pool_stride: -1
}
layers {
  name: "__lstm_group_0___recurrent_group"
  type: "recurrent_layer_group"
  active_type: ""
}
layers {
  name: "__mixed_0__@__lstm_group_0___recurrent_group"
  type: "scatter_agent"
  size: 400
  active_type: ""
}
layers {
  name: "__lstm_group_0__+delay1@__lstm_group_0___recurrent_group"
  type: "agent"
  size: 100
  active_type: ""
}
layers {
  name: "__lstm_group_0___state+delay1@__lstm_group_0___recurrent_group"
  type: "agent"
  size: 100
  active_type: ""
}
layers {
  name: "__lstm_group_0___input_recurrent@__lstm_group_0___recurrent_group"
  type: "mixed"
  size: 400
  active_type: ""
  inputs {
    input_layer_name: "__mixed_0__@__lstm_group_0___recurrent_group"
    proj_conf {
      type: "identity"
      name: "___lstm_group_0___input_recurrent.w0"
      input_size: 400
      output_size: 400
    }
  }
  inputs {
    input_layer_name: "__lstm_group_0__+delay1@__lstm_group_0___recurrent_group"
    input_parameter_name: "___lstm_group_0___input_recurrent@__lstm_group_0___recurrent_group.w1"
    proj_conf {
      type: "fc"
      name: "___lstm_group_0___input_recurrent.w1"
      input_size: 100
      output_size: 400
    }
  }
}
layers {
  name: "__lstm_group_0__@__lstm_group_0___recurrent_group"
  type: "lstm_step"
  size: 100
  active_type: "tanh"
  inputs {
    input_layer_name: "__lstm_group_0___input_recurrent@__lstm_group_0___recurrent_group"
  }
  inputs {
    input_layer_name: "__lstm_group_0___state+delay1@__lstm_group_0___recurrent_group"
  }
  bias_parameter_name: "___lstm_group_0__@__lstm_group_0___recurrent_group.wbias"
  active_gate_type: "sigmoid"
  active_state_type: "tanh"
}
layers {
  name: "__lstm_group_0___state@__lstm_group_0___recurrent_group"
  type: "get_output"
  size: 100
  active_type: ""
  inputs {
    input_layer_name: "__lstm_group_0__@__lstm_group_0___recurrent_group"
    input_layer_argument: "state"
  }
}
layers {
  name: "__lstm_group_0__"
  type: "gather_agent"
  size: 100
  active_type: ""
}
layers {
  name: "__last_seq_2__"
  type: "seqlastins"
  size: 100
  active_type: ""
  inputs {
    input_layer_name: "__lstm_group_0__"
  }
  trans_type: "non-seq"
  seq_pool_stride: -1
}
layers {
  name: "__gru_group_0___recurrent_group"
  type: "recurrent_layer_group"
  active_type: ""
}
layers {
  name: "__mixed_1__@__gru_group_0___recurrent_group"
  type: "scatter_agent"
  size: 300
  active_type: ""
}
layers {
  name: "__gru_group_0__+delay1@__gru_group_0___recurrent_group"
  type: "agent"
  size: 100
  active_type: ""
}
layers {
  name: "__gru_group_0__@__gru_group_0___recurrent_group"
  type: "gru_step"
  size: 100
  active_type: "tanh"
  inputs {
    input_layer_name: "__mixed_1__@__gru_group_0___recurrent_group"
    input_parameter_name: "___gru_group_0__@__gru_group_0___recurrent_group.w0"
  }
  inputs {
    input_layer_name: "__gru_group_0__+delay1@__gru_group_0___recurrent_group"
  }
  bias_parameter_name: "___gru_group_0__@__gru_group_0___recurrent_group.wbias"
  active_gate_type: "sigmoid"
}
layers {
  name: "__gru_group_0__"
  type: "gather_agent"
  size: 100
  active_type: ""
}
layers {
  name: "__last_seq_3__"
  type: "seqlastins"
  size: 100
  active_type: ""
  inputs {
    input_layer_name: "__gru_group_0__"
  }
  trans_type: "non-seq"
  seq_pool_stride: -1
}
layers {
  name: "__recurrent_group_3__"
  type: "recurrent_layer_group"
  active_type: ""
}
layers {
  name: "seq_input@__recurrent_group_3__"
  type: "scatter_agent"
  size: 100
  active_type: ""
}
layers {
  name: "__memory_6__@__recurrent_group_3__"
  type: "agent"
  size: 200
  active_type: ""
}
layers {
  name: "__fc_layer_0__@__recurrent_group_3__"
  type: "fc"
  size: 200
  active_type: "tanh"
  inputs {
    input_layer_name: "seq_input@__recurrent_group_3__"
    input_parameter_name: "___fc_layer_0__@__recurrent_group_3__.w0"
  }
  inputs {
    input_layer_name: "__memory_6__@__recurrent_group_3__"
    input_parameter_name: "___fc_layer_0__@__recurrent_group_3__.w1"
  }
  bias_parameter_name: "___fc_layer_0__@__recurrent_group_3__.wbias"
}
layers {
  name: "__fc_layer_0__"
  type: "gather_agent"
  size: 200
  active_type: ""
}
layers {
  name: "__last_seq_4__"
  type: "seqlastins"
  size: 200
  active_type: ""
  inputs {
    input_layer_name: "__fc_layer_0__"
  }
  trans_type: "non-seq"
  seq_pool_stride: -1
}
parameters {
  name: "___mixed_0__.w0"
  size: 40000
  initial_mean: 0.0
  initial_std: 0.1
  dims: 100
  dims: 400
  initial_strategy: 0
  initial_smart: true
}
parameters {
  name: "___mixed_1__.w0"
  size: 30000
  initial_mean: 0.0
  initial_std: 0.1
  dims: 100
  dims: 300
  initial_strategy: 0
  initial_smart: true
}
parameters {
  name: "_rnn_forward@__recurrent_group_0__.w0"
  size: 20000
  initial_mean: 0.0
  initial_std: 0.1
  dims: 100
  dims: 200
  initial_strategy: 0
  initial_smart: true
}
parameters {
  name: "_rnn_forward@__recurrent_group_0__.w1"
  size: 40000
  initial_mean: 0.0
  initial_std: 0.0707106781187
  dims: 200
  dims: 200
  initial_strategy: 0
  initial_smart: true
}
parameters {
  name: "_rnn_forward@__recurrent_group_0__.wbias"
  size: 200
  initial_mean: 0.0
  initial_std: 0.0
  dims: 1
  dims: 200
  initial_strategy: 0
  initial_smart: false
}
parameters {
  name: "_rnn_back@__recurrent_group_1__.w0"
  size: 20000
  initial_mean: 0.0
  initial_std: 0.1
  dims: 100
  dims: 200
  initial_strategy: 0
  initial_smart: true
}
parameters {
  name: "_rnn_back@__recurrent_group_1__.w1"
  size: 40000
  initial_mean: 0.0
  initial_std: 0.0707106781187
  dims: 200
  dims: 200
  initial_strategy: 0
  initial_smart: true
}
parameters {
  name: "_rnn_back@__recurrent_group_1__.wbias"
  size: 200
  initial_mean: 0.0
  initial_std: 0.0
  dims: 1
  dims: 200
  initial_strategy: 0
  initial_smart: false
}
parameters {
  name: "_rnn_subseq_forward@__recurrent_group_2__.w0"
  size: 20000
  initial_mean: 0.0
  initial_std: 0.1
  dims: 100
  dims: 200
  initial_strategy: 0
  initial_smart: true
}
parameters {
  name: "_rnn_subseq_forward@__recurrent_group_2__.w1"
  size: 40000
  initial_mean: 0.0
  initial_std: 0.0707106781187
  dims: 200
  dims: 200
  initial_strategy: 0
  initial_smart: true
}
parameters {
  name: "_rnn_subseq_forward@__recurrent_group_2__.wbias"
  size: 200
  initial_mean: 0.0
  initial_std: 0.0
  dims: 1
  dims: 200
  initial_strategy: 0
  initial_smart: false
}
parameters {
  name: "___lstm_group_0___input_recurrent@__lstm_group_0___recurrent_group.w1"
  size: 40000
  initial_mean: 0.0
  initial_std: 0.1
  dims: 100
  dims: 400
  initial_strategy: 0
  initial_smart: true
}
parameters {
  name: "___lstm_group_0__@__lstm_group_0___recurrent_group.wbias"
  size: 300
  initial_mean: 0.0
  initial_std: 0.0
  dims: 1
  dims: 300
  initial_strategy: 0
  initial_smart: false
}
parameters {
  name: "___gru_group_0__@__gru_group_0___recurrent_group.w0"
  size: 30000
  initial_mean: 0.0
  initial_std: 0.1
  dims: 100
  dims: 300
  initial_strategy: 0
  initial_smart: true
}
parameters {
  name: "___gru_group_0__@__gru_group_0___recurrent_group.wbias"
  size: 300
  initial_mean: 0.0
  initial_std: 0.0
  dims: 1
  dims: 300
  initial_strategy: 0
  initial_smart: false
}
parameters {
  name: "___fc_layer_0__@__recurrent_group_3__.w0"
  size: 20000
  initial_mean: 0.0
  initial_std: 0.1
  dims: 100
  dims: 200
  initial_strategy: 0
  initial_smart: true
}
parameters {
  name: "___fc_layer_0__@__recurrent_group_3__.w1"
  size: 40000
  initial_mean: 0.0
  initial_std: 0.0707106781187
  dims: 200
  dims: 200
  initial_strategy: 0
  initial_smart: true
}
parameters {
  name: "___fc_layer_0__@__recurrent_group_3__.wbias"
  size: 200
  initial_mean: 0.0
  initial_std: 0.0
  dims: 1
  dims: 200
  initial_strategy: 0
  initial_smart: false
}
input_layer_names: "seq_input"
input_layer_names: "sub_seq_input"
output_layer_names: "__last_seq_0__"
output_layer_names: "__first_seq_0__"
output_layer_names: "__last_seq_1__"
output_layer_names: "__last_seq_2__"
output_layer_names: "__last_seq_3__"
output_layer_names: "__last_seq_4__"
sub_models {
  name: "root"
  layer_names: "seq_input"
  layer_names: "sub_seq_input"
  layer_names: "label"
  layer_names: "__mixed_0__"
  layer_names: "__mixed_1__"
  layer_names: "__recurrent_group_0__"
  layer_names: "rnn_forward"
  layer_names: "__last_seq_0__"
  layer_names: "__recurrent_group_1__"
  layer_names: "rnn_back"
  layer_names: "__first_seq_0__"
  layer_names: "__recurrent_group_2__"
  layer_names: "rnn_subseq_forward"
  layer_names: "__last_seq_1__"
  layer_names: "__lstm_group_0___recurrent_group"
  layer_names: "__lstm_group_0__"
  layer_names: "__last_seq_2__"
  layer_names: "__gru_group_0___recurrent_group"
  layer_names: "__gru_group_0__"
  layer_names: "__last_seq_3__"
  layer_names: "__recurrent_group_3__"
  layer_names: "__fc_layer_0__"
  layer_names: "__last_seq_4__"
  input_layer_names: "seq_input"
  input_layer_names: "sub_seq_input"
  output_layer_names: "__last_seq_0__"
  output_layer_names: "__first_seq_0__"
  output_layer_names: "__last_seq_1__"
  output_layer_names: "__last_seq_2__"
  output_layer_names: "__last_seq_3__"
  output_layer_names: "__last_seq_4__"
  is_recurrent_layer_group: false
}
sub_models {
  name: "__recurrent_group_0__"
  layer_names: "seq_input@__recurrent_group_0__"
  layer_names: "rnn_forward+delay1@__recurrent_group_0__"
  layer_names: "rnn_forward@__recurrent_group_0__"
  is_recurrent_layer_group: true
  reversed: false
  memories {
    layer_name: "rnn_forward@__recurrent_group_0__"
    link_name: "rnn_forward+delay1@__recurrent_group_0__"
  }
  in_links {
    layer_name: "seq_input"
    link_name: "seq_input@__recurrent_group_0__"
  }
  out_links {
    layer_name: "rnn_forward@__recurrent_group_0__"
    link_name: "rnn_forward"
  }
}
sub_models {
  name: "__recurrent_group_1__"
  layer_names: "seq_input@__recurrent_group_1__"
  layer_names: "rnn_back+delay1@__recurrent_group_1__"
  layer_names: "rnn_back@__recurrent_group_1__"
  is_recurrent_layer_group: true
  reversed: true
  memories {
    layer_name: "rnn_back@__recurrent_group_1__"
    link_name: "rnn_back+delay1@__recurrent_group_1__"
  }
  in_links {
    layer_name: "seq_input"
    link_name: "seq_input@__recurrent_group_1__"
  }
  out_links {
    layer_name: "rnn_back@__recurrent_group_1__"
    link_name: "rnn_back"
  }
}
sub_models {
  name: "__recurrent_group_2__"
  layer_names: "sub_seq_input@__recurrent_group_2__"
  layer_names: "rnn_subseq_forward+delay1@__recurrent_group_2__"
  layer_names: "rnn_subseq_forward@__recurrent_group_2__"
  is_recurrent_layer_group: true
  reversed: false
  memories {
    layer_name: "rnn_subseq_forward@__recurrent_group_2__"
    link_name: "rnn_subseq_forward+delay1@__recurrent_group_2__"
  }
  in_links {
    layer_name: "sub_seq_input"
    link_name: "sub_seq_input@__recurrent_group_2__"
  }
  out_links {
    layer_name: "rnn_subseq_forward@__recurrent_group_2__"
    link_name: "rnn_subseq_forward"
  }
}
sub_models {
  name: "__lstm_group_0___recurrent_group"
  layer_names: "__mixed_0__@__lstm_group_0___recurrent_group"
  layer_names: "__lstm_group_0__+delay1@__lstm_group_0___recurrent_group"
  layer_names: "__lstm_group_0___state+delay1@__lstm_group_0___recurrent_group"
  layer_names: "__lstm_group_0___input_recurrent@__lstm_group_0___recurrent_group"
  layer_names: "__lstm_group_0__@__lstm_group_0___recurrent_group"
  layer_names: "__lstm_group_0___state@__lstm_group_0___recurrent_group"
  is_recurrent_layer_group: true
  reversed: false
  memories {
    layer_name: "__lstm_group_0__@__lstm_group_0___recurrent_group"
    link_name: "__lstm_group_0__+delay1@__lstm_group_0___recurrent_group"
  }
  memories {
    layer_name: "__lstm_group_0___state@__lstm_group_0___recurrent_group"
    link_name: "__lstm_group_0___state+delay1@__lstm_group_0___recurrent_group"
  }
  in_links {
    layer_name: "__mixed_0__"
    link_name: "__mixed_0__@__lstm_group_0___recurrent_group"
  }
  out_links {
    layer_name: "__lstm_group_0__@__lstm_group_0___recurrent_group"
    link_name: "__lstm_group_0__"
  }
}
sub_models {
  name: "__gru_group_0___recurrent_group"
  layer_names: "__mixed_1__@__gru_group_0___recurrent_group"
  layer_names: "__gru_group_0__+delay1@__gru_group_0___recurrent_group"
  layer_names: "__gru_group_0__@__gru_group_0___recurrent_group"
  is_recurrent_layer_group: true
  reversed: false
  memories {
    layer_name: "__gru_group_0__@__gru_group_0___recurrent_group"
    link_name: "__gru_group_0__+delay1@__gru_group_0___recurrent_group"
  }
  in_links {
    layer_name: "__mixed_1__"
    link_name: "__mixed_1__@__gru_group_0___recurrent_group"
  }
  out_links {
    layer_name: "__gru_group_0__@__gru_group_0___recurrent_group"
    link_name: "__gru_group_0__"
  }
}
sub_models {
  name: "__recurrent_group_3__"
  layer_names: "seq_input@__recurrent_group_3__"
  layer_names: "__memory_6__@__recurrent_group_3__"
  layer_names: "__fc_layer_0__@__recurrent_group_3__"
  is_recurrent_layer_group: true
  reversed: false
  memories {
    layer_name: "__fc_layer_0__@__recurrent_group_3__"
    link_name: "__memory_6__@__recurrent_group_3__"
  }
  in_links {
    layer_name: "seq_input"
    link_name: "seq_input@__recurrent_group_3__"
  }
  out_links {
    layer_name: "__fc_layer_0__@__recurrent_group_3__"
    link_name: "__fc_layer_0__"
  }
}

