---
title: MPSNNTrainableNode
framework: metalperformanceshaders
role: symbol
role_heading: Protocol
path: metalperformanceshaders/mpsnntrainablenode
---

# MPSNNTrainableNode

A protocol that defines methods that determine whether and when neural network training parameters are updated.

## Declaration

```swift
protocol MPSNNTrainableNode : NSObjectProtocol
```

## Topics

### Instance Properties

- [trainingStyle](metalperformanceshaders/mpsnntrainablenode/trainingstyle.md)

## Relationships

### Inherits From

- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

### Conforming Types

- [MPSCNNBatchNormalizationGradientNode](metalperformanceshaders/mpscnnbatchnormalizationgradientnode.md)
- [MPSCNNBatchNormalizationNode](metalperformanceshaders/mpscnnbatchnormalizationnode.md)
- [MPSCNNBinaryConvolutionNode](metalperformanceshaders/mpscnnbinaryconvolutionnode.md)
- [MPSCNNBinaryFullyConnectedNode](metalperformanceshaders/mpscnnbinaryfullyconnectednode.md)
- [MPSCNNConvolutionGradientNode](metalperformanceshaders/mpscnnconvolutiongradientnode.md)
- [MPSCNNConvolutionNode](metalperformanceshaders/mpscnnconvolutionnode.md)
- [MPSCNNConvolutionTransposeGradientNode](metalperformanceshaders/mpscnnconvolutiontransposegradientnode.md)
- [MPSCNNConvolutionTransposeNode](metalperformanceshaders/mpscnnconvolutiontransposenode.md)
- [MPSCNNFullyConnectedGradientNode](metalperformanceshaders/mpscnnfullyconnectedgradientnode.md)
- [MPSCNNFullyConnectedNode](metalperformanceshaders/mpscnnfullyconnectednode.md)
- [MPSCNNGroupNormalizationGradientNode](metalperformanceshaders/mpscnngroupnormalizationgradientnode.md)
- [MPSCNNGroupNormalizationNode](metalperformanceshaders/mpscnngroupnormalizationnode.md)
- [MPSCNNInstanceNormalizationGradientNode](metalperformanceshaders/mpscnninstancenormalizationgradientnode.md)
- [MPSCNNInstanceNormalizationNode](metalperformanceshaders/mpscnninstancenormalizationnode.md)
