FilesLast commitLast update
8 days ago
1 month ago
3 months ago
8 days ago
1 month ago
8 days ago
1 month ago
18 days ago
README

BesselI1e

产品支持情况

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

说明:本仓交付Ascend C实现(注册ascend950、ascend910_93、ascend910b),支持Ascend 950PR&950DT系列产品、tlas A3系列产品、Atlas A2系列产品;而Atlas 200I/500 A2推理产品、Atlas推理系列产品、Atlas训练系列产品经CANN内置算子实现提供支持,共同构成上表产品覆盖。

功能说明

  • 算子功能:计算指数缩放的第一阶修正贝塞尔函数,对输入张量x逐元素计算,计算公式为:

yi=e−∣xi∣⋅I1(xi)y_i = e^{-|x_i|} \cdot I_1(x_i)

其中xx是输入张量(参数表中输入参数x),yy是输出张量(参数表中输出参数y),I1(x)I_1(x)是第一阶修正贝塞尔函数。指数缩放因子e−∣x∣e^{-|x|}使得函数在大参数值时数值稳定。

参数说明

参数名 输入/输出/属性 描述 数据类型 数据格式
x 输入 待进行BesselI1e计算的入参。 FLOAT、FLOAT16、BF16 ND
y 输出 BesselI1e计算的出参。 FLOAT、FLOAT16、BF16 ND

约束说明

  • Atlas训练系列产品、Atlas推理系列产品、Atlas 200I/500 A2推理产品:数据类型不支持BFLOAT16。
  • 输出的数据类型和Shape由框架根据输入推导,数据格式为ND。
  • 支持动态shape与动态rank(-1未知维度与-2未知Rank均支持,shape维度可运行时确定,rank支持0~8维)。
  • 支持0维标量与空Tensor(元素数为0时输出为空Tensor)。
  • 非连续Tensor输入由框架自动转换为连续Tensor后执行。
  • 输入为FLOAT16或BF16时,算子内部提升为FLOAT计算,输出再转换回输入数据类型。
  • 特殊输入值的输出语义:输入为NaN时输出NaN;输入为±Inf时输出0;输入为±0时输出0。
  • 支持 GE 图模式调用,不提供 aclnn 算子接口;TensorFlow 图模式经框架插件适配调用,见下方「第三方框架兼容性」。

调用说明

调用方式 样例代码 说明
GE图模式 test_geir_bessel_i1e 通过算子IR构图方式调用BesselI1e算子。
GE图模式 test_geir_bessel_i1e_dynamic 通过算子IR动态构图方式调用BesselI1e算子,演示-1未知维度与-2未知Rank场景。

第三方框架兼容性

  • 对标 TensorFlow 的 tf.math.bessel_i1e 算子,已交付框架插件适配(framework/bessel_i1e_tf_plugin.cpp),TensorFlow 图模式下自动映射到本算子。
  • TensorFlow 调用指引:安装与CANN版本配套的TF-Ascend适配层(npu_device)后,通过 tf.math.bessel_i1e / tf.raw_ops.BesselI1e 接口调用。环境前提:宿主环境 npu_supported_ops.json 已声明 BesselI1e 算子映射(洁净环境需确认该声明随包交付或手动配置)。