---
title: "init(i_desc:w_desc:o_desc:bias:activation:)"
framework: accelerate
role: symbol
role_heading: Initializer
path: "accelerate/bnnslayerparametersfullyconnected/init(i_desc:w_desc:o_desc:bias:activation:)"
---

# init(i_desc:w_desc:o_desc:bias:activation:)

Returns a new fully connected layer parameters structure from the specified parameters.

## Declaration

```swift
init(i_desc: BNNSNDArrayDescriptor, w_desc: BNNSNDArrayDescriptor, o_desc: BNNSNDArrayDescriptor, bias: BNNSNDArrayDescriptor, activation: BNNSActivation)
```

## Parameters

- `i_desc`: The descriptor of the input.
- `w_desc`: The descriptor of the weights.
- `o_desc`: The descriptor of the output.
- `bias`: The descriptor of the bias.
- `activation`: The activation function that the layer applies to the output.

## Discussion

Discussion important: The input data type and the weights data type must be equal and be float, float16, int8, or int16 for the forward pass. The output data type must be float for the forward pass. All three arrays must be float for the backward pass.

## See Also

### Initializers

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