예제 #1
0
    def __init__(self, vocab, hidden_size, shared_weight=None):
        super(Generator, self).__init__()

        self.pad = vocab.pad()
        self.n_words = vocab.max_n_words

        self.hidden_size = hidden_size

        self.proj = Linear(self.hidden_size, self.n_words, bias=False)

        if shared_weight is not None:
            self.proj.linear.weight = shared_weight
예제 #2
0
    def __init__(self, n_words, hidden_size, shared_weight=None, padding_idx=-1):

        super(Generator, self).__init__()

        self.n_words = n_words
        self.hidden_size = hidden_size
        self.padding_idx = padding_idx

        self.proj = Linear(self.hidden_size, self.n_words, bias=False)
        self.actn = nn.LogSoftmax(dim=-1)

        if shared_weight is not None:
            self.proj.linear.weight = shared_weight