---
title: MPSCNNConvolution
framework: metalperformanceshaders
role: symbol
role_heading: Class
path: metalperformanceshaders/mpscnnconvolution
---

# MPSCNNConvolution

A convolution kernel that convolves the input image with a set of filters, with each producing one feature map in the output image.

## Declaration

```swift
class MPSCNNConvolution
```

## Overview

Overview The attributes of a convolution operation are described by an MPSCNNConvolutionDescriptor object.

## Topics

### Initializers

- [init(coder:device:)](metalperformanceshaders/mpscnnconvolution/init(coder:device:).md)
- [init(device:convolutionDescriptor:kernelWeights:biasTerms:flags:)](metalperformanceshaders/mpscnnconvolution/init(device:convolutiondescriptor:kernelweights:biasterms:flags:).md)
- [MPSCNNConvolutionDescriptor](metalperformanceshaders/mpscnnconvolutiondescriptor.md)
- [MPSCNNConvolutionFlags](metalperformanceshaders/mpscnnconvolutionflags.md)
- [init(device:weights:)](metalperformanceshaders/mpscnnconvolution/init(device:weights:).md)
- [MPSCNNConvolutionDataSource](metalperformanceshaders/mpscnnconvolutiondatasource.md)

### Instance Properties

- [inputFeatureChannels](metalperformanceshaders/mpscnnconvolution/inputfeaturechannels.md)
- [outputFeatureChannels](metalperformanceshaders/mpscnnconvolution/outputfeaturechannels.md)
- [groups](metalperformanceshaders/mpscnnconvolution/groups.md)
- [subPixelScaleFactor](metalperformanceshaders/mpscnnconvolution/subpixelscalefactor.md)
- [neuron](metalperformanceshaders/mpscnnconvolution/neuron.md)
- [MPSCNNNeuron](metalperformanceshaders/mpscnnneuron.md)
- [neuronType](metalperformanceshaders/mpscnnconvolution/neurontype.md)
- [MPSCNNNeuronType](metalperformanceshaders/mpscnnneurontype.md)
- [neuronParameterA](metalperformanceshaders/mpscnnconvolution/neuronparametera.md)
- [neuronParameterB](metalperformanceshaders/mpscnnconvolution/neuronparameterb.md)
- [accumulatorPrecisionOption](metalperformanceshaders/mpscnnconvolution/accumulatorprecisionoption.md)
- [channelMultiplier](metalperformanceshaders/mpscnnconvolution/channelmultiplier.md)
- [dataSource](metalperformanceshaders/mpscnnconvolution/datasource.md)
- [fusedNeuronDescriptor](metalperformanceshaders/mpscnnconvolution/fusedneurondescriptor.md)
- [neuronParameterC](metalperformanceshaders/mpscnnconvolution/neuronparameterc.md)

### Instance Methods

- [exportWeightsAndBiases(with:resultStateCanBeTemporary:)](metalperformanceshaders/mpscnnconvolution/exportweightsandbiases(with:resultstatecanbetemporary:).md)
- [reloadWeightsAndBiases(with:)](metalperformanceshaders/mpscnnconvolution/reloadweightsandbiases(with:).md)
- [reloadWeightsAndBiases(with:state:)](metalperformanceshaders/mpscnnconvolution/reloadweightsandbiases(with:state:).md)
- [reloadWeightsAndBiasesFromDataSource()](metalperformanceshaders/mpscnnconvolution/reloadweightsandbiasesfromdatasource().md)
- [resultState(sourceImage:sourceStates:destinationImage:)](metalperformanceshaders/mpscnnconvolution/resultstate(sourceimage:sourcestates:destinationimage:).md)
- [resultStateBatch(sourceImage:sourceStates:destinationImage:)](metalperformanceshaders/mpscnnconvolution/resultstatebatch(sourceimage:sourcestates:destinationimage:).md)
- [temporaryResultState(commandBuffer:sourceImage:sourceStates:destinationImage:)](metalperformanceshaders/mpscnnconvolution/temporaryresultstate(commandbuffer:sourceimage:sourcestates:destinationimage:).md)
- [temporaryResultStateBatch(commandBuffer:sourceImage:sourceStates:destinationImage:)](metalperformanceshaders/mpscnnconvolution/temporaryresultstatebatch(commandbuffer:sourceimage:sourcestates:destinationimage:).md)

## Relationships

### Inherits From

- [MPSCNNKernel](metalperformanceshaders/mpscnnkernel.md)

### Inherited By

- [MPSCNNFullyConnected](metalperformanceshaders/mpscnnfullyconnected.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSCoding](foundation/nscoding.md)
- [NSCopying](foundation/nscopying.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [NSSecureCoding](foundation/nssecurecoding.md)

## See Also

### Convolution Layers

- [MPSCNNBinaryConvolution](metalperformanceshaders/mpscnnbinaryconvolution.md)
- [MPSCNNDepthWiseConvolutionDescriptor](metalperformanceshaders/mpscnndepthwiseconvolutiondescriptor.md)
- [MPSCNNSubPixelConvolutionDescriptor](metalperformanceshaders/mpscnnsubpixelconvolutiondescriptor.md)
- [MPSCNNConvolutionTranspose](metalperformanceshaders/mpscnnconvolutiontranspose.md)
- [MPSCNNConvolutionGradient](metalperformanceshaders/mpscnnconvolutiongradient.md)
- [MPSCNNConvolutionGradientState](metalperformanceshaders/mpscnnconvolutiongradientstate.md)
- [MPSImageSizeEncodingState](metalperformanceshaders/mpsimagesizeencodingstate.md)
- [MPSCNNConvolutionWeightsAndBiasesState](metalperformanceshaders/mpscnnconvolutionweightsandbiasesstate.md)
