fastNLP.embeddings.utils module

fastNLP.embeddings.utils.get_embeddings(init_embed, padding_idx=None)[源代码]

别名 fastNLP.embeddings.get_embeddings fastNLP.embeddings.utils.get_embeddings

根据输入的init_embed返回Embedding对象。如果输入是tuple, 则随机初始化一个nn.Embedding; 如果输入是numpy.ndarray, 则按照ndarray 的值将nn.Embedding初始化; 如果输入是torch.Tensor, 则按该值初始化nn.Embedding; 如果输入是fastNLP中的embedding将不做处理 返回原对象。

参数
  • init_embed – 可以是 tuple:(num_embedings, embedding_dim), 即embedding的大小和每个词的维度;也可以传入 nn.Embedding 对象, 此时就以传入的对象作为embedding; 传入np.ndarray也行,将使用传入的ndarray作为作为Embedding初始化; 传入torch.Tensor, 将使用传入的值作为Embedding初始化。

  • padding_idx – 当传入tuple时,padding_idx有效

Return nn.Embedding

embeddings

fastNLP.embeddings.utils.get_sinusoid_encoding_table(n_position, d_hid, padding_idx=None)[源代码]

别名 fastNLP.embeddings.get_sinusoid_encoding_table fastNLP.embeddings.utils.get_sinusoid_encoding_table

sinusoid的embedding,其中position的表示中,偶数维(0,2,4,…)是sin, 奇数(1,3,5…)是cos

参数
  • n_position (int) – 一共多少个position

  • d_hid (int) – 多少维度,需要为偶数

  • padding_idx

返回

torch.FloatTensor, shape为n_position x d_hid