-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Add Iteration base class #3472
Add Iteration base class #3472
Conversation
merge master
merge master
merge master
merge master
merge master
Signed-off-by: Nic Ma <nma@nvidia.com>
/black |
monai/engines/utils.py
Outdated
@@ -200,6 +202,18 @@ def _get_data(key: str): | |||
return image, label, tuple(args), kwargs | |||
|
|||
|
|||
class Iteration(ABC): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ignite's definition is more flexible than this
https://github.com/pytorch/ignite/blob/4597bbcb17f546b0165d5573c94e8f2b952c93fd/ignite/engine/engine.py#L123, any reason that we want to enforce this definition?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @wyli ,
Thanks for your review.
Sorry maybe I didn't describe the requirements clear. Actually, the process_function
is stated as Callable function in ignite, but actually, it must accept engine
and batch
as the input args:
https://github.com/pytorch/ignite/blob/master/ignite/engine/engine.py#L850
Here we define the Iteration
as basic signature of user-customized process_function, just like the PrepareBatch
API we already have:
https://github.com/Project-MONAI/MONAI/blob/dev/monai/engines/utils.py#L130
It can be useful for users to extend their own iteration logic in MONAI workflows, for example to config the customized Iteration
in NVIDIA Clara MMAR.
Add @ericspod @vfdev-5 for discussion and review.
Thanks in advance.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, in my opinion we should allow for full flexibility and don't add the signature here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @ericspod @vfdev-5 , I think the process_function
in ignite must accept engine
and batch
args, so we defined this signature to help users develop their own iteration in NVIDIA Clara (like the PrepareBatch signature
), I tried to port this feature to MONAI in this PR. What do you guys think?
Thanks in advance.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
And here is the proposal to support 4 levels of user customization for our workflow:
- If custimize input data format, extend from the existing
monai.engines.PrepareBatch
signature. - If customize computation of every iteration, extend from
monai.engines.Iteration
signature, this PR. - If customize the overall trainer logic, extend from existing
monai.engines.SupervisedTrainer
signature. - If even don't want to follow ignite engine, extend from the existing
monai.engines.BaseWorkflow
signature.
Thanks.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the interesting discussion here.
I don't quite understand "Otherwise the user can override Workflow._iteration", this signature is for the level 2 customization, if you have more complicated logic, you can extend the SupervisedTrainer
in level 3.
Maybe I didn't make the use case clear enough, let me show you some example code:
from monai.engines import Iteration, SupervisedTrainer
class MyIteration(Iteration):
def __call__(self, engine: Engine, batchdata: Dict[str, torch.Tensor]):
XXX # my computation logic for 1 iteration
my_iteration = MyIteration(...)
my_trainer = SupervisedTrainer(iteration_update=my_iteration, ...)
my_trainer.run()
And some Clara Train config example:
{
"iteration": {
"name": "MyIteration",
"args": {
...
}
},
"trainer": {
"name": "SupervisedTrainer",
"args": {
"iteration_update": "@iteration",
...
}
}
}
@ericspod What do you think about this signature denination? I think it's same as the previous PrepareBatch
.
Thanks in advance.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
During the development of monai, we've been following the principle of minimising this kind of framework-like contraints and this makes it simple when integrating monai with other packages. Now with this PR, the users have to understand and inherit an Iteration base class in order to customise the ignite iteration, but it's unclear to me what the benefit is for monai.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @wyli ,
Thanks for your good point.
But here we don't change the API type-hints for arg iteration_update
of SupervisedTrainer
and don't force it to be Iteration
.
It's just a more clear and easier to understand definition of the signature, especially for beginner users, advanced users can pass any callable object or function to iteration_update
.
Thanks.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
From what I see the purpose of this definition is to provide a concrete instance of the callable signature that is needed to be used as a process_function
. @vfdev-5 is right in that the signature in the Engine definition is incomplete, however the full signature is rather large as seen with Workflow._iteration .
Pythonic coding tends away from defining large signatures like this and relying on plain-language documentation in docstrings to describe what's going on. I think we should adhere to that and not have "interface" definitions like this, ABC
and other mechanisms make sense in Python when a class has a mix of dependent abstract and concrete methods that require full implementations. With PrepareBatch
there are existing subclasses so it makes a bit more sense to have an abstract base class first.
If we want to stick to the Pythonic way I'd suggest we have in docstrings a description of what process_function/iteration_update
accepts and returns, and point to Workflow._iteration
as an example
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/build |
Signed-off-by: Nic Ma <nma@nvidia.com>
161928f
to
abb656f
Compare
/black |
/build |
/build |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Nic-Ma I left few comments about the links on ignite code. Maybe, better to provide links on the docs instead of the code. We'll also update our docs to better reflect the examples of usage for these functions
Signed-off-by: Nic Ma <nma@nvidia.com>
/build |
/black |
Add Iteration base class (Project-MONAI#3472)
* [DLMED] add Iteration base class Signed-off-by: Nic Ma <nma@nvidia.com> * [DLMED] update according to comments Signed-off-by: Nic Ma <nma@nvidia.com> * [DLMED] update according to comments Signed-off-by: Nic Ma <nma@nvidia.com>
* 3415 Update WSIReader (#3417) * Update WSIReader level/location/size calculation Signed-off-by: Behrooz <3968947+drbeh@users.noreply.github.com> * Update location downsampling Signed-off-by: Behrooz <3968947+drbeh@users.noreply.github.com> * Update tests and add a new test case Signed-off-by: Behrooz <3968947+drbeh@users.noreply.github.com> * Update few names and logics Signed-off-by: Behrooz <3968947+drbeh@users.noreply.github.com> * Fix the dependency issue Signed-off-by: Behrooz <3968947+drbeh@users.noreply.github.com> * Check for imagecodecs + tifffile Signed-off-by: Behrooz <3968947+drbeh@users.noreply.github.com> * Remove new test case that uses too much memory Signed-off-by: Behrooz <3968947+drbeh@users.noreply.github.com> * Add new case and ignore level=0 for TiffFile Signed-off-by: Behrooz <3968947+drbeh@users.noreply.github.com> * Address comments Signed-off-by: Behrooz <3968947+drbeh@users.noreply.github.com> Co-authored-by: Nic Ma <nma@nvidia.com> * update create_file_basename (#3436) Signed-off-by: Wenqi Li <wenqil@nvidia.com> * Update TiffFile backend in WSIReader (#3438) * Update TiffFile backend to read only the entire image Signed-off-by: Behrooz <3968947+drbeh@users.noreply.github.com> * 3429 Enhance the scalar write logic of TensorBoardStatsHandler (#3431) * [DLMED] extract write logic Signed-off-by: Nic Ma <nma@nvidia.com> * [DLMED] update according to comments Signed-off-by: Nic Ma <nma@nvidia.com> * [DLMED] update according to comments Signed-off-by: Nic Ma <nma@nvidia.com> * [DLMED] update according to comments Signed-off-by: Nic Ma <nma@nvidia.com> * 3430 support dataframes and streams in CSVDataset (#3440) * [DLMED] add dataframe Signed-off-by: Nic Ma <nma@nvidia.com> * [DLMED] enhance CSV iterable dataset Signed-off-by: Nic Ma <nma@nvidia.com> * [DLMED] add unit tests Signed-off-by: Nic Ma <nma@nvidia.com> * [DLMED] fix typehints Signed-off-by: Nic Ma <nma@nvidia.com> * [DLMED] add comment Signed-off-by: Nic Ma <nma@nvidia.com> * [DLMED] update according to comments Signed-off-by: Nic Ma <nma@nvidia.com> * [DLMED] update according to comments Signed-off-by: Nic Ma <nma@nvidia.com> * [DLMED] update according to comments Signed-off-by: Nic Ma <nma@nvidia.com> * [DLMED] fix file close issue Signed-off-by: Nic Ma <nma@nvidia.com> * [DLMED] fix doc Signed-off-by: Nic Ma <nma@nvidia.com> * [MONAI] python code formatting Signed-off-by: monai-bot <monai.miccai2019@gmail.com> Co-authored-by: monai-bot <monai.miccai2019@gmail.com> * Add base class for workflows (#3445) * [DLMED] add BaseWorkflow Signed-off-by: Nic Ma <nma@nvidia.com> * [DLMED] fix typo Signed-off-by: Nic Ma <nma@nvidia.com> * [MONAI] python code formatting Signed-off-by: monai-bot <monai.miccai2019@gmail.com> * [DLMED] add *args, **kwargs Signed-off-by: Nic Ma <nma@nvidia.com> Co-authored-by: monai-bot <monai.miccai2019@gmail.com> * Enhance deprecated arg for kwargs in CSV datasets (#3446) * [DLMED] fix deprecated arg Signed-off-by: Nic Ma <nma@nvidia.com> * [MONAI] python code formatting Signed-off-by: monai-bot <monai.miccai2019@gmail.com> Co-authored-by: monai-bot <monai.miccai2019@gmail.com> * 3293 Remove extra deep supervision modules of DynUNet (#3427) * enhance dynunet Signed-off-by: Yiheng Wang <vennw@nvidia.com> * fix black issue Signed-off-by: Yiheng Wang <vennw@nvidia.com> * use strict=False Signed-off-by: Yiheng Wang <vennw@nvidia.com> * fix black 21.12 error Signed-off-by: Yiheng Wang <vennw@nvidia.com> * enhance code and update docstring Signed-off-by: Yiheng Wang <vennw@nvidia.com> * 471- fixes deprecated args (#3447) * fixes deprecated args Signed-off-by: Wenqi Li <wenqil@nvidia.com> * update based on comments Signed-off-by: Wenqi Li <wenqil@nvidia.com> * improve error message if reader nott available (#3457) improve error message if reader nott available * adds the missing imports (#3462) Signed-off-by: Wenqi Li <wenqil@nvidia.com> * revise MILModel docstring (#3459) Signed-off-by: Wenqi Li <wenqil@nvidia.com> * deprecate reduction (#3464) Signed-off-by: Wenqi Li <wenqil@nvidia.com> * 3444 Add DatasetFunc (#3456) * [DLMED] add dataset generator Signed-off-by: Nic Ma <nma@nvidia.com> * [DLMED] add DatasetGenerator Signed-off-by: Nic Ma <nma@nvidia.com> * [DLMED] update according to comments Signed-off-by: Nic Ma <nma@nvidia.com> * [MONAI] python code formatting Signed-off-by: monai-bot <monai.miccai2019@gmail.com> * [DLMED] fix wrong test Signed-off-by: Nic Ma <nma@nvidia.com> * [DLMED] simplify according to comments Signed-off-by: Nic Ma <nma@nvidia.com> * [DLMED] remove return Signed-off-by: Nic Ma <nma@nvidia.com> * [DLMED] update rtol for CI Signed-off-by: Nic Ma <nma@nvidia.com> Co-authored-by: monai-bot <monai.miccai2019@gmail.com> * Add missing components to API doc (#3468) * [DLMED] add missing docs Signed-off-by: Nic Ma <nma@nvidia.com> * [DLMED] add missing components Signed-off-by: Nic Ma <nma@nvidia.com> * [DLMED] fix test Signed-off-by: Nic Ma <nma@nvidia.com> * 3466 3467 Add `channel_wise` and correct doc-string (#3469) * [DLMED] add channel-wise Signed-off-by: Nic Ma <nma@nvidia.com> * [DLMED] update according to comments Signed-off-by: Nic Ma <nma@nvidia.com> * [DLMED] fix typo Signed-off-by: Nic Ma <nma@nvidia.com> * [DLMED] skip test if before 1.7 Signed-off-by: Nic Ma <nma@nvidia.com> * [MONAI] python code formatting Signed-off-by: monai-bot <monai.miccai2019@gmail.com> Co-authored-by: monai-bot <monai.miccai2019@gmail.com> * [DLMED] remove cls (#3475) Signed-off-by: Nic Ma <nma@nvidia.com> * Add Iteration base class (#3472) * [DLMED] add Iteration base class Signed-off-by: Nic Ma <nma@nvidia.com> * [DLMED] update according to comments Signed-off-by: Nic Ma <nma@nvidia.com> * [DLMED] update according to comments Signed-off-by: Nic Ma <nma@nvidia.com> * fix link error (#3488) Signed-off-by: Yiheng Wang <vennw@nvidia.com> * 3465 Support string as dtype (#3478) * [DLMED] support string dtype Signed-off-by: Nic Ma <nma@nvidia.com> * [DLMED] fix typo Signed-off-by: Nic Ma <nma@nvidia.com> * [DLMED] enhance dtype in ToCupy Signed-off-by: Nic Ma <nma@nvidia.com> * [DLMED] update to 0.4.7 (#3483) Signed-off-by: Nic Ma <nma@nvidia.com> * Improve NVTX Range Naming (#3484) * Update to not include number for the name of the first range Signed-off-by: Behrooz <3968947+drbeh@users.noreply.github.com> * Update CuCIM and TorchVision wrappers to include name Signed-off-by: Behrooz <3968947+drbeh@users.noreply.github.com> * Update nvtx range to append undelying class for wrapper tranforms Signed-off-by: Behrooz <3968947+drbeh@users.noreply.github.com> * Add new test cases to cover changes Signed-off-by: Behrooz <3968947+drbeh@users.noreply.github.com> * Update cucim and torchvision check Signed-off-by: Behrooz <3968947+drbeh@users.noreply.github.com> * 3471 3491 Add example images for intensity transforms (#3494) * [DLMED] add missing images Signed-off-by: Nic Ma <nma@nvidia.com> * [DLMED] fix 3471 Signed-off-by: Nic Ma <nma@nvidia.com> * [DLMED] fix AsDiscrete Signed-off-by: Nic Ma <nma@nvidia.com> * Make bending energy loss invariant to resolution (#3493) * make bending energy loss invariant to resolution fixes #3485 Signed-off-by: Ebrahim Ebrahim <ebrahim.ebrahim@kitware.com> * set BendingEnergyLoss default normalize to False Maybe it's more important that the default behavior match usage of the term "bending energy" elsewhere, rather than that it be the most convenient behavior. Signed-off-by: Ebrahim Ebrahim <ebrahim.ebrahim@kitware.com> * Removes redundant casting -- ensure tuple (#3495) Signed-off-by: Wenqi Li <wenqil@nvidia.com> * 3498 Correct `kwargs` arg for `convert_to_torchscript` (#3499) * [DLMED] correct kwargs Signed-off-by: Nic Ma <nma@nvidia.com> * [DLMED] fix grammar Signed-off-by: Nic Ma <nma@nvidia.com> * update tests with 1.10.1 (#3500) Signed-off-by: Wenqi Li <wenqil@nvidia.com> * 3501 Add dict version SavitzkyGolaySmoothd (#3502) * [DLMED] add SavitzkyGolaySmoothd Signed-off-by: Nic Ma <nma@nvidia.com> * [DLMED] fix typo Signed-off-by: Nic Ma <nma@nvidia.com> * [DLMED] update according to comments Signed-off-by: Nic Ma <nma@nvidia.com> * remove file (#3507) Signed-off-by: Wenqi Li <wenqil@nvidia.com> * avoid 60.0.0 (#3514) Signed-off-by: Wenqi Li <wenqil@nvidia.com> * [DLMED] add 6 new transform images (#3512) Signed-off-by: Nic Ma <nma@nvidia.com> * support of reversed indexing (#3508) Signed-off-by: Wenqi Li <wenqil@nvidia.com> * Adding Torchscript utility functions (#3138) * Adding Torchscript utility functions Signed-off-by: Eric Kerfoot <eric.kerfoot@kcl.ac.uk> * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * [MONAI] python code formatting Signed-off-by: monai-bot <monai.miccai2019@gmail.com> * Adding Torchscript utility functions Signed-off-by: Eric Kerfoot <eric.kerfoot@kcl.ac.uk> * Added test for extra files Signed-off-by: Eric Kerfoot <eric.kerfoot@kcl.ac.uk> * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Update Signed-off-by: Eric Kerfoot <eric.kerfoot@kcl.ac.uk> * Update Signed-off-by: Eric Kerfoot <eric.kerfoot@kcl.ac.uk> * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Update Signed-off-by: Eric Kerfoot <eric.kerfoot@kcl.ac.uk> * Update Signed-off-by: Eric Kerfoot <eric.kerfoot@kcl.ac.uk> * Updates Signed-off-by: Eric Kerfoot <eric.kerfoot@kcl.ac.uk> * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Updates Signed-off-by: Eric Kerfoot <eric.kerfoot@kcl.ac.uk> * Updates Signed-off-by: Eric Kerfoot <eric.kerfoot@kcl.ac.uk> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: monai-bot <monai.miccai2019@gmail.com> Co-authored-by: Nic Ma <nma@nvidia.com> * 3517 Refine AddCoordinateChannels transform (#3524) * [DLMED] change to utility transforms Signed-off-by: Nic Ma <nma@nvidia.com> * [DLMED] enhance args Signed-off-by: Nic Ma <nma@nvidia.com> * 3521 Copyright header update (#3522) * adds missing item Signed-off-by: Wenqi Li <wenqil@nvidia.com> * update the contributing guide Signed-off-by: Wenqi Li <wenqil@nvidia.com> * update copyright headers Signed-off-by: Wenqi Li <wenqil@nvidia.com> * 3521 - adds a util to check the licence info (#3523) * util to check the licence info Signed-off-by: Wenqi Li <wenqil@nvidia.com> * update flags Signed-off-by: Wenqi Li <wenqil@nvidia.com> * update based on comments Signed-off-by: Wenqi Li <wenqil@nvidia.com> * 3350 Remove PyTorch 1.5.x related logic and mark versions for all new APIs (#3526) * [DLMED] clarify old APIs Signed-off-by: Nic Ma <nma@nvidia.com> * [DLMED] update according to comments Signed-off-by: Nic Ma <nma@nvidia.com> * 3533 Update PyTorch docker to 21.12 (#3534) * [DLMED] update to 21.12 Signed-off-by: Nic Ma <nma@nvidia.com> * [DLMED] update according to comments Signed-off-by: Nic Ma <nma@nvidia.com> * [DLMED] add PyTorch 1.9 test Signed-off-by: Nic Ma <nma@nvidia.com> * 3531 Add args to subclass of CacheDataset (#3532) * [DLMED] add missing args Signed-off-by: Nic Ma <nma@nvidia.com> * [DLMED] update according to comments Signed-off-by: Nic Ma <nma@nvidia.com> * [DLMED] update progress arg Signed-off-by: Nic Ma <nma@nvidia.com> * 3525 Fix invertible issue in OneOf compose (#3530) * [DLMED] fix oneof Signed-off-by: Nic Ma <nma@nvidia.com> * [DLMED] add more unit tests Signed-off-by: Nic Ma <nma@nvidia.com> * [DLMED] update index Signed-off-by: Nic Ma <nma@nvidia.com> * [DLMED] update according to comments Signed-off-by: Nic Ma <nma@nvidia.com> * Revert "[DLMED] update according to comments" This reverts commit c6c3a35. Signed-off-by: Nic Ma <nma@nvidia.com> * Revert "[DLMED] update index" This reverts commit 649a7c5. Signed-off-by: Nic Ma <nma@nvidia.com> * 3535 - drop python 36 support (#3536) * drop py36 support Signed-off-by: Wenqi Li <wenqil@nvidia.com> * drop 20.09 test because of python min version 3.6 Signed-off-by: Wenqi Li <wenqil@nvidia.com> * update tests Signed-off-by: Wenqi Li <wenqil@nvidia.com> * error->warning, revise copyright Signed-off-by: Wenqi Li <wenqil@nvidia.com> * 3541 has cupy check (#3544) * has cupy check Signed-off-by: Wenqi Li <wenqil@nvidia.com> * update based on comments Signed-off-by: Wenqi Li <wenqil@nvidia.com> * 3053 release *_dist.py tests memory to avoid OOM (#3537) * adds min. memory testing utils Signed-off-by: Wenqi Li <wenqil@nvidia.com> * include valueerror for robust outcome Signed-off-by: Wenqi Li <wenqil@nvidia.com> * ensure float Signed-off-by: Wenqi Li <wenqil@nvidia.com> * msg improvements Signed-off-by: Wenqi Li <wenqil@nvidia.com> * update threshold Signed-off-by: Wenqi Li <wenqil@nvidia.com> * remove ref Signed-off-by: Wenqi Li <wenqil@nvidia.com> * separate disttests Signed-off-by: Wenqi Li <wenqil@nvidia.com> * update based on comments Signed-off-by: Wenqi Li <wenqil@nvidia.com> * 3539 Remove decollate warning (#3545) * [DLMED] remove warning Signed-off-by: Nic Ma <nma@nvidia.com> * [DLMED] fix typo Signed-off-by: Nic Ma <nma@nvidia.com> * [DLMED] enhance set_determinism (#3547) Signed-off-by: Nic Ma <nma@nvidia.com> Co-authored-by: Wenqi Li <wenqil@nvidia.com> * Smooth Deform (#3551) * Adding smooth deform transform Signed-off-by: Eric Kerfoot <eric.kerfoot@kcl.ac.uk> * Update Signed-off-by: Eric Kerfoot <eric.kerfoot@kcl.ac.uk> * Updates Signed-off-by: Eric Kerfoot <eric.kerfoot@kcl.ac.uk> * Docs update Signed-off-by: Eric Kerfoot <eric.kerfoot@kcl.ac.uk> * Type fixing Signed-off-by: Eric Kerfoot <eric.kerfoot@kcl.ac.uk> * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * [MONAI] python code formatting Signed-off-by: monai-bot <monai.miccai2019@gmail.com> * Fix Signed-off-by: Eric Kerfoot <eric.kerfoot@kcl.ac.uk> * Fix Signed-off-by: Eric Kerfoot <eric.kerfoot@kcl.ac.uk> * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Fix for moveaxis Signed-off-by: Eric Kerfoot <eric.kerfoot@kcl.ac.uk> * Fix for moveaxis Signed-off-by: Eric Kerfoot <eric.kerfoot@kcl.ac.uk> * Adding example images, random field sized reduced to (10,10,10) Signed-off-by: Eric Kerfoot <eric.kerfoot@kcl.ac.uk> * Changed backend Signed-off-by: Eric Kerfoot <eric.kerfoot@kcl.ac.uk> * [MONAI] python code formatting Signed-off-by: monai-bot <monai.miccai2019@gmail.com> * Tweak Signed-off-by: Eric Kerfoot <eric.kerfoot@kcl.ac.uk> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: monai-bot <monai.miccai2019@gmail.com> * 3552 - runtest.sh defaults to no build/install (#3555) * runtest.sh defaults to no build/install Signed-off-by: Wenqi Li <wenqil@nvidia.com> * following test case conventions for multiprocessing - adding `_dist` to multiprocessing test cases - decouple multiprocessing LMDB tests from `test_lmdbdataset` Signed-off-by: Wenqi Li <wenqil@nvidia.com> * exclude lmdbdataset tests in min_tests Signed-off-by: Wenqi Li <wenqil@nvidia.com> Co-authored-by: Eric Kerfoot <17726042+ericspod@users.noreply.github.com> * Remove apply_same_field (#3556) Signed-off-by: Eric Kerfoot <eric.kerfoot@kcl.ac.uk> * skipping pretraining network loading when downloading is unsuccessful (#3558) Signed-off-by: Wenqi Li <wenqil@nvidia.com> * [DLMED] fix mypy errors (#3562) Signed-off-by: Nic Ma <nma@nvidia.com> * 3559 Enhance `DatasetSummary` for several points (#3560) * [DLMED] update dataset summary Signed-off-by: Nic Ma <nma@nvidia.com> * [DLMED] enhance data type Signed-off-by: Nic Ma <nma@nvidia.com> * [DLMED] fix pickle issue Signed-off-by: Nic Ma <nma@nvidia.com> Co-authored-by: Wenqi Li <wenqil@nvidia.com> * add box util in monai/data * add box util in monai/data * [pre-commit.ci] pre-commit suggestions (#3568) updates: - [github.com/pre-commit/pre-commit-hooks: v4.0.1 → v4.1.0](pre-commit/pre-commit-hooks@v4.0.1...v4.1.0) - [github.com/asottile/pyupgrade: v2.29.0 → v2.31.0](asottile/pyupgrade@v2.29.0...v2.31.0) - [github.com/asottile/yesqa: v1.2.3 → v1.3.0](asottile/yesqa@v1.2.3...v1.3.0) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * 3565 - adds metadata when loading dicom series (#3566) * adds metadata when loading dicom series Signed-off-by: Wenqi Li <wenqil@nvidia.com> * fixes timed tests Signed-off-by: Wenqi Li <wenqil@nvidia.com> * update based on comments Signed-off-by: Wenqi Li <wenqil@nvidia.com> * 3580 - create codeql-analysis.yml (#3579) * Create codeql-analysis.yml Signed-off-by: Wenqi Li <wenqil@nvidia.com> * build cpp Signed-off-by: Wenqi Li <wenqil@nvidia.com> * fixes Multiplication result converted to larger type Signed-off-by: Wenqi Li <wenqil@nvidia.com> * fixes url parsing Signed-off-by: Wenqi Li <wenqil@nvidia.com> * 498 Add logger_handler to LrScheduleHandler (#3570) * [DLMED] add log handler Signed-off-by: Nic Ma <nma@nvidia.com> * [DLMED] fix CI tests Signed-off-by: Nic Ma <nma@nvidia.com> * [DLMED] fix CI test Signed-off-by: Nic Ma <nma@nvidia.com> * [DLMED] test CI Signed-off-by: Nic Ma <nma@nvidia.com> * [DLMED] fix logging Signed-off-by: Nic Ma <nma@nvidia.com> * [DLMED] temp test Signed-off-by: Nic Ma <nma@nvidia.com> * [DLMED] fix wrong unit test Signed-off-by: Nic Ma <nma@nvidia.com> * [DLMED] fix wrong test cases Signed-off-by: Nic Ma <nma@nvidia.com> Co-authored-by: Behrooz <3968947+drbeh@users.noreply.github.com> Co-authored-by: Nic Ma <nma@nvidia.com> Co-authored-by: Wenqi Li <wenqil@nvidia.com> Co-authored-by: monai-bot <monai.miccai2019@gmail.com> Co-authored-by: Yiheng Wang <68361391+yiheng-wang-nv@users.noreply.github.com> Co-authored-by: Richard Brown <33289025+rijobro@users.noreply.github.com> Co-authored-by: Ebrahim Ebrahim <ebrahim.mt@gmail.com> Co-authored-by: Eric Kerfoot <17726042+ericspod@users.noreply.github.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Description
Similar as the
PrepareBatch
signature, this PR defines the base classIteration
for every iteration of theprecess_function
of ignite engine.Status
Ready
Types of changes
./runtests.sh -f -u --net --coverage
../runtests.sh --quick --unittests
.make html
command in thedocs/
folder.