#edit-mode: -*- python -*- # Copyright (c) 2016 PaddlePaddle Authors. 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. from paddle.trainer_config_helpers import * TrainData(SimpleData( files = "legacy/trainer/tests/sample_filelist.txt", feat_dim = 3, context_len = 0, buffer_capacity = 1000000)) TestData(SimpleData( files = "legacy/trainer/tests/sample_filelist.txt", feat_dim = 3, context_len = 0, buffer_capacity = 1000000)) settings(batch_size = 100) data = data_layer(name='input', size=3) fc1 = fc_layer(input=data, size=5, bias_attr=False, act=SigmoidActivation()) fc2 = fc_layer(input=data, size=9, bias_attr=False, act=LinearActivation()) fc3 = fc_layer(input=data, size=3, bias_attr=False, act=TanhActivation()) fc4 = fc_layer(input=data, size=5, bias_attr=False, act=LinearActivation(), param_attr=ParamAttr(name='sharew')) fc5 = fc_layer(input=data, size=5, bias_attr=False, act=BReluActivation()) fc6 = fc_layer(input=data, size=5, bias_attr=False, act=SoftReluActivation()) fc7 = fc_layer(input=data, size=3, bias_attr=False, act=SquareActivation()) fc8 = fc_layer(input=data, size=5, bias_attr=True, act=SquareActivation()) with mixed_layer(size=3, act=SoftmaxActivation()) as layer9: layer9 += full_matrix_projection(input=fc1) layer9 += full_matrix_projection(input=fc2) layer9 += full_matrix_projection(input=fc3) layer9 += trans_full_matrix_projection(input=fc4, param_attr=ParamAttr(name='sharew')) layer9 += full_matrix_projection(input=fc5) layer9 += full_matrix_projection(input=fc6) layer9 += full_matrix_projection(input=fc7) layer9 += full_matrix_projection(input=fc8) if get_config_arg('with_cost', bool, True): # This is for training the neural network. # We need to have another data layer for label # and a layer for calculating cost lbl = data_layer(name='label', size=1) outputs(classification_cost(input=layer9, label=lbl)) else: # This is for prediction where we don't have label # and don't need to calculate cost outputs(layer9)