MetalPerformanceShaders iOS 11.3 Beta 2 to Beta 3 API Differences

../Frameworks/MPSCore.framework/Headers/MPSImage.h
../Frameworks/MPSCore.framework/Headers/MPSState.h
../Frameworks/MPSImage.framework/Headers/MPSImageDistanceTransform.h
../Frameworks/MPSImage.framework/Headers/MPSImageGuidedFilter.h
../Frameworks/MPSNeuralNetwork.framework/Headers/MPSCNNBatchNormalization.h
Removed -[MPSCNNBatchNormalizationState gamma]
Removed -[MPSCNNBatchNormalizationState beta]
Removed MPSCNNBatchNormalization.serializeGammaAndBeta
Removed MPSCNNBatchNormalization.serializeStatistics
Removed MPSCNNBatchNormalizationStatistics.numberOfFeatureChannels
Removed -[MPSCNNBatchNormalizationStatistics initWithDevice:numberOfFeatureChannels:]
Removed -[MPSCNNBatchNormalizationStatistics resultStateForSourceImages:]
Removed -[MPSCNNBatchNormalizationStatistics temporaryResultStateForCommandBuffer:sourceImages:]
Removed MPSCNNBatchNormalizationGradientStatistics
Removed -[MPSCNNBatchNormalizationGradientStatistics encodeBatchToCommandBuffer:sourceGradients:sourceImages:batchNormalizationState:]
Declaration
From- (nonnull MPSCNNBatchNormalizationState *)updateGammaAndBetaWithCommandBuffer:(nullable id<MTLCommandBuffer>)commandBuffer batchNormalizationState:(nonnull MPSCNNBatchNormalizationState *)batchNormalizationState
To- (nullable MPSCNNNormalizationGammaAndBetaState *)updateGammaAndBetaWithCommandBuffer:(nonnull id<MTLCommandBuffer>)commandBuffer batchNormalizationState:(nonnull MPSCNNBatchNormalizationState *)batchNormalizationState

Superclass
FromMPSCNNBinaryKernel
ToMPSCNNGradientKernel

../Frameworks/MPSNeuralNetwork.framework/Headers/MPSCNNConvolution.h
Removed MPSCNNConvolution.serializeWeightsAndBiases
Removed -[MPSCNNConvolution initWithDevice:convolutionDescriptor:kernelWeights:biasTerms:flags:]
Removed -[MPSCNNConvolution reloadWeightsAndBiasesWithCommandBuffer:weights:biases:]
Removed -[MPSCNNConvolutionGradient reloadWeightsAndBiasesWithCommandBuffer:weights:biases:]
AvailabilityReplacement
FromAvailablenone
ToDeprecatedset fusedNeuronDescriptor property instead

AvailabilityReplacement
FromAvailablenone
ToDeprecateduse fusedNeuronDescriptor property instead

AvailabilityReplacement
FromAvailablenone
ToDeprecateduse fusedNeuronDescriptor property instead

AvailabilityReplacement
FromAvailablenone
ToDeprecateduse fusedNeuronDescriptor property instead

AvailabilityReplacement
FromAvailablenone
ToDeprecateduse fusedNeuronDescriptor property instead

