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

Add Iteration base class #3472

Merged
merged 10 commits into from
Dec 13, 2021
Merged

Add Iteration base class #3472

merged 10 commits into from
Dec 13, 2021

Conversation

Nic-Ma
Copy link
Contributor

@Nic-Ma Nic-Ma commented Dec 10, 2021

Description

Similar as the PrepareBatch signature, this PR defines the base class Iteration for every iteration of the precess_function of ignite engine.

Status

Ready

Types of changes

  • Non-breaking change (fix or new feature that would not break existing functionality).
  • Breaking change (fix or new feature that would cause existing functionality to change).
  • New tests added to cover the changes.
  • Integration tests passed locally by running ./runtests.sh -f -u --net --coverage.
  • Quick tests passed locally by running ./runtests.sh --quick --unittests.
  • In-line docstrings updated.
  • Documentation updated, tested make html command in the docs/ folder.

Sorry, something went wrong.

Nic-Ma and others added 6 commits February 1, 2021 19:15

Verified

This commit was signed with the committer’s verified signature.
bitwarden-devops-bot Bitwarden DevOps
merge master
Signed-off-by: Nic Ma <nma@nvidia.com>
@Nic-Ma
Copy link
Contributor Author

Nic-Ma commented Dec 10, 2021

/black

@Nic-Ma Nic-Ma requested review from ericspod, rijobro and wyli December 10, 2021 16:58
@@ -200,6 +202,18 @@ def _get_data(key: str):
return image, label, tuple(args), kwargs


class Iteration(ABC):
Copy link
Contributor

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?

Copy link
Contributor Author

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.

Copy link
Contributor

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.

Copy link
Contributor Author

@Nic-Ma Nic-Ma Dec 11, 2021

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.

Copy link
Contributor Author

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:

  1. If custimize input data format, extend from the existing monai.engines.PrepareBatch signature.
  2. If customize computation of every iteration, extend from monai.engines.Iteration signature, this PR.
  3. If customize the overall trainer logic, extend from existing monai.engines.SupervisedTrainer signature.
  4. If even don't want to follow ignite engine, extend from the existing monai.engines.BaseWorkflow signature.

Thanks.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Hi @wyli @vfdev-5 ,

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.

Copy link
Contributor

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.

Copy link
Contributor Author

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.

Copy link
Member

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

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Hi @wyli @vfdev-5 @ericspod ,

Thanks for the great discussion!
Seems all you guys are suggesting the same pythonic way of doing this, OK, I updated the PR to clarify the signature in the doc-string and type-hints.
Could you please help review it again?

Thanks in advance.

@Nic-Ma
Copy link
Contributor Author

Nic-Ma commented Dec 12, 2021

/build

Signed-off-by: Nic Ma <nma@nvidia.com>
@Nic-Ma Nic-Ma force-pushed the add_iteration_base branch from 161928f to abb656f Compare December 12, 2021 22:26
@Nic-Ma
Copy link
Contributor Author

Nic-Ma commented Dec 12, 2021

/black

@Nic-Ma
Copy link
Contributor Author

Nic-Ma commented Dec 12, 2021

/build

@Nic-Ma
Copy link
Contributor Author

Nic-Ma commented Dec 13, 2021

/build

Copy link
Member

@vfdev-5 vfdev-5 left a 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

monai/apps/deepgrow/interaction.py Outdated Show resolved Hide resolved
monai/engines/evaluator.py Outdated Show resolved Hide resolved
Signed-off-by: Nic Ma <nma@nvidia.com>
@Nic-Ma
Copy link
Contributor Author

Nic-Ma commented Dec 13, 2021

/build

@Nic-Ma
Copy link
Contributor Author

Nic-Ma commented Dec 13, 2021

/black

@Nic-Ma Nic-Ma merged commit 360c52f into Project-MONAI:dev Dec 13, 2021
Nic-Ma added a commit to Nic-Ma/MONAI that referenced this pull request Dec 13, 2021
wyli pushed a commit that referenced this pull request Dec 14, 2021
* [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>
Can-Zhao added a commit that referenced this pull request Jan 5, 2022
* 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>
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.

None yet

4 participants