mindtext.embeddings.embedding¶
该模块中的Embedding是一种随机初始化的embedding,我们更推荐您使用mindtext.embeddings.static_embedding,
或基于预训练权重初始化的Embedding。
class mindtext.embeddings.embedding.Embedding (init_embed: Union[Tuple[int, int], np.ndarray, mindspore.Tensor, nn.Cell], dropout: float = 0.1)
词嵌入,支持多种方式的输入初始化。您可以使用self.num_embeddings获取词表大小,使用self.embedding_dim获取嵌入的维度
Example
>>> import numpy as np
>>> init_embed = (200, 100)
>>> embedding = Embedding(init_embed, 0.1)
>>> init_embed = np.random.randn(4, 3)
>>> embedding = Embedding(init_embed, 0.1)
init (init_embed: Union[Tuple[int, int], np.ndarray, mindspore.Tensor, nn.Cell], dropout: float = 0.1)
参数
init_embed (Union[Tuple[int, int], np.ndarray, mindspore.Tensor, nn.Cell]): 词嵌入的大小,传入tuple(int, int), 第一 个int为vocab_zie(词典大小),第二个int为embed_dim(嵌入维度大小)。若传入np.ndarray, mindspore.Tensor, nn.Cell,则直接使用该值初 始化词嵌入。
dropout (float): 对词嵌入的输出进行dropout。
construct (words: mindspore.Tensor)
参数
words (mindspore.Tensor): 单词的tokens,shape为(batch_size, seq_len)。
返回
mindspore.Tensor: 词嵌入的输出,shape为(batch_size, seq_len, embed_dim)。
class mindtext.embeddings.embedding.TokenEmbedding (vocab: Vocabulary, dropout: float = 0.1)
mindtext中各种Embedding的基类。
init (vocab: Vocabulary, dropout: float = 0.1)
参数
vocab (Vocabulary): 词表。
dropout (float): 对Embedding后的输出进行dropout,默认值为0.1。
get_word_vocab ()
返回embedding的词典。
返回: Vocabulary
dropout (words: mindspore.Tensor)
参数
words (mindspore.Tensor): 对embedding后的词向量表示进行dropout。
返回
mindspore.Tensor: dropout后的词向量表示。
num_embeddings ()
返回embedding的单词数量(即词典大小),这个值可能会大于实际的embedding矩阵的大小。