# This file is generated by objective.metadata
#
# Last update: Sun May 24 11:51:45 2026
#
# flake8: noqa

import objc, sys
from typing import NewType

if sys.maxsize > 2**32:

    def sel32or64(a, b):
        return b

else:

    def sel32or64(a, b):
        return a


if objc.arch == "arm64":

    def selAorI(a, b):
        return a

else:

    def selAorI(a, b):
        return b


misc = {}
constants = """$$"""
enums = """$MLCActivationTypeAbsolute@6$MLCActivationTypeCELU@13$MLCActivationTypeClamp@20$MLCActivationTypeELU@9$MLCActivationTypeGELU@18$MLCActivationTypeHardShrink@14$MLCActivationTypeHardSigmoid@4$MLCActivationTypeHardSwish@19$MLCActivationTypeLinear@2$MLCActivationTypeLogSigmoid@11$MLCActivationTypeNone@0$MLCActivationTypeReLU@1$MLCActivationTypeReLUN@10$MLCActivationTypeSELU@12$MLCActivationTypeSigmoid@3$MLCActivationTypeSoftPlus@7$MLCActivationTypeSoftShrink@15$MLCActivationTypeSoftSign@8$MLCActivationTypeTanh@5$MLCActivationTypeTanhShrink@16$MLCActivationTypeThreshold@17$MLCArithmeticOperationAcos@13$MLCArithmeticOperationAcosh@19$MLCArithmeticOperationAdd@0$MLCArithmeticOperationAsin@12$MLCArithmeticOperationAsinh@18$MLCArithmeticOperationAtan@14$MLCArithmeticOperationAtanh@20$MLCArithmeticOperationCeil@6$MLCArithmeticOperationCos@10$MLCArithmeticOperationCosh@16$MLCArithmeticOperationDivide@3$MLCArithmeticOperationDivideNoNaN@27$MLCArithmeticOperationExp@22$MLCArithmeticOperationExp2@23$MLCArithmeticOperationFloor@4$MLCArithmeticOperationLog@24$MLCArithmeticOperationLog2@25$MLCArithmeticOperationMax@29$MLCArithmeticOperationMin@28$MLCArithmeticOperationMultiply@2$MLCArithmeticOperationMultiplyNoNaN@26$MLCArithmeticOperationPow@21$MLCArithmeticOperationRound@5$MLCArithmeticOperationRsqrt@8$MLCArithmeticOperationSin@9$MLCArithmeticOperationSinh@15$MLCArithmeticOperationSqrt@7$MLCArithmeticOperationSubtract@1$MLCArithmeticOperationTan@11$MLCArithmeticOperationTanh@17$MLCComparisonOperationEqual@0$MLCComparisonOperationGreater@3$MLCComparisonOperationGreaterOrEqual@5$MLCComparisonOperationLess@2$MLCComparisonOperationLessOrEqual@4$MLCComparisonOperationLogicalAND@6$MLCComparisonOperationLogicalNAND@9$MLCComparisonOperationLogicalNOR@10$MLCComparisonOperationLogicalNOT@8$MLCComparisonOperationLogicalOR@7$MLCComparisonOperationLogicalXOR@11$MLCComparisonOperationNotEqual@1$MLCConvolutionTypeDepthwise@2$MLCConvolutionTypeStandard@0$MLCConvolutionTypeTransposed@1$MLCDataTypeBoolean@4$MLCDataTypeFloat16@3$MLCDataTypeFloat32@1$MLCDataTypeInt32@7$MLCDataTypeInt64@5$MLCDataTypeInt8@8$MLCDataTypeInvalid@0$MLCDataTypeUInt8@9$MLCDeviceTypeANE@3$MLCDeviceTypeAny@2$MLCDeviceTypeCPU@0$MLCDeviceTypeGPU@1$MLCExecutionOptionsForwardForInference@8$MLCExecutionOptionsNone@0$MLCExecutionOptionsPerLayerProfiling@16$MLCExecutionOptionsProfiling@4$MLCExecutionOptionsSkipWritingInputDataToDevice@1$MLCExecutionOptionsSynchronous@2$MLCGradientClippingTypeByGlobalNorm@2$MLCGradientClippingTypeByNorm@1$MLCGradientClippingTypeByValue@0$MLCGraphCompilationOptionsComputeAllGradients@8$MLCGraphCompilationOptionsDebugLayers@1$MLCGraphCompilationOptionsDisableLayerFusion@2$MLCGraphCompilationOptionsLinkGraphs@4$MLCGraphCompilationOptionsNone@0$MLCLSTMResultModeOutput@0$MLCLSTMResultModeOutputAndStates@1$MLCLossTypeCategoricalCrossEntropy@4$MLCLossTypeCosineDistance@7$MLCLossTypeHinge@5$MLCLossTypeHuber@6$MLCLossTypeLog@8$MLCLossTypeMeanAbsoluteError@0$MLCLossTypeMeanSquaredError@1$MLCLossTypeSigmoidCrossEntropy@3$MLCLossTypeSoftmaxCrossEntropy@2$MLCPaddingPolicySame@0$MLCPaddingPolicyUsePaddingSize@2$MLCPaddingPolicyValid@1$MLCPaddingTypeConstant@3$MLCPaddingTypeReflect@1$MLCPaddingTypeSymmetric@2$MLCPaddingTypeZero@0$MLCPoolingTypeAverage@2$MLCPoolingTypeL2Norm@3$MLCPoolingTypeMax@1$MLCRandomInitializerTypeGlorotUniform@2$MLCRandomInitializerTypeInvalid@0$MLCRandomInitializerTypeUniform@1$MLCRandomInitializerTypeXavier@3$MLCReductionTypeAll@9$MLCReductionTypeAny@8$MLCReductionTypeArgMax@5$MLCReductionTypeArgMin@6$MLCReductionTypeL1Norm@7$MLCReductionTypeMax@3$MLCReductionTypeMean@2$MLCReductionTypeMin@4$MLCReductionTypeNone@0$MLCReductionTypeSum@1$MLCRegularizationTypeL1@1$MLCRegularizationTypeL2@2$MLCRegularizationTypeNone@0$MLCSampleModeLinear@1$MLCSampleModeNearest@0$MLCSoftmaxOperationLogSoftmax@1$MLCSoftmaxOperationSoftmax@0$"""
misc.update(
    {
        "MLCSampleMode": NewType("MLCSampleMode", int),
        "MLCArithmeticOperation": NewType("MLCArithmeticOperation", int),
        "MLCExecutionOptions": NewType("MLCExecutionOptions", int),
        "MLCReductionType": NewType("MLCReductionType", int),
        "MLCComparisonOperation": NewType("MLCComparisonOperation", int),
        "MLCGradientClippingType": NewType("MLCGradientClippingType", int),
        "MLCRegularizationType": NewType("MLCRegularizationType", int),
        "MLCDeviceType": NewType("MLCDeviceType", int),
        "MLCLossType": NewType("MLCLossType", int),
        "MLCPoolingType": NewType("MLCPoolingType", int),
        "MLCConvolutionType": NewType("MLCConvolutionType", int),
        "MLCPaddingPolicy": NewType("MLCPaddingPolicy", int),
        "MLCRandomInitializerType": NewType("MLCRandomInitializerType", int),
        "MLCLSTMResultMode": NewType("MLCLSTMResultMode", int),
        "MLCDataType": NewType("MLCDataType", int),
        "MLCActivationType": NewType("MLCActivationType", int),
        "MLCSoftmaxOperation": NewType("MLCSoftmaxOperation", int),
        "MLCPaddingType": NewType("MLCPaddingType", int),
        "MLCGraphCompilationOptions": NewType("MLCGraphCompilationOptions", int),
    }
)
misc.update({})
misc.update({})
functions = {
    "MLCPaddingTypeDebugDescription": (b"@i",),
    "MLCReductionTypeDebugDescription": (b"@i",),
    "MLCLossTypeDebugDescription": (b"@i",),
    "MLCGradientClippingTypeDebugDescription": (b"@i",),
    "MLCComparisonOperationDebugDescription": (b"@i",),
    "MLCLSTMResultModeDebugDescription": (b"@Q",),
    "MLCPoolingTypeDebugDescription": (b"@i",),
    "MLCActivationTypeDebugDescription": (b"@i",),
    "MLCPaddingPolicyDebugDescription": (b"@i",),
    "MLCConvolutionTypeDebugDescription": (b"@i",),
    "MLCSoftmaxOperationDebugDescription": (b"@i",),
    "MLCArithmeticOperationDebugDescription": (b"@i",),
    "MLCSampleModeDebugDescription": (b"@i",),
}
r = objc.registerMetaDataForSelector
objc._updatingMetadata(True)
try:
    r(
        b"MLCAdamOptimizer",
        b"optimizerWithDescriptor:beta1:beta2:epsilon:usesAMSGrad:timeStep:",
        {"arguments": {6: {"type": b"Z"}}},
    )
    r(b"MLCAdamOptimizer", b"usesAMSGrad", {"retval": {"type": b"Z"}})
    r(
        b"MLCAdamWOptimizer",
        b"optimizerWithDescriptor:beta1:beta2:epsilon:usesAMSGrad:timeStep:",
        {"arguments": {6: {"type": b"Z"}}},
    )
    r(b"MLCAdamWOptimizer", b"usesAMSGrad", {"retval": {"type": b"Z"}})
    r(
        b"MLCConvolutionDescriptor",
        b"isConvolutionTranspose",
        {"retval": {"type": b"Z"}},
    )
    r(
        b"MLCConvolutionDescriptor",
        b"usesDepthwiseConvolution",
        {"retval": {"type": b"Z"}},
    )
    r(
        b"MLCDevice",
        b"deviceWithType:selectsMultipleComputeDevices:",
        {"arguments": {3: {"type": b"Z"}}},
    )
    r(
        b"MLCEmbeddingDescriptor",
        b"descriptorWithEmbeddingCount:embeddingDimension:paddingIndex:maximumNorm:pNorm:scalesGradientByFrequency:",
        {"arguments": {7: {"type": b"Z"}}},
    )
    r(
        b"MLCEmbeddingDescriptor",
        b"scalesGradientByFrequency",
        {"retval": {"type": b"Z"}},
    )
    r(
        b"MLCGraph",
        b"bindAndWriteData:forInputs:toDevice:batchSize:synchronous:",
        {"retval": {"type": b"Z"}, "arguments": {6: {"type": b"Z"}}},
    )
    r(
        b"MLCGraph",
        b"bindAndWriteData:forInputs:toDevice:synchronous:",
        {"retval": {"type": "Z"}, "arguments": {5: {"type": "Z"}}},
    )
    r(
        b"MLCGraph",
        b"nodeWithLayer:sources:disableUpdate:",
        {"arguments": {4: {"type": b"Z"}}},
    )
    r(b"MLCInferenceGraph", b"addInputs:", {"retval": {"type": b"Z"}})
    r(
        b"MLCInferenceGraph",
        b"addInputs:lossLabels:lossLabelWeights:",
        {"retval": {"type": b"Z"}},
    )
    r(b"MLCInferenceGraph", b"addOutputs:", {"retval": {"type": b"Z"}})
    r(b"MLCInferenceGraph", b"compileWithOptions:device:", {"retval": {"type": b"Z"}})
    r(
        b"MLCInferenceGraph",
        b"compileWithOptions:device:inputTensors:inputTensorsData:",
        {"retval": {"type": "Z"}},
    )
    r(
        b"MLCInferenceGraph",
        b"executeWithInputsData:batchSize:options:completionHandler:",
        {
            "retval": {"type": b"Z"},
            "arguments": {
                5: {
                    "callable": {
                        "retval": {"type": b"v"},
                        "arguments": {
                            0: {"type": b"^v"},
                            1: {"type": b"@"},
                            2: {"type": b"@"},
                            3: {"type": b"d"},
                        },
                    }
                }
            },
        },
    )
    r(
        b"MLCInferenceGraph",
        b"executeWithInputsData:lossLabelsData:lossLabelWeightsData:batchSize:options:completionHandler:",
        {
            "retval": {"type": b"Z"},
            "arguments": {
                7: {
                    "callable": {
                        "retval": {"type": b"v"},
                        "arguments": {
                            0: {"type": b"^v"},
                            1: {"type": b"@"},
                            2: {"type": b"@"},
                            3: {"type": b"d"},
                        },
                    }
                }
            },
        },
    )
    r(
        b"MLCInferenceGraph",
        b"executeWithInputsData:lossLabelsData:lossLabelWeightsData:outputsData:batchSize:options:completionHandler:",
        {
            "retval": {"type": b"Z"},
            "arguments": {
                8: {
                    "callable": {
                        "retval": {"type": b"v"},
                        "arguments": {
                            0: {"type": b"^v"},
                            1: {"type": b"@"},
                            2: {"type": b"@"},
                            3: {"type": b"d"},
                        },
                    }
                }
            },
        },
    )
    r(
        b"MLCInferenceGraph",
        b"executeWithInputsData:outputsData:batchSize:options:completionHandler:",
        {
            "retval": {"type": b"Z"},
            "arguments": {
                6: {
                    "callable": {
                        "retval": {"type": b"v"},
                        "arguments": {
                            0: {"type": b"^v"},
                            1: {"type": b"@"},
                            2: {"type": b"@"},
                            3: {"type": b"d"},
                        },
                    }
                }
            },
        },
    )
    r(b"MLCInferenceGraph", b"linkWithGraphs:", {"retval": {"type": b"Z"}})
    r(b"MLCLSTMDescriptor", b"batchFirst", {"retval": {"type": b"Z"}})
    r(
        b"MLCLSTMDescriptor",
        b"descriptorWithInputSize:hiddenSize:layerCount:usesBiases:batchFirst:isBidirectional:dropout:",
        {"arguments": {5: {"type": b"Z"}, 6: {"type": b"Z"}, 7: {"type": b"Z"}}},
    )
    r(
        b"MLCLSTMDescriptor",
        b"descriptorWithInputSize:hiddenSize:layerCount:usesBiases:batchFirst:isBidirectional:returnsSequences:dropout:",
        {
            "arguments": {
                5: {"type": b"Z"},
                6: {"type": b"Z"},
                7: {"type": b"Z"},
                8: {"type": b"Z"},
            }
        },
    )
    r(
        b"MLCLSTMDescriptor",
        b"descriptorWithInputSize:hiddenSize:layerCount:usesBiases:batchFirst:isBidirectional:returnsSequences:dropout:resultMode:",
        {
            "arguments": {
                5: {"type": "Z"},
                6: {"type": "Z"},
                7: {"type": "Z"},
                8: {"type": "Z"},
            }
        },
    )
    r(
        b"MLCLSTMDescriptor",
        b"descriptorWithInputSize:hiddenSize:layerCount:usesBiases:isBidirectional:dropout:",
        {"arguments": {5: {"type": b"Z"}, 6: {"type": b"Z"}}},
    )
    r(b"MLCLSTMDescriptor", b"isBidirectional", {"retval": {"type": b"Z"}})
    r(b"MLCLSTMDescriptor", b"returnsSequences", {"retval": {"type": b"Z"}})
    r(b"MLCLSTMDescriptor", b"usesBiases", {"retval": {"type": b"Z"}})
    r(b"MLCLayer", b"isDebuggingEnabled", {"retval": {"type": b"Z"}})
    r(b"MLCLayer", b"setIsDebuggingEnabled:", {"arguments": {2: {"type": b"Z"}}})
    r(b"MLCLayer", b"supportsDataType:onDevice:", {"retval": {"type": "Z"}})
    r(
        b"MLCMatMulDescriptor",
        b"descriptorWithAlpha:transposesX:transposesY:",
        {"arguments": {3: {"type": b"Z"}, 4: {"type": b"Z"}}},
    )
    r(b"MLCMatMulDescriptor", b"transposesX", {"retval": {"type": b"Z"}})
    r(b"MLCMatMulDescriptor", b"transposesY", {"retval": {"type": b"Z"}})
    r(
        b"MLCMultiheadAttentionDescriptor",
        b"addsZeroAttention",
        {"retval": {"type": b"Z"}},
    )
    r(
        b"MLCMultiheadAttentionDescriptor",
        b"descriptorWithModelDimension:keyDimension:valueDimension:headCount:dropout:hasBiases:hasAttentionBiases:addsZeroAttention:",
        {"arguments": {7: {"type": b"Z"}, 8: {"type": b"Z"}, 9: {"type": b"Z"}}},
    )
    r(
        b"MLCMultiheadAttentionDescriptor",
        b"hasAttentionBiases",
        {"retval": {"type": b"Z"}},
    )
    r(b"MLCMultiheadAttentionDescriptor", b"hasBiases", {"retval": {"type": b"Z"}})
    r(b"MLCOptimizer", b"appliesGradientClipping", {"retval": {"type": b"Z"}})
    r(
        b"MLCOptimizer",
        b"setAppliesGradientClipping:",
        {"arguments": {2: {"type": b"Z"}}},
    )
    r(b"MLCOptimizerDescriptor", b"appliesGradientClipping", {"retval": {"type": b"Z"}})
    r(
        b"MLCOptimizerDescriptor",
        b"descriptorWithLearningRate:gradientRescale:appliesGradientClipping:gradientClipMax:gradientClipMin:regularizationType:regularizationScale:",
        {"arguments": {4: {"type": b"Z"}}},
    )
    r(
        b"MLCOptimizerDescriptor",
        b"descriptorWithLearningRate:gradientRescale:appliesGradientClipping:gradientClippingType:gradientClipMax:gradientClipMin:maximumClippingNorm:customGlobalNorm:regularizationType:regularizationScale:",
        {"arguments": {4: {"type": b"Z"}}},
    )
    r(
        b"MLCPoolingDescriptor",
        b"averagePoolingDescriptorWithKernelSizes:strides:dilationRates:paddingPolicy:paddingSizes:countIncludesPadding:",
        {"arguments": {7: {"type": b"Z"}}},
    )
    r(
        b"MLCPoolingDescriptor",
        b"averagePoolingDescriptorWithKernelSizes:strides:paddingPolicy:paddingSizes:countIncludesPadding:",
        {"arguments": {6: {"type": b"Z"}}},
    )
    r(b"MLCPoolingDescriptor", b"countIncludesPadding", {"retval": {"type": b"Z"}})
    r(b"MLCRMSPropOptimizer", b"isCentered", {"retval": {"type": b"Z"}})
    r(
        b"MLCRMSPropOptimizer",
        b"optimizerWithDescriptor:momentumScale:alpha:epsilon:isCentered:",
        {"arguments": {6: {"type": b"Z"}}},
    )
    r(
        b"MLCSGDOptimizer",
        b"optimizerWithDescriptor:momentumScale:usesNesterovMomentum:",
        {"arguments": {4: {"type": "Z"}}},
    )
    r(b"MLCSGDOptimizer", b"usesNesterovMomentum", {"retval": {"type": "Z"}})
    r(b"MLCTensor", b"bindAndWriteData:toDevice:", {"retval": {"type": b"Z"}})
    r(b"MLCTensor", b"bindOptimizerData:deviceData:", {"retval": {"type": "Z"}})
    r(
        b"MLCTensor",
        b"copyDataFromDeviceMemoryToBytes:length:synchronizeWithDevice:",
        {"retval": {"type": b"Z"}, "arguments": {4: {"type": b"Z"}}},
    )
    r(b"MLCTensor", b"hasValidNumerics", {"retval": {"type": b"Z"}})
    r(b"MLCTensor", b"synchronizeData", {"retval": {"type": b"Z"}})
    r(b"MLCTensor", b"synchronizeOptimizerData", {"retval": {"type": "Z"}})
    r(
        b"MLCTensor",
        b"tensorWithSequenceLengths:sortedSequences:featureChannelCount:batchSize:data:",
        {"arguments": {3: {"type": b"Z"}}},
    )
    r(
        b"MLCTensor",
        b"tensorWithSequenceLengths:sortedSequences:featureChannelCount:batchSize:randomInitializerType:",
        {"arguments": {3: {"type": b"Z"}}},
    )
    r(b"MLCTensorData", b"bytes", {"retval": {"c_array_of_variable_size": True}})
    r(
        b"MLCTensorData",
        b"dataWithBytesNoCopy:length:",
        {"arguments": {2: {"type_modifier": b"n", "c_array_length_in_arg": 3}}},
    )
    r(
        b"MLCTensorData",
        b"dataWithBytesNoCopy:length:deallocator:",
        {
            "arguments": {
                2: {"type_modifier": b"n", "c_array_length_in_arg": 3},
                4: {
                    "callable": {
                        "retval": {"type": b"v"},
                        "arguments": {
                            0: {"type": b"^v"},
                            1: {"type": b"n^v", "c_array_length_in_arg": 2},
                            2: {"type": b"Q"},
                        },
                    }
                },
            }
        },
    )
    r(
        b"MLCTensorData",
        b"dataWithImmutableBytesNoCopy:length:",
        {"arguments": {2: {"type_modifier": b"n", "c_array_length_in_arg": 3}}},
    )
    r(
        b"MLCTensorDescriptor",
        b"descriptorWithShape:sequenceLengths:sortedSequences:dataType:",
        {"arguments": {4: {"type": b"Z"}}},
    )
    r(b"MLCTensorDescriptor", b"sortedSequences", {"retval": {"type": b"Z"}})
    r(b"MLCTensorParameter", b"isUpdatable", {"retval": {"type": b"Z"}})
    r(b"MLCTensorParameter", b"setIsUpdatable:", {"arguments": {2: {"type": b"Z"}}})
    r(b"MLCTrainingGraph", b"addInputs:lossLabels:", {"retval": {"type": b"Z"}})
    r(
        b"MLCTrainingGraph",
        b"addInputs:lossLabels:lossLabelWeights:",
        {"retval": {"type": b"Z"}},
    )
    r(b"MLCTrainingGraph", b"addOutputs:", {"retval": {"type": b"Z"}})
    r(
        b"MLCTrainingGraph",
        b"bindOptimizerData:deviceData:withTensor:",
        {"retval": {"type": "Z"}},
    )
    r(b"MLCTrainingGraph", b"compileOptimizer:", {"retval": {"type": b"Z"}})
    r(b"MLCTrainingGraph", b"compileWithOptions:device:", {"retval": {"type": b"Z"}})
    r(
        b"MLCTrainingGraph",
        b"compileWithOptions:device:inputTensors:inputTensorsData:",
        {"retval": {"type": "Z"}},
    )
    r(
        b"MLCTrainingGraph",
        b"executeForwardWithBatchSize:options:completionHandler:",
        {
            "retval": {"type": b"Z"},
            "arguments": {
                4: {
                    "callable": {
                        "retval": {"type": b"v"},
                        "arguments": {
                            0: {"type": b"^v"},
                            1: {"type": b"@"},
                            2: {"type": b"@"},
                            3: {"type": b"d"},
                        },
                    }
                }
            },
        },
    )
    r(
        b"MLCTrainingGraph",
        b"executeForwardWithBatchSize:options:outputsData:completionHandler:",
        {
            "retval": {"type": b"Z"},
            "arguments": {
                5: {
                    "callable": {
                        "retval": {"type": b"v"},
                        "arguments": {
                            0: {"type": b"^v"},
                            1: {"type": b"@"},
                            2: {"type": b"@"},
                            3: {"type": b"d"},
                        },
                    }
                }
            },
        },
    )
    r(
        b"MLCTrainingGraph",
        b"executeGradientWithBatchSize:options:completionHandler:",
        {
            "retval": {"type": b"Z"},
            "arguments": {
                4: {
                    "callable": {
                        "retval": {"type": b"v"},
                        "arguments": {
                            0: {"type": b"^v"},
                            1: {"type": b"@"},
                            2: {"type": b"@"},
                            3: {"type": b"d"},
                        },
                    }
                }
            },
        },
    )
    r(
        b"MLCTrainingGraph",
        b"executeGradientWithBatchSize:options:outputsData:completionHandler:",
        {
            "retval": {"type": b"Z"},
            "arguments": {
                5: {
                    "callable": {
                        "retval": {"type": b"v"},
                        "arguments": {
                            0: {"type": b"^v"},
                            1: {"type": b"@"},
                            2: {"type": b"@"},
                            3: {"type": b"d"},
                        },
                    }
                }
            },
        },
    )
    r(
        b"MLCTrainingGraph",
        b"executeOptimizerUpdateWithOptions:completionHandler:",
        {
            "retval": {"type": b"Z"},
            "arguments": {
                3: {
                    "callable": {
                        "retval": {"type": b"v"},
                        "arguments": {
                            0: {"type": b"^v"},
                            1: {"type": b"@"},
                            2: {"type": b"@"},
                            3: {"type": b"d"},
                        },
                    }
                }
            },
        },
    )
    r(
        b"MLCTrainingGraph",
        b"executeWithInputsData:lossLabelsData:lossLabelWeightsData:batchSize:options:completionHandler:",
        {
            "retval": {"type": b"Z"},
            "arguments": {
                7: {
                    "callable": {
                        "retval": {"type": b"v"},
                        "arguments": {
                            0: {"type": b"^v"},
                            1: {"type": b"@"},
                            2: {"type": b"@"},
                            3: {"type": b"d"},
                        },
                    }
                }
            },
        },
    )
    r(
        b"MLCTrainingGraph",
        b"executeWithInputsData:lossLabelsData:lossLabelWeightsData:outputsData:batchSize:options:completionHandler:",
        {
            "retval": {"type": b"Z"},
            "arguments": {
                8: {
                    "callable": {
                        "retval": {"type": b"v"},
                        "arguments": {
                            0: {"type": b"^v"},
                            1: {"type": b"@"},
                            2: {"type": b"@"},
                            3: {"type": b"d"},
                        },
                    }
                }
            },
        },
    )
    r(b"MLCTrainingGraph", b"linkWithGraphs:", {"retval": {"type": b"Z"}})
    r(b"MLCTrainingGraph", b"setTrainingTensorParameters:", {"retval": {"type": b"Z"}})
    r(b"MLCTrainingGraph", b"stopGradientForTensors:", {"retval": {"type": b"Z"}})
    r(b"MLCUpsampleLayer", b"alignsCorners", {"retval": {"type": b"Z"}})
    r(
        b"MLCUpsampleLayer",
        b"layerWithShape:sampleMode:alignsCorners:",
        {"arguments": {4: {"type": b"Z"}}},
    )
    r(
        b"MLCYOLOLossDescriptor",
        b"setShouldRescore:",
        {"arguments": {2: {"type": b"Z"}}},
    )
    r(b"MLCYOLOLossDescriptor", b"shouldRescore", {"retval": {"type": b"Z"}})
