public static int cudnnBatchNormalizationBackward ( cudnnHandle handle , int mode , Pointer alphaDataDiff , Pointer betaDataDiff , Pointer alphaParamDiff , Pointer betaParamDiff , cudnnTensorDescriptor xDesc , /** same desc for x, dx, dy */ Pointer x , cudnnTensorDescriptor dyDesc , Pointer dy , cudnnTensorDescriptor dxDesc , Pointer dx , /** Shared tensor desc for the 4 tensors below */ cudnnTensorDescriptor dBnScaleBiasDesc , Pointer bnScale , /** bnBias doesn't affect backpropagation */ /** scale and bias diff are not backpropagated below this layer */ Pointer dBnScaleResult , Pointer dBnBiasResult , /** Same epsilon as forward pass */ double epsilon , /** Optionally cached intermediate results from forward pass */ Pointer savedMean , Pointer savedInvVariance ) { return checkResult ( cudnnBatchNormalizationBackwardNative ( handle , mode , alphaDataDiff , betaDataDiff , alphaParamDiff , betaParamDiff , xDesc , x , dyDesc , dy , dxDesc , dx , dBnScaleBiasDesc , bnScale , dBnScaleResult , dBnBiasResult , epsilon , savedMean , savedInvVariance ) ) ; }
Performs backward pass of Batch Normalization layer . Returns x gradient bnScale gradient and bnBias gradient