开发者
资源
[object Object]

[object Object][object Object]undefined
[object Object]
  • 接口功能:计算负对数似然损失值。
  • 计算公式: self为输入,shape为(N,C)或者(C),其中N表示batch size,C表示类别数。target表示真实标签,shape为(N,C) 或者(C),其中每个元素的取值范围是[-1, C - 1],为确保与输入相同的形状,用-1填充,即首个-1之前的标签代表样本所属真实标签yTrue。如y=[0,3,-1,1],真实标签yTrue为[0,3]。对于每个样本计算的公式如下:istarget[k]={ 1,k in yTrue 0,otherwiseistarget[k]=\begin{cases} \ 1, & \text{k in yTrue}\\ \ 0, & \text{otherwise} \end{cases} ln=j,istarget[j]=1Ci,istarget[i]=0Cmax(0,1x[j]x[i])Cl_n=\sum^C_{j,istarget[j]=1}\sum^C_{i,istarget[i]=0} \frac{max(0,1-x[j]-x[i])}{C}[object Object][object Object](x,y)=L={l1,,lN}\ell(x, y) = L = \{l_1,\dots,l_N\}^\top 如果[object Object]不是[object Object], 那么(x,y)={n=1N1Nln,if reduction=mean;n=1Nln,if reduction=sum.\ell(x, y) = \begin{cases} \sum_{n=1}^N \frac{1}{N} l_n, & \text{if reduction} = \text{mean;}\\ \sum_{n=1}^N l_n, & \text{if reduction} = \text{sum.} \end{cases}
[object Object]

每个算子分为,必须先调用“aclnnMultilabelMarginLossGetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnMultilabelMarginLoss”接口执行计算。

[object Object]
[object Object]
[object Object]
  • 参数说明

    [object Object]

    [object Object]
  • 返回值:

    aclnnStatus:返回状态码,具体参见

    第一段接口完成入参校验,出现以下场景时报错: [object Object]

    [object Object]
[object Object]
  • 参数说明:

    [object Object]
  • 返回值:

    aclnnStatus:返回状态码,具体参见

[object Object]
  • 确定性计算:
    • aclnnMultilabelMarginLoss默认非确定性实现,支持通过aclrtCtxSetSysParamOpt开启确定性。
[object Object]

示例代码如下,仅供参考,具体编译和执行过程请参考

[object Object]