文件最后提交记录最后更新时间
新增drop_out_do_mask_v3和drop_out_do_mask_v3_d算子对下一代芯片的支持 Co-authored-by: 刘晔恒<liuyeheng@huawei.com> # message auto-generated for no-merge-commit merge: !1090 merge drop_out_do_mask into master 新增drop_out_do_mask_v3和drop_out_do_mask_v3_d算子对下一代芯片的支持 Created-by: liu-yeheng Commit-by: 刘晔恒 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 新增算子drop_out_do_mask_v3和drop_out_do_mask_v3_d ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/806 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 完成了二级冒烟,ST测试,geir通路验证 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 新增两算子的readme文件 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!10903 个月前
fix: correct dropout do mask v3d keep_prob handling Co-authored-by: fenglin28<fenglin28@huawei.com> # message auto-generated for no-merge-commit merge: !2592 merge v3d56 into master fix: correct dropout do mask v3d keep_prob handling Created-by: fenglin28 Commit-by: fenglin28 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 修复DropOutDoMaskV3D算子在keep_prob=1时的精度问题 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/1471 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 完整通过设计用例的动态、静态、二进制运行 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!259226 天前
refactor: 删除废弃公共头文件,完成 math/random 算子头文件去重 Co-authored-by: tianqiguang<tianqiguang@huawei.com> # message auto-generated for no-merge-commit merge: !3000 merge math_tiling into master refactor: 删除废弃公共头文件,完成 math/random 算子头文件去重 Created-by: tianqiguang Commit-by: tianqiguang Merged-by: cann-robot Description: ## 描述 删除 4 个已废弃的公共头文件,并完成剩余 math 算子和全部 random 算子的重复头文件消除。本 PR 为此系列重构的收尾提交。 ### 改动原因 前三批 PR(#2951 conversion / #2969 math上 / #2980 math下)已完成所有算子到 base 仓头文件的迁移。原公共头文件已成为空壳转发或不再被引用,可安全删除: - tiling_base.h:已改为转发 tiling_base_class.h,可直接删除 - tiling_templates_registry.h:math 专用部分已拆分到 math_tiling_templates_registry.h - tiling_util.h / tiling_util.cpp:功能已迁移至 base 仓 tiling_base_util.h 此前几批遗漏了部分 math 算子(add_lora, atan2, histogram_v2, stft 等 10+ 个)以及 random 目录下全部算子。 ### 改动方法 1. 删除 4 个废弃文件并精简 common/CMakeLists.txt 2. 更新遗漏的 math 算子:#include + 命名空间修正 3. 更新 20+ 个 random 算子:同样的 #include + 命名空间修正 4. 更新示例(add_example, add_example_c_api)和 opgen 模板脚本 ## 关联的Issue - #1697 ## 测试 - 涉及的算子二级冒烟测试已通过 ## 文档更新 无文档变更 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:代码重构,删除废弃头文件并完成去重收尾 See merge request: cann/ops-math!30004 天前
新增drop_out_do_mask_v3和drop_out_do_mask_v3_d算子对下一代芯片的支持 Co-authored-by: 刘晔恒<liuyeheng@huawei.com> # message auto-generated for no-merge-commit merge: !1090 merge drop_out_do_mask into master 新增drop_out_do_mask_v3和drop_out_do_mask_v3_d算子对下一代芯片的支持 Created-by: liu-yeheng Commit-by: 刘晔恒 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 新增算子drop_out_do_mask_v3和drop_out_do_mask_v3_d ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/806 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 完成了二级冒烟,ST测试,geir通路验证 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 新增两算子的readme文件 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!10903 个月前
test: add UTs for random operators Co-authored-by: fenglin28<fenglin28@huawei.com> # message auto-generated for no-merge-commit merge: !2209 merge patch_math_random_opapi_kernel_ut into master test: add UTs for random operators Created-by: fenglin28 Commit-by: fenglin28 Merged-by: cann-robot Description: ## 描述 新增 random 类算子的 kernel、opapi 及 arch35 tiling UT ## 关联的Issue https://gitcode.com/cann/ops-math/issues/1222 ## 测试 流水线UT测试通过 ## 文档更新 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:增加单元测试 See merge request: cann/ops-math!22091 个月前
新增drop_out_do_mask_v3和drop_out_do_mask_v3_d算子对下一代芯片的支持 Co-authored-by: 刘晔恒<liuyeheng@huawei.com> # message auto-generated for no-merge-commit merge: !1090 merge drop_out_do_mask into master 新增drop_out_do_mask_v3和drop_out_do_mask_v3_d算子对下一代芯片的支持 Created-by: liu-yeheng Commit-by: 刘晔恒 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 新增算子drop_out_do_mask_v3和drop_out_do_mask_v3_d ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/806 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 完成了二级冒烟,ST测试,geir通路验证 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 新增两算子的readme文件 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!10903 个月前
fix: correct dropout do mask v3d keep_prob handling Co-authored-by: fenglin28<fenglin28@huawei.com> # message auto-generated for no-merge-commit merge: !2592 merge v3d56 into master fix: correct dropout do mask v3d keep_prob handling Created-by: fenglin28 Commit-by: fenglin28 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 修复DropOutDoMaskV3D算子在keep_prob=1时的精度问题 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/1471 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 完整通过设计用例的动态、静态、二进制运行 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!259226 天前
README.md

DropOutDoMaskV3D

产品支持情况

产品 是否支持
Ascend 950PR/Ascend 950DT
Atlas A3 训练系列产品/Atlas A3 推理系列产品
Atlas A2 训练系列产品/Atlas A2 推理系列产品
Atlas 200I/500 A2 推理产品 ×
Atlas 推理系列产品
Atlas 训练系列产品

功能说明

  • 算子功能:训练过程中,按照概率keep_prob随机保留输入中的元素,并将输出按照1/keep_prob的比例放大。若mask对应比特位为1,则输入中相应的元素放大。若mask中比特位为0,则gradOutput相应的元素置零。特别地,若keep_prob为0,则将所有元素置为0;若keep_prob为1,则不改变gradOutput的元素。

  • 计算公式:

gradOutputi={0,maski=01keep_probselfi,maski=1gradOutput_i=\begin{cases} 0,&mask_i=0 \\ \frac{1}{keep\_prob}self_i, &mask_i=1 \end{cases}

参数说明

参数名 输入/输出/属性 描述 数据类型 数据格式
self 输入 公式中的输入self,shape支持0-8维。 FLOAT、FLOAT16、BFLOAT16 ND
mask 输入 bit类型并使用UINT8类型存储的mask数据,shape需要为(align(self的元素个数,128)/8)。 UINT8、BOOL ND
keep_prob 属性 用于计算输出数据缩放比例的概率值。 FLOAT -
y 输出 公式中的gradOutput,数据类型需要是self可转换的数据类型,shape需要与self一致。 FLOAT、FLOAT16、BFLOAT16 ND

约束说明

  1. keep_prob的值必须在0和1之间。
  2. mask的shape必须满足条件:$$\text{mask_shape} = \frac{\text{align}(\text{num}(self), 128)}{8}$$
  3. 数据维度支持0-8维。

调用说明

调用方式 样例代码 说明
图模式调用 test_geir_drop_out_do_mask_v3_d 通过算子IR构图方式调用TruncatedNormalV2算子。