| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
format cpp Co-authored-by: yang-di52<yangdi52@huawei.com> # message auto-generated for no-merge-commit merge: !6784 merge issue_fix into master format cpp Created-by: yang-di52 Commit-by: yang-di52 Merged-by: cann-robot Description: ## 描述 批量刷新cpp代码格式 ## 关联的Issue [#3791](https://gitcode.com/cann/ops-nn/issues/3791) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:代码格式化 ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!6784 | 17 天前 | |
新增或整改算子mish、prelu、sparse_slice、softmax_grad_ext 、erfinv,适配下一代芯片 Co-authored-by: dyd-dmy<dengyidan@huawei.com> # message auto-generated for no-merge-commit merge: !2508 merge code_migration into master 新增或整改算子mish、prelu、sparse_slice、softmax_grad_ext 、erfinv,适配下一代芯片 Created-by: dyd-dmy Commit-by: dyd-dmy Merged-by: cann-robot Description: ## 描述 ### 新增算子: 1. prelu:一种激活函数,当Tensor中value大于0,取该value,小于0时取权重与value的乘积。 <table style="undefined;table-layout: fixed; width: 980px"><colgroup> <col style="width: 100px"> <col style="width: 150px"> <col style="width: 280px"> <col style="width: 330px"> <col style="width: 120px"> </colgroup> <thead> <tr> <th>参数名</th> <th>输入/输出/属性</th> <th>描述</th> <th>数据类型</th> <th>数据格式</th> </tr></thead> <tbody> <tr> <td>x</td> <td>输入</td> <td>待进行PRelu计算的入参。</td> <td>FLOAT、FLOAT16、BFLOAT16</td> <td>ND</td> </tr> <tr> <td>weight</td> <td>输入</td> <td>计算的权重参数,元素个数为1或者元素个数与x输入的channel数量一致,channel为输入维度的第二维度。</td> <td>FLOAT、FLOAT16、BFLOAT16</td> <td>ND</td> </tr> <tr> <td>out</td> <td>输出</td> <td>PRelu计算的出参。</td> <td>FLOAT、FLOAT16、BFLOAT16</td> <td>ND</td> </tr> </tbody></table> 2. sparse_slice:基于start和size对SparseTensor进行切片操作。 <table style="undefined;table-layout: fixed; width: 980px"><colgroup> <col style="width: 100px"> <col style="width: 150px"> <col style="width: 280px"> <col style="width: 330px"> <col style="width: 120px"> </colgroup> <thead> <tr> <th>参数名</th> <th>输入/输出/属性</th> <th>描述</th> <th>数据类型</th> <th>数据格式</th> </tr></thead> <tbody> <tr> <td>indices</td> <td>输入</td> <td>SparseTensor的索引,形状为[n, rank],其中n为输入值数量,rank为值索引的维度。</td> <td>INT64</td> <td>ND</td> </tr> <tr> <td>values</td> <td>输入</td> <td>SparseTensor的值,形状为[n]。</td> <td>INT64、INT32、UINT16、INT16、UINT8、INT8、FLOAT16、FLOAT、DOUBLE、COMPLEX64、COMPLEX128、BOOL、STRING、RESOURCE、BFLOAT16</td> <td>ND</td> </tr> <tr> <td>shape</td> <td>输入</td> <td>SparseTensor的形状,形状为[rank]。</td> <td>INT64</td> <td>ND</td> </tr> <tr> <td>start</td> <td>输入</td> <td>切片的起始位置,形状为[rank]。</td> <td>INT64</td> <td>ND</td> </tr> <tr> <td>size</td> <td>输入</td> <td>切片的大小,形状为[rank]。</td> <td>INT64</td> <td>ND</td> </tr> <tr> <td>y_indices</td> <td>输出</td> <td>切片后SparseTensor的索引。</td> <td>INT64</td> <td>ND</td> </tr> <tr> <td>y_values</td> <td>输出</td> <td>切片后SparseTensor的值,类型与输入values相同。</td> <td>INT64、INT32、UINT16、INT16、UINT8、INT8、FLOAT16、FLOAT、DOUBLE、COMPLEX64、COMPLEX128、BOOL、STRING、RESOURCE、BFLOAT16</td> <td>ND</td> </tr> <tr> <td>y_shape</td> <td>输出</td> <td>切片后SparseTensor的形状。</td> <td>INT64</td> <td>ND</td> </tr> </tbody></table> 3. softmax_grad_ext: <table style="undefined;table-layout: fixed; width: 980px"><colgroup> <col style="width: 100px"> <col style="width: 150px"> <col style="width: 280px"> <col style="width: 330px"> <col style="width: 120px"> </colgroup> <thead> <tr> <th>参数名</th> <th>输入/输出/属性</th> <th>描述</th> <th>数据类型</th> <th>数据格式</th> </tr></thead> <tbody> <tr> <td>grad</td> <td>输入</td> <td>反向输入张量。</td> <td>FLOAT、FLOAT16、BFLOAT16</td> <td>ND</td> </tr> <tr> <td>x1</td> <td>输入</td> <td>反向梯度,与grad具有相同的类型、格式和形状。</td> <td>FLOAT、FLOAT16、BFLOAT16</td> <td>ND</td> </tr> <tr> <td>x2</td> <td>输入</td> <td>反向缩放因子,与grad具有相同的类型。</td> <td>FLOAT、FLOAT16、BFLOAT16</td> <td>ND</td> </tr> <tr> <td>y</td> <td>输出</td> <td>反向输出,与grad具有相同的类型、格式和形状。</td> <td>FLOAT、FLOAT16、BFLOAT16</td> <td>ND</td> </tr> <tr> <td>axes</td> <td>属性</td> <td>归约的轴,默认值为1。</td> <td>INT</td> <td>-</td> </tr> <tr> <td>keep_dims</td> <td>属性</td> <td>是否保持维度数,默认值为true。true表示保留长度为1的归约维度。</td> <td>BOOL</td> <td>-</td> </tr> </tbody></table> 4. erfinv:erfinv是高斯误差函数erf的反函数。返回输入Tensor中每个元素对应在标准正态分布函数的分位数。 <table style="undefined;table-layout: fixed; width: 980px"><colgroup> <col style="width: 100px"> <col style="width: 150px"> <col style="width: 280px"> <col style="width: 330px"> <col style="width: 120px"> </colgroup> <thead> <tr> <th>参数名</th> <th>输入/输出/属性</th> <th>描述</th> <th>数据类型</th> <th>数据格式</th> </tr></thead> <tbody> <tr> <td>self</td> <td>输入</td> <td>待进行erfinv计算的入参。</td> <td>FLOAT、FLOAT16、BFLOAT16</td> <td>ND</td> </tr> <tr> <td>out</td> <td>输出</td> <td>erfinv计算的出参。</td> <td>FLOAT、FLOAT16、BFLOAT16</td> <td>ND</td> </tr> </tbody></table> ### 整改算子: 1. mish:一个自正则化的非单调神经网络激活函数。主要整改原Mish算子不合理的目录结构、代码和文档,新增适配下一代芯片的功能代码与测试代码。 <table style="undefined;table-layout: fixed; width: 980px"><colgroup> <col style="width: 100px"> <col style="width: 150px"> <col style="width: 280px"> <col style="width: 330px"> <col style="width: 120px"> </colgroup> <thead> <tr> <th>参数名</th> <th>输入/输出/属性</th> <th>描述</th> <th>数据类型</th> <th>数据格式</th> </tr></thead> <tbody> <tr> <td>self</td> <td>输入</td> <td>待进行Mish激活计算的入参。</td> <td>FLOAT、FLOAT16、BFLOAT16</td> <td>ND</td> </tr> <tr> <td>out</td> <td>输出</td> <td>Mish激活计算的出参。</td> <td>FLOAT、FLOAT16、BFLOAT16</td> <td>ND</td> </tr> </tbody></table> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/1684 ## 测试 1、算子包编译成功,部署成功,aclnn通路验证成功 2、david冒烟、二级冒烟、st用例都通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 更新p_relu、mish、erfinv算子的README.md文件 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!2508 | 3 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 17 天前 | ||
| 3 个月前 |