文件最后提交记录最后更新时间
21 小时前
17 天前
5 个月前
17 天前
17 天前
17 天前
5 个月前
21 小时前
README

ForeachNonFiniteCheckAndUnscale

产品支持情况

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

功能说明

  • 算子功能:遍历scaledGrads中的所有Tensor,检查是否存在Inf或NaN,如果存在则将foundInf设置为1.0,否则foundInf的值保持不变,并对scaledGrads中的所有Tensor进行反缩放。

  • 计算公式:

    foundInf={1.0,当(Inf∈scaledGrads)或(NaN∈scaledGrads),foundInf,其他.foundInf = \begin{cases}1.0, & 当(Inf \in scaledGrads)或(NaN \in scaledGrads),\\ foundInf, &其他. \end{cases}

    scaledGradsi=scaledGradsi∗invScale. scaledGrads_i = {scaledGrads}_{i}*{invScale}.

参数说明

参数名 输入/输出/属性 描述 数据类型 数据格式
scaled_grads 输入/输出 表示进行反缩放计算的输入和输出张量列表,对应公式中的`scaledGrads`。支持的最大长度为256个。 FLOAT32、FLOAT16、BFLOAT16 ND
found_inf 输入 表示用来标记输入`scaled_grads`中是否存在Inf或NaN的张量,对应公式中的`foundInf`。仅包含一个元素。如果输入`scaled_grads`中存在Inf或NaN的张量,将`found_inf`设置为1.0;否则,不对`found_inf`进行操作,最后将`scaled_grads`中的所有值乘以`inv_scale`并存储在`scaled_grads`中。 FLOAT32 ND
inv_scale 输入 表示进行反缩放计算的张量,对应公式中的`invScale`。仅包含一个元素。 FLOAT32 ND
  • Kirin X90/Kirin 9030处理器系列产品:scaled_grads的数据类型不支持BFLOAT16。

约束说明

  • inplace操作的输入/输出不支持非连续Tensor。

调用说明

调用方式 样例代码 说明
aclnn接口 test_aclnn_foreach_non_finite_check_and_unscale 通过aclnnForeachNonFiniteCheckAndUnscale接口方式调用ForeachNonFiniteCheckAndUnscale算子。
图模式 - 通过算子IR构图方式调用ForeachNonFiniteCheckAndUnscale算子。