---
title: MPSCNNConvolutionDataSource
framework: metalperformanceshaders
role: symbol
role_heading: Protocol
path: metalperformanceshaders/mpscnnconvolutiondatasource
---

# MPSCNNConvolutionDataSource

The protocol that provides convolution filter weights and bias terms.

## Declaration

```swift
protocol MPSCNNConvolutionDataSource : NSCopying, NSObjectProtocol
```

## Topics

### Instance Methods

- [biasTerms()](metalperformanceshaders/mpscnnconvolutiondatasource/biasterms().md)
- [dataType()](metalperformanceshaders/mpscnnconvolutiondatasource/datatype().md)
- [descriptor()](metalperformanceshaders/mpscnnconvolutiondatasource/descriptor().md)
- [label()](metalperformanceshaders/mpscnnconvolutiondatasource/label().md)
- [load()](metalperformanceshaders/mpscnnconvolutiondatasource/load().md)
- [lookupTableForUInt8Kernel()](metalperformanceshaders/mpscnnconvolutiondatasource/lookuptableforuint8kernel().md)
- [purge()](metalperformanceshaders/mpscnnconvolutiondatasource/purge().md)
- [rangesForUInt8Kernel()](metalperformanceshaders/mpscnnconvolutiondatasource/rangesforuint8kernel().md)
- [weights()](metalperformanceshaders/mpscnnconvolutiondatasource/weights().md)
- [copy(with:device:)](metalperformanceshaders/mpscnnconvolutiondatasource/copy(with:device:).md)
- [kernelWeightsDataType()](metalperformanceshaders/mpscnnconvolutiondatasource/kernelweightsdatatype().md)
- [update(with:gradientState:sourceState:)](metalperformanceshaders/mpscnnconvolutiondatasource/update(with:gradientstate:sourcestate:).md)
- [update(with:sourceState:)](metalperformanceshaders/mpscnnconvolutiondatasource/update(with:sourcestate:).md)
- [weightsLayout()](metalperformanceshaders/mpscnnconvolutiondatasource/weightslayout().md)
- [weightsQuantizationType()](metalperformanceshaders/mpscnnconvolutiondatasource/weightsquantizationtype().md)

## Relationships

### Inherits From

- [NSCopying](foundation/nscopying.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Initializers

- [init(coder:device:)](metalperformanceshaders/mpscnnbinaryconvolution/init(coder:device:).md)
- [init(device:convolutionData:outputBiasTerms:outputScaleTerms:inputBiasTerms:inputScaleTerms:type:flags:)](metalperformanceshaders/mpscnnbinaryconvolution/init(device:convolutiondata:outputbiasterms:outputscaleterms:inputbiasterms:inputscaleterms:type:flags:).md)
- [init(device:convolutionData:scaleValue:type:flags:)](metalperformanceshaders/mpscnnbinaryconvolution/init(device:convolutiondata:scalevalue:type:flags:).md)
- [MPSCNNBinaryConvolutionType](metalperformanceshaders/mpscnnbinaryconvolutiontype.md)
- [MPSCNNBinaryConvolutionFlags](metalperformanceshaders/mpscnnbinaryconvolutionflags.md)
