Class ImageModelDistributionSettingsObjectDetection


  • public final class ImageModelDistributionSettingsObjectDetection
    extends ImageModelDistributionSettings
    Distribution expressions to sweep over values of model settings. <example> Some examples are: <code> ModelName = "choice('seresnext', 'resnest50')"; LearningRate = "uniform(0.001, 0.01)"; LayersToFreeze = "choice(0, 2)"; </code></example> For more details on how to compose distribution expressions please check the documentation: https://docs.microsoft.com/en-us/azure/machine-learning/how-to-tune-hyperparameters For more information on the available settings please visit the official documentation: https://docs.microsoft.com/en-us/azure/machine-learning/how-to-auto-train-image-models.
    • Constructor Detail

      • ImageModelDistributionSettingsObjectDetection

        public ImageModelDistributionSettingsObjectDetection()
    • Method Detail

      • boxDetectionsPerImage

        public String boxDetectionsPerImage()
        Get the boxDetectionsPerImage property: Maximum number of detections per image, for all classes. Must be a positive integer. Note: This settings is not supported for the 'yolov5' algorithm.
        Returns:
        the boxDetectionsPerImage value.
      • withBoxDetectionsPerImage

        public ImageModelDistributionSettingsObjectDetection withBoxDetectionsPerImage​(String boxDetectionsPerImage)
        Set the boxDetectionsPerImage property: Maximum number of detections per image, for all classes. Must be a positive integer. Note: This settings is not supported for the 'yolov5' algorithm.
        Parameters:
        boxDetectionsPerImage - the boxDetectionsPerImage value to set.
        Returns:
        the ImageModelDistributionSettingsObjectDetection object itself.
      • boxScoreThreshold

        public String boxScoreThreshold()
        Get the boxScoreThreshold property: During inference, only return proposals with a classification score greater than BoxScoreThreshold. Must be a float in the range[0, 1].
        Returns:
        the boxScoreThreshold value.
      • withBoxScoreThreshold

        public ImageModelDistributionSettingsObjectDetection withBoxScoreThreshold​(String boxScoreThreshold)
        Set the boxScoreThreshold property: During inference, only return proposals with a classification score greater than BoxScoreThreshold. Must be a float in the range[0, 1].
        Parameters:
        boxScoreThreshold - the boxScoreThreshold value to set.
        Returns:
        the ImageModelDistributionSettingsObjectDetection object itself.
      • imageSize

        public String imageSize()
        Get the imageSize property: Image size for train and validation. Must be a positive integer. Note: The training run may get into CUDA OOM if the size is too big. Note: This settings is only supported for the 'yolov5' algorithm.
        Returns:
        the imageSize value.
      • withImageSize

        public ImageModelDistributionSettingsObjectDetection withImageSize​(String imageSize)
        Set the imageSize property: Image size for train and validation. Must be a positive integer. Note: The training run may get into CUDA OOM if the size is too big. Note: This settings is only supported for the 'yolov5' algorithm.
        Parameters:
        imageSize - the imageSize value to set.
        Returns:
        the ImageModelDistributionSettingsObjectDetection object itself.
      • maxSize

        public String maxSize()
        Get the maxSize property: Maximum size of the image to be rescaled before feeding it to the backbone. Must be a positive integer. Note: training run may get into CUDA OOM if the size is too big. Note: This settings is not supported for the 'yolov5' algorithm.
        Returns:
        the maxSize value.
      • withMaxSize

        public ImageModelDistributionSettingsObjectDetection withMaxSize​(String maxSize)
        Set the maxSize property: Maximum size of the image to be rescaled before feeding it to the backbone. Must be a positive integer. Note: training run may get into CUDA OOM if the size is too big. Note: This settings is not supported for the 'yolov5' algorithm.
        Parameters:
        maxSize - the maxSize value to set.
        Returns:
        the ImageModelDistributionSettingsObjectDetection object itself.
      • minSize

        public String minSize()
        Get the minSize property: Minimum size of the image to be rescaled before feeding it to the backbone. Must be a positive integer. Note: training run may get into CUDA OOM if the size is too big. Note: This settings is not supported for the 'yolov5' algorithm.
        Returns:
        the minSize value.
      • withMinSize

        public ImageModelDistributionSettingsObjectDetection withMinSize​(String minSize)
        Set the minSize property: Minimum size of the image to be rescaled before feeding it to the backbone. Must be a positive integer. Note: training run may get into CUDA OOM if the size is too big. Note: This settings is not supported for the 'yolov5' algorithm.
        Parameters:
        minSize - the minSize value to set.
        Returns:
        the ImageModelDistributionSettingsObjectDetection object itself.
      • modelSize

        public String modelSize()
        Get the modelSize property: Model size. Must be 'small', 'medium', 'large', or 'xlarge'. Note: training run may get into CUDA OOM if the model size is too big. Note: This settings is only supported for the 'yolov5' algorithm.
        Returns:
        the modelSize value.
      • withModelSize

        public ImageModelDistributionSettingsObjectDetection withModelSize​(String modelSize)
        Set the modelSize property: Model size. Must be 'small', 'medium', 'large', or 'xlarge'. Note: training run may get into CUDA OOM if the model size is too big. Note: This settings is only supported for the 'yolov5' algorithm.
        Parameters:
        modelSize - the modelSize value to set.
        Returns:
        the ImageModelDistributionSettingsObjectDetection object itself.
      • multiScale

        public String multiScale()
        Get the multiScale property: Enable multi-scale image by varying image size by +/- 50%. Note: training run may get into CUDA OOM if no sufficient GPU memory. Note: This settings is only supported for the 'yolov5' algorithm.
        Returns:
        the multiScale value.
      • withMultiScale

        public ImageModelDistributionSettingsObjectDetection withMultiScale​(String multiScale)
        Set the multiScale property: Enable multi-scale image by varying image size by +/- 50%. Note: training run may get into CUDA OOM if no sufficient GPU memory. Note: This settings is only supported for the 'yolov5' algorithm.
        Parameters:
        multiScale - the multiScale value to set.
        Returns:
        the ImageModelDistributionSettingsObjectDetection object itself.
      • nmsIouThreshold

        public String nmsIouThreshold()
        Get the nmsIouThreshold property: IOU threshold used during inference in NMS post processing. Must be float in the range [0, 1].
        Returns:
        the nmsIouThreshold value.
      • withNmsIouThreshold

        public ImageModelDistributionSettingsObjectDetection withNmsIouThreshold​(String nmsIouThreshold)
        Set the nmsIouThreshold property: IOU threshold used during inference in NMS post processing. Must be float in the range [0, 1].
        Parameters:
        nmsIouThreshold - the nmsIouThreshold value to set.
        Returns:
        the ImageModelDistributionSettingsObjectDetection object itself.
      • tileGridSize

        public String tileGridSize()
        Get the tileGridSize property: The grid size to use for tiling each image. Note: TileGridSize must not be None to enable small object detection logic. A string containing two integers in mxn format. Note: This settings is not supported for the 'yolov5' algorithm.
        Returns:
        the tileGridSize value.
      • withTileGridSize

        public ImageModelDistributionSettingsObjectDetection withTileGridSize​(String tileGridSize)
        Set the tileGridSize property: The grid size to use for tiling each image. Note: TileGridSize must not be None to enable small object detection logic. A string containing two integers in mxn format. Note: This settings is not supported for the 'yolov5' algorithm.
        Parameters:
        tileGridSize - the tileGridSize value to set.
        Returns:
        the ImageModelDistributionSettingsObjectDetection object itself.
      • tileOverlapRatio

        public String tileOverlapRatio()
        Get the tileOverlapRatio property: Overlap ratio between adjacent tiles in each dimension. Must be float in the range [0, 1). Note: This settings is not supported for the 'yolov5' algorithm.
        Returns:
        the tileOverlapRatio value.
      • withTileOverlapRatio

        public ImageModelDistributionSettingsObjectDetection withTileOverlapRatio​(String tileOverlapRatio)
        Set the tileOverlapRatio property: Overlap ratio between adjacent tiles in each dimension. Must be float in the range [0, 1). Note: This settings is not supported for the 'yolov5' algorithm.
        Parameters:
        tileOverlapRatio - the tileOverlapRatio value to set.
        Returns:
        the ImageModelDistributionSettingsObjectDetection object itself.
      • tilePredictionsNmsThreshold

        public String tilePredictionsNmsThreshold()
        Get the tilePredictionsNmsThreshold property: The IOU threshold to use to perform NMS while merging predictions from tiles and image. Used in validation/ inference. Must be float in the range [0, 1]. Note: This settings is not supported for the 'yolov5' algorithm. NMS: Non-maximum suppression.
        Returns:
        the tilePredictionsNmsThreshold value.
      • withTilePredictionsNmsThreshold

        public ImageModelDistributionSettingsObjectDetection withTilePredictionsNmsThreshold​(String tilePredictionsNmsThreshold)
        Set the tilePredictionsNmsThreshold property: The IOU threshold to use to perform NMS while merging predictions from tiles and image. Used in validation/ inference. Must be float in the range [0, 1]. Note: This settings is not supported for the 'yolov5' algorithm. NMS: Non-maximum suppression.
        Parameters:
        tilePredictionsNmsThreshold - the tilePredictionsNmsThreshold value to set.
        Returns:
        the ImageModelDistributionSettingsObjectDetection object itself.
      • validationIouThreshold

        public String validationIouThreshold()
        Get the validationIouThreshold property: IOU threshold to use when computing validation metric. Must be float in the range [0, 1].
        Returns:
        the validationIouThreshold value.
      • withValidationIouThreshold

        public ImageModelDistributionSettingsObjectDetection withValidationIouThreshold​(String validationIouThreshold)
        Set the validationIouThreshold property: IOU threshold to use when computing validation metric. Must be float in the range [0, 1].
        Parameters:
        validationIouThreshold - the validationIouThreshold value to set.
        Returns:
        the ImageModelDistributionSettingsObjectDetection object itself.
      • validationMetricType

        public String validationMetricType()
        Get the validationMetricType property: Metric computation method to use for validation metrics. Must be 'none', 'coco', 'voc', or 'coco_voc'.
        Returns:
        the validationMetricType value.
      • withValidationMetricType

        public ImageModelDistributionSettingsObjectDetection withValidationMetricType​(String validationMetricType)
        Set the validationMetricType property: Metric computation method to use for validation metrics. Must be 'none', 'coco', 'voc', or 'coco_voc'.
        Parameters:
        validationMetricType - the validationMetricType value to set.
        Returns:
        the ImageModelDistributionSettingsObjectDetection object itself.
      • withEarlyStoppingDelay

        public ImageModelDistributionSettingsObjectDetection withEarlyStoppingDelay​(String earlyStoppingDelay)
        Set the earlyStoppingDelay property: Minimum number of epochs or validation evaluations to wait before primary metric improvement is tracked for early stopping. Must be a positive integer.
        Overrides:
        withEarlyStoppingDelay in class ImageModelDistributionSettings
        Parameters:
        earlyStoppingDelay - the earlyStoppingDelay value to set.
        Returns:
        the ImageModelDistributionSettings object itself.
      • withEarlyStoppingPatience

        public ImageModelDistributionSettingsObjectDetection withEarlyStoppingPatience​(String earlyStoppingPatience)
        Set the earlyStoppingPatience property: Minimum number of epochs or validation evaluations with no primary metric improvement before the run is stopped. Must be a positive integer.
        Overrides:
        withEarlyStoppingPatience in class ImageModelDistributionSettings
        Parameters:
        earlyStoppingPatience - the earlyStoppingPatience value to set.
        Returns:
        the ImageModelDistributionSettings object itself.
      • withGradientAccumulationStep

        public ImageModelDistributionSettingsObjectDetection withGradientAccumulationStep​(String gradientAccumulationStep)
        Set the gradientAccumulationStep property: Gradient accumulation means running a configured number of "GradAccumulationStep"\ steps without updating the model weights while accumulating the gradients of those steps, and then using the accumulated gradients to compute the weight updates. Must be a positive integer.
        Overrides:
        withGradientAccumulationStep in class ImageModelDistributionSettings
        Parameters:
        gradientAccumulationStep - the gradientAccumulationStep value to set.
        Returns:
        the ImageModelDistributionSettings object itself.
      • withLayersToFreeze

        public ImageModelDistributionSettingsObjectDetection withLayersToFreeze​(String layersToFreeze)
        Set the layersToFreeze property: Number of layers to freeze for the model. Must be a positive integer. For instance, passing 2 as value for 'seresnext' means freezing layer0 and layer1. For a full list of models supported and details on layer freeze, please see: https://docs.microsoft.com/en-us/azure/machine-learning/how-to-auto-train-image-models.
        Overrides:
        withLayersToFreeze in class ImageModelDistributionSettings
        Parameters:
        layersToFreeze - the layersToFreeze value to set.
        Returns:
        the ImageModelDistributionSettings object itself.
      • withModelName

        public ImageModelDistributionSettingsObjectDetection withModelName​(String modelName)
        Set the modelName property: Name of the model to use for training. For more information on the available models please visit the official documentation: https://docs.microsoft.com/en-us/azure/machine-learning/how-to-auto-train-image-models.
        Overrides:
        withModelName in class ImageModelDistributionSettings
        Parameters:
        modelName - the modelName value to set.
        Returns:
        the ImageModelDistributionSettings object itself.
      • withSplitRatio

        public ImageModelDistributionSettingsObjectDetection withSplitRatio​(String splitRatio)
        Set the splitRatio property: If validation data is not defined, this specifies the split ratio for splitting train data into random train and validation subsets. Must be a float in the range [0, 1].
        Overrides:
        withSplitRatio in class ImageModelDistributionSettings
        Parameters:
        splitRatio - the splitRatio value to set.
        Returns:
        the ImageModelDistributionSettings object itself.