../Frameworks/MPSNeuralNetwork.framework/Headers/MPSCNNInstanceNormalization.h
Removed -[MPSCNNInstanceNormalizationGradientState gammaAndBeta]
Removed MPSCNNInstanceNormalizationGradientState.gammaOffset
Removed MPSCNNInstanceNormalizationGradientState.betaOffset
Removed MPSCNNInstanceNormalizationGradientState.gradientForGammaAndBeta
Removed MPSCNNInstanceNormalizationGradientState.gradientForGammaOffset
Removed MPSCNNInstanceNormalizationGradientState.gradientForBetaOffset
Removed -[MPSCNNInstanceNormalizationDataSource gammaAndBeta]
Removed MPSCNNInstanceNormalizationDataSource.gammaOffset
Removed MPSCNNInstanceNormalizationDataSource.betaOffset
Removed -[MPSCNNInstanceNormalizationDataSource updateGammaAndBetaWithCommandBuffer:instanceNormalizationState:]
Removed MPSCNNInstanceNormalization.serializeGammaAndBeta
../Frameworks/MPSNeuralNetwork.framework/Headers/MPSCNNKernel.h
Declaration
From- (nonnull MPSImage *)encodeToCommandBuffer:(nonnull id<MTLCommandBuffer>)commandBuffer sourceGradient:(nonnull MPSImage *)sourceGradient sourceImage:(nonnull MPSImage *)sourceImage gradientState:(nonnull MPSNNGradientState *)gradientState
To- (nonnull MPSImage *)encodeToCommandBuffer:(nonnull id<MTLCommandBuffer>)commandBuffer sourceGradient:(nonnull MPSImage *)sourceGradient sourceImage:(nonnull MPSImage *)sourceImage gradientState:(nonnull MPSState *)gradientState

Declaration
From- (void)encodeToCommandBuffer:(nonnull id<MTLCommandBuffer>)commandBuffer sourceGradient:(nonnull MPSImage *)sourceGradient sourceImage:(nonnull MPSImage *)sourceImage gradientState:(nonnull MPSNNGradientState *)gradientState destinationGradient:(nonnull MPSImage *)destinationGradient
To- (void)encodeToCommandBuffer:(nonnull id<MTLCommandBuffer>)commandBuffer sourceGradient:(nonnull MPSImage *)sourceGradient sourceImage:(nonnull MPSImage *)sourceImage gradientState:(nonnull MPSState *)gradientState destinationGradient:(nonnull MPSImage *)destinationGradient

Declaration
From- (nonnull MPSImageBatch *)encodeBatchToCommandBuffer:(nonnull id<MTLCommandBuffer>)commandBuffer sourceGradients:(nonnull MPSImageBatch *)sourceGradients sourceImages:(nonnull MPSImageBatch *)sourceImages gradientStates:(nonnull MPSNNGradientStateBatch *)gradientStates
To- (nonnull MPSImageBatch *)encodeBatchToCommandBuffer:(nonnull id<MTLCommandBuffer>)commandBuffer sourceGradients:(nonnull MPSImageBatch *)sourceGradients sourceImages:(nonnull MPSImageBatch *)sourceImages gradientStates:(nonnull MPSStateBatch *)gradientStates

Declaration
From- (void)encodeBatchToCommandBuffer:(nonnull id<MTLCommandBuffer>)commandBuffer sourceGradients:(nonnull MPSImageBatch *)sourceGradients sourceImages:(nonnull MPSImageBatch *)sourceImages gradientStates:(nonnull MPSNNGradientStateBatch *)gradientStates destinationGradients:(nonnull MPSImageBatch *)destinationGradients
To- (void)encodeBatchToCommandBuffer:(nonnull id<MTLCommandBuffer>)commandBuffer sourceGradients:(nonnull MPSImageBatch *)sourceGradients sourceImages:(nonnull MPSImageBatch *)sourceImages gradientStates:(nonnull MPSStateBatch *)gradientStates destinationGradients:(nonnull MPSImageBatch *)destinationGradients

../Frameworks/MPSNeuralNetwork.framework/Headers/MPSCNNMath.h
Removed MPSCNNDivideGradient
Removed -[MPSCNNDivideGradient initWithDevice:]
../Frameworks/MPSNeuralNetwork.framework/Headers/MPSCNNNormalizationWeights.h
../Frameworks/MPSNeuralNetwork.framework/Headers/MPSNeuralNetworkTypes.h
../Frameworks/MPSNeuralNetwork.framework/Headers/MPSNNGradientState.h
../Frameworks/MPSNeuralNetwork.framework/Headers/MPSNNGraph.h
AvailabilityReplacement
FromAvailablenone
ToDeprecatedPlease use -initWithDevice:resultImage:resultIsNeeded: instead. Without this information, too much or too little work may occur. Results may be undefined.

