#edit-mode: -*- python -*- # Copyright (c) 2016 Baidu, Inc. All Rights Reserved # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. #Todo(luotao02) This config is only used for unitest. It is out of date now, and will be updated later. default_initial_std(0.5) model_type("nn") DataLayer( name = "input", size = 3, ) DataLayer( name = "weight", size = 1, ) Layer( name = "layer1_1", type = "fc", size = 5, active_type = "sigmoid", inputs = "input", ) Layer( name = "layer1_2", type = "fc", size = 12, active_type = "linear", inputs = Input("input", parameter_name='sharew'), ) Layer( name = "layer1_3", type = "fc", size = 3, active_type = "tanh", inputs = "input", ) Layer( name = "layer1_5", type = "fc", size = 3, active_type = "tanh", inputs = Input("input", learning_rate=0.01, momentum=0.9, decay_rate=0.05, initial_mean=0.0, initial_std=0.01, format = "csc", nnz = 4) ) FCLayer( name = "layer1_4", size = 5, active_type = "square", inputs = "input", drop_rate = 0.5, ) Layer( name = "pool", type = "pool", inputs = Input("layer1_2", pool = Pool(pool_type="cudnn-avg-pool", channels = 1, size_x = 2, size_y = 3, img_width = 3, padding = 1, padding_y = 2, stride = 2, stride_y = 3)) ) Layer( name = "concat", type = "concat", inputs = ["layer1_3", "layer1_4"], ) MixedLayer( name = "output", size = 3, active_type = "softmax", inputs = [ FullMatrixProjection("layer1_1", learning_rate=0.1), TransposedFullMatrixProjection("layer1_2", parameter_name='sharew'), FullMatrixProjection("concat"), IdentityProjection("layer1_3"), ], ) Layer( name = "label", type = "data", size = 1, ) Layer( name = "cost", type = "multi-class-cross-entropy", inputs = ["output", "label", "weight"], ) Layer( name = "cost2", type = "nce", num_classes = 3, active_type = "sigmoid", neg_sampling_dist = [0.1, 0.3, 0.6], inputs = ["layer1_2", "label", "weight"], ) Evaluator( name = "error", type = "classification_error", inputs = ["output", "label", "weight"] ) Inputs("input", "label", "weight") Outputs("cost", "cost2") TrainData( ProtoData( files = "dummy_list", constant_slots = [1.0], async_load_data = True, ) ) TestData( SimpleData( files = "trainer/tests/sample_filelist.txt", feat_dim = 3, context_len = 0, buffer_capacity = 1000000, async_load_data = False, ), ) Settings( algorithm = "sgd", num_batches_per_send_parameter = 1, num_batches_per_get_parameter = 1, batch_size = 100, learning_rate = 0.001, learning_rate_decay_a = 1e-5, learning_rate_decay_b = 0.5, )