<!--
{
  "documentType" : "article",
  "framework" : "MetalPerformanceShaders",
  "identifier" : "/documentation/MetalPerformanceShaders/recurrent-neural-networks",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "Recurrent Neural Networks"
}
-->

# Recurrent Neural Networks

Create recurrent neural networks.

## Topics

### Recurrent Neural Networks

[`MPSRNNImageInferenceLayer`](/documentation/MetalPerformanceShaders/MPSRNNImageInferenceLayer)

A recurrent neural network layer for inference on Metal Performance Shaders images.

[`MPSRNNMatrixInferenceLayer`](/documentation/MetalPerformanceShaders/MPSRNNMatrixInferenceLayer)

A recurrent neural network layer for inference on Metal Performance Shaders matrices.

[`MPSRNNSingleGateDescriptor`](/documentation/MetalPerformanceShaders/MPSRNNSingleGateDescriptor)

A description of a simple recurrent block or layer.

[`MPSGRUDescriptor`](/documentation/MetalPerformanceShaders/MPSGRUDescriptor)

A description of a gated recurrent unit block or layer.

[`MPSLSTMDescriptor`](/documentation/MetalPerformanceShaders/MPSLSTMDescriptor)

A description of a long short-term memory block or layer.

[`MPSRNNSequenceDirection`](/documentation/MetalPerformanceShaders/MPSRNNSequenceDirection)

Directions that a sequence of inputs can be processed by a recurrent neural network layer.

[`MPSRNNMatrixTrainingLayer`](/documentation/MetalPerformanceShaders/MPSRNNMatrixTrainingLayer)

A layer for training recurrent neural networks on Metal Performance Shaders matrices.

[`MPSRNNMatrixTrainingState`](/documentation/MetalPerformanceShaders/MPSRNNMatrixTrainingState)

A class that holds data from a forward pass to be used in a backward pass.



---

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)