aclnnCtcLoss
产品支持情况
功能说明
接口功能:计算连接时序分类损失值。
计算公式: 定义表示在时刻时真实字符为的概率。(一般地,是经过softmax之后的输出矩阵中的一个元素)。将字符集可以构成的所有序列的集合称为,将中的任意一个序列称为路径,并标记为。的分布为公式(1):
定义多对一(many to one)映射B: ,通过映射B计算得到的条件概率,等于对应于的所有可能路径的概率之和,公式(2):
将找到使值最大的的路径的任务称为解码,公式(3):
当zeroInfinity为True时
函数原型
每个算子分为,必须先调用“aclnnCtcLossGetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnCtcLoss”接口执行计算。
[object Object]
[object Object]
aclnnCtcLossGetWorkspaceSize
参数说明:
[object Object]- [object Object]Atlas 推理系列产品[object Object]、[object Object]Atlas 训练系列产品[object Object]:数据类型不支持FLOAT16、BFLOAT16。
- logAlphaOut:
- [object Object]Atlas 推理系列产品[object Object]、[object Object]Atlas 训练系列产品[object Object]、[object Object]Atlas A2 训练系列产品/Atlas A2 推理系列产品[object Object]、[object Object]Atlas A3 训练系列产品/Atlas A3 推理系列产品[object Object]:shape为()。
返回值:
第一段接口完成入参校验,出现以下场景时报错:
[object Object]
aclnnCtcLoss
约束说明
值域限制说明:
[object Object]的值域要求为且不包括blank对应的数值,其中代表[object Object]中的最后一维,即类别数。[object Object]的值域要求为,其中代表[object Object]中的第0维,代表输入长度。[object Object]的值域要求为大于等于1。[object Object]中的元素要求小于等于[object Object]中对应的元素。
若不满足前三条值域约束,CPU/GPU可能存在越界行为,导致negLogLikelihoodOut和logAlphaOut的计算结果可能与CPU/GPU存在差异。若不满足第四条值域约束,logAlphaOut在对应batch上的计算结果与CPU/GPU存在差异。
确定性计算:
- aclnnCtcLoss默认非确定性实现,支持通过aclrtCtxSetSysParamOpt开启确定性。