type: "recurrent_nn" layers { name: "data_a" type: "data" size: 100 active_type: "" } layers { name: "data_b" type: "data" size: 100 active_type: "" } layers { name: "__mixed_0__" type: "mixed" size: 400 active_type: "" inputs { input_layer_name: "data_a" input_parameter_name: "mixed_param" proj_conf { type: "fc" name: "___mixed_0__.w0" input_size: 100 output_size: 400 } } } layers { name: "__mixed_1__" type: "mixed" size: 400 active_type: "" inputs { input_layer_name: "data_b" input_parameter_name: "mixed_param" proj_conf { type: "fc" name: "___mixed_1__.w0" input_size: 100 output_size: 400 } } } 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_param" 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_bias" active_gate_type: "sigmoid" active_state_type: "sigmoid" } 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: "__lstm_group_1___recurrent_group" type: "recurrent_layer_group" active_type: "" } layers { name: "__mixed_1__@__lstm_group_1___recurrent_group" type: "scatter_agent" size: 400 active_type: "" } layers { name: "__lstm_group_1__+delay1@__lstm_group_1___recurrent_group" type: "agent" size: 100 active_type: "" } layers { name: "__lstm_group_1___state+delay1@__lstm_group_1___recurrent_group" type: "agent" size: 100 active_type: "" } layers { name: "__lstm_group_1___input_recurrent@__lstm_group_1___recurrent_group" type: "mixed" size: 400 active_type: "" inputs { input_layer_name: "__mixed_1__@__lstm_group_1___recurrent_group" proj_conf { type: "identity" name: "___lstm_group_1___input_recurrent.w0" input_size: 400 output_size: 400 } } inputs { input_layer_name: "__lstm_group_1__+delay1@__lstm_group_1___recurrent_group" input_parameter_name: "lstm_param" proj_conf { type: "fc" name: "___lstm_group_1___input_recurrent.w1" input_size: 100 output_size: 400 } } } layers { name: "__lstm_group_1__@__lstm_group_1___recurrent_group" type: "lstm_step" size: 100 active_type: "tanh" inputs { input_layer_name: "__lstm_group_1___input_recurrent@__lstm_group_1___recurrent_group" } inputs { input_layer_name: "__lstm_group_1___state+delay1@__lstm_group_1___recurrent_group" } bias_parameter_name: "lstm_bias" active_gate_type: "sigmoid" active_state_type: "sigmoid" } layers { name: "__lstm_group_1___state@__lstm_group_1___recurrent_group" type: "get_output" size: 100 active_type: "" inputs { input_layer_name: "__lstm_group_1__@__lstm_group_1___recurrent_group" input_layer_argument: "state" } } layers { name: "__lstm_group_1__" type: "gather_agent" size: 100 active_type: "" } layers { name: "__last_seq_0__" type: "seqlastins" size: 100 active_type: "linear" inputs { input_layer_name: "__lstm_group_0__" } trans_type: "non-seq" } layers { name: "__last_seq_1__" type: "seqlastins" size: 100 active_type: "linear" inputs { input_layer_name: "__lstm_group_1__" } trans_type: "non-seq" } layers { name: "__fc_layer_0__" type: "fc" size: 10 active_type: "softmax" inputs { input_layer_name: "__last_seq_0__" input_parameter_name: "softmax_param" } inputs { input_layer_name: "__last_seq_1__" input_parameter_name: "softmax_param" } } layers { name: "label" type: "data" size: 10 active_type: "" } layers { name: "__cost_0__" type: "multi-class-cross-entropy" size: 1 active_type: "" inputs { input_layer_name: "__fc_layer_0__" } inputs { input_layer_name: "label" } coeff: 1.0 } parameters { name: "mixed_param" size: 40000 initial_mean: 0.0 initial_std: 0.10000000149 dims: 100 dims: 400 initial_strategy: 0 initial_smart: true } parameters { name: "lstm_param" size: 40000 initial_mean: 0.0 initial_std: 0.10000000149 dims: 100 dims: 400 initial_strategy: 0 initial_smart: true } parameters { name: "lstm_bias" size: 300 initial_mean: 0.0 initial_std: 0.0 dims: 1 dims: 300 initial_strategy: 0 initial_smart: false } parameters { name: "softmax_param" size: 1000 initial_mean: 0.0 initial_std: 0.10000000149 dims: 100 dims: 10 initial_strategy: 0 initial_smart: true } input_layer_names: "data_a" input_layer_names: "data_b" input_layer_names: "label" output_layer_names: "__cost_0__" evaluators { name: "classification_error_evaluator" type: "classification_error" input_layers: "__fc_layer_0__" input_layers: "label" } sub_models { name: "root" layer_names: "data_a" layer_names: "data_b" layer_names: "__mixed_0__" layer_names: "__mixed_1__" layer_names: "__lstm_group_0___recurrent_group" layer_names: "__lstm_group_0__" layer_names: "__lstm_group_1___recurrent_group" layer_names: "__lstm_group_1__" layer_names: "__last_seq_0__" layer_names: "__last_seq_1__" layer_names: "__fc_layer_0__" layer_names: "label" layer_names: "__cost_0__" input_layer_names: "data_a" input_layer_names: "data_b" input_layer_names: "label" output_layer_names: "__cost_0__" evaluator_names: "classification_error_evaluator" is_recurrent_layer_group: false } 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" is_sequence: false } memories { layer_name: "__lstm_group_0___state@__lstm_group_0___recurrent_group" link_name: "__lstm_group_0___state+delay1@__lstm_group_0___recurrent_group" is_sequence: false } in_links { layer_name: "__mixed_0__" link_name: "__mixed_0__@__lstm_group_0___recurrent_group" has_subseq: false } out_links { layer_name: "__lstm_group_0__@__lstm_group_0___recurrent_group" link_name: "__lstm_group_0__" has_subseq: false } target_inlinkid: -1 } sub_models { name: "__lstm_group_1___recurrent_group" layer_names: "__mixed_1__@__lstm_group_1___recurrent_group" layer_names: "__lstm_group_1__+delay1@__lstm_group_1___recurrent_group" layer_names: "__lstm_group_1___state+delay1@__lstm_group_1___recurrent_group" layer_names: "__lstm_group_1___input_recurrent@__lstm_group_1___recurrent_group" layer_names: "__lstm_group_1__@__lstm_group_1___recurrent_group" layer_names: "__lstm_group_1___state@__lstm_group_1___recurrent_group" is_recurrent_layer_group: true reversed: false memories { layer_name: "__lstm_group_1__@__lstm_group_1___recurrent_group" link_name: "__lstm_group_1__+delay1@__lstm_group_1___recurrent_group" is_sequence: false } memories { layer_name: "__lstm_group_1___state@__lstm_group_1___recurrent_group" link_name: "__lstm_group_1___state+delay1@__lstm_group_1___recurrent_group" is_sequence: false } in_links { layer_name: "__mixed_1__" link_name: "__mixed_1__@__lstm_group_1___recurrent_group" has_subseq: false } out_links { layer_name: "__lstm_group_1__@__lstm_group_1___recurrent_group" link_name: "__lstm_group_1__" has_subseq: false } target_inlinkid: -1 }