MultinomialOperation(代码开放)
产品支持情况
硬件型号  | 
是否支持  | 
|---|---|
√  | 
|
√  | 
|
x  | 
|
x  | 
|
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]]