manpagez: man pages & more
man MPSCNNBinaryFullyConnected(3)
Home | html | info | man
MPSCNNBinaryFullyConnected(3)




NAME

       MPSCNNBinaryFullyConnected


SYNOPSIS

       #import <MPSCNNConvolution.h>

       Inherits MPSCNNBinaryConvolution.

   Instance Methods
       (nonnull instancetype) -
           initWithDevice:convolutionData:scaleValue:type:flags:
       (nonnull instancetype) -
           initWithDevice:convolutionData:outputBiasTerms:outputScaleTerms:inputBiasTerms:inputScaleTerms:type:flags:
       (nullable instancetype) - initWithCoder:device:
       (nonnull instancetype) - initWithDevice:

   Additional Inherited Members

Detailed Description

       This depends on Metal.framework  The MPSCNNBinaryFullyConnected
       specifies a fully connected convolution layer with binary weights and
       optionally binarized input image. See MPSCNNFullyConnected for details
       on the fully connected layer and MPSCNNBinaryConvolution for binary
       convolutions.

       The default padding policy for MPSCNNBinaryConvolution is different
       from most filters. It uses MPSNNPaddingMethodSizeValidOnly instead of
       MPSNNPaddingMethodSizeSame.


Method Documentation

   - (nullable instancetype) initWithCoder: (NSCoder *__nonnull)
       aDecoder(nonnull id< MTLDevice >) device
       NSSecureCoding compatability  While the standard
       NSSecureCoding/NSCoding method -initWithCoder: should work, since the
       file can't know which device your data is allocated on, we have to
       guess and may guess incorrectly. To avoid that problem, use
       initWithCoder:device instead.

       Parameters:
           aDecoder The NSCoder subclass with your serialized MPSKernel
           device The MTLDevice on which to make the MPSKernel

       Returns:
           A new MPSKernel object, or nil if failure.



       Reimplemented from MPSCNNBinaryConvolution.

   - (nonnull instancetype) initWithDevice: (nonnull id< MTLDevice >) device
       Standard init with default properties per filter type

       Parameters:
           device The device that the filter will be used on. May not be NULL.

       Returns:
           A pointer to the newly initialized object. This will fail,
           returning nil if the device is not supported. Devices must be
           MTLFeatureSet_iOS_GPUFamily2_v1 or later.



       Reimplemented from MPSCNNBinaryConvolution.

   - (nonnull instancetype) initWithDevice: (nonnull id< MTLDevice >)
       device(nonnull id< MPSCNNConvolutionDataSource >) convolutionData(const
       float *__nullable) outputBiasTerms(const float *__nullable)
       outputScaleTerms(const float *__nullable) inputBiasTerms(const float
       *__nullable) inputScaleTerms(MPSCNNBinaryConvolutionType)
       type(MPSCNNBinaryConvolutionFlags) flags
       Initializes a binary fully connected kernel with binary weights as well
       as both pre and post scaling terms.

       Parameters:
           device The MTLDevice on which this MPSCNNBinaryFullyConnected
           filter will be used
           convolutionData A pointer to a object that conforms to the
           MPSCNNConvolutionDataSource protocol. The
           MPSCNNConvolutionDataSource protocol declares the methods that an
           instance of MPSCNNBinaryFullyConnected uses to obtain the weights
           and the convolution descriptor. Each entry in the
           convolutionData:weights array is a 32-bit unsigned integer value
           and each bit represents one filter weight (given in machine byte
           order). The featurechannel indices increase from the least
           significant bit within the 32-bits. The number of entries is =
           ceil( inputFeatureChannels/32.0 ) * outputFeatureChannels *
           kernelHeight * kernelWidth The layout of filter weight is so that
           it can be reinterpreted as a 4D tensor (array) weight[
           outputChannels ][ kernelHeight ][ kernelWidth ][ ceil(
           inputChannels / 32.0 ) ] (The ordering of the reduction from 4D
           tensor to 1D is per C convention. The index based on inputchannels
           varies most rapidly, followed by kernelWidth, then kernelHeight and
           finally outputChannels varies least rapidly.)
           outputBiasTerms A pointer to bias terms to be applied to the
           convolution output. Each entry is a float value. The number of
           entries is = numberOfOutputFeatureMaps. If nil then 0.0 is used for
           bias. The values stored in the pointer are copied in and the array
           can be freed after this function returns.
           outputScaleTerms A pointer to scale terms to be applied to binary
           convolution results per output feature channel. Each entry is a
           float value. The number of entries is = numberOfOutputFeatureMaps.
           If nil then 1.0 is used. The values stored in the pointer are
           copied in and the array can be freed after this function returns.
           inputBiasTerms A pointer to offset terms to be applied to the input
           before convolution and before input scaling. Each entry is a float
           value. The number of entries is 'inputFeatureChannels'. If NULL
           then 0.0 is used for bias. The values stored in the pointer are
           copied in and the array can be freed after this function returns.
           inputScaleTerms A pointer to scale terms to be applied to the input
           before convolution, but after input biasing. Each entry is a float
           value. The number of entries is 'inputFeatureChannels'. If nil then
           1.0 is used. The values stored in the pointer are copied in and the
           array can be freed after this function returns.
           type What kind of binarization strategy is to be used.
           flags See documentation above and documentation of
           MPSCNNBinaryConvolutionFlags.

       Returns:
           A valid MPSCNNBinaryFullyConnected object or nil, if failure.



       Reimplemented from MPSCNNBinaryConvolution.

   - (nonnull instancetype) initWithDevice: (nonnull id< MTLDevice >)
       device(nonnull id< MPSCNNConvolutionDataSource >)
       convolutionData(float) scaleValue(MPSCNNBinaryConvolutionType)
       type(MPSCNNBinaryConvolutionFlags) flags
       Initializes a binary fully connected kernel with binary weights and a
       single scaling term.

       Parameters:
           device The MTLDevice on which this MPSCNNBinaryFullyConnected
           filter will be used
           convolutionData A pointer to a object that conforms to the
           MPSCNNConvolutionDataSource protocol. The
           MPSCNNConvolutionDataSource protocol declares the methods that an
           instance of MPSCNNBinaryFullyConnected uses to obtain the weights
           and bias terms as well as the convolution descriptor. Each entry in
           the convolutionData:weights array is a 32-bit unsigned integer
           value and each bit represents one filter weight (given in machine
           byte order). The featurechannel indices increase from the least
           significant bit within the 32-bits. The number of entries is =
           ceil( inputFeatureChannels/32.0 ) * outputFeatureChannels *
           kernelHeight * kernelWidth The layout of filter weight is so that
           it can be reinterpreted as a 4D tensor (array) weight[
           outputChannels ][ kernelHeight ][ kernelWidth ][ ceil(
           inputChannels / 32.0 ) ] (The ordering of the reduction from 4D
           tensor to 1D is per C convention. The index based on inputchannels
           varies most rapidly, followed by kernelWidth, then kernelHeight and
           finally outputChannels varies least rapidly.)
           scaleValue A single floating point value used to scale the entire
           convolution. Each entry is a float value. The number of entries is
           'inputFeatureChannels'. If nil then 1.0 is used.
           type What kind of binarization strategy is to be used.
           flags See documentation above and documentation of
           MPSCNNBinaryConvolutionFlags.

       Returns:
           A valid MPSCNNBinaryFullyConnected object or nil, if failure.



       Reimplemented from MPSCNNBinaryConvolution.



Author

       Generated automatically by Doxygen for
       MetalPerformanceShaders.framework from the source code.





Version MetalPerformanceShaders-Thu2Jul 13 2017  MPSCNNBinaryFullyConnected(3)


Mac OS X 10.12.6 - Generated Sun Oct 29 14:51:45 CDT 2017
© manpagez.com 2000-2024
Individual documents may contain additional copyright information.