文档反馈

问题文档片段

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

提交类型
issue

有点复杂...

找人问问吧。

PR

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

一键搞定!

请选择提交类型

问题类型
规范和低错类

- 规范和低错类:

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

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

- 英文中包含中文字符。

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

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

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

易用性

- 易用性:

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

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

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

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

正确性

- 正确性:

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

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

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

- 代码片段错误。

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

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

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

风险提示

- 风险提示:

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

内容合规

- 内容合规:

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

- 内容侵权。

请选择问题类型

问题描述

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

mindspore.ops.moe_token_unpermute

查看源文件
mindspore.ops.moe_token_unpermute(permuted_tokens, sorted_indices, probs=None, padded_mode=False, restore_shape=None)[源代码]

根据排序的索引对已排列的标记进行反排列,并可选择将标记与其对应的概率合并。

警告

  • 仅支持 Atlas A2 训练系列产品。

  • 当前版本下,输入 permuted_tokensprobs 仅支持bfloat16类型。

  • sorted_indices 必须不存在重复值,否则结果未定义。

参数:
  • permuted_tokens (Tensor) - 要进行反排列的已排列标记的Tensor。 shape为 [num_tokenstopkhidden_size],其中 num_tokenstopkhidden_size 都是正整数。

  • sorted_indices (Tensor) - 用于反排列标记的排列索引Tensor。shape为 [num_tokenstopk] , 其中 num_tokenstopk 都是正整数。仅支持int32的数据类型。

  • probs (Tensor,可选) - 与已排列标记对应的概率Tensor。如果提供,反排列的标记将与其相应的概率合并。 shape为 [num_tokenstopk] ,其中 num_tokenstopk 都是正整数。默认 None

  • padded_mode (bool, 可选) - 如果为 True,表示索引被填充,以表示每个专家选择的标记。默认 False

  • restore_shape (Union[tuple[int], list[int]],可选) - 排列之前的输入形状,仅在填充模式下使用。默认 None

返回:

Tensor,类型与 permuted_tokens 一致。如果 padded_modeFalse, 则shape为[num_tokenshidden_size]。 如果 padded_modeTrue,则shape由 restore_shape 指定。

异常:
  • TypeError - permuted_tokens 不是Tensor。

  • ValueError - 仅支持 padded_modeFalse

支持平台:

Ascend

样例:

>>> import mindspore
>>> from mindspore import Tensor, ops
>>> permuted_token = Tensor([
...                          [1, 1, 1],
...                          [0, 0, 0],
...                          [0, 0, 0],
...                          [3, 3, 3],
...                          [2, 2, 2],
...                          [1, 1, 1],
...                          [2, 2, 2],
...                          [3, 3, 3]], dtype=mindspore.bfloat16)
>>> sorted_indices = Tensor([0, 6, 7, 5, 3, 1, 2, 4], dtype=mindspore.int32)
>>> out = ops.moe_token_unpermute(permuted_token, sorted_indices)
>>> out.shape
(8, 3)