finally:
    objc._updatingMetadata(False)

objc.registerNewKeywordsFromSelector("MLCActivationDescriptor", b"init")
objc.registerNewKeywordsFromSelector("MLCEmbeddingDescriptor", b"init")
objc.registerNewKeywordsFromSelector("MLCInferenceGraph", b"init")
objc.registerNewKeywordsFromSelector("MLCLSTMDescriptor", b"init")
objc.registerNewKeywordsFromSelector("MLCLayer", b"init")
objc.registerNewKeywordsFromSelector("MLCLossDescriptor", b"init")
objc.registerNewKeywordsFromSelector("MLCMatMulDescriptor", b"init")
objc.registerNewKeywordsFromSelector("MLCMultiheadAttentionDescriptor", b"init")
objc.registerNewKeywordsFromSelector("MLCOptimizer", b"init")
objc.registerNewKeywordsFromSelector("MLCPoolingDescriptor", b"init")
objc.registerNewKeywordsFromSelector("MLCTensor", b"init")
objc.registerNewKeywordsFromSelector("MLCTensorData", b"init")
objc.registerNewKeywordsFromSelector("MLCTensorDescriptor", b"init")
objc.registerNewKeywordsFromSelector("MLCTensorParameter", b"init")
objc.registerNewKeywordsFromSelector("MLCYOLOLossDescriptor", b"init")

