mindspore2022/docs/api/api_python/nn/mindspore.nn.Embedding.rst

35 lines
1.8 KiB
ReStructuredText
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

mindspore.nn.Embedding
=======================
.. py:class:: mindspore.nn.Embedding(vocab_size, embedding_size, use_one_hot=False, embedding_table="normal", dtype=mstype.float32, padding_idx=None)
嵌入层。
用于存储词向量并使用索引进行检索根据输入Tensor中的id`embedding_table` 中查询对应的embedding向量。当输入为id组成的序列时输出为对应embedding向量构成的矩阵。
.. note::
`use_one_hot` 等于True时x的类型必须是mindpore.int32。
**参数:**
- **vocab_size** (int) - 词典的大小。
- **embedding_size** (int) - 每个嵌入向量的大小。
- **use_one_hot** (bool) - 指定是否使用one-hot形式。默认值False。
- **embedding_table** (Union[Tensor, str, Initializer, numbers.Number]) embedding_table的初始化方法。当指定为字符串字符串取值请参见类 `mindspore.common.initializer` 。默认值:'normal'。
- **dtype** (mindspore.dtype) - x的数据类型。默认值mindspore.float32。
- **padding_idx** (int, None) - 将 `padding_idx` 对应索引所输出的嵌入向量用零填充。默认值None。该功能已停用。
**输入:**
- **x** (Tensor) - Tensor的shape为 :math:`(\text{batch_size}, \text{x_length})` 其元素为整型值并且元素数目必须小于等于vocab_size否则相应的嵌入向量将为零。该数据类型可以是int32或int64。
**输出:**
Tensor的shape :math:`(\text{batch_size}, \text{x_length}, \text{embedding_size})`
**异常:**
- **TypeError** - 如果 `vocab_size` 或者 `embedding_size` 不是整型值。
- **TypeError** - 如果 `use_one_hot` 不是布尔值。
- **ValueError** - 如果 `padding_idx` 是一个不在[0, `vocab_size` ]范围内的整数。