Declaration
From- (nonnull MPSImage *)encodeToCommandBuffer:(nonnull id<MTLCommandBuffer>)commandBuffer sourceImages:(nonnull NSArray<MPSImage *> *)sourceImages sourceStates:(nullable NSArray<MPSState *> *)sourceStates intermediateImages:(nullable NSMutableArray<MPSImage *> *)intermediateImages destinationStates:(nullable NSMutableArray<MPSState *> *)destinationStates
To- (nullable MPSImage *)encodeToCommandBuffer:(nonnull id<MTLCommandBuffer>)commandBuffer sourceImages:(nonnull NSArray<MPSImage *> *)sourceImages sourceStates:(nullable NSArray<MPSState *> *)sourceStates intermediateImages:(nullable NSMutableArray<MPSImage *> *)intermediateImages destinationStates:(nullable NSMutableArray<MPSState *> *)destinationStates

Declaration
From- (nonnull MPSImageBatch *)encodeBatchToCommandBuffer:(nonnull id<MTLCommandBuffer>)commandBuffer sourceImages:(nonnull NSArray<MPSImageBatch *> *)sourceImages sourceStates:(nullable NSArray<MPSStateBatch *> *)sourceStates intermediateImages:(nullable NSMutableArray<MPSImageBatch *> *)intermediateImages destinationStates:(nullable NSMutableArray<MPSStateBatch *> *)destinationStates
To- (nullable MPSImageBatch *)encodeBatchToCommandBuffer:(nonnull id<MTLCommandBuffer>)commandBuffer sourceImages:(nonnull NSArray<MPSImageBatch *> *)sourceImages sourceStates:(nullable NSArray<MPSStateBatch *> *)sourceStates intermediateImages:(nullable NSMutableArray<MPSImageBatch *> *)intermediateImages destinationStates:(nullable NSMutableArray<MPSStateBatch *> *)destinationStates

Declaration
From- (nonnull MPSImage *)encodeToCommandBuffer:(nonnull id<MTLCommandBuffer>)commandBuffer sourceImages:(nonnull NSArray<MPSImage *> *)sourceImages
To- (nullable MPSImage *)encodeToCommandBuffer:(nonnull id<MTLCommandBuffer>)commandBuffer sourceImages:(nonnull NSArray<MPSImage *> *)sourceImages

../Frameworks/MPSNeuralNetwork.framework/Headers/MPSNNGraphNodes.h
Protocols
Fromnone
ToMPSNNTrainableNode

Declaration
From+ (nonnull instancetype)nodeWithSourceGradient:(nonnull MPSNNImageNode *)sourceGradient sourceImage:(nonnull MPSNNImageNode *)sourceImage convolutionGradientState:(nonnull MPSCNNConvolutionGradientStateNode *)gradientState weights:(nonnull id<MPSCNNConvolutionDataSource>)weights
To+ (nonnull instancetype)nodeWithSourceGradient:(nonnull MPSNNImageNode *)sourceGradient sourceImage:(nonnull MPSNNImageNode *)sourceImage convolutionGradientState:(nonnull MPSCNNConvolutionGradientStateNode *)gradientState weights:(nullable id<MPSCNNConvolutionDataSource>)weights

Declaration
From- (nonnull instancetype)initWithSourceGradient:(nonnull MPSNNImageNode *)sourceGradient sourceImage:(nonnull MPSNNImageNode *)sourceImage convolutionGradientState:(nonnull MPSCNNConvolutionGradientStateNode *)gradientState weights:(nonnull id<MPSCNNConvolutionDataSource>)weights
To- (nonnull instancetype)initWithSourceGradient:(nonnull MPSNNImageNode *)sourceGradient sourceImage:(nonnull MPSNNImageNode *)sourceImage convolutionGradientState:(nonnull MPSCNNConvolutionGradientStateNode *)gradientState weights:(nullable id<MPSCNNConvolutionDataSource>)weights

Protocols
Fromnone
ToMPSNNTrainableNode