DropOutDoMask
产品支持情况
| 产品 | 是否支持 |
|---|---|
| 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,则x相应的元素置零。特别地,若keep_prob为1,则不改变x的元素;若keep_prob为0,则将所有元素置为0。
-
计算公式:
yi={0, with probability 1−keep_prob1keep_probxi, with probability keep_proby_i=\begin{cases} 0,&\text { with probability }1-keep\_prob \\ \frac{1}{keep\_prob}x_i, &\text { with probability }keep\_prob \end{cases}
参数说明
| 参数名 | 输入/输出/属性 | 描述 | 数据类型 | 数据格式 |
|---|---|---|---|---|
| x | 输入 | 公式中的输入x,shape支持0-8维。 | FLOAT、FLOAT16、BFLOAT16 | ND |
| mask | 输入 | bit类型并使用UINT8类型存储的mask数据,shape需要为(align(x的元素个数,128)/8)。 | UINT8 | ND |
| keep_prob | 输入 | 公式中的输入keep_prob,用于计算输出数据缩放比例的概率值。 | FLOAT、FLOAT16、BFLOAT16 | ND |
| y | 输出 | 公式中的y,数据类型需要是x可转换的数据类型,shape需要与x一致。 | FLOAT、FLOAT16、BFLOAT16 | ND |
约束说明
- keep_prob的值必须在0和1之间。
- mask的shape必须满足条件:$$\text{mask_shape} = \frac{\text{align}(\text{num}(x), 128)}{8}$$
- 数据维度支持0-8维。
调用说明
| 调用方式 | 调用样例 | 说明 |
|---|---|---|
| aclnn调用 | test_aclnn_drop_out_do_mask | 通过aclnnDropoutDoMask接口方式调用DropOutDoMask算子。 |
| aclnn调用 | test_aclnn_drop_out_backward | 通过aclnnDropoutBackward接口方式调用DropoutDoMask算子。 |