#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. from paddle.trainer_config_helpers import * 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(batch_size = 100) data = data_layer(name='input', size=3) wt = data_layer(name='weight', size=1) fc1 = fc_layer(input=data, size=5, bias_attr=True, act=SigmoidActivation()) fc2 = fc_layer(input=data, size=12, bias_attr=True, param_attr=ParamAttr(name='sharew'), act=LinearActivation()) fc3 = fc_layer(input=data, size=3, bias_attr=True, act=TanhActivation()) fc4 = fc_layer(input=data, size=5, bias_attr=True, layer_attr=ExtraAttr(drop_rate=0.5), act=SquareActivation()) pool = img_pool_layer(input=fc2, pool_size=2, pool_size_y=3, num_channels=1, padding=1, padding_y=2, stride=2, stride_y=3, pool_type=CudnnAvgPooling()) concat = concat_layer(input=[fc3, fc4]) with mixed_layer(size=3, act=SoftmaxActivation()) as output: output += full_matrix_projection(input=fc1) output += trans_full_matrix_projection(input=fc2, param_attr=ParamAttr(name='sharew')) output += full_matrix_projection(input=concat) output += identity_projection(input=fc3) lbl = data_layer(name='label', size=1) cost = classification_cost(input=output, label=lbl, weight=wt, layer_attr=ExtraAttr(device=-1)) nce = nce_layer(input=fc2, label=lbl, weight=wt, num_classes=3, neg_distribution=[0.1, 0.3, 0.6]) outputs(cost, nce)