Bootstrap

昇腾AI原生创新算子挑战赛(S1赛季)复盘- MseLoss算子

  • 正文前感谢昇腾各位工作人员,没有你们的辛勤就没有我们的进步
  • 本文立意交流大赛MseLoss算子编译过程

cke_667.png

  • 这个算子大家都很熟悉了,就不解释了,妥妥送分题
  • 个人认为勉强说得上的要点有两个
    • 掌握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);复制

cke_26371.png

  • Compute 中运行
  __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);
  }复制

  • 附上测试案例
  • 第一例案例

cke_82397.png

  • 第二例案例

cke_89417.png

  • 第三例案例

cke_97328.png

  • 第四例案例

cke_105170.png

  • 第五例案例

cke_118864.png

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;