CANN / ops-nn 平滑L1损失算子V2

SmoothL1LossV2

【免费下载链接】ops-nn 本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。 【免费下载链接】ops-nn 项目地址: https://gitcode.com/cann/ops-nn

产品支持情况

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

功能说明

  • 算子功能:计算SmoothL1损失函数。

  • 计算公式:

    Batch为N的损失函数,当reduction为none时,此函数定义为:

    $$ \ell(x,y) = L = {l_1,\dots,l_N}^\top $$

    其中的$l_n$为:

    $$ l_n = \begin{cases} 0.5(x_n-y_n)^2/beta, & if |x_n-y_n| < beta \ |x_n-y_n| - 0.5*beta, & otherwise \end{cases} $$

    如果reductionmeansum时,

    $$ \ell(x,y)=\begin{cases} mean(L), & \text{if reduction} = \text{mean}\ sum(L), & \text{if reduction} = \text{sum} \end{cases} $$

  • 其中:

    • Xn: predictions
    • Yn: labels/truth

参数说明

参数名输入/输出/属性描述数据类型数据格式
predict输入公式中的'x',表示用于计算SmoothL1损失的预测值输入。BFLOAT16、FLOAT16、FLOAT32ND
label输入公式中的'y',表示predict需要拟合的真实标签值输入。BFLOAT16、FLOAT16、FLOAT32ND
y输出表示predict与label经smooth_l1_loss_v2计算得到的损失值输出FLOAT16、BFLOAT16、FLOAT32ND
sigma属性控制smooth_l1_loss_v2中MSE与L1损失分界边界的阈值参数FLOAT32-
reduction属性表示对逐元素损失值进行均值/求和/无归约的归约参数STRING-

约束说明

无。

调用说明

调用方式样例代码说明
aclnn接口test_aclnn_smooth_l1_loss_v2.cpp通过aclnnsmoothL1Loss接口方式调用SmoothL1Loss算子。

【免费下载链接】ops-nn 本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。 【免费下载链接】ops-nn 项目地址: https://gitcode.com/cann/ops-nn

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值