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

# softMaxCrossEntropy(_:labels:axis:reuctionType:name:)

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

## Declaration

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

## Parameters

- `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.

## Discussion

Discussion The softmax cross-entropy operation computes:     loss = reduction( - labels*ln( softmax(source) )), where     sotfmax(source) = exp(source) / sum( exp(source) ), and the operation performs the reduction over the axis dimension.
