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

Parameterize 3DReconNet by Volume Size #2

Open
msrepo opened this issue May 4, 2023 · 0 comments
Open

Parameterize 3DReconNet by Volume Size #2

msrepo opened this issue May 4, 2023 · 0 comments

Comments

@msrepo
Copy link
Collaborator

msrepo commented May 4, 2023

Description

Current Implementation of 3DReconNet (MultiScale2DConcat) is validated for 64^3 and 128^3 output volume. This needs to be parameterized/flexible for future experiments.

Existing

 # 128^3 output volume.128^2 input x-rays
    model_config = {
        "permute": True,
        "dropout": 0.1,
        "encoder": {
            "initial_channel": 16,
            "in_channels": [],  # this will be filled in by autoconfig
            "out_channels": [2, 4, 8, 16, 32, 64],
            "encoder_count": 4,
            "kernel_size": 3,
            "act": "RELU",
            "norm": "BATCH",
        },
        "decoder_2D": {
            "in_channels": [],  # this will be filled in by autoconfig
            "out_channels": [4, 8, 16, 32, 64, 128],
            # "out_channels": [2, 4, 8, 16, 32, 64],
            "kernel_size": 3,
            "act": "RELU",
            "norm": "BATCH",
        },
        "fusion_3D": {
            "in_channels": [],  # this will be filled in by autoconfig
            "out_channels": [32, 32, 32, 32, 32, 32],
            "kernel_size": 3,
            "act": "RELU",
            "norm": "BATCH",
        },
    }
 # 64^3 output volume, 64^2 input x-ray
    model_config = {
        "permute": True,
        "dropout": 0.1,
        "encoder": {
            "initial_channel": 16,
            "in_channels": [],  # this will be filled in by autoconfig
            "out_channels": [4, 8, 16, 32, 64],
            "encoder_count": 4,
            "kernel_size": 3,
            "act": "RELU",
            "norm": "BATCH",
        },
        "decoder_2D": {
            "in_channels": [],  # this will be filled in by autoconfig
            # "out_channels": [8, 16, 32, 64, 128],
            "out_channels": [4, 8, 16, 32, 64],
            "kernel_size": 3,
            "act": "RELU",
            "norm": "BATCH",
        },
        "fusion_3D": {
            "in_channels": [],  # this will be filled in by autoconfig
            "out_channels": [32, 32, 32, 32, 32],
            "kernel_size": 3,
            "act": "RELU",
            "norm": "BATCH",
        },
    }

As shown above, current implementation take configuration dict as parameter whose parameters have to be carefully selected to make sure the network pipeline is valid.

Is it even possible to have input/output size other than power-of-2, say 96^2 or 196^2?

Files

XrayTo3DShape/architectures/twoDPermuteConcatMultiScale.py
tests/test_multiscale_permuteconcat.py

Tasks

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

No branches or pull requests

1 participant