self.add_sublayer('linear_%d'%i, linear) self._mlp_layers.append(linear)ifacts[i] =='relu': act=paddle.nn.ReLU() self.add_sublayer('act_%d'%i, act)#得到输入层到embedding层该神经元相连的五条线的权重#前向传播反馈defforward(self, feat_embeddings): y_dnn=paddle.reshape(feat_embeddings...
super(PrePostProcessLayer, self).__init__() self.process_cmd = process_cmd # 处理模式 a n d, 可选多个 self.functors = [] # 处理层 self.exec_order = "" # 根据处理模式,为处理层添加子层 for cmd in self.process_cmd: if cmd == "a": # add residual connection self.functors.append...
super(PrePostProcessLayer, self).__init__() self.process_cmd = process_cmd # 处理模式 a n d, 可选多个 self.functors = [] # 处理层 self.exec_order = "" # 根据处理模式,为处理层添加子层 for cmd in self.process_cmd: if cmd == "a": # add residual connection self.functors.append...
super(ConvPool, self).__init__() self._conv2d_list = [] foriinrange(groups): # add_sublayer方法:返回一个由所有子层组成的列表 conv2d = self.add_sublayer('bb_%d'% i, fluid.dygraph.Conv2D(num_channels=num_channels,# 通道数 num_filters=num_filters,# 卷积核个数 filter_size=filter...
add_sublayer 是为了收集子layer 包含的参数,参数收集是通过 重载了 __setattr__来实现的,self.xxx...
(self.cap_num): self.add_sublayer('u_hat_w'+str(j),fluid.dygraph.Linear(\ input_dim=pre_vector_units_num,output_dim=vector_units_num)) def squash(self,vector): ''' 压缩向量的函数,类似激活函数,向量归一化 Args: vector:一个4维张量 [batch_size,vector_num,vector_units_num,1] ...
['DarkNet', 'ConvBNLayer'] # 卷积+BN模块 class ConvBNLayer(nn.Layer): def __init__(self, ch_in, ch_out, filter_size=3, stride=1, groups=1, padding=0, norm_type='bn', act="leaky", name=None): super(ConvBNLayer, self).__init__() self.conv = nn.Conv2D( in_channels=...
def __init__(self, num_channels, num_filters, stride, #是否短接 shortcut=True ): super(BottleneckBlock,self).__init__() #第一个卷积1X1来降维 self.conv0 = ConvBNlayer( num_channels=num_channels, num_filters=num_filters, filter_size=1, ...
element_wise_add(sub/mul/div/max等等) 这是对应元素操作系列,包含加减乘除 你可以使用这个api,也可以直接使用运算符+ - ,paddle已经重载了运算符 参数如下 - x 多维tensor - y 多维tensor - axis y维度对应x的索引,当我们需要对应元素操作时,这个不需要设置 - act 激活函数名称 ...
layerinlayers:# add_sublayer方法会将layer添加到self._sub_layers(一个tuple)self.add_sublayer(name,layer)else:foridx,layerinenumerate(layers):self.add_sublayer(str(idx),layer)defforward(self,X):# OrderedDict保证了按照成员添加的顺序遍历它们forlayerinself._sub_layers.values():X=layer(X)return...