---
title: "softMaxCrossEntropyGradient(_:source:labels:axis:reuctionType:name:)"
framework: metalperformanceshadersgraph
role: symbol
role_heading: Instance Method
path: "metalperformanceshadersgraph/mpsgraph/softmaxcrossentropygradient(_:source:labels:axis:reuctiontype:name:)"
---

# softMaxCrossEntropyGradient(_:source:labels:axis:reuctionType:name:)

Creates the gradient of a softmax cross-entropy loss operation and returns the result tensor.

## Declaration

```swift
func softMaxCrossEntropyGradient(_ gradientTensor: MPSGraphTensor, source sourceTensor: MPSGraphTensor, labels labelsTensor: MPSGraphTensor, axis: Int, reuctionType reductionType: MPSGraphLossReductionType, name: String?) -> MPSGraphTensor
```

## Parameters

- `gradientTensor`: The input gradientTensor. Note: in most cases this is the initial gradient tensor, which is a constant tensor with value one.
- `sourceTensor`: The source tensor.
- `labelsTensor`: The labels tensor.
- `axis`: The axis over which the operation computes the softmax reduction.
- `reductionType`: The type of reduction MPSGraph uses to reduce across all other axes than axis. See: doc://com.apple.metalperformanceshadersgraph/documentation/MetalPerformanceShadersGraph/MPSGraphLossReductionType.
- `name`: The name for the operation.

## Return Value

Return Value A valid MPSGraphTensor object.
