def __init__(self, left_size, right_size, out_size,
nobias=(False, False, False),
initialW=None, initial_bias=None):
super(Biaffine, self).__init__()
self.in_sizes = (left_size, right_size)
self.out_size = out_size
self.nobias = nobias
with self.init_scope():
shape = (left_size + int(not(self.nobias[0])),
right_size + int(not(self.nobias[1])),
out_size)
if isinstance(initialW, (np.ndarray, cuda.ndarray)):
assert initialW.shape == shape
self.W = variable.Parameter(
initializers._get_initializer(initialW), shape)
if not self.nobias[2]:
if initial_bias is None:
initial_bias = 0
self.b = variable.Parameter(initial_bias, (self.out_size,))
else:
self.b = None
评论列表
文章目录