昇腾社区首页
中文
注册

MultinomialOperation(代码开放)

产品支持情况

硬件型号

是否支持

Atlas A3 推理系列产品/Atlas A3 训练系列产品

Atlas A2 训练系列产品/Atlas 800I A2 推理产品

Atlas 训练系列产品

x

Atlas 推理系列产品

x

Atlas 200I/500 A2 推理产品

x

功能说明

采样功能。对最后一个轴进行采样,随机抽取numSamples个值,输出下标。

定义

1
2
3
4
5
struct MultinomialParam {
    uint32_t numSamples = 1;
    uint32_t randSeed = 0;
    uint8_t rsv[8] = {0};
};

参数列表

成员名称

类型

默认值

描述

numSamples

uint32_t

1

随机采样数。

numSamples应小于等于x对应的维度大小,最大为64。

randSeed

uint32_t

0

随机数种子。

rsv[8]

uint8_t

{0}

预留参数。

输入

参数

维度

数据类型

格式

描述

x

[batch, vocSize]

float16

ND

输入tensor。

输出

参数

维度

数据类型

格式

描述

output

[batch, numSamples]

int32

ND

采数数据下标。dims[1]必须等于numSamples

约束说明

用户需确保对最后一个轴进行归一化操作。

接口调用示例

  • 输入

    intensor =

    [[0.0701, 0.1021, 0.1010, 0.1005],
    [0.1101, 0.1020, 0.1017, 0.0990],
    [0.0592, 0.1006, 0.1006, 0.1002]]

    numSamples = 1

    randSeed = 0

  • 输出

    outtensor =

    [[3],
    [3],
    [3]]