<!--
{
  "availability" : [
    "iOS: 14.0.0 - 17.4.0",
    "iPadOS: 14.0.0 - 17.4.0",
    "macCatalyst: 14.0.0 - 17.4.0",
    "macOS: 11.0.0 - 14.3.0",
    "tvOS: 14.0.0 - 17.4.0"
  ],
  "documentType" : "symbol",
  "framework" : "MLCompute",
  "identifier" : "/documentation/MLCompute/MLCLSTMDescriptor/init(inputSize:hiddenSize:layerCount:usesBiases:batchFirst:isBidirectional:returnsSequences:dropout:resultMode:)",
  "metadataVersion" : "0.1.0",
  "role" : "Initializer",
  "symbol" : {
    "kind" : "Initializer",
    "modules" : [
      "ML Compute"
    ],
    "preciseIdentifier" : "c:objc(cs)MLCLSTMDescriptor(cm)descriptorWithInputSize:hiddenSize:layerCount:usesBiases:batchFirst:isBidirectional:returnsSequences:dropout:resultMode:"
  },
  "title" : "init(inputSize:hiddenSize:layerCount:usesBiases:batchFirst:isBidirectional:returnsSequences:dropout:resultMode:)"
}
-->

# init(inputSize:hiddenSize:layerCount:usesBiases:batchFirst:isBidirectional:returnsSequences:dropout:resultMode:)

Creates a descriptor with the number of features and layers, dropout, and options for use of biases, batch order, return sequences, bidirectionality, and expected tensors you specify.

```
convenience init(inputSize: Int, hiddenSize: Int, layerCount: Int, usesBiases: Bool, batchFirst: Bool, isBidirectional: Bool, returnsSequences: Bool, dropout: Float, resultMode: MLCLSTMResultMode)
```

## Parameters

`inputSize`

The number of expected features in the input.

`hiddenSize`

The number of features in the hidden state.

`layerCount`

The number of recurrent layers.

`usesBiases`

A Boolean that indicates whether you use bias weights. The default value is `true`.

`batchFirst`

A Boolean that indicates whether the first index of the input and output shape contains the batch size. The default value is `true`.

`isBidirectional`

A Boolean that indicates whether the layer becomes bidirectional. The default value is `false`.

`returnsSequences`

A Boolean that indicates whether the layer returns output for all sequences, or if `false`, returns output for only the last sequences. The default value is `true`.

`dropout`

The dropout probability rate.

`resultMode`

The expected result mode for the layer. The default value is [`MLCLSTMResultMode.output`](/documentation/MLCompute/MLCLSTMResultMode/output).

## Discussion

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)