文件最后提交记录最后更新时间
14 天前
14 天前
14 天前
14 天前
14 天前
14 天前
14 天前
14 天前
README

DropOutV3Grad

产品支持情况

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

功能说明

  • 算子功能:反向专用Dropout算子,训练过程中,根据mask中对应bit位的值,将输入gradY中的元素按照scale放大或者置零。

  • 计算公式:

    gradXi=gradYi∗maski∗scalegradX_i = gradY_i * mask_i * scale

参数说明

参数名 输入/输出/属性 描述 数据类型 数据格式
grad_y 输入 公式中的输入gradY_i,反向梯度输入,shape支持0-8维。 FLOAT、FLOAT16、BFLOAT16 ND
mask 输入 公式中的输入mask_i,对应gradY第i个元素的掩码位,取值为0(丢弃)或1(保留)。bit类型并使用UINT8类型存储,shape需要为(align(grad_y的元素个数,128)/8)。 UINT8 ND
scale 输入 公式中的输入scale,用于计算输出数据缩放比例的缩放因子。不做范围校验,按gradY*mask*scale直接计算;正常业务下scale来自前向1/(1-p),即为0或大于等于1。 FLOAT ND
grad_x 输出 公式中的gradX_i,反向梯度输出,数据类型需要是grad_y可转换的数据类型,shape需要与grad_y一致。 FLOAT、FLOAT16、BFLOAT16 ND

约束说明

  1. scale不做范围校验,任意值均按gradY×\timesmask×\timesscale直接计算;正常业务下scale来自前向1/(1-p),即为0或大于等于1。

  2. mask的数据类型为UINT8,其shape必须满足条件:

    mask_shape=align(num(grad_y),128)8\text{mask\_shape} = \frac{\text{align}(\text{num}(grad\_y), 128)}{8}

  3. 数据维度支持0-8维。

调用说明

调用方式 调用样例 说明
aclnn调用 test_aclnn_drop_out_v3_grad 通过aclnnDropoutV3Grad接口方式调用DropOutV3Grad算子。