---
title: "depthwiseConvolution2DWeightsGradient(_:source:outputShape:descriptor:name:)"
framework: metalperformanceshadersgraph
role: symbol
role_heading: Instance Method
path: "metalperformanceshadersgraph/mpsgraph/depthwiseconvolution2dweightsgradient(_:source:outputshape:descriptor:name:)"
---

# depthwiseConvolution2DWeightsGradient(_:source:outputShape:descriptor:name:)

Creates a 2D-depthwise convolution gradient for weights operation and returns the result tensor.

## Declaration

```swift
func depthwiseConvolution2DWeightsGradient(_ incomingGradient: MPSGraphTensor, source: MPSGraphTensor, outputShape: [NSNumber], descriptor: MPSGraphDepthwiseConvolution2DOpDescriptor, name: String?) -> MPSGraphTensor
```

## Parameters

- `incomingGradient`: A 2D input gradient tensor - must be of rank=4. The layout is defined by descriptor.dataLayout.
- `source`: A 2D Image source as tensor - must be of rank=4. The layout is defined by descriptor.dataLayout.
- `outputShape`: The shape of the οutput tensor (and therefore weight tensor of forward pass).
- `descriptor`: The descriptor object that specifies strides, dilation rates, paddings and layouts.
- `name`: The name for the operation.

## Return Value

Return Value A valid MPSGraphTensor object
