---
title: "init(function:i_desc:o_desc:reduction:huber_delta:)"
framework: accelerate
role: symbol
role_heading: Initializer
path: "accelerate/bnnslayerparameterslosshuber/init(function:i_desc:o_desc:reduction:huber_delta:)"
---

# init(function:i_desc:o_desc:reduction:huber_delta:)

Returns a new Huber loss layer parameters structure from the specified parameters.

## Declaration

```swift
init(function: BNNSLossFunction, i_desc: BNNSNDArrayDescriptor, o_desc: BNNSNDArrayDescriptor, reduction: BNNSLossReductionFunction, huber_delta: Float)
```

## Parameters

- `function`: The function that’s used to compute loss.
- `i_desc`: The descriptor of the input.
- `o_desc`: The descriptor of the output.
- `reduction`: The function that’s used to reduce the computed loss.
- `huber_delta`: The boundary value that defines where Huber loss returns mean absolute error or mean square error.

## Discussion

Discussion important: The input data type and output data type must be float. The output size must be 1, unless the reduction is BNNS.LossReduction.none.

## See Also

### Initializers

- [init()](accelerate/bnnslayerparameterslosshuber/init().md)
