-
Notifications
You must be signed in to change notification settings - Fork 122
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
Implement Vnet with 8 slices in 3d instead of 16 slices #52
Comments
I think you are loosing a dimension because of downsampling.
You divide your 8 slices by 2 a total of 4 times. One of your dimensions is collapsingg because of that. Kill one DownTransition and relative UpTransition.
V-Net is designed to run with resolutions up to 256^3 voxels on the newest hardware.
Fausto
… On Jun 7, 2018, at 2:17 PM, amitailiani ***@***.***> wrote:
I would appreciate if you can help how to use this code by considering only 8 slices for 3d dataset. As per my understanding I have made changes to following initialization code. I have made changes in InputTransition to split data into 8 channels. I am getting following error. Please let me know how to address this issue.
Code Changes
self.in_tr = InputTransition(8, elu)
self.down_tr32 = DownTransition(8, 1, elu)
self.down_tr64 = DownTransition(16, 2, elu)
self.down_tr128 = DownTransition(32, 3, elu, dropout=True)
self.down_tr256 = DownTransition(64, 2, elu, dropout=True)
self.up_tr256 = UpTransition(128, 128, 2, elu, dropout=True)
self.up_tr128 = UpTransition(128, 64, 2, elu, dropout=True)
self.up_tr64 = UpTransition(64, 32, 1, elu)
self.up_tr32 = UpTransition(32, 16, 1, elu)
self.out_tr = OutputTransition(16, elu, nll)
Error:
output = model(data)
File "C:\Program Files\Python36\lib\site-packages\torch\nn\modules\module.py", line 224, in call
result = self.forward(*input, **kwargs)
File "C:\Program Files\Python36\lib\site-packages\torch\nn\parallel\data_parallel.py", line 60, in forward
outputs = self.parallel_apply(replicas, inputs, kwargs)
File "C:\Program Files\Python36\lib\site-packages\torch\nn\parallel\data_parallel.py", line 70, in parallel_apply
return parallel_apply(replicas, inputs, kwargs, self.device_ids[:len(replicas)])
File "C:\Program Files\Python36\lib\site-packages\torch\nn\parallel\parallel_apply.py", line 67, in parallel_apply
raise output
File "C:\Program Files\Python36\lib\site-packages\torch\nn\parallel\parallel_apply.py", line 42, in _worker
output = module(*input, **kwargs)
File "C:\Program Files\Python36\lib\site-packages\torch\nn\modules\module.py", line 224, in call
result = self.forward(*input, **kwargs)
File "e:\winPyTorch\vnet.FullLung_nodule_segmentation\vnet.py", line 188, in forward
out256 = self.down_tr256(out128)
File "C:\Program Files\Python36\lib\site-packages\torch\nn\modules\module.py", line 224, in call
result = self.forward(*input, **kwargs)
File "e:\winPyTorch\vnet.FullLung_nodule_segmentation\vnet.py", line 81, in forward
down = self.relu1(self.bn1(self.down_conv(x)))
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub <#52>, or mute the thread <https://github.com/notifications/unsubscribe-auth/AMtsvvkYeQxhfo1JTvQMpHSpEZX7tjlRks5t6ZiBgaJpZM4UfIxK>.
|
thank you for your prompt response. I am new to semantic segmentation. Can you suggest which layer would be appropriate to remove? |
The last downsampling layer, and the following one.
… On Jun 7, 2018, at 2:23 PM, amitailiani ***@***.***> wrote:
thank you for your prompt response. I am new to semantic segmentation. Can you suggest which layer would be appropriate to remove?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub <#52 (comment)>, or mute the thread <https://github.com/notifications/unsubscribe-auth/AMtsvo0sugu0LagXWKIgfNUPj8sAUZ30ks5t6ZnegaJpZM4UfIxK>.
|
Hi:
There is a specific reason I am restricting my data to 8 slices. I am
working on tumor segmentation and tumors are are of certain size.
I am still getting errors after removing last layer. Can you please look
into this? See below for your reference.
Thanks again for your help.
AmsAlien
*Error:*
File "e:\winPyTorch\vnet.FullLung_nodule_segmentation\vnet.py", line 190,
in forward
out = self.up_tr128(out128, out64)
File "C:\Program
Files\Python36\lib\site-packages\torch\nn\modules\module.py", line 224, in
__call__
result = self.forward(*input, **kwargs)
File "e:\winPyTorch\vnet.FullLung_nodule_segmentation\vnet.py", line 104,
in forward
out = self.relu1(self.bn1(self.up_conv(out)))
File "C:\Program
Files\Python36\lib\site-packages\torch\nn\modules\module.py", line 224, in
__call__
result = self.forward(*input, **kwargs)
File "C:\Program
Files\Python36\lib\site-packages\torch\nn\modules\conv.py", line 663, in
forward
output_padding, self.groups, self.dilation)
File "C:\Program Files\Python36\lib\site-packages\torch\nn\functional.py",
line 203, in conv_transpose3d
return f(input, weight, bias)
RuntimeError: CUDNN_STATUS_BAD_PARAM
*Code Changes not sure how the second parameter which is number of
convolutions is set*:
def __init__(self, elu=True, nll=False):
super(VNet, self).__init__()
self.in_tr = InputTransition(8, elu)
self.down_tr32 = DownTransition(8, 1, elu)
self.down_tr64 = DownTransition(16, 2, elu)
self.down_tr128 = DownTransition(32, 3, elu, dropout=True)
self.up_tr128 = UpTransition(128, 128, 2, elu, dropout=True)
self.up_tr64 = UpTransition(128, 64, 1, elu)
self.up_tr32 = UpTransition(64, 32, 1, elu)
self.out_tr = OutputTransition(32, elu, nll)
def forward(self, x):
out16 = self.in_tr(x)
out32 = self.down_tr32(out16)
out64 = self.down_tr64(out32)
out128 = self.down_tr128(out64)
out = self.up_tr128(out128, out64)
out = self.up_tr64(out, out32)
out = self.up_tr32(out, out16)
out = self.out_tr(out)
return out
On Thu, Jun 7, 2018 at 2:25 PM, Fausto Milletari <[email protected]>
wrote:
… The last downsampling layer, and the following one.
> On Jun 7, 2018, at 2:23 PM, amitailiani ***@***.***>
wrote:
>
> thank you for your prompt response. I am new to semantic segmentation.
Can you suggest which layer would be appropriate to remove?
>
> —
> You are receiving this because you commented.
> Reply to this email directly, view it on GitHub <https://github.com/
faustomilletari/VNet#52#issuecomment-395569706>, or mute the
thread <https://github.com/notifications/unsubscribe-auth/
AMtsvo0sugu0LagXWKIgfNUPj8sAUZ30ks5t6ZnegaJpZM4UfIxK>.
>
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#52 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AQ5KvgfL3i0aqE4I7OvwAkt08wWmWww6ks5t6Zo-gaJpZM4UfIxK>
.
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I would appreciate if you can help how to use this code by considering only 8 slices for 3d dataset. As per my understanding I have made changes to following initialization code. I have made changes in InputTransition to split data into 8 channels. I am getting following error. Please let me know how to address this issue.
Code Changes
Error:
output = model(data)
File "C:\Program Files\Python36\lib\site-packages\torch\nn\modules\module.py", line 224, in call
result = self.forward(*input, **kwargs)
File "C:\Program Files\Python36\lib\site-packages\torch\nn\parallel\data_parallel.py", line 60, in forward
outputs = self.parallel_apply(replicas, inputs, kwargs)
File "C:\Program Files\Python36\lib\site-packages\torch\nn\parallel\data_parallel.py", line 70, in parallel_apply
return parallel_apply(replicas, inputs, kwargs, self.device_ids[:len(replicas)])
File "C:\Program Files\Python36\lib\site-packages\torch\nn\parallel\parallel_apply.py", line 67, in parallel_apply
raise output
File "C:\Program Files\Python36\lib\site-packages\torch\nn\parallel\parallel_apply.py", line 42, in _worker
output = module(*input, **kwargs)
File "C:\Program Files\Python36\lib\site-packages\torch\nn\modules\module.py", line 224, in call
result = self.forward(*input, **kwargs)
File "e:\winPyTorch\vnet.FullLung_nodule_segmentation\vnet.py", line 188, in forward
out256 = self.down_tr256(out128)
File "C:\Program Files\Python36\lib\site-packages\torch\nn\modules\module.py", line 224, in call
result = self.forward(*input, **kwargs)
File "e:\winPyTorch\vnet.FullLung_nodule_segmentation\vnet.py", line 81, in forward
down = self.relu1(self.bn1(self.down_conv(x)))
The text was updated successfully, but these errors were encountered: