Skip to content

Conversation

@dxoigmn
Copy link
Contributor

@dxoigmn dxoigmn commented Jun 15, 2023

What does this PR do?

This PR adds _train_mode_ and _inference_mode_ as special args to SequentialDict. These special args enable one to control, at instantiation time or run time, whether the underlying model should be run in train mode (or not) and whether it should be run in inference mode (or not).

This is a more direct version of #141.

Depends upon the following:

Type of change

Please check all relevant options.

  • Improvement (non-breaking)
  • Bug fix (non-breaking)
  • New feature (non-breaking)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update

Testing

Please describe the tests that you ran to verify your changes. Consider listing any relevant details of your test configuration.

  • pytest
  • CUDA_VISIBLE_DEVICES=0 python -m mart experiment=CIFAR10_CNN_Adv trainer=gpu trainer.precision=16 reports 70% (21 sec/epoch).
  • CUDA_VISIBLE_DEVICES=0,1 python -m mart experiment=CIFAR10_CNN_Adv trainer=ddp trainer.precision=16 trainer.devices=2 model.optimizer.lr=0.2 trainer.max_steps=2925 datamodule.ims_per_batch=256 datamodule.world_size=2 reports 70% (14 sec/epoch).

Before submitting

  • The title is self-explanatory and the description concisely explains the PR
  • My PR does only one thing, instead of bundling different changes together
  • I list all the breaking changes introduced by this pull request
  • I have commented my code
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • I have run pre-commit hooks with pre-commit run -a command without errors

Did you have fun?

Make sure you had fun coding 🙃

@dxoigmn dxoigmn changed the title Add _train_mode_ and _inference_mode_ special args to CallWith Add _train_mode_ and _inference_mode_ special args to SequentialDict Jun 15, 2023
@dxoigmn dxoigmn marked this pull request as ready for review June 15, 2023 20:08
@dxoigmn dxoigmn requested a review from mzweilin June 15, 2023 20:08
@dxoigmn dxoigmn mentioned this pull request Jun 15, 2023
19 tasks
@dxoigmn dxoigmn changed the base branch from better_sequentialdict3 to main June 23, 2023 15:07
@dxoigmn dxoigmn marked this pull request as draft June 23, 2023 15:08
@dxoigmn dxoigmn marked this pull request as ready for review June 23, 2023 15:08
@dxoigmn dxoigmn mentioned this pull request Jun 23, 2023
20 tasks
@dxoigmn dxoigmn requested review from mzweilin and removed request for mzweilin June 23, 2023 21:28
@dxoigmn dxoigmn changed the base branch from main to better_sequentialdict3 June 27, 2023 14:28
mzweilin
mzweilin previously approved these changes Jun 27, 2023
Copy link
Contributor

@mzweilin mzweilin left a comment

Choose a reason for hiding this comment

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

LGTM

Base automatically changed from better_sequentialdict3 to main June 28, 2023 15:05
@dxoigmn dxoigmn dismissed mzweilin’s stale review June 28, 2023 15:05

The base branch was changed.

@dxoigmn dxoigmn merged commit 2c90a28 into main Jun 28, 2023
@dxoigmn dxoigmn deleted the better_sequentialdict4 branch June 28, 2023 15:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants