Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[AutoMM] Support customizing image data augmentation #3022

Merged
merged 8 commits into from
Mar 15, 2023

Conversation

zhiqiangdon
Copy link
Contributor

@zhiqiangdon zhiqiangdon commented Mar 9, 2023

Issue #, if available:

Description of changes:

  1. Support customization with a list of supported strings.
  2. Support customization with a list of callable objects.
  3. Support customization for both predictor and matcher.
  4. Introduce image augmentation in the AutoMM customization doc.
  5. Merge test_data_process_image.py into test_process_image.py.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@review-notebook-app
Copy link

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

@zhiqiangdon zhiqiangdon added the model list checked You have updated the model list after modifying multimodal unit tests/docs label Mar 9, 2023
@zhiqiangdon zhiqiangdon requested a review from liangfu March 9, 2023 20:36
]:
if not all([isinstance(trans, str) for trans in hyperparameters[k]]):
advanced_hyperparameters[k] = copy.deepcopy(v)
hyperparameters[k] = []
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

After split, the hyperparameter dict itself doesn't aware whether it has been splitted or not. Basically, some advanced hyperparameters are modified (not deleted), and copied to another variable, where the naive hyperparameters don't have access to.

Since hyperparameter space has been divided into subspaces with the dot delimitor, how about moving advanced hyperparameters into 'advanced.xxx' subspace ?? Potentially, with OmegaConf, we can easily access to these advanced hyperparameters with config.advanced.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here we split out model.timm_image.train_transforms and model.timm_image.val_transforms when their values are lists of callable objects instead of lists of strings. OmegConf is designed to store simple config values, e.g., number or string. Adding config.advanced still can't handle the hyperprameters with callable objects.

@github-actions
Copy link

Job PR-3022-b27d45a is done.
Docs are uploaded to http://autogluon-staging.s3-website-us-west-2.amazonaws.com/PR-3022/b27d45a/index.html

Copy link
Collaborator

@liangfu liangfu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, and thanks for broadening what users can customize through hyperparameter inputs.

@github-actions
Copy link

Job PR-3022-a437272 is done.
Docs are uploaded to http://autogluon-staging.s3-website-us-west-2.amazonaws.com/PR-3022/a437272/index.html

@github-actions
Copy link

Job PR-3022-aad3473 is done.
Docs are uploaded to http://autogluon-staging.s3-website-us-west-2.amazonaws.com/PR-3022/aad3473/index.html

@zhiqiangdon zhiqiangdon merged commit 967b7e2 into autogluon:master Mar 15, 2023
@zhiqiangdon zhiqiangdon deleted the mm-aug branch March 15, 2023 16:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
model list checked You have updated the model list after modifying multimodal unit tests/docs
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants