---
title: input_descriptor
framework: accelerate
role: symbol
role_heading: Instance Property
path: accelerate/bnnslayerparameterslstm/input_descriptor
---

# input_descriptor

Descriptors of the input, hidden input, and cell-state input data.

## Declaration

```swift
var input_descriptor: BNNSLSTMDataDescriptor
```

## Discussion

Discussion You must define the layout of this descriptor as one of either: BNNSDataLayoutSNE with the shape (input_size,batch_size,seq_len) BNNSDataLayoutNSE with the shape  (input_size,seq_len,batch_size) If you don’t specify a layout, BNNS uses BNNSDataLayoutSNE. Use C style multidimensional array notation to define the hierarchy of the hidden_desc and cell_state_desc descriptors as [num_layers][num_directions][batch_size][hidden_size]. If lstm_flags includes BNNSLayerFlagsLSTMBidirectional, BNNS defines num_directions as 2, or otherwise 1. If the corresponding data of the hidden_desc and cell_state_desc descriptors is nil, BNNS treats their input_descriptor as zero-filled arrays.

## See Also

### Instance Properties

- [input_size](accelerate/bnnslayerparameterslstm/input_size.md)
- [hidden_size](accelerate/bnnslayerparameterslstm/hidden_size.md)
- [batch_size](accelerate/bnnslayerparameterslstm/batch_size.md)
- [num_layers](accelerate/bnnslayerparameterslstm/num_layers.md)
- [seq_len](accelerate/bnnslayerparameterslstm/seq_len.md)
- [dropout](accelerate/bnnslayerparameterslstm/dropout.md)
- [lstm_flags](accelerate/bnnslayerparameterslstm/lstm_flags.md)
- [sequence_descriptor](accelerate/bnnslayerparameterslstm/sequence_descriptor.md)
- [output_descriptor](accelerate/bnnslayerparameterslstm/output_descriptor.md)
- [input_gate](accelerate/bnnslayerparameterslstm/input_gate.md)
- [forget_gate](accelerate/bnnslayerparameterslstm/forget_gate.md)
- [candidate_gate](accelerate/bnnslayerparameterslstm/candidate_gate.md)
- [output_gate](accelerate/bnnslayerparameterslstm/output_gate.md)
- [hidden_activation](accelerate/bnnslayerparameterslstm/hidden_activation.md)
