Skip to content

Commit

Permalink
Use new environment for object detection components (#3516)
Browse files Browse the repository at this point in the history
* Fix issues with mmdetection docker image.

* Update mmd environment and clarify input column names for components.

* Fix corner case for detection dataset creation.

* Revert to using image_url for image classification tasks.

* Update individual components with newer environments.

* Update pipeline components with new environments.

* Update individual components with patched environments.

* Update finetune_common_validation version in mmt pipeline.
  • Loading branch information
rdondera-microsoft authored Oct 29, 2024
1 parent 1dfe355 commit 34263c5
Show file tree
Hide file tree
Showing 15 changed files with 85 additions and 52 deletions.
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
$schema: https://azuremlschemas.azureedge.net/latest/commandComponent.schema.json
type: command

version: 0.0.8
version: 0.0.9

name: diffusers_text_to_image_finetune
display_name: Text to Image Diffusers Model Finetune
description: Component to finetune stable diffusion models using diffusers for text to image.

is_deterministic: false

environment: azureml://registries/azureml/environments/acft-transformers-image-gpu/versions/44
environment: azureml://registries/azureml/environments/acft-transformers-image-gpu/versions/46

code: ../../../src/finetune

Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
$schema: https://azuremlschemas.azureedge.net/latest/commandComponent.schema.json
type: command

version: 0.0.18
version: 0.0.19
name: transformers_image_classification_finetune
display_name: Image Classification HuggingFace Transformers Model Finetune
description: Component to finetune HuggingFace transformers models for image classification.

is_deterministic: false

environment: azureml://registries/azureml/environments/acft-transformers-image-gpu/versions/44
environment: azureml://registries/azureml/environments/acft-transformers-image-gpu/versions/46

code: ../../../src/finetune

Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
$schema: https://azuremlschemas.azureedge.net/latest/commandComponent.schema.json
type: command

version: 0.0.18
version: 0.0.19
name: mmdetection_image_objectdetection_instancesegmentation_finetune
display_name: Image Object Detection and Instance Segmentation MMDetection Model Finetune
description: Component to finetune MMDetection models for image object detection and instance segmentation.

is_deterministic: false

environment: azureml://registries/azureml/environments/acft-mmdetection-image-gpu/versions/37
environment: azureml://registries/azureml/environments/acft-mmdetection-image-gpu/versions/46

code: ../../../src/finetune

Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
$schema: https://azuremlschemas.azureedge.net/latest/commandComponent.schema.json
type: command

version: 0.0.8
version: 0.0.9
name: diffusers_text_to_image_model_import
display_name: Text to Image Diffusers Model Import
description: Import PyTorch / MLflow model

is_deterministic: True

environment: azureml://registries/azureml/environments/acft-transformers-image-gpu/versions/44
environment: azureml://registries/azureml/environments/acft-transformers-image-gpu/versions/46

code: ../../../src/model_selector

Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
$schema: https://azuremlschemas.azureedge.net/latest/commandComponent.schema.json
type: command

version: 0.0.18
version: 0.0.19
name: transformers_image_classification_model_import
display_name: Image Classification HuggingFace Transformers Model Import
description: Import PyTorch / MLflow model

is_deterministic: True

environment: azureml://registries/azureml/environments/acft-transformers-image-gpu/versions/44
environment: azureml://registries/azureml/environments/acft-transformers-image-gpu/versions/46

code: ../../../src/model_selector

Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
$schema: https://azuremlschemas.azureedge.net/latest/commandComponent.schema.json
type: command

version: 0.0.18
version: 0.0.19
name: mmdetection_image_objectdetection_instancesegmentation_model_import
display_name: Image Object Detection and Instance Segmentation MMDetection Model Import
description: Import PyTorch / MLflow model

is_deterministic: True

environment: azureml://registries/azureml/environments/acft-mmdetection-image-gpu/versions/37
environment: azureml://registries/azureml/environments/acft-mmdetection-image-gpu/versions/46

code: ../../../src/model_selector

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
$schema: https://azuremlschemas.azureedge.net/latest/pipelineComponent.schema.json
type: pipeline

version: 0.0.20
version: 0.0.21
name: image_classification_pipeline
display_name: Image Classification Pipeline
description: Pipeline component for image classification.
Expand Down Expand Up @@ -319,7 +319,7 @@ jobs:

hugging_face_model_import:
type: command
component: azureml:transformers_image_classification_model_import:0.0.18
component: azureml:transformers_image_classification_model_import:0.0.19
compute: ${{parent.inputs.compute_model_import}}
inputs:
model_family: 'HuggingFaceImage'
Expand All @@ -329,7 +329,7 @@ jobs:

hugging_face_finetune:
type: command
component: azureml:transformers_image_classification_finetune:0.0.18
component: azureml:transformers_image_classification_finetune:0.0.19
compute: ${{parent.inputs.compute_finetune}}
distribution:
type: pytorch
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
$schema: https://azuremlschemas.azureedge.net/latest/pipelineComponent.schema.json
type: pipeline

version: 0.0.8
version: 0.0.9
name: diffusers_text_to_image_dreambooth_pipeline
display_name: Text to Image Dreambooth Finetuning Diffusers Pipeline
description: Pipeline component for text to image dreambooth training using diffusers library and transformers models.
Expand Down Expand Up @@ -412,7 +412,7 @@ outputs:
jobs:
text_to_image_model_import:
type: command
component: azureml:diffusers_text_to_image_model_import:0.0.8
component: azureml:diffusers_text_to_image_model_import:0.0.9
compute: ${{parent.inputs.compute_model_import}}
inputs:
model_family: ${{parent.inputs.model_family}}
Expand All @@ -423,7 +423,7 @@ jobs:

text_to_image_dreambooth_finetune:
type: command
component: azureml:diffusers_text_to_image_finetune:0.0.8
component: azureml:diffusers_text_to_image_finetune:0.0.9
compute: ${{parent.inputs.compute_finetune}}
distribution:
type: pytorch
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
$schema: https://azuremlschemas.azureedge.net/latest/pipelineComponent.schema.json
type: pipeline

version: 0.0.20
version: 0.0.21
name: transformers_image_classification_pipeline
display_name: Image Classification HuggingFace Transformers Pipeline
description: Pipeline component for image classification using HuggingFace transformers models.
Expand Down Expand Up @@ -416,7 +416,7 @@ jobs:

image_classification_model_import:
type: command
component: azureml:transformers_image_classification_model_import:0.0.18
component: azureml:transformers_image_classification_model_import:0.0.19
compute: ${{parent.inputs.compute_model_import}}
inputs:
model_family: ${{parent.inputs.model_family}}
Expand All @@ -428,7 +428,7 @@ jobs:

image_classification_finetune:
type: command
component: azureml:transformers_image_classification_finetune:0.0.18
component: azureml:transformers_image_classification_finetune:0.0.19
compute: ${{parent.inputs.compute_finetune}}
distribution:
type: pytorch
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
$schema: https://azuremlschemas.azureedge.net/latest/pipelineComponent.schema.json
type: pipeline

version: 0.0.20
version: 0.0.21
name: image_instance_segmentation_pipeline
display_name: Image Instance Segmentation Pipeline
description: Pipeline component for image instance segmentation.
Expand Down Expand Up @@ -300,20 +300,20 @@ jobs:

finetune_common_validation:
type: command
component: azureml:finetune_common_validation:0.0.5
component: azureml:finetune_common_validation:0.0.6
compute: ${{parent.inputs.compute_model_import}}
inputs:
train_mltable_path: ${{parent.inputs.training_data}}
validation_mltable_path: ${{parent.inputs.validation_data}}
compute_model_import: ${{parent.inputs.compute_model_import}}
compute_finetune: ${{parent.inputs.compute_finetune}}
task_name: ${{parent.inputs.task_type}}
user_column_names: image_url, label
user_column_names: image,label
task_specific_extra_params: '"model_family=MmDetectionImage;model_name=${{parent.inputs.model_name}};metric_for_best_model=${{parent.inputs.primary_metric}};number_of_epochs=${{parent.inputs.number_of_epochs}}"'

framework_selector:
type: command
component: azureml:image_framework_selector:0.0.17
component: azureml:image_framework_selector:0.0.18
compute: ${{parent.inputs.compute_model_import}}
inputs:
task_type: ${{parent.inputs.task_type}}
Expand Down Expand Up @@ -369,7 +369,7 @@ jobs:

mm_detection_model_import:
type: command
component: azureml:mmdetection_image_objectdetection_instancesegmentation_model_import:0.0.18
component: azureml:mmdetection_image_objectdetection_instancesegmentation_model_import:0.0.19
compute: ${{parent.inputs.compute_model_import}}
inputs:
model_family: 'MmDetectionImage'
Expand All @@ -379,7 +379,7 @@ jobs:

mm_detection_finetune:
type: command
component: azureml:mmdetection_image_objectdetection_instancesegmentation_finetune:0.0.18
component: azureml:mmdetection_image_objectdetection_instancesegmentation_finetune:0.0.19
compute: ${{parent.inputs.compute_finetune}}
distribution:
type: pytorch
Expand Down Expand Up @@ -423,7 +423,7 @@ jobs:

output_selector:
type: command
component: azureml:image_model_output_selector:0.0.16
component: azureml:image_model_output_selector:0.0.17
compute: ${{parent.inputs.compute_model_import}}
inputs:
mlflow_model_t: ${{parent.jobs.image_instance_segmentation_runtime_component.outputs.mlflow_model_folder}}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
$schema: https://azuremlschemas.azureedge.net/latest/pipelineComponent.schema.json
type: pipeline

version: 0.0.20
version: 0.0.21
name: mmdetection_image_objectdetection_instancesegmentation_pipeline
display_name: Image Object Detection and Instance Segmentation MMDetection Pipeline
description: Pipeline component for image object detection and instance segmentation using MMDetection models.
Expand Down Expand Up @@ -361,7 +361,7 @@ inputs:

input_column_names:
type: string
default: image_url
default: image,image_meta_info,text_prompt
optional: true
description: Input column names in provided test dataset, for example column1. Add comma delimited values in case of multiple input columns, for example column1,column2.

Expand Down Expand Up @@ -391,7 +391,7 @@ outputs:
jobs:
finetune_common_validation:
type: command
component: azureml:finetune_common_validation:0.0.5
component: azureml:finetune_common_validation:0.0.6
compute: ${{parent.inputs.compute_model_import}}
inputs:
mlflow_model_path: ${{parent.inputs.mlflow_model}}
Expand All @@ -405,7 +405,7 @@ jobs:
compute_model_evaluation: ${{parent.inputs.compute_model_evaluation}}
task_name: ${{parent.inputs.task_name}}
label_column_name: '${{parent.inputs.label_column_name}}'
user_column_names: '${{parent.inputs.input_column_names}}, ${{parent.inputs.label_column_name}}'
user_column_names: '${{parent.inputs.input_column_names}},${{parent.inputs.label_column_name}}'
test_batch_size: ${{parent.inputs.test_batch_size}}
device: auto
evaluation_config: ${{parent.inputs.evaluation_config}}
Expand All @@ -414,7 +414,7 @@ jobs:

image_od_is_model_import:
type: command
component: azureml:mmdetection_image_objectdetection_instancesegmentation_model_import:0.0.18
component: azureml:mmdetection_image_objectdetection_instancesegmentation_model_import:0.0.19
compute: ${{parent.inputs.compute_model_import}}
inputs:
model_family: ${{parent.inputs.model_family}}
Expand All @@ -426,7 +426,7 @@ jobs:

image_od_is_finetune:
type: command
component: azureml:mmdetection_image_objectdetection_instancesegmentation_finetune:0.0.18
component: azureml:mmdetection_image_objectdetection_instancesegmentation_finetune:0.0.19
compute: ${{parent.inputs.compute_finetune}}
distribution:
type: pytorch
Expand Down Expand Up @@ -482,7 +482,7 @@ jobs:

model_prediction:
type: command
component: azureml:model_prediction:0.0.28
component: azureml:model_prediction:0.0.34
compute: '${{parent.inputs.compute_model_evaluation}}'
inputs:
task: '${{parent.inputs.task_name}}'
Expand All @@ -497,7 +497,7 @@ jobs:

compute_metrics:
type: command
component: azureml:compute_metrics:0.0.28
component: azureml:compute_metrics:0.0.33
compute: '${{parent.inputs.compute_model_evaluation}}'
inputs:
task: '${{parent.inputs.task_name}}'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -310,7 +310,7 @@ outputs:
jobs:
finetune_common_validation:
type: command
component: azureml:finetune_common_validation:0.0.5
component: azureml:finetune_common_validation:0.0.6
compute: ${{parent.inputs.compute_model_import}}
inputs:
mlflow_model_path: ${{parent.inputs.mlflow_model}}
Expand All @@ -319,7 +319,7 @@ jobs:
compute_model_import: ${{parent.inputs.compute_model_import}}
compute_finetune: ${{parent.inputs.compute_finetune}}
task_name: ${{parent.inputs.task_name}}
user_column_names: image_url, label
user_column_names: image,label
task_specific_extra_params: '"model_family=${{parent.inputs.model_family}};model_name=${{parent.inputs.model_name}};metric_for_best_model=${{parent.inputs.metric_for_best_model}};number_of_epochs=${{parent.inputs.number_of_epochs}}"'

model_import:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
$schema: https://azuremlschemas.azureedge.net/latest/pipelineComponent.schema.json
type: pipeline

version: 0.0.20
version: 0.0.21
name: image_object_detection_pipeline
display_name: Image Object Detection Pipeline
description: Pipeline component for image object detection.
Expand Down Expand Up @@ -325,20 +325,20 @@ jobs:

finetune_common_validation:
type: command
component: azureml:finetune_common_validation:0.0.5
component: azureml:finetune_common_validation:0.0.6
compute: ${{parent.inputs.compute_model_import}}
inputs:
train_mltable_path: ${{parent.inputs.training_data}}
validation_mltable_path: ${{parent.inputs.validation_data}}
compute_model_import: ${{parent.inputs.compute_model_import}}
compute_finetune: ${{parent.inputs.compute_finetune}}
task_name: ${{parent.inputs.task_type}}
user_column_names: image_url, label
user_column_names: image,label
task_specific_extra_params: '"model_family=MmDetectionImage;model_name=${{parent.inputs.model_name}};metric_for_best_model=${{parent.inputs.primary_metric}};number_of_epochs=${{parent.inputs.number_of_epochs}}"'

framework_selector:
type: command
component: azureml:image_framework_selector:0.0.17
component: azureml:image_framework_selector:0.0.18
compute: ${{parent.inputs.compute_model_import}}
inputs:
task_type: ${{parent.inputs.task_type}}
Expand Down Expand Up @@ -396,7 +396,7 @@ jobs:

mm_detection_model_import:
type: command
component: azureml:mmdetection_image_objectdetection_instancesegmentation_model_import:0.0.18
component: azureml:mmdetection_image_objectdetection_instancesegmentation_model_import:0.0.19
compute: ${{parent.inputs.compute_model_import}}
inputs:
model_family: 'MmDetectionImage'
Expand All @@ -406,7 +406,7 @@ jobs:

mm_detection_finetune:
type: command
component: azureml:mmdetection_image_objectdetection_instancesegmentation_finetune:0.0.18
component: azureml:mmdetection_image_objectdetection_instancesegmentation_finetune:0.0.19
compute: ${{parent.inputs.compute_finetune}}
distribution:
type: pytorch
Expand Down Expand Up @@ -450,7 +450,7 @@ jobs:

output_selector:
type: command
component: azureml:image_model_output_selector:0.0.16
component: azureml:image_model_output_selector:0.0.17
compute: ${{parent.inputs.compute_model_import}}
inputs:
mlflow_model_t: ${{parent.jobs.image_object_detection_runtime_component.outputs.mlflow_model_folder}}
Expand Down
Loading

0 comments on commit 34263c5

Please sign in to comment.