文件最后提交记录最后更新时间
27 天前
27 天前
27 天前
27 天前
27 天前
27 天前
README

StatelessExponential

产品支持情况

产品 是否支持
Ascend 950PR/Ascend 950DT
Atlas A3 训练系列产品/Atlas A3 推理系列产品 ×
Atlas A2 训练系列产品/Atlas A2 推理系列产品 ×
Atlas 200I/500 A2 推理产品 ×
Atlas 推理系列产品 ×
Atlas 训练系列产品 ×

功能说明

  • 算子功能:基于 Philox4x32-10 PRNG 生成服从参数为 lambd 的指数分布随机数,将输入张量 self 原地填充为服从 Exp(lambd) 分布的随机数。本算子是 aclnnMultinomialTensor 接口在 Ascend 950 场景下无放回采样路径使用的内部服务算子(生成指数分布随机扰动,供后续 div + argmax/topk 完成无放回多项采样)。

  • 计算公式:

    x=−1λln⁡(u),u∼U(0,1]x = -\frac{1}{\lambda} \ln(u), \quad u \sim U(0, 1]

    其中 u 由 Philox4x32-10 PRNG 生成,lambd > 0 为指数分布速率参数。

参数说明

参数名 输入/输出/属性 描述 数据类型 数据格式
self 输入/输出 待填充的张量(原地写入),决定随机数生成总量与输出 dtype;≤8 维。 FLOAT16、BFLOAT16、FLOAT ND
seed 输入 随机数生成器的种子,影响生成的随机数序列。 INT64 ND
offset 输入 随机数生成器的偏移量,必须是 4 的倍数。 INT64 ND
lambd 属性 指数分布速率参数 λ,必须大于 0。 FLOAT -

约束说明

  1. self 仅支持 FLOAT16/BFLOAT16/FLOAT,ND 格式,维度数 ≤8;非连续输入通过 AutoContiguous 转为连续。
  2. lambd 必须 > 0。
  3. offset 必须为 4 的倍数。
  4. 仅支持 Ascend 950;不支持入图(op_graph)、不支持 L2 接口、不支持非连续 Tensor。

调用说明

调用方式 样例代码 说明
aclnn接口 test_aclnn_multinomial_tensor 通过aclnnMultinomialTensor接口构建计算流程时,内部调用StatelessExponential服务算子。