<?xml version='1.0'?>
<!DOCTYPE signatures SYSTEM "file://localhost/System/Library/DTDs/BridgeSupport.dtd">
<signatures version='1.0'>
<enum name='MPSGraphDeploymentPlatformIOS' value64='1'/>
<enum name='MPSGraphDeploymentPlatformMacOS' value64='0'/>
<enum name='MPSGraphDeploymentPlatformTvOS' value64='2'/>
<enum name='MPSGraphDeploymentPlatformVisionOS' value64='3'/>
<enum name='MPSGraphDeviceTypeMetal' value64='0'/>
<enum name='MPSGraphExecutionStageCompleted' value64='0'/>
<enum name='MPSGraphFFTScalingModeNone' value64='0'/>
<enum name='MPSGraphFFTScalingModeSize' value64='1'/>
<enum name='MPSGraphFFTScalingModeUnitary' value64='2'/>
<enum name='MPSGraphLossReductionTypeAxis' value64='0'/>
<enum name='MPSGraphLossReductionTypeMean' value64='2'/>
<enum name='MPSGraphLossReductionTypeNone' value64='0'/>
<enum name='MPSGraphLossReductionTypeSum' value64='1'/>
<enum name='MPSGraphNonMaximumSuppressionCoordinateModeCentersHeightFirst' value64='2'/>
<enum name='MPSGraphNonMaximumSuppressionCoordinateModeCentersWidthFirst' value64='3'/>
<enum name='MPSGraphNonMaximumSuppressionCoordinateModeCornersHeightFirst' value64='0'/>
<enum name='MPSGraphNonMaximumSuppressionCoordinateModeCornersWidthFirst' value64='1'/>
<enum name='MPSGraphOptimizationLevel0' value64='0'/>
<enum name='MPSGraphOptimizationLevel1' value64='1'/>
<enum name='MPSGraphOptimizationProfilePerformance' value64='0'/>
<enum name='MPSGraphOptimizationProfilePowerEfficiency' value64='1'/>
<enum name='MPSGraphOptionsDefault' value64='1'/>
<enum name='MPSGraphOptionsNone' value64='0'/>
<enum name='MPSGraphOptionsSynchronizeResults' value64='1'/>
<enum name='MPSGraphOptionsVerbose' value64='2'/>
<enum name='MPSGraphPaddingModeAntiPeriodic' value64='6'/>
<enum name='MPSGraphPaddingModeClampToEdge' value64='3'/>
<enum name='MPSGraphPaddingModeConstant' value64='0'/>
<enum name='MPSGraphPaddingModePeriodic' value64='5'/>
<enum name='MPSGraphPaddingModeReflect' value64='1'/>
<enum name='MPSGraphPaddingModeSymmetric' value64='2'/>
<enum name='MPSGraphPaddingModeZero' value64='4'/>
<enum name='MPSGraphPaddingStyleExplicit' value64='0'/>
<enum name='MPSGraphPaddingStyleExplicitOffset' value64='3'/>
<enum name='MPSGraphPaddingStyleONNX_SAME_LOWER' value64='4'/>
<enum name='MPSGraphPaddingStyleTF_SAME' value64='2'/>
<enum name='MPSGraphPaddingStyleTF_VALID' value64='1'/>
<enum name='MPSGraphPoolingReturnIndicesGlobalFlatten1D' value64='1'/>
<enum name='MPSGraphPoolingReturnIndicesGlobalFlatten2D' value64='2'/>
<enum name='MPSGraphPoolingReturnIndicesGlobalFlatten3D' value64='3'/>
<enum name='MPSGraphPoolingReturnIndicesGlobalFlatten4D' value64='4'/>
<enum name='MPSGraphPoolingReturnIndicesLocalFlatten1D' value64='5'/>
<enum name='MPSGraphPoolingReturnIndicesLocalFlatten2D' value64='6'/>
<enum name='MPSGraphPoolingReturnIndicesLocalFlatten3D' value64='7'/>
<enum name='MPSGraphPoolingReturnIndicesLocalFlatten4D' value64='8'/>
<enum name='MPSGraphPoolingReturnIndicesNone' value64='0'/>
<enum name='MPSGraphRNNActivationHardSigmoid' value64='4'/>
<enum name='MPSGraphRNNActivationNone' value64='0'/>
<enum name='MPSGraphRNNActivationRelu' value64='1'/>
<enum name='MPSGraphRNNActivationSigmoid' value64='3'/>
<enum name='MPSGraphRNNActivationTanh' value64='2'/>
<enum name='MPSGraphRandomDistributionNormal' value64='1'/>
<enum name='MPSGraphRandomDistributionTruncatedNormal' value64='2'/>
<enum name='MPSGraphRandomDistributionUniform' value64='0'/>
<enum name='MPSGraphRandomNormalSamplingBoxMuller' value64='1'/>
<enum name='MPSGraphRandomNormalSamplingInvCDF' value64='0'/>
<enum name='MPSGraphReducedPrecisionFastMathAllowConvertingOperandsFromFP32ToFP19' value64='4'/>
<enum name='MPSGraphReducedPrecisionFastMathAllowFP16Conv2DWinogradTransformIntermediate' value64='2'/>
<enum name='MPSGraphReducedPrecisionFastMathAllowFP16Intermediates' value64='2'/>
<enum name='MPSGraphReducedPrecisionFastMathDefault' value64='0'/>
<enum name='MPSGraphReducedPrecisionFastMathNone' value64='0'/>
<enum name='MPSGraphReductionModeArgumentMax' value64='5'/>
<enum name='MPSGraphReductionModeArgumentMin' value64='4'/>
<enum name='MPSGraphReductionModeMax' value64='1'/>
<enum name='MPSGraphReductionModeMin' value64='0'/>
<enum name='MPSGraphReductionModeProduct' value64='3'/>
<enum name='MPSGraphReductionModeSum' value64='2'/>
<enum name='MPSGraphResizeBilinear' value64='1'/>
<enum name='MPSGraphResizeNearest' value64='0'/>
<enum name='MPSGraphResizeNearestRoundingModeCeil' value64='2'/>
<enum name='MPSGraphResizeNearestRoundingModeFloor' value64='3'/>
<enum name='MPSGraphResizeNearestRoundingModeRoundPreferCeil' value64='0'/>
<enum name='MPSGraphResizeNearestRoundingModeRoundPreferFloor' value64='1'/>
<enum name='MPSGraphResizeNearestRoundingModeRoundToEven' value64='4'/>
<enum name='MPSGraphResizeNearestRoundingModeRoundToOdd' value64='5'/>
<enum name='MPSGraphScatterModeAdd' value64='0'/>
<enum name='MPSGraphScatterModeDiv' value64='3'/>
<enum name='MPSGraphScatterModeMax' value64='5'/>
<enum name='MPSGraphScatterModeMin' value64='4'/>
<enum name='MPSGraphScatterModeMul' value64='2'/>
<enum name='MPSGraphScatterModeSet' value64='6'/>
<enum name='MPSGraphScatterModeSub' value64='1'/>
<enum name='MPSGraphSparseStorageCOO' value64='0'/>
<enum name='MPSGraphSparseStorageCSC' value64='1'/>
<enum name='MPSGraphSparseStorageCSR' value64='2'/>
<enum name='MPSGraphTensorNamedDataLayoutCHW' value64='4'/>
<enum name='MPSGraphTensorNamedDataLayoutDHWIO' value64='10'/>
<enum name='MPSGraphTensorNamedDataLayoutHW' value64='6'/>
<enum name='MPSGraphTensorNamedDataLayoutHWC' value64='5'/>
<enum name='MPSGraphTensorNamedDataLayoutHWIO' value64='3'/>
<enum name='MPSGraphTensorNamedDataLayoutNCDHW' value64='7'/>
<enum name='MPSGraphTensorNamedDataLayoutNCHW' value64='0'/>
<enum name='MPSGraphTensorNamedDataLayoutNDHWC' value64='8'/>
<enum name='MPSGraphTensorNamedDataLayoutNHWC' value64='1'/>
<enum name='MPSGraphTensorNamedDataLayoutOIDHW' value64='9'/>
<enum name='MPSGraphTensorNamedDataLayoutOIHW' value64='2'/>
<class name='MPSGraph'>
<method selector='argSortWithTensor:axis:descending:name:'>
<arg index='2' type64='B'/>
</method>
<method selector='argSortWithTensor:axisTensor:descending:name:'>
<arg index='2' type64='B'/>
</method>
<method selector='batchToSpaceTensor:spatialAxes:batchAxis:blockDimensions:usePixelShuffleOrder:name:'>
<arg index='4' type64='B'/>
</method>
<method selector='batchToSpaceTensor:spatialAxesTensor:batchAxisTensor:blockDimensionsTensor:usePixelShuffleOrder:name:'>
<arg index='4' type64='B'/>
</method>
<method selector='concatTensors:dimension:interleave:name:'>
<arg index='2' type64='B'/>
</method>
<method selector='controlDependencyWithOperations:dependentBlock:name:'>
<arg function_pointer='true' index='1' type64='@?'>
<retval type64='@'/>
</arg>
</method>
<method selector='cumulativeMaximumWithTensor:axis:exclusive:reverse:name:'>
<arg index='2' type64='B'/>
<arg index='3' type64='B'/>
</method>
<method selector='cumulativeMaximumWithTensor:axisTensor:exclusive:reverse:name:'>
<arg index='2' type64='B'/>
<arg index='3' type64='B'/>
</method>
<method selector='cumulativeMinimumWithTensor:axis:exclusive:reverse:name:'>
<arg index='2' type64='B'/>
<arg index='3' type64='B'/>
</method>
<method selector='cumulativeMinimumWithTensor:axisTensor:exclusive:reverse:name:'>
<arg index='2' type64='B'/>
<arg index='3' type64='B'/>
</method>
<method selector='cumulativeProductWithTensor:axis:exclusive:reverse:name:'>
<arg index='2' type64='B'/>
<arg index='3' type64='B'/>
</method>
<method selector='cumulativeProductWithTensor:axisTensor:exclusive:reverse:name:'>
<arg index='2' type64='B'/>
<arg index='3' type64='B'/>
</method>
<method selector='cumulativeSumWithTensor:axis:exclusive:reverse:name:'>
<arg index='2' type64='B'/>
<arg index='3' type64='B'/>
</method>
<method selector='cumulativeSumWithTensor:axisTensor:exclusive:reverse:name:'>
<arg index='2' type64='B'/>
<arg index='3' type64='B'/>
</method>
<method selector='depthToSpace2DTensor:widthAxis:heightAxis:depthAxis:blockSize:usePixelShuffleOrder:name:'>
<arg index='5' type64='B'/>
</method>
<method selector='depthToSpace2DTensor:widthAxisTensor:heightAxisTensor:depthAxisTensor:blockSize:usePixelShuffleOrder:name:'>
<arg index='5' type64='B'/>
</method>
<method selector='forLoopWithLowerBound:upperBound:step:initialBodyArguments:body:name:'>
<arg function_pointer='true' index='4' type64='@?'>
<arg type64='@'/>
<arg type64='@'/>
<retval type64='@'/>
</arg>
</method>
<method selector='forLoopWithNumberOfIterations:initialBodyArguments:body:name:'>
<arg function_pointer='true' index='2' type64='@?'>
<arg type64='@'/>
<arg type64='@'/>
<retval type64='@'/>
</arg>
</method>
<method selector='ifWithPredicateTensor:thenBlock:elseBlock:name:'>
<arg function_pointer='true' index='1' type64='@?'>
<retval type64='@'/>
</arg>
<arg function_pointer='true' index='2' type64='@?'>
<retval type64='@'/>
</arg>
</method>
<method selector='nonMaximumSuppressionWithBoxesTensor:scoresTensor:IOUThreshold:scoreThreshold:perClassSuppression:coordinateMode:name:'>
<arg index='4' type64='B'/>
</method>
<method selector='nonMaximumSuppressionWithBoxesTensor:scoresTensor:classIndicesTensor:IOUThreshold:scoreThreshold:perClassSuppression:coordinateMode:name:'>
<arg index='5' type64='B'/>
</method>
<method selector='resizeBilinearWithGradientTensor:input:centerResult:alignCorners:layout:name:'>
<arg index='2' type64='B'/>
<arg index='3' type64='B'/>
</method>
<method selector='resizeBilinearWithTensor:sizeTensor:centerResult:alignCorners:layout:name:'>
<arg index='2' type64='B'/>
<arg index='3' type64='B'/>
</method>
<method selector='resizeBilinearWithTensor:sizeTensor:centerResult:alignCorners:name:'>
<arg index='2' type64='B'/>
<arg index='3' type64='B'/>
</method>
<method selector='resizeNearestWithGradientTensor:input:nearestRoundingMode:centerResult:alignCorners:layout:name:'>
<arg index='3' type64='B'/>
<arg index='4' type64='B'/>
</method>
<method selector='resizeNearestWithTensor:sizeTensor:nearestRoundingMode:centerResult:alignCorners:layout:name:'>
<arg index='3' type64='B'/>
<arg index='4' type64='B'/>
</method>
<method selector='resizeNearestWithTensor:sizeTensor:nearestRoundingMode:centerResult:alignCorners:name:'>
<arg index='3' type64='B'/>
<arg index='4' type64='B'/>
</method>
<method selector='resizeTensor:size:mode:centerResult:alignCorners:layout:name:'>
<arg index='3' type64='B'/>
<arg index='4' type64='B'/>
</method>
<method selector='resizeTensor:sizeTensor:mode:centerResult:alignCorners:layout:name:'>
<arg index='3' type64='B'/>
<arg index='4' type64='B'/>
</method>
<method selector='resizeTensor:sizeTensor:mode:centerResult:alignCorners:name:'>
<arg index='3' type64='B'/>
<arg index='4' type64='B'/>
</method>
<method selector='resizeWithGradientTensor:input:mode:centerResult:alignCorners:layout:name:'>
<arg index='3' type64='B'/>
<arg index='4' type64='B'/>
</method>
<method selector='sampleGridWithSourceTensor:coordinateTensor:layout:normalizeCoordinates:relativeCoordinates:alignCorners:paddingMode:nearestRoundingMode:constantValue:name:'>
<arg index='3' type64='B'/>
<arg index='4' type64='B'/>
<arg index='5' type64='B'/>
</method>
<method selector='sampleGridWithSourceTensor:coordinateTensor:layout:normalizeCoordinates:relativeCoordinates:alignCorners:paddingMode:samplingMode:constantValue:name:'>
<arg index='3' type64='B'/>
<arg index='4' type64='B'/>
<arg index='5' type64='B'/>
</method>
<method selector='sortWithTensor:axis:descending:name:'>
<arg index='2' type64='B'/>
</method>
<method selector='sortWithTensor:axisTensor:descending:name:'>
<arg index='2' type64='B'/>
</method>
<method selector='spaceToBatchTensor:spatialAxes:batchAxis:blockDimensions:usePixelShuffleOrder:name:'>
<arg index='4' type64='B'/>
</method>
<method selector='spaceToBatchTensor:spatialAxesTensor:batchAxisTensor:blockDimensionsTensor:usePixelShuffleOrder:name:'>
<arg index='4' type64='B'/>
</method>
<method selector='spaceToDepth2DTensor:widthAxis:heightAxis:depthAxis:blockSize:usePixelShuffleOrder:name:'>
<arg index='5' type64='B'/>
</method>
<method selector='spaceToDepth2DTensor:widthAxisTensor:heightAxisTensor:depthAxisTensor:blockSize:usePixelShuffleOrder:name:'>
<arg index='5' type64='B'/>
</method>
<method selector='whileWithInitialInputs:before:after:name:'>
<arg function_pointer='true' index='1' type64='@?'>
<arg type64='@'/>
<arg type64='@'/>
<retval type64='@'/>
</arg>
<arg function_pointer='true' index='2' type64='@?'>
<arg type64='@'/>
<retval type64='@'/>
</arg>
</method>
</class>
<class name='MPSGraphCompilationDescriptor'>
<method selector='setWaitForCompilationCompletion:'>
<arg index='0' type64='B'/>
</method>
<method selector='waitForCompilationCompletion'>
<retval type64='B'/>
</method>
</class>
<class name='MPSGraphExecutableExecutionDescriptor'>
<method selector='setWaitUntilCompleted:'>
<arg index='0' type64='B'/>
</method>
<method selector='waitUntilCompleted'>
<retval type64='B'/>
</method>
</class>
<class name='MPSGraphExecutableSerializationDescriptor'>
<method selector='append'>
<retval type64='B'/>
</method>
<method selector='setAppend:'>
<arg index='0' type64='B'/>
</method>
</class>
<class name='MPSGraphExecutionDescriptor'>
<method selector='setWaitUntilCompleted:'>
<arg index='0' type64='B'/>
</method>
<method selector='waitUntilCompleted'>
<retval type64='B'/>
</method>
</class>
<class name='MPSGraphFFTDescriptor'>
<method selector='inverse'>
<retval type64='B'/>
</method>
<method selector='roundToOddHermitean'>
<retval type64='B'/>
</method>
<method selector='setInverse:'>
<arg index='0' type64='B'/>
</method>
<method selector='setRoundToOddHermitean:'>
<arg index='0' type64='B'/>
</method>
</class>
<class name='MPSGraphGRUDescriptor'>
<method selector='bidirectional'>
<retval type64='B'/>
</method>
<method selector='flipZ'>
<retval type64='B'/>
</method>
<method selector='resetAfter'>
<retval type64='B'/>
</method>
<method selector='resetGateFirst'>
<retval type64='B'/>
</method>
<method selector='reverse'>
<retval type64='B'/>
</method>
<method selector='setBidirectional:'>
<arg index='0' type64='B'/>
</method>
<method selector='setFlipZ:'>
<arg index='0' type64='B'/>
</method>
<method selector='setResetAfter:'>
<arg index='0' type64='B'/>
</method>
<method selector='setResetGateFirst:'>
<arg index='0' type64='B'/>
</method>
<method selector='setReverse:'>
<arg index='0' type64='B'/>
</method>
<method selector='setTraining:'>
<arg index='0' type64='B'/>
</method>
<method selector='training'>
<retval type64='B'/>
</method>
</class>
<class name='MPSGraphLSTMDescriptor'>
<method selector='bidirectional'>
<retval type64='B'/>
</method>
<method selector='forgetGateLast'>
<retval type64='B'/>
</method>
<method selector='produceCell'>
<retval type64='B'/>
</method>
<method selector='reverse'>
<retval type64='B'/>
</method>
<method selector='setBidirectional:'>
<arg index='0' type64='B'/>
</method>
<method selector='setForgetGateLast:'>
<arg index='0' type64='B'/>
</method>
<method selector='setProduceCell:'>
<arg index='0' type64='B'/>
</method>
<method selector='setReverse:'>
<arg index='0' type64='B'/>
</method>
<method selector='setTraining:'>
<arg index='0' type64='B'/>
</method>
<method selector='training'>
<retval type64='B'/>
</method>
</class>
<class name='MPSGraphPooling2DOpDescriptor'>
<method selector='ceilMode'>
<retval type64='B'/>
</method>
<method selector='includeZeroPadToAverage'>
<retval type64='B'/>
</method>
<method selector='setCeilMode:'>
<arg index='0' type64='B'/>
</method>
<method selector='setIncludeZeroPadToAverage:'>
<arg index='0' type64='B'/>
</method>
</class>
<class name='MPSGraphPooling4DOpDescriptor'>
<method selector='ceilMode'>
<retval type64='B'/>
</method>
<method selector='includeZeroPadToAverage'>
<retval type64='B'/>
</method>
<method selector='setCeilMode:'>
<arg index='0' type64='B'/>
</method>
<method selector='setIncludeZeroPadToAverage:'>
<arg index='0' type64='B'/>
</method>
</class>
<class name='MPSGraphShapedType'>
<method selector='isEqualTo:'>
<retval type64='B'/>
</method>
</class>
<class name='MPSGraphSingleGateRNNDescriptor'>
<method selector='bidirectional'>
<retval type64='B'/>
</method>
<method selector='reverse'>
<retval type64='B'/>
</method>
<method selector='setBidirectional:'>
<arg index='0' type64='B'/>
</method>
<method selector='setReverse:'>
<arg index='0' type64='B'/>
</method>
<method selector='setTraining:'>
<arg index='0' type64='B'/>
</method>
<method selector='training'>
<retval type64='B'/>
</method>
</class>
</signatures>
