def lyr_linear(
self, name_,
s_x_,
idim_, odim_,
init_=None, bias_=0.,
params_group_='params'
):
'''
dense matrix multiplication, optionally adding a bias vector
'''
name_W = name_+'_w'
name_B = name_+'_b'
if init_ is None:
init_ = [1.4/sqrt(idim_+odim_)]
with self.get_group(params_group_):
v_W = self.get_variable(name_W, (idim_,odim_), init_=init_)
if bias_ is None:
s_ret = T.dot(s_x_, v_W)
else:
with self.get_group(params_group_):
v_B = self.get_variable(name_B, (odim_,), bias_)
s_ret = T.dot(s_x_, v_W) + v_B
return s_ret
评论列表
文章目录