---
title: BNNS.ConvolutionLayer
framework: accelerate
role: symbol
role_heading: Class
path: accelerate/bnns/convolutionlayer
---

# BNNS.ConvolutionLayer

A layer object that wraps a convolution filter and manages its deinitialization.

## Declaration

```swift
class ConvolutionLayer
```

## Topics

### Creating a Convolution Layer

- [init(type:input:weights:output:bias:padding:activation:groupCount:stride:dilationStride:filterParameters:)](accelerate/bnns/convolutionlayer/init(type:input:weights:output:bias:padding:activation:groupcount:stride:dilationstride:filterparameters:).md)

### Specifying a Convolution Type

- [BNNS.ConvolutionType](accelerate/bnns/convolutiontype.md)

### Specifying Convolution Padding

- [BNNS.ConvolutionPadding](accelerate/bnns/convolutionpadding.md)

### Applying a Convolution Layer

- [applyBackward(batchSize:input:output:outputGradient:generatingInputGradient:generatingWeightsGradient:generatingBiasGradient:)](accelerate/bnns/convolutionlayer/applybackward(batchsize:input:output:outputgradient:generatinginputgradient:generatingweightsgradient:generatingbiasgradient:).md)

## Relationships

### Inherits From

- [BNNS.UnaryLayer](accelerate/bnns/unarylayer.md)

### Inherited By

- [BNNS.FullyConnectedLayer](accelerate/bnns/fullyconnectedlayer.md)

## See Also

### Convolution layers

- [BNNSConvolutionLayerParameters](accelerate/bnnsconvolutionlayerparameters.md)
- [BNNSFilterCreateConvolutionLayer(_:_:_:_:)](accelerate/bnnsfiltercreateconvolutionlayer(_:_:_:_:).md)
- [BNNSLayerParametersConvolution](accelerate/bnnslayerparametersconvolution.md)
- [BNNSFilterCreateLayerConvolution(_:_:)](accelerate/bnnsfiltercreatelayerconvolution(_:_:).md)
- [BNNSFilterCreateLayerTransposedConvolution(_:_:)](accelerate/bnnsfiltercreatelayertransposedconvolution(_:_:).md)
