Embedding_cn.rst 1.8 KB
Newer Older
H
Hao Wang 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
.. _cn_api_fluid_dygraph_Embedding:

Embedding
-------------------------------

.. py:class:: paddle.fluid.dygraph.Embedding(name_scope, size, is_sparse=False, is_distributed=False, padding_idx=None, param_attr=None, dtype='float32')

Embedding层

该层用于在查找表中查找 ``input`` 中的ID对应的embeddings。查找的结果是input里每个ID对应的embedding。
所有的输入变量都作为局部变量传入LayerHelper构造器

参数:
    - **name_scope** (str)-该类的名称。
    - **size** (tuple|list)-查找表参数的维度。应当有两个参数,一个代表嵌入矩阵字典的大小,一个代表每个嵌入向量的大小。
    - **is_sparse** (bool)-代表是否用稀疏更新的标志。
    - **is_distributed** (bool)-是否从远程参数服务端运行查找表。
    - **padding_idx** (int|long|None)-如果为 ``None`` ,对查找结果无影响。如果 ``padding_idx`` 不为空,表示一旦查找表中找到input中对应的 ``padding_idx``,则用0填充输出结果。如果 ``padding_idx`` <0 ,则在查找表中使用的 ``padding_idx`` 值为 :math:`size[0]+dim` 。默认:None。
    - **param_attr** (ParamAttr)-该层参数。默认为None。
    - **dtype** (np.dtype|core.VarDesc.VarType|str)-数据类型:float32,float_16,int等。默认:‘float32’

返回:张量,存储已有输入的嵌入矩阵。

返回类型:变量(Variable)

**代码示例**

.. code-block:: python

    import paddle.fluid as fluid
    import paddle.fluid.dygraph.base as base
    import numpy as np

    inp_word = np.array([[[1]]]).astype('int64')
    dict_size = 20
    with fluid.dygraph.guard():
        emb = fluid.dygraph.Embedding(
            name_scope='embedding',
            size=[dict_size, 32],
            param_attr='emb.w',
            is_sparse=False)
        static_rlt3 = emb(base.to_variable(inp_word))