INNER CODE UNIT · Python
__init__
IBM/transition-amr-parser · src/ibm_neural_aligner/main.py:648
def __init__(self, vocab_size, size, project_size=0, padding_idx=PADDING_IDX, embed=None, dropout_p=0, mode='learn'):
super().__init__()
self.mode = mode
if mode == 'learn':
self.embed = nn.Embedding(vocab_size, size, padding_idx=padding_idx)
self.esize = self.embed.weight.shape[1]
elif mode == 'pretrained':
self.embed_pt = embed
self.esize = self.embed_pt.weight.shape[1]
elif mode == 'concat':
self.embed = nn.Embedding(vocab_size, size, padding_idx=padding_idx)
self.embed_pt = embed
self.esize = self.embed.weight.shape[1] + self.embed_pt.weight.shape[1]
self.project_size = project_size
if self.project_size > 0: