private cudnnConvolutionBackwardFilter ( |
||
handle | ||
alpha | double | |
srcDesc | ||
srcData | ManagedCuda.BasicTypes.CUdeviceptr | |
diffDesc | ||
diffData | ManagedCuda.BasicTypes.CUdeviceptr | |
convDesc | ||
algo | cudnnConvolutionBwdFilterAlgo | |
workSpace | ManagedCuda.BasicTypes.CUdeviceptr | |
workSpaceSizeInBytes | ManagedCuda.BasicTypes.SizeT | |
beta | double | |
gradDesc | ||
gradData | ManagedCuda.BasicTypes.CUdeviceptr | |
리턴 | cudnnStatus |
public void ConvolutionBackwardFilter(double alpha, TensorDescriptor srcDesc, CudaDeviceVariable <double> srcData, TensorDescriptor diffDesc, CudaDeviceVariable <double> diffData, ConvolutionDescriptor convDesc, double beta, FilterDescriptor gradDesc, CudaDeviceVariable <double> gradData ) { res = CudaDNNNativeMethods.cudnnConvolutionBackwardFilter(_handle, ref alpha, srcDesc.Desc, srcData.DevicePointer, diffDesc.Desc, diffData.DevicePointer, convDesc.Desc, ref beta, gradDesc.Desc, gradData.DevicePointer); Debug.WriteLine(String.Format("{0:G}, {1}: {2}", DateTime.Now, "cudnnConvolutionBackwardFilter", res)); if (res != cudnnStatus.Success) { throw new CudaDNNException(res); } }