文档反馈

问题文档片段

问题文档片段包含公式时,显示为空格。

提交类型
issue

有点复杂...

找人问问吧。

PR

小问题,全程线上修改...

一键搞定!

请选择提交类型

问题类型
规范和低错类

- 规范和低错类:

- 错别字或拼写错误,标点符号使用错误、公式错误或显示异常。

- 链接错误、空单元格、格式错误。

- 英文中包含中文字符。

- 界面和描述不一致,但不影响操作。

- 表述不通顺,但不影响理解。

- 版本号不匹配:如软件包名称、界面版本号。

易用性

- 易用性:

- 关键步骤错误或缺失,无法指导用户完成任务。

- 缺少主要功能描述、关键词解释、必要前提条件、注意事项等。

- 描述内容存在歧义指代不明、上下文矛盾。

- 逻辑不清晰,该分类、分项、分步骤的没有给出。

正确性

- 正确性:

- 技术原理、功能、支持平台、参数类型、异常报错等描述和软件实现不一致。

- 原理图、架构图等存在错误。

- 命令、命令参数等错误。

- 代码片段错误。

- 命令无法完成对应功能。

- 界面错误,无法指导操作。

- 代码样例运行报错、运行结果不符。

风险提示

- 风险提示:

- 对重要数据或系统存在风险的操作,缺少安全提示。

内容合规

- 内容合规:

- 违反法律法规,涉及政治、领土主权等敏感词。

- 内容侵权。

请选择问题类型

问题描述

点击输入详细问题描述,以帮助我们快速定位问题。

mindspore.mint.nn.Embedding

查看源文件
class mindspore.mint.nn.Embedding(num_embeddings, embedding_dim, padding_idx=None, max_norm=None, norm_type=2.0, scale_grad_by_freq=False, sparse=False, _weight=None, _freeze=False, dtype=None)[源代码]

input 中的值作为索引,从 weight 中查询对应的embedding向量。

警告

  • 这是一个实验性API,后续可能修改或删除。

  • 在Ascend后端, input 的值非法将导致不可预测的行为。

参数:
  • num_embeddings (int) - embedding词典的大小。

  • embedding_dim (int) - 每个embedding向量的长度。

  • padding_idx (int, 可选) - 如果值不为 None,则对应的embedding向量不会在训练中更新。且当Embedding层新构建时, padding_idx 处embedding向量值将默认置为0。取值范围: [-num_embeddings, num_embeddings) 。默认值: None

  • max_norm (float, 可选) - 如果给定非 None 值,则先求出 input 指定位置的 weight 的p-范数结果(p的值通过 norm_type 指定),然后对 result > max_norm 位置的 weight 进行原地更新, 更新公式:max_normresult+1e7 。默认值: None

  • norm_type (float, 可选) - 指定p-范数计算中的p值。默认值: 2.0

  • scale_grad_by_freq (bool, 可选) - 如果值为 True ,则反向梯度值会按照 input 中索引值重复的次数进行缩放。默认值: False

  • sparse (bool, 可选) - 如果值为 True , 则 weight 为稀疏Tensor,该场景暂未支持。默认值: False

  • _weight (Tensor, 可选) - 用于初始化Embedding的权重 weight 。如果为 None,则权重将为从正态分布初始化 N(sigma=1.0,mean=0.0) 。默认值: None

  • _freeze (bool, 可选) - 是否冻结该模型的可学习参数 weight 。默认值 False

  • dtype (mindspore.dtype, 可选) - 指定Embedding权重 weight 的类型。当 _weight 不是 None 时该参数无效。默认值: None

可变参数:
  • weight (Parameter) - 模型的可学习参数,shape为 (num_embeddings, embedding_dim),从正态分布 N(sigma=1.0,mean=0.0)_weight 初始化。

输入:
  • input (Tensor) - 用于检索embedding向量的索引。数据类型为int32或int64,取值范围: [0, num_embeddings)

输出:

Tensor,数据类型与 weight 保持一致,shape为 (input.shape,embedding_dim)

异常:
  • TypeError - num_embeddings 不是int。

  • TypeError - embedding_dim 不是int。

  • ValueError - padding_idx 的取值不在有效范围。

  • TypeError - max_norm 不是float。

  • TypeError - norm_type 不是float。

  • TypeError - scale_grad_by_freq 不是bool型。

  • ValueError - weight.shape 非法。

  • TypeError - dtype 不是mindspore.dtype。

支持平台:

Ascend

样例:

>>> import mindspore
>>> import numpy as np
>>> from mindspore import Tensor, mint
>>> mindspore.set_seed(0)
>>> input = Tensor([[1, 0, 1, 1], [0, 0, 1, 0]])
>>> embedding = mint.nn.Embedding(num_embeddings=10, embedding_dim=3)
>>> output = embedding(input)
>>> print(output)
[[[ 0.6712398   0.5407775   1.0317237]
  [-0.49091062 -0.42302188 -1.4807187]
  [ 0.6712398   0.5407775   1.0317237]
  [ 0.0024154   0.5407775   1.0317237]]
 [[-0.49091062 -0.42302188 -1.4807187]
  [-0.49091062 -0.42302188 -1.4807187]
  [ 0.6712398   0.5407775   1.0317237]
  [-0.49091062 -0.42302188 -1.4807187]]]