Skip to content

Make the flexible unet more extensible to different backbones#5038

Merged
wyli merged 51 commits intoProject-MONAI:devfrom
binliunls:5011-flexible-unet
Oct 20, 2022
Merged

Make the flexible unet more extensible to different backbones#5038
wyli merged 51 commits intoProject-MONAI:devfrom
binliunls:5011-flexible-unet

Conversation

@binliunls
Copy link
Copy Markdown
Contributor

Signed-off-by: binliu [email protected]

Fixes #5011 .

Description

Currently, the FlexibleUNet structure only supports the efficient-net series as the backbone and it is hard to extend to other network structures. A more extensible and convenient way to add more benchmark or user defined backbones will make it more flexible. I plan to make it by doing steps below

  1. A base backbone/encoder class that defines interfaces like the number of output feature maps, a list of output feature map channels, string names of backbones and so on.

  2. A register who can dynamically regist backbones to a dict that will be used during the flexible unet initialization.

Status

Work in progress

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 --disttests.
  • In-line docstrings updated.
  • Documentation updated, tested make html command in the docs/ folder.

binliunls and others added 23 commits August 31, 2022 08:42
Signed-off-by: binliu <[email protected]>
Signed-off-by: binliu <[email protected]>
Signed-off-by: binliu <[email protected]>
Signed-off-by: binliu <[email protected]>
@binliunls binliunls marked this pull request as ready for review October 10, 2022 14:50
@binliunls binliunls changed the title [WIP] Make the flexible unet more extensible to different backbones Make the flexible unet more extensible to different backbones Oct 10, 2022
@binliunls binliunls requested review from Nic-Ma, wyli and yiheng-wang-nv and removed request for wyli October 10, 2022 14:51
@Nic-Ma
Copy link
Copy Markdown
Contributor

Nic-Ma commented Oct 20, 2022

/black

@wyli
Copy link
Copy Markdown
Contributor

wyli commented Oct 20, 2022

/build

@wyli
Copy link
Copy Markdown
Contributor

wyli commented Oct 20, 2022

/build

@wyli wyli enabled auto-merge (squash) October 20, 2022 13:37
@wyli
Copy link
Copy Markdown
Contributor

wyli commented Oct 20, 2022

/build

@wyli wyli merged commit 217f6c6 into Project-MONAI:dev Oct 20, 2022
@binliunls binliunls deleted the 5011-flexible-unet branch October 21, 2022 13:31
wyli pushed a commit that referenced this pull request Oct 24, 2022
Signed-off-by: binliu <[email protected]>

Fixes #5011  .

### Description
Currently, the FlexibleUNet structure only supports the efficient-net
series as the backbone and it is hard to extend to other network
structures. A more extensible and convenient way to add more benchmark
or user-defined backbones will make it more flexible. I plan to make it
by doing steps below

1. A base backbone/encoder class that defines interfaces like the number
of output feature maps, a list of output feature map channels, string
names of backbones and so on.

2. A register that can dynamically register backbones to a dict that will
be used during the flexible unet initialization.

### Types of changes
<!--- Put an `x` in all the boxes that apply, and remove the not
applicable items -->
- [x] 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 --disttests`.
- [ ] In-line docstrings updated.
- [ ] Documentation updated, tested `make html` command in the `docs/`
folder.

Signed-off-by: binliu <[email protected]>
wyli pushed a commit that referenced this pull request Oct 24, 2022
Signed-off-by: binliu <[email protected]>

Fixes #5011  .

### Description
Currently, the FlexibleUNet structure only supports the efficient-net
series as the backbone and it is hard to extend to other network
structures. A more extensible and convenient way to add more benchmark
or user-defined backbones will make it more flexible. I plan to make it
by doing steps below

1. A base backbone/encoder class that defines interfaces like the number
of output feature maps, a list of output feature map channels, string
names of backbones and so on.

2. A register that can dynamically register backbones to a dict that will
be used during the flexible unet initialization.

### Types of changes
<!--- Put an `x` in all the boxes that apply, and remove the not
applicable items -->
- [x] 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 --disttests`.
- [ ] In-line docstrings updated.
- [ ] Documentation updated, tested `make html` command in the `docs/`
folder.

Signed-off-by: binliu <[email protected]>
KumoLiu pushed a commit that referenced this pull request Nov 2, 2022
Signed-off-by: binliu <[email protected]>

Fixes #5011  .

### Description
Currently, the FlexibleUNet structure only supports the efficient-net
series as the backbone and it is hard to extend to other network
structures. A more extensible and convenient way to add more benchmark
or user-defined backbones will make it more flexible. I plan to make it
by doing steps below

1. A base backbone/encoder class that defines interfaces like the number
of output feature maps, a list of output feature map channels, string
names of backbones and so on.

2. A register that can dynamically register backbones to a dict that will
be used during the flexible unet initialization.

### Types of changes
<!--- Put an `x` in all the boxes that apply, and remove the not
applicable items -->
- [x] 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 --disttests`.
- [ ] In-line docstrings updated.
- [ ] Documentation updated, tested `make html` command in the `docs/`
folder.

Signed-off-by: binliu <[email protected]>
Signed-off-by: KumoLiu <[email protected]>
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.

Make the Flexible U-Net easily extensible for new backbones

4 participants