init(device:convolutionDescriptor:kernelWeights:biasTerms:flags:)
Initializes a fully connected convolution layer.
Declaration
init(device: any MTLDevice, convolutionDescriptor: MPSCNNConvolutionDescriptor, kernelWeights: UnsafePointer<Float>, biasTerms: UnsafePointer<Float>?, flags: MPSCNNConvolutionFlags)Parameters
- device:
The device on which this kernel will run.
- convolutionDescriptor:
A valid convolution descriptor.
The values of the
```MPSCNNConvolutionDescriptor/strideInPixelsX``, ``MPSCNNConvolutionDescriptor/strideInPixelsY``, and ``MPSCNNConvolutionDescriptor/groups`` properties of the descriptor must be set to1` (i.e. their default values). - kernelWeights:
A pointer to a weights array.
Each entry is a float value. The number of entries is equal to Inputfeaturechannels
*Outputfeaturechannels*Kernelheight*Kernelwidth.The layout of the filter weights is arranged so that it can be reinterpreted as a 4D tensor (array)
weight[outputFeatureChannels][kernelHeight][kernelWidth][inputChannels/groups].Weights are converted to half float precision (
fp16) internally for best performance. - biasTerms:
A pointer to bias terms to be applied to the convolution output.
Each entry is a float value. The number of entries is the number of output feature maps.
- flags:
Currently unused.
This value must be None.
Return Value
A valid MPSCNNFullyConnected object or nil, if failure.