def __init__(self, idim, dims, dropout=0.1, initialW=None, initial_bias=None): super(LinearSampling, self).__init__() stvd = 1. / np.sqrt(dims) self.dropout = dropout with self.init_scope(): self.linear = L.Linear(idim, dims, initialW=initialW(scale=stvd), initial_bias=initial_bias(scale=stvd)) self.pe = PositionalEncoding(dims, dropout)
def __init__(self, channels, idim, dims, dropout=0.1, initialW=None, initial_bias=None): """Initialize Conv2dSubsampling.""" super(Conv2dSubsampling, self).__init__() self.dropout = dropout with self.init_scope(): # Standard deviation for Conv2D with 1 channel and kernel 3 x 3. n = 1 * 3 * 3 stvd = 1.0 / np.sqrt(n) self.conv1 = L.Convolution2D( 1, channels, 3, stride=2, pad=1, initialW=initialW(scale=stvd), initial_bias=initial_bias(scale=stvd), ) n = channels * 3 * 3 stvd = 1.0 / np.sqrt(n) self.conv2 = L.Convolution2D( channels, channels, 3, stride=2, pad=1, initialW=initialW(scale=stvd), initial_bias=initial_bias(scale=stvd), ) stvd = 1.0 / np.sqrt(dims) self.out = L.Linear( idim, dims, initialW=initialW(scale=stvd), initial_bias=initial_bias(scale=stvd), ) self.pe = PositionalEncoding(dims, dropout)
def __init__(self, odim, args, initialW=None, initial_bias=None): super(Decoder, self).__init__() initialW = chainer.initializers.Uniform if initialW is None else initialW initial_bias = chainer.initializers.Uniform if initial_bias is None else initial_bias with self.init_scope(): self.output_norm = LayerNorm(args.adim) self.pe = PositionalEncoding(args.adim, args.dropout_rate) stvd = 1. / np.sqrt(args.adim) self.output_layer = L.Linear(args.adim, odim, initialW=initialW(scale=stvd), initial_bias=initial_bias(scale=stvd)) self.embed = L.EmbedID(odim, args.adim, ignore_label=-1, initialW=chainer.initializers.Normal(scale=1.0)) for i in range(args.dlayers): name = 'decoders.' + str(i) layer = DecoderLayer(args.adim, d_units=args.dunits, h=args.aheads, dropout=args.dropout_rate, initialW=initialW, initial_bias=initial_bias) self.add_link(name, layer) self.n_layers = args.dlayers
def __init__(self, channels, idim, dims, dropout=0.1, initialW=None, initial_bias=None): super(Conv2dSubsampling, self).__init__() n = 1 * 3 * 3 stvd = 1. / np.sqrt(n) layer = L.Convolution2D(1, channels, 3, stride=2, pad=1, initialW=initialW(scale=stvd), initial_bias=initial_bias(scale=stvd)) self.add_link('conv.0', layer) n = channels * 3 * 3 stvd = 1. / np.sqrt(n) layer = L.Convolution2D(channels, channels, 3, stride=2, pad=1, initialW=initialW(scale=stvd), initial_bias=initial_bias(scale=stvd)) self.add_link('conv.2', layer) stvd = 1. / np.sqrt(dims) layer = L.Linear(idim, dims, initialW=initialW(scale=stvd), initial_bias=initial_bias(scale=stvd)) self.add_link('out.0', layer) self.dropout = dropout with self.init_scope(): self.pe = PositionalEncoding(dims, dropout)