Embeddings
fasttext_embedding
Fasttext_embedding
- class mindnlp.modules.embeddings.fasttext_embedding.Fasttext(vocab: Vocab, init_embed, requires_grad: bool = True, dropout=0.0)[源代码]
-
embedding层.
- 参数
vocab (Vocab) – 传入vocab用于初始化.
init_embed (Tensor) – 用传入的Tensor直接初始化embedding.
requires_grad (bool) – 参数是否需要梯度下降来更新.默认值:True.
dropout (float) – Embedding层的Dropout丢弃率.默认值:0.5.
示例
>>> vocab = Vocab.from_list(['default','one','two','three']) >>> init_embed = Tensor(np.zeros((4, 4)).astype(np.float32)) >>> fasttext_embed = Fasttext(vocab, init_embed) >>> ids = Tensor([1, 2, 3]) >>> output = fasttext_embed(ids)
- dims = [300]
- classmethod from_pretrained(name='1M', dims=300, root='/home/docs/.mindnlp', special_tokens=('<pad>', '<unk>'), special_first=True, **kwargs)[源代码]
从预训练词向量创建embedding.
- 参数
name (str) – 预训练词向量的名字.默认值:”1M”.
dims (int) – 预训练词向量的维度.默认值:300.
root (str) – 默认保存路径.默认值:DEFAULT_ROOT.
special_tokens (tuple<str,str>) – 由特殊token组成的list.默认值:(“<pad>”, “<unk>”).
special_first (bool) – 是否添加special_tokens中的元素到字典头部.如果为True,则添加到头部,反之添加到尾部。默认值:True.
kwargs (dict) –
requires_grad (bool): 参数是否需要梯度下降来更新.默认值: True.
dropout (float): Embedding层的Dropout丢弃率.默认值:0.5.
- 返回
Fasttext, 返回一个由预训练词向量生成的embedding.
Vocab, 从词向量文件中提取的词汇.
- classmethod load(foldername=None, root='/home/docs/.mindnlp', load_npy=False, vocab=None, npy_path=None)[源代码]
通过指定路径的参数文件初始化embedding.
- 参数
foldername (str) – 加载embedding所在的目录名.默认值:None.
root (Path) – embedding参数文件所在的路径.默认值:DEFAULT_ROOT.
load_npy (Bool) – 是否以npy文件的方式初始化embedding.当load_npy为True时,Vocab和npy_path有效。默认值:False.
vocab (Vocab) – 如果用npy文件初始化,则传入Vocab.默认值:None.
npy_path (Path) – npy文件的路径.默认值:None.
- 返回
None
- save(foldername, root='/home/docs/.mindnlp')[源代码]
保存embedding到指定路径.
- 参数
foldername (str) – 保存embedding参数的目录名.
root (Path) – embedding参数文件所在的路径.默认值:DEFAULT_ROOT.
- 返回
None
- urls = {'1M': 'https://dl.fbaipublicfiles.com/fasttext/vectors-english/wiki-news-300d-1M.vec.zip', '1M-subword': 'https://dl.fbaipublicfiles.com/fasttext/vectors-english/wiki-news-300d-1M-subword.vec.zip'}
glove_embedding
glove_embedding
- class mindnlp.modules.embeddings.glove_embedding.Glove(vocab: Vocab, init_embed, requires_grad: bool = True, dropout=0.0)[源代码]
-
embedding层.
- 参数
vocab (Vocab) – 传入vocab用于初始化.
init_embed (Tensor) – 用传入的Tensor直接初始化embedding.
requires_grad (bool) – 参数是否需要梯度下降来更新.默认值:True.
dropout (float) – Embedding层的Dropout丢弃率.默认值:0.5.
示例
>>> vocab = Vocab.from_list(['default','one','two','three']) >>> init_embed = Tensor(np.zeros((4, 4)).astype(np.float32)) >>> glove_embed = Glove(vocab, init_embed) >>> ids = Tensor([1, 2, 3]) >>> output = glove_embed(ids)
- dims = [50, 100, 200, 300]
- classmethod from_pretrained(name='6B', dims=300, root='/home/docs/.mindnlp', special_tokens=('<pad>', '<unk>'), special_first=True, **kwargs)[源代码]
从预训练词向量创建embedding.
- 参数
name (str) – 预训练词向量的名字.默认值:’6B’.
dims (int) – 预训练词向量的维度.默认值:300.
root (str) – 默认保存路径.默认值:DEFAULT_ROOT.
special_tokens (tuple<str,str>) – 由特殊token组成的list.默认值:(“<pad>”, “<unk>”).
special_first (bool) – 是否添加special_tokens中的元素到字典头部.如果为True,则添加到头部,反之添加到尾部。默认值:True.
kwargs (dict) –
requires_grad (bool): 参数是否需要梯度下降来更新.默认值: True.
dropout (float): Embedding层的Dropout丢弃率.默认值:0.5.
- 返回
Glove, 返回一个由预训练词向量生成的embedding.
Vocab, 从词向量文件中提取的词汇.
- classmethod load(foldername=None, root='/home/docs/.mindnlp', load_npy=False, vocab=None, npy_path=None)[源代码]
通过指定路径的参数文件初始化embedding.
- 参数
foldername (str) – 加载embedding所在的目录名.默认值:None.
root (Path) – embedding参数文件所在的路径.默认值:DEFAULT_ROOT.
load_npy (Bool) – 是否以npy文件的方式初始化embedding.当load_npy为True时,Vocab和npy_path有效。默认值:False.
vocab (Vocab) – 如果用npy文件初始化,则传入Vocab.默认值:None.
npy_path (Path) – npy文件的路径.默认值:None.
- 返回
None
- save(foldername, root='/home/docs/.mindnlp')[源代码]
保存embedding到指定路径.
- 参数
foldername (str) – 保存embedding参数的目录名.
root (Path) – embedding参数文件所在的路径.默认值:DEFAULT_ROOT.
- 返回
None
- urls = {'42B': 'http://nlp.stanford.edu/data/glove.42B.300d.zip', '6B': 'http://nlp.stanford.edu/data/glove.6B.zip', '840B': 'http://nlp.stanford.edu/data/glove.840B.300d.zip', 'twitter.27B': 'http://nlp.stanford.edu/data/glove.twitter.27B.zip'}
word2vec_embedding
Word2vec_embedding
- class mindnlp.modules.embeddings.word2vec_embedding.Word2vec(vocab: Vocab, init_embed, requires_grad: bool = True, dropout=0.0)[源代码]
-
embedding层.
- 参数
vocab (Vocab) – 传入vocab用于初始化.
init_embed (Tensor) – 用传入的Tensor直接初始化embedding.
requires_grad (bool) – 参数是否需要梯度下降来更新.默认值:True.
dropout (float) – Embedding层的Dropout丢弃率.默认值:0.5.
示例
>>> vocab = Vocab.from_list(['default','one','two','three']) >>> init_embed = Tensor(np.zeros((4, 4)).astype(np.float32)) >>> word2vec_embed = Word2vec(vocab, init_embed) >>> ids = Tensor([1, 2, 3]) >>> output = word2vec_embed(ids)
- dims = [300]
- classmethod from_pretrained(name='google-news', dims=300, root='/home/docs/.mindnlp', special_tokens=('<pad>', '<unk>'), special_first=True, use_gensim=True, **kwargs)[源代码]
从预训练词向量创建embedding.
- 参数
name (str) – 预训练词向量的名字。默认值:’google-news’.
dims (int) – 预训练词向量的维度.默认值:300.
root (str) – 默认保存路径.默认值:DEFAULT_ROOT.
special_tokens (tuple<str,str>) – 由特殊token组成的list.默认值:(“<pad>”, “<unk>”).
special_first (bool) – 是否添加special_tokens中的元素到字典头部.如果为True,则添加到头部,反之添加到尾部。默认值:True.
use_gensim (bool) – 是否用gensim库加载词向量.若为True则表示使用gensim库.默认值:True.
kwargs (dict) –
requires_grad (bool): 参数是否需要梯度下降来更新.默认值: True.
dropout (float): Embedding层的Dropout丢弃率.默认值:0.5.
- 返回
Word2vec, 返回一个由预训练词向量生成的embedding.
Vocab, 从词向量文件中提取的词汇.
- classmethod load(foldername=None, root='/home/docs/.mindnlp', load_npy=False, vocab=None, npy_path=None)[源代码]
通过指定路径的参数文件初始化embedding.
- 参数
foldername (str) – 加载embedding所在的目录名.默认值:None.
root (Path) – embedding参数文件所在的路径.默认值:DEFAULT_ROOT.
load_npy (Bool) – 是否以npy文件的方式初始化embedding.当load_npy为True时,Vocab和npy_path有效。默认值:False.
vocab (Vocab) – 如果用npy文件初始化,则传入Vocab.默认值:None.
npy_path (Path) – npy文件的路径.默认值:None.
- 返回
None
- save(foldername, root='/home/docs/.mindnlp')[源代码]
保存embedding到指定路径.
- 参数
foldername (str) – 保存embedding参数的目录名.
root (Path) – embedding参数文件所在的路径.默认值:DEFAULT_ROOT.
- 返回
None
- urls = {'google-news': 'https://github.com/RaRe-Technologies/gensim-data/releases/download/word2vec-google-news-300/word2vec-google-news-300.gz'}
Embedding class