class_docstr: 用于将weight和原始weight绑定
class_docstr_tok: ["\u7528\u4e8e\u5c06weight\u548c\u539f\u59cbweight\u7ed1\u5b9a"]
docstr: :param torch.FloatTensor x: batch_size x * x embed_size
  :return: torch.FloatTensor batch_size x * x vocab_size
docstr_tok: [":","param","torch.FloatTensor","x",":","batch_size","x","*","x","embed_size",":","return",":","torch.FloatTensor","batch_size","x","*","x","vocab_size"]
code: def forward(self, x):
      """
  
      :param torch.FloatTensor x: batch_size x * x embed_size
      :return: torch.FloatTensor batch_size x * x vocab_size
      """
      return torch.matmul(x, self.weight.t())
  
imports: from typing import Union, Tuple
  import math
  import torch
  from torch import nn
  import torch.nn.functional
  from ..attention import AttentionLayer, MultiHeadAttention
  from ....embeddings.torch.utils import get_embeddings
  from ....embeddings.torch.static_embedding import StaticEmbedding
  from .seq2seq_state import State, LSTMState, TransformerState
label_desc: Use image node_id 2 for calling the TiedEmbedding obj's underlying member method code with example usage: obj.forward(x) and returns: torch