objc.registerNewKeywords("MLCActivationDescriptor", ("type",), "descriptorWithType_")
objc.registerNewKeywords(
    "MLCActivationDescriptor", ("type", "a"), "descriptorWithType_a_"
)
objc.registerNewKeywords(
    "MLCActivationDescriptor", ("type", "a", "b"), "descriptorWithType_a_b_"
)
objc.registerNewKeywords(
    "MLCActivationDescriptor", ("type", "a", "b", "c"), "descriptorWithType_a_b_c_"
)
objc.registerNewKeywords("MLCActivationLayer", ("a",), "celuLayerWithA_")
objc.registerNewKeywords(
    "MLCActivationLayer", ("minValue", "maxValue"), "clampLayerWithMinValue_maxValue_"
)
objc.registerNewKeywords("MLCActivationLayer", ("a",), "eluLayerWithA_")
objc.registerNewKeywords("MLCActivationLayer", ("a",), "hardShrinkLayerWithA_")
objc.registerNewKeywords("MLCActivationLayer", ("descriptor",), "layerWithDescriptor_")
objc.registerNewKeywords(
    "MLCActivationLayer", ("negativeSlope",), "leakyReLULayerWithNegativeSlope_"
)
objc.registerNewKeywords(
    "MLCActivationLayer", ("scale", "bias"), "linearLayerWithScale_bias_"
)
objc.registerNewKeywords("MLCActivationLayer", ("a", "b"), "relunLayerWithA_b_")
objc.registerNewKeywords("MLCActivationLayer", ("beta",), "softPlusLayerWithBeta_")
objc.registerNewKeywords("MLCActivationLayer", ("a",), "softShrinkLayerWithA_")
objc.registerNewKeywords(
    "MLCActivationLayer",
    ("threshold", "replacement"),
    "thresholdLayerWithThreshold_replacement_",
)
objc.registerNewKeywords(
    "MLCAdamOptimizer", ("descriptor",), "optimizerWithDescriptor_"
)
objc.registerNewKeywords(
    "MLCAdamOptimizer",
    ("descriptor", "beta1", "beta2", "epsilon", "timeStep"),
    "optimizerWithDescriptor_beta1_beta2_epsilon_timeStep_",
)
objc.registerNewKeywords(
    "MLCAdamOptimizer",
    ("descriptor", "beta1", "beta2", "epsilon", "usesAMSGrad", "timeStep"),
    "optimizerWithDescriptor_beta1_beta2_epsilon_usesAMSGrad_timeStep_",
)
objc.registerNewKeywords(
    "MLCAdamWOptimizer", ("descriptor",), "optimizerWithDescriptor_"
)
objc.registerNewKeywords(
    "MLCAdamWOptimizer",
    ("descriptor", "beta1", "beta2", "epsilon", "usesAMSGrad", "timeStep"),
    "optimizerWithDescriptor_beta1_beta2_epsilon_usesAMSGrad_timeStep_",
)
objc.registerNewKeywords("MLCArithmeticLayer", ("operation",), "layerWithOperation_")
objc.registerNewKeywords(
    "MLCBatchNormalizationLayer",
    ("featureChannelCount", "mean", "variance", "beta", "gamma", "varianceEpsilon"),
    "layerWithFeatureChannelCount_mean_variance_beta_gamma_varianceEpsilon_",
)
objc.registerNewKeywords(
    "MLCBatchNormalizationLayer",
    (
        "featureChannelCount",
        "mean",
        "variance",
        "beta",
        "gamma",
        "varianceEpsilon",
        "momentum",
    ),
    "layerWithFeatureChannelCount_mean_variance_beta_gamma_varianceEpsilon_momentum_",
)
objc.registerNewKeywords("MLCComparisonLayer", ("operation",), "layerWithOperation_")
objc.registerNewKeywords("MLCConcatenationLayer", ("dimension",), "layerWithDimension_")
objc.registerNewKeywords(
    "MLCConvolutionDescriptor",
    (
        "kernelSizes",
        "inputFeatureChannelCount",
        "outputFeatureChannelCount",
        "groupCount",
        "strides",
        "dilationRates",
        "paddingPolicy",
        "paddingSizes",
    ),
    "convolutionTransposeDescriptorWithKernelSizes_inputFeatureChannelCount_outputFeatureChannelCount_groupCount_strides_dilationRates_paddingPolicy_paddingSizes_",
)
objc.registerNewKeywords(
    "MLCConvolutionDescriptor",
    (
        "kernelSizes",
        "inputFeatureChannelCount",
        "outputFeatureChannelCount",
        "strides",
        "paddingPolicy",
        "paddingSizes",
    ),
    "convolutionTransposeDescriptorWithKernelSizes_inputFeatureChannelCount_outputFeatureChannelCount_strides_paddingPolicy_paddingSizes_",
)
objc.registerNewKeywords(
    "MLCConvolutionDescriptor",
    (
        "kernelWidth",
        "kernelHeight",
        "inputFeatureChannelCount",
        "outputFeatureChannelCount",
    ),
    "convolutionTransposeDescriptorWithKernelWidth_kernelHeight_inputFeatureChannelCount_outputFeatureChannelCount_",
)
objc.registerNewKeywords(
    "MLCConvolutionDescriptor",
    (
        "kernelSizes",
        "inputFeatureChannelCount",
        "channelMultiplier",
        "strides",
        "dilationRates",
        "paddingPolicy",
        "paddingSizes",
    ),
    "depthwiseConvolutionDescriptorWithKernelSizes_inputFeatureChannelCount_channelMultiplier_strides_dilationRates_paddingPolicy_paddingSizes_",
)
objc.registerNewKeywords(
    "MLCConvolutionDescriptor",
    (
        "kernelSizes",
        "inputFeatureChannelCount",
        "channelMultiplier",
        "strides",
        "paddingPolicy",
        "paddingSizes",
    ),
    "depthwiseConvolutionDescriptorWithKernelSizes_inputFeatureChannelCount_channelMultiplier_strides_paddingPolicy_paddingSizes_",
)
objc.registerNewKeywords(
    "MLCConvolutionDescriptor",
    ("kernelWidth", "kernelHeight", "inputFeatureChannelCount", "channelMultiplier"),
    "depthwiseConvolutionDescriptorWithKernelWidth_kernelHeight_inputFeatureChannelCount_channelMultiplier_",
)
objc.registerNewKeywords(
    "MLCConvolutionDescriptor",
    (
        "kernelSizes",
        "inputFeatureChannelCount",
        "outputFeatureChannelCount",
        "groupCount",
        "strides",
        "dilationRates",
        "paddingPolicy",
        "paddingSizes",
    ),
    "descriptorWithKernelSizes_inputFeatureChannelCount_outputFeatureChannelCount_groupCount_strides_dilationRates_paddingPolicy_paddingSizes_",
)
objc.registerNewKeywords(
    "MLCConvolutionDescriptor",
    (
        "kernelSizes",
        "inputFeatureChannelCount",
        "outputFeatureChannelCount",
        "strides",
        "paddingPolicy",
        "paddingSizes",
    ),
    "descriptorWithKernelSizes_inputFeatureChannelCount_outputFeatureChannelCount_strides_paddingPolicy_paddingSizes_",
)
objc.registerNewKeywords(
    "MLCConvolutionDescriptor",
    (
        "kernelWidth",
        "kernelHeight",
        "inputFeatureChannelCount",
        "outputFeatureChannelCount",
    ),
    "descriptorWithKernelWidth_kernelHeight_inputFeatureChannelCount_outputFeatureChannelCount_",
)
objc.registerNewKeywords(
    "MLCConvolutionDescriptor",
    (
        "type",
        "kernelSizes",
        "inputFeatureChannelCount",
        "outputFeatureChannelCount",
        "groupCount",
        "strides",
        "dilationRates",
        "paddingPolicy",
        "paddingSizes",
    ),
    "descriptorWithType_kernelSizes_inputFeatureChannelCount_outputFeatureChannelCount_groupCount_strides_dilationRates_paddingPolicy_paddingSizes_",
)
objc.registerNewKeywords(
    "MLCConvolutionLayer",
    ("weights", "biases", "descriptor"),
    "layerWithWeights_biases_descriptor_",
)
objc.registerNewKeywords("MLCDevice", ("GPUDevices",), "deviceWithGPUDevices_")
objc.registerNewKeywords("MLCDevice", ("type",), "deviceWithType_")
objc.registerNewKeywords(
    "MLCDevice",
    ("type", "selectsMultipleComputeDevices"),
    "deviceWithType_selectsMultipleComputeDevices_",
)
objc.registerNewKeywords("MLCDropoutLayer", ("rate", "seed"), "layerWithRate_seed_")
objc.registerNewKeywords(
    "MLCEmbeddingDescriptor",
    ("embeddingCount", "embeddingDimension"),
    "descriptorWithEmbeddingCount_embeddingDimension_",
)
objc.registerNewKeywords(
    "MLCEmbeddingDescriptor",
    (
        "embeddingCount",
        "embeddingDimension",
        "paddingIndex",
        "maximumNorm",
        "pNorm",
        "scalesGradientByFrequency",
    ),
    "descriptorWithEmbeddingCount_embeddingDimension_paddingIndex_maximumNorm_pNorm_scalesGradientByFrequency_",
)
objc.registerNewKeywords(
    "MLCEmbeddingLayer", ("descriptor", "weights"), "layerWithDescriptor_weights_"
)
objc.registerNewKeywords(
    "MLCFullyConnectedLayer",
    ("weights", "biases", "descriptor"),
    "layerWithWeights_biases_descriptor_",
)
objc.registerNewKeywords("MLCGatherLayer", ("dimension",), "layerWithDimension_")
objc.registerNewKeywords("MLCGramMatrixLayer", ("scale",), "layerWithScale_")
objc.registerNewKeywords(
    "MLCGroupNormalizationLayer",
    ("featureChannelCount", "groupCount", "beta", "gamma", "varianceEpsilon"),
    "layerWithFeatureChannelCount_groupCount_beta_gamma_varianceEpsilon_",
)
objc.registerNewKeywords(
    "MLCInferenceGraph", ("graphObjects",), "graphWithGraphObjects_"
)
objc.registerNewKeywords(
    "MLCInstanceNormalizationLayer",
    ("featureChannelCount", "beta", "gamma", "varianceEpsilon"),
    "layerWithFeatureChannelCount_beta_gamma_varianceEpsilon_",
)
objc.registerNewKeywords(
    "MLCInstanceNormalizationLayer",
    ("featureChannelCount", "beta", "gamma", "varianceEpsilon", "momentum"),
    "layerWithFeatureChannelCount_beta_gamma_varianceEpsilon_momentum_",
)
objc.registerNewKeywords(
    "MLCInstanceNormalizationLayer",
    (
        "featureChannelCount",
        "mean",
        "variance",
        "beta",
        "gamma",
        "varianceEpsilon",
        "momentum",
    ),
    "layerWithFeatureChannelCount_mean_variance_beta_gamma_varianceEpsilon_momentum_",
)
objc.registerNewKeywords(
    "MLCLSTMDescriptor",
    ("inputSize", "hiddenSize", "layerCount"),
    "descriptorWithInputSize_hiddenSize_layerCount_",
)
objc.registerNewKeywords(
    "MLCLSTMDescriptor",
    (
        "inputSize",
        "hiddenSize",
        "layerCount",
        "usesBiases",
        "batchFirst",
        "isBidirectional",
        "dropout",
    ),
    "descriptorWithInputSize_hiddenSize_layerCount_usesBiases_batchFirst_isBidirectional_dropout_",
)
objc.registerNewKeywords(
    "MLCLSTMDescriptor",
    (
        "inputSize",
        "hiddenSize",
        "layerCount",
        "usesBiases",
        "batchFirst",
        "isBidirectional",
        "returnsSequences",
        "dropout",
    ),
    "descriptorWithInputSize_hiddenSize_layerCount_usesBiases_batchFirst_isBidirectional_returnsSequences_dropout_",
)
objc.registerNewKeywords(
    "MLCLSTMDescriptor",
    (
        "inputSize",
        "hiddenSize",
        "layerCount",
        "usesBiases",
        "batchFirst",
        "isBidirectional",
        "returnsSequences",
        "dropout",
        "resultMode",
    ),
    "descriptorWithInputSize_hiddenSize_layerCount_usesBiases_batchFirst_isBidirectional_returnsSequences_dropout_resultMode_",
)
objc.registerNewKeywords(
    "MLCLSTMDescriptor",
    (
        "inputSize",
        "hiddenSize",
        "layerCount",
        "usesBiases",
        "isBidirectional",
        "dropout",
    ),
    "descriptorWithInputSize_hiddenSize_layerCount_usesBiases_isBidirectional_dropout_",
)
objc.registerNewKeywords(
    "MLCLSTMLayer",
    ("descriptor", "inputWeights", "hiddenWeights", "biases"),
    "layerWithDescriptor_inputWeights_hiddenWeights_biases_",
)
objc.registerNewKeywords(
    "MLCLSTMLayer",
    ("descriptor", "inputWeights", "hiddenWeights", "peepholeWeights", "biases"),
    "layerWithDescriptor_inputWeights_hiddenWeights_peepholeWeights_biases_",
)
objc.registerNewKeywords(
    "MLCLSTMLayer",
    (
        "descriptor",
        "inputWeights",
        "hiddenWeights",
        "peepholeWeights",
        "biases",
        "gateActivations",
        "outputResultActivation",
    ),
    "layerWithDescriptor_inputWeights_hiddenWeights_peepholeWeights_biases_gateActivations_outputResultActivation_",
)
objc.registerNewKeywords(
    "MLCLayerNormalizationLayer",
    ("normalizedShape", "beta", "gamma", "varianceEpsilon"),
    "layerWithNormalizedShape_beta_gamma_varianceEpsilon_",
)
objc.registerNewKeywords(
    "MLCLossDescriptor", ("type", "reductionType"), "descriptorWithType_reductionType_"
)
objc.registerNewKeywords(
    "MLCLossDescriptor",
    ("type", "reductionType", "weight"),
    "descriptorWithType_reductionType_weight_",
)
objc.registerNewKeywords(
    "MLCLossDescriptor",
    ("type", "reductionType", "weight", "labelSmoothing", "classCount"),
    "descriptorWithType_reductionType_weight_labelSmoothing_classCount_",
)
objc.registerNewKeywords(
    "MLCLossDescriptor",
    (
        "type",
        "reductionType",
        "weight",
        "labelSmoothing",
        "classCount",
        "epsilon",
        "delta",
    ),
    "descriptorWithType_reductionType_weight_labelSmoothing_classCount_epsilon_delta_",
)
objc.registerNewKeywords(
    "MLCLossLayer",
    ("reductionType", "labelSmoothing", "classCount", "weight"),
    "categoricalCrossEntropyLossWithReductionType_labelSmoothing_classCount_weight_",
)
objc.registerNewKeywords(
    "MLCLossLayer",
    ("reductionType", "labelSmoothing", "classCount", "weights"),
    "categoricalCrossEntropyLossWithReductionType_labelSmoothing_classCount_weights_",
)
objc.registerNewKeywords(
    "MLCLossLayer",
    ("reductionType", "weight"),
    "cosineDistanceLossWithReductionType_weight_",
)
objc.registerNewKeywords(
    "MLCLossLayer",
    ("reductionType", "weights"),
    "cosineDistanceLossWithReductionType_weights_",
)
objc.registerNewKeywords(
    "MLCLossLayer", ("reductionType", "weight"), "hingeLossWithReductionType_weight_"
)
objc.registerNewKeywords(
    "MLCLossLayer", ("reductionType", "weights"), "hingeLossWithReductionType_weights_"
)
objc.registerNewKeywords(
    "MLCLossLayer",
    ("reductionType", "delta", "weight"),
    "huberLossWithReductionType_delta_weight_",
)
objc.registerNewKeywords(
    "MLCLossLayer",
    ("reductionType", "delta", "weights"),
    "huberLossWithReductionType_delta_weights_",
)
objc.registerNewKeywords("MLCLossLayer", ("descriptor",), "layerWithDescriptor_")
objc.registerNewKeywords(
    "MLCLossLayer", ("descriptor", "weights"), "layerWithDescriptor_weights_"
)
objc.registerNewKeywords(
    "MLCLossLayer",
    ("reductionType", "epsilon", "weight"),
    "logLossWithReductionType_epsilon_weight_",
)
objc.registerNewKeywords(
    "MLCLossLayer",
    ("reductionType", "epsilon", "weights"),
    "logLossWithReductionType_epsilon_weights_",
)
objc.registerNewKeywords(
    "MLCLossLayer",
    ("reductionType", "weight"),
    "meanAbsoluteErrorLossWithReductionType_weight_",
)
objc.registerNewKeywords(
    "MLCLossLayer",
    ("reductionType", "weights"),
    "meanAbsoluteErrorLossWithReductionType_weights_",
)
objc.registerNewKeywords(
    "MLCLossLayer",
    ("reductionType", "weight"),
    "meanSquaredErrorLossWithReductionType_weight_",
)
objc.registerNewKeywords(
    "MLCLossLayer",
    ("reductionType", "weights"),
    "meanSquaredErrorLossWithReductionType_weights_",
)
objc.registerNewKeywords(
    "MLCLossLayer",
    ("reductionType", "labelSmoothing", "weight"),
    "sigmoidCrossEntropyLossWithReductionType_labelSmoothing_weight_",
)
objc.registerNewKeywords(
    "MLCLossLayer",
    ("reductionType", "labelSmoothing", "weights"),
    "sigmoidCrossEntropyLossWithReductionType_labelSmoothing_weights_",
)
objc.registerNewKeywords(
    "MLCLossLayer",
    ("reductionType", "labelSmoothing", "classCount", "weight"),
    "softmaxCrossEntropyLossWithReductionType_labelSmoothing_classCount_weight_",
)
objc.registerNewKeywords(
    "MLCLossLayer",
    ("reductionType", "labelSmoothing", "classCount", "weights"),
    "softmaxCrossEntropyLossWithReductionType_labelSmoothing_classCount_weights_",
)
objc.registerNewKeywords(
    "MLCMatMulDescriptor",
    ("alpha", "transposesX", "transposesY"),
    "descriptorWithAlpha_transposesX_transposesY_",
)
objc.registerNewKeywords("MLCMatMulLayer", ("descriptor",), "layerWithDescriptor_")
objc.registerNewKeywords(
    "MLCMultiheadAttentionDescriptor",
    ("modelDimension", "headCount"),
    "descriptorWithModelDimension_headCount_",
)
objc.registerNewKeywords(
    "MLCMultiheadAttentionDescriptor",
    (
        "modelDimension",
        "keyDimension",
        "valueDimension",
        "headCount",
        "dropout",
        "hasBiases",
        "hasAttentionBiases",
        "addsZeroAttention",
    ),
    "descriptorWithModelDimension_keyDimension_valueDimension_headCount_dropout_hasBiases_hasAttentionBiases_addsZeroAttention_",
)
objc.registerNewKeywords(
    "MLCMultiheadAttentionLayer",
    ("descriptor", "weights", "biases", "attentionBiases"),
    "layerWithDescriptor_weights_biases_attentionBiases_",
)
objc.registerNewKeywords(
    "MLCOptimizerDescriptor",
    (
        "learningRate",
        "gradientRescale",
        "appliesGradientClipping",
        "gradientClipMax",
        "gradientClipMin",
        "regularizationType",
        "regularizationScale",
    ),
    "descriptorWithLearningRate_gradientRescale_appliesGradientClipping_gradientClipMax_gradientClipMin_regularizationType_regularizationScale_",
)
objc.registerNewKeywords(
    "MLCOptimizerDescriptor",
    (
        "learningRate",
        "gradientRescale",
        "appliesGradientClipping",
        "gradientClippingType",
        "gradientClipMax",
        "gradientClipMin",
        "maximumClippingNorm",
        "customGlobalNorm",
        "regularizationType",
        "regularizationScale",
    ),
    "descriptorWithLearningRate_gradientRescale_appliesGradientClipping_gradientClippingType_gradientClipMax_gradientClipMin_maximumClippingNorm_customGlobalNorm_regularizationType_regularizationScale_",
)
objc.registerNewKeywords(
    "MLCOptimizerDescriptor",
    ("learningRate", "gradientRescale", "regularizationType", "regularizationScale"),
    "descriptorWithLearningRate_gradientRescale_regularizationType_regularizationScale_",
)
objc.registerNewKeywords(
    "MLCPaddingLayer",
    ("constantPadding", "constantValue"),
    "layerWithConstantPadding_constantValue_",
)
objc.registerNewKeywords(
    "MLCPaddingLayer", ("reflectionPadding",), "layerWithReflectionPadding_"
)
objc.registerNewKeywords(
    "MLCPaddingLayer", ("symmetricPadding",), "layerWithSymmetricPadding_"
)
objc.registerNewKeywords("MLCPaddingLayer", ("zeroPadding",), "layerWithZeroPadding_")
objc.registerNewKeywords(
    "MLCPoolingDescriptor",
    (
        "kernelSizes",
        "strides",
        "dilationRates",
        "paddingPolicy",
        "paddingSizes",
        "countIncludesPadding",
    ),
    "averagePoolingDescriptorWithKernelSizes_strides_dilationRates_paddingPolicy_paddingSizes_countIncludesPadding_",
)
objc.registerNewKeywords(
    "MLCPoolingDescriptor",
    ("kernelSizes", "strides", "paddingPolicy", "paddingSizes", "countIncludesPadding"),
    "averagePoolingDescriptorWithKernelSizes_strides_paddingPolicy_paddingSizes_countIncludesPadding_",
)
objc.registerNewKeywords(
    "MLCPoolingDescriptor",
    ("kernelSizes", "strides", "dilationRates", "paddingPolicy", "paddingSizes"),
    "l2NormPoolingDescriptorWithKernelSizes_strides_dilationRates_paddingPolicy_paddingSizes_",
)
objc.registerNewKeywords(
    "MLCPoolingDescriptor",
    ("kernelSizes", "strides", "paddingPolicy", "paddingSizes"),
    "l2NormPoolingDescriptorWithKernelSizes_strides_paddingPolicy_paddingSizes_",
)
objc.registerNewKeywords(
    "MLCPoolingDescriptor",
    ("kernelSizes", "strides", "dilationRates", "paddingPolicy", "paddingSizes"),
    "maxPoolingDescriptorWithKernelSizes_strides_dilationRates_paddingPolicy_paddingSizes_",
)
objc.registerNewKeywords(
    "MLCPoolingDescriptor",
    ("kernelSizes", "strides", "paddingPolicy", "paddingSizes"),
    "maxPoolingDescriptorWithKernelSizes_strides_paddingPolicy_paddingSizes_",
)
objc.registerNewKeywords(
    "MLCPoolingDescriptor",
    ("type", "kernelSize", "stride"),
    "poolingDescriptorWithType_kernelSize_stride_",
)
objc.registerNewKeywords("MLCPoolingLayer", ("descriptor",), "layerWithDescriptor_")
objc.registerNewKeywords(
    "MLCRMSPropOptimizer", ("descriptor",), "optimizerWithDescriptor_"
)
objc.registerNewKeywords(
    "MLCRMSPropOptimizer",
    ("descriptor", "momentumScale", "alpha", "epsilon", "isCentered"),
    "optimizerWithDescriptor_momentumScale_alpha_epsilon_isCentered_",
)
objc.registerNewKeywords(
    "MLCReductionLayer",
    ("reductionType", "dimension"),
    "layerWithReductionType_dimension_",
)
objc.registerNewKeywords(
    "MLCReductionLayer",
    ("reductionType", "dimensions"),
    "layerWithReductionType_dimensions_",
)
objc.registerNewKeywords("MLCReshapeLayer", ("shape",), "layerWithShape_")
objc.registerNewKeywords("MLCSGDOptimizer", ("descriptor",), "optimizerWithDescriptor_")
objc.registerNewKeywords(
    "MLCSGDOptimizer",
    ("descriptor", "momentumScale", "usesNesterovMomentum"),
    "optimizerWithDescriptor_momentumScale_usesNesterovMomentum_",
)
objc.registerNewKeywords(
    "MLCScatterLayer",
    ("dimension", "reductionType"),
    "layerWithDimension_reductionType_",
)
objc.registerNewKeywords(
    "MLCSliceLayer", ("start", "end", "stride"), "sliceLayerWithStart_end_stride_"
)
objc.registerNewKeywords("MLCSoftmaxLayer", ("operation",), "layerWithOperation_")
objc.registerNewKeywords(
    "MLCSoftmaxLayer", ("operation", "dimension"), "layerWithOperation_dimension_"
)
objc.registerNewKeywords(
    "MLCSplitLayer", ("splitCount", "dimension"), "layerWithSplitCount_dimension_"
)
objc.registerNewKeywords(
    "MLCSplitLayer",
    ("splitSectionLengths", "dimension"),
    "layerWithSplitSectionLengths_dimension_",
)
objc.registerNewKeywords("MLCTensor", ("descriptor",), "tensorWithDescriptor_")
objc.registerNewKeywords(
    "MLCTensor", ("descriptor", "data"), "tensorWithDescriptor_data_"
)
objc.registerNewKeywords(
    "MLCTensor", ("descriptor", "fillWithData"), "tensorWithDescriptor_fillWithData_"
)
objc.registerNewKeywords(
    "MLCTensor",
    ("descriptor", "randomInitializerType"),
    "tensorWithDescriptor_randomInitializerType_",
)
objc.registerNewKeywords(
    "MLCTensor",
    ("sequenceLength", "featureChannelCount", "batchSize"),
    "tensorWithSequenceLength_featureChannelCount_batchSize_",
)
objc.registerNewKeywords(
    "MLCTensor",
    ("sequenceLength", "featureChannelCount", "batchSize", "data"),
    "tensorWithSequenceLength_featureChannelCount_batchSize_data_",
)
objc.registerNewKeywords(
    "MLCTensor",
    ("sequenceLength", "featureChannelCount", "batchSize", "randomInitializerType"),
    "tensorWithSequenceLength_featureChannelCount_batchSize_randomInitializerType_",
)
objc.registerNewKeywords(
    "MLCTensor",
    ("sequenceLengths", "sortedSequences", "featureChannelCount", "batchSize", "data"),
    "tensorWithSequenceLengths_sortedSequences_featureChannelCount_batchSize_data_",
)
objc.registerNewKeywords(
    "MLCTensor",
    (
        "sequenceLengths",
        "sortedSequences",
        "featureChannelCount",
        "batchSize",
        "randomInitializerType",
    ),
    "tensorWithSequenceLengths_sortedSequences_featureChannelCount_batchSize_randomInitializerType_",
)
objc.registerNewKeywords("MLCTensor", ("shape",), "tensorWithShape_")
objc.registerNewKeywords(
    "MLCTensor", ("shape", "dataType"), "tensorWithShape_dataType_"
)
objc.registerNewKeywords(
    "MLCTensor", ("shape", "data", "dataType"), "tensorWithShape_data_dataType_"
)
objc.registerNewKeywords(
    "MLCTensor",
    ("shape", "fillWithData", "dataType"),
    "tensorWithShape_fillWithData_dataType_",
)
objc.registerNewKeywords(
    "MLCTensor",
    ("shape", "randomInitializerType"),
    "tensorWithShape_randomInitializerType_",
)
objc.registerNewKeywords(
    "MLCTensor",
    ("shape", "randomInitializerType", "dataType"),
    "tensorWithShape_randomInitializerType_dataType_",
)
objc.registerNewKeywords(
    "MLCTensor",
    ("width", "height", "featureChannelCount", "batchSize"),
    "tensorWithWidth_height_featureChannelCount_batchSize_",
)
objc.registerNewKeywords(
    "MLCTensor",
    ("width", "height", "featureChannelCount", "batchSize", "data"),
    "tensorWithWidth_height_featureChannelCount_batchSize_data_",
)
objc.registerNewKeywords(
    "MLCTensor",
    ("width", "height", "featureChannelCount", "batchSize", "data", "dataType"),
    "tensorWithWidth_height_featureChannelCount_batchSize_data_dataType_",
)
objc.registerNewKeywords(
    "MLCTensor",
    ("width", "height", "featureChannelCount", "batchSize", "fillWithData", "dataType"),
    "tensorWithWidth_height_featureChannelCount_batchSize_fillWithData_dataType_",
)
objc.registerNewKeywords(
    "MLCTensor",
    ("width", "height", "featureChannelCount", "batchSize", "randomInitializerType"),
    "tensorWithWidth_height_featureChannelCount_batchSize_randomInitializerType_",
)
objc.registerNewKeywords(
    "MLCTensorData", ("bytesNoCopy", "length"), "dataWithBytesNoCopy_length_"
)
objc.registerNewKeywords(
    "MLCTensorData",
    ("bytesNoCopy", "length", "deallocator"),
    "dataWithBytesNoCopy_length_deallocator_",
)
objc.registerNewKeywords(
    "MLCTensorData",
    ("immutableBytesNoCopy", "length"),
    "dataWithImmutableBytesNoCopy_length_",
)
objc.registerNewKeywords(
    "MLCTensorDescriptor",
    ("featureChannelCount", "dataType"),
    "convolutionBiasesDescriptorWithFeatureChannelCount_dataType_",
)
objc.registerNewKeywords(
    "MLCTensorDescriptor",
    ("inputFeatureChannelCount", "outputFeatureChannelCount", "dataType"),
    "convolutionWeightsDescriptorWithInputFeatureChannelCount_outputFeatureChannelCount_dataType_",
)
objc.registerNewKeywords(
    "MLCTensorDescriptor",
    (
        "width",
        "height",
        "inputFeatureChannelCount",
        "outputFeatureChannelCount",
        "dataType",
    ),
    "convolutionWeightsDescriptorWithWidth_height_inputFeatureChannelCount_outputFeatureChannelCount_dataType_",
)
objc.registerNewKeywords(
    "MLCTensorDescriptor", ("shape", "dataType"), "descriptorWithShape_dataType_"
)
objc.registerNewKeywords(
    "MLCTensorDescriptor",
    ("shape", "sequenceLengths", "sortedSequences", "dataType"),
    "descriptorWithShape_sequenceLengths_sortedSequences_dataType_",
)
objc.registerNewKeywords(
    "MLCTensorDescriptor",
    ("width", "height", "featureChannelCount", "batchSize"),
    "descriptorWithWidth_height_featureChannelCount_batchSize_",
)
objc.registerNewKeywords(
    "MLCTensorDescriptor",
    ("width", "height", "featureChannelCount", "batchSize", "dataType"),
    "descriptorWithWidth_height_featureChannelCount_batchSize_dataType_",
)
objc.registerNewKeywords("MLCTensorParameter", ("tensor",), "parameterWithTensor_")
objc.registerNewKeywords(
    "MLCTensorParameter",
    ("tensor", "optimizerData"),
    "parameterWithTensor_optimizerData_",
)
objc.registerNewKeywords(
    "MLCTrainingGraph",
    ("graphObjects", "lossLayer", "optimizer"),
    "graphWithGraphObjects_lossLayer_optimizer_",
)
objc.registerNewKeywords("MLCTransposeLayer", ("dimensions",), "layerWithDimensions_")
objc.registerNewKeywords("MLCUpsampleLayer", ("shape",), "layerWithShape_")
objc.registerNewKeywords(
    "MLCUpsampleLayer",
    ("shape", "sampleMode", "alignsCorners"),
    "layerWithShape_sampleMode_alignsCorners_",
)
objc.registerNewKeywords(
    "MLCYOLOLossDescriptor",
    ("anchorBoxes", "anchorBoxCount"),
    "descriptorWithAnchorBoxes_anchorBoxCount_",
)
objc.registerNewKeywords("MLCYOLOLossLayer", ("descriptor",), "layerWithDescriptor_")
expressions = {}

# END OF FILE
