- 正文前感谢昇腾各位工作人员,没有你们的辛勤就没有我们的进步
- 本文立意交流大赛MseLoss算子编译过程
- 这个算子大家都很熟悉了,就不解释了,妥妥送分题
- 个人认为勉强说得上的要点有两个
- 掌握Attr的一个应用
- python文件py 格式问题
"attr": [
{
"name": "reduction",
"param_type": "required",
"type": "string",
"default_value": "mean"
}
]
复制
- MSELoss有两个选项,mean, sum
- 在tiling_func中可以通过下列代码获取attr,再通过具体字符串来分别处理
const char *pvalue = context->GetAttrs()->GetStr(0);
printf("getstr %s\r\n", pvalue);
复制
__aicore__ inline void Compute(int32_t progress) {
LocalTensor<DTYPE_PREDICT> inLocal = inQueueIN.DeQue<DTYPE_PREDICT>();
LocalTensor<DTYPE_PREDICT> predictLocal = inLocal;
LocalTensor<DTYPE_LABEL> labelLocal = inLocal[this->tileLength];
LocalTensor<DTYPE_Y> outLocal = outQueueOUT.AllocTensor<DTYPE_Y>();
Sub(outLocal, predictLocal, labelLocal, this->tileLength);
Mul(outLocal,outLocal,outLocal,this->tileLength);
outQueueOUT.EnQue<DTYPE_Y>(outLocal);
inQueueIN.FreeTensor(inLocal);
}
复制