Python torch.nn.BatchNorm3d() Examples
The following are 30
code examples of torch.nn.BatchNorm3d().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
torch.nn
, or try the search function
.
Example #1
Source File: deeplab_resnet_3D.py From pytorch-mri-segmentation-3D with MIT License | 8 votes |
def __init__(self, inplanes, planes, stride=1, dilation_ = 1, downsample=None): super(Bottleneck, self).__init__() self.conv1 = nn.Conv3d(inplanes, planes, kernel_size=1, stride=stride, bias=False) self.bn1 = nn.BatchNorm3d(planes, affine = affine_par) for i in self.bn1.parameters(): i.requires_grad = False padding = dilation_ #if dilation_ == 2: # padding = 2 #elif dilation_ == 4: # padding = 4 self.conv2 = nn.Conv3d(planes, planes, kernel_size=3, stride=1, padding=padding, bias=False, dilation = dilation_) self.bn2 = nn.BatchNorm3d(planes,affine = affine_par) for i in self.bn2.parameters(): i.requires_grad = False self.conv3 = nn.Conv3d(planes, planes * 4, kernel_size=1, bias=False) self.bn3 = nn.BatchNorm3d(planes * 4, affine = affine_par) for i in self.bn3.parameters(): i.requires_grad = False self.relu = nn.ReLU(inplace=True) self.downsample = downsample self.stride = stride
Example #2
Source File: newLayers3D.py From 3D-HourGlass-Network with MIT License | 7 votes |
def __init__(self, inChannels, outChannels, kernelSize = 1, stride = 1, padding = 0): super(NewConvBnRelu3D, self).__init__() self.inChannels = inChannels self.outChannels = outChannels self.kernelSize = kernelSize self.stride = stride self.padding = padding self.relu = nn.LeakyReLU() self.bn = nn.BatchNorm3d(self.inChannels) if (kernelSize == 1): self.conv = nn.Conv1d(self.inChannels, self.outChannels, self.kernelSize, self.stride, self.padding) elif (isinstance(kernelSize, int)): self.conv = nn.Conv3d(self.inChannels, self.outChannels, self.kernelSize, self.stride, self.padding) elif (kernelSize[0] == 1): self.conv = nn.Conv2d(self.inChannels, self.outChannels, self.kernelSize[1:], self.stride, self.padding) else : self.conv = nn.Conv3d(self.inChannels, self.outChannels, self.kernelSize, self.stride, self.padding)
Example #3
Source File: resnet_2d3d.py From DPC with MIT License | 6 votes |
def __init__(self, inplanes, planes, stride=1, downsample=None, track_running_stats=True, use_final_relu=True): super(Bottleneck2d, self).__init__() bias = False self.use_final_relu = use_final_relu self.conv1 = nn.Conv3d(inplanes, planes, kernel_size=1, bias=bias) self.bn1 = nn.BatchNorm3d(planes, track_running_stats=track_running_stats) self.conv2 = nn.Conv3d(planes, planes, kernel_size=(1,3,3), stride=(1,stride,stride), padding=(0,1,1), bias=bias) self.bn2 = nn.BatchNorm3d(planes, track_running_stats=track_running_stats) self.conv3 = nn.Conv3d(planes, planes * 4, kernel_size=1, bias=bias) self.bn3 = nn.BatchNorm3d(planes * 4, track_running_stats=track_running_stats) self.relu = nn.ReLU(inplace=True) self.downsample = downsample self.stride = stride
Example #4
Source File: init.py From torch-toolbox with BSD 3-Clause "New" or "Revised" License | 6 votes |
def __call__(self, module): if isinstance(module, (nn.Conv2d, nn.Conv3d)): self.initializer( module.weight.data, self.slope, self.mode, self.nonlinearity) if module.bias is not None: module.bias.data.zero_() elif isinstance(module, (nn.BatchNorm2d, nn.BatchNorm3d, nn.GroupNorm)): if module.weight is not None: module.weight.data.fill_(1) if module.bias is not None: module.bias.data.zero_() elif isinstance(module, nn.Linear): self.initializer( module.weight.data, self.slope, self.mode, self.nonlinearity) if module.bias is not None: module.bias.data.zero_()
Example #5
Source File: stackhourglass.py From PSMNet with MIT License | 6 votes |
def __init__(self, inplanes): super(hourglass, self).__init__() self.conv1 = nn.Sequential(convbn_3d(inplanes, inplanes*2, kernel_size=3, stride=2, pad=1), nn.ReLU(inplace=True)) self.conv2 = convbn_3d(inplanes*2, inplanes*2, kernel_size=3, stride=1, pad=1) self.conv3 = nn.Sequential(convbn_3d(inplanes*2, inplanes*2, kernel_size=3, stride=2, pad=1), nn.ReLU(inplace=True)) self.conv4 = nn.Sequential(convbn_3d(inplanes*2, inplanes*2, kernel_size=3, stride=1, pad=1), nn.ReLU(inplace=True)) self.conv5 = nn.Sequential(nn.ConvTranspose3d(inplanes*2, inplanes*2, kernel_size=3, padding=1, output_padding=1, stride=2,bias=False), nn.BatchNorm3d(inplanes*2)) #+conv2 self.conv6 = nn.Sequential(nn.ConvTranspose3d(inplanes*2, inplanes, kernel_size=3, padding=1, output_padding=1, stride=2,bias=False), nn.BatchNorm3d(inplanes)) #+x
Example #6
Source File: stackhourglass.py From DSMnet with Apache License 2.0 | 6 votes |
def __init__(self, inplanes): super(hourglass, self).__init__() self.conv1 = nn.Sequential(convbn_3d(inplanes, inplanes*2, kernel_size=3, stride=2, pad=1), nn.ReLU(inplace=True)) self.conv2 = convbn_3d(inplanes*2, inplanes*2, kernel_size=3, stride=1, pad=1) self.conv3 = nn.Sequential(convbn_3d(inplanes*2, inplanes*2, kernel_size=3, stride=2, pad=1), nn.ReLU(inplace=True)) self.conv4 = nn.Sequential(convbn_3d(inplanes*2, inplanes*2, kernel_size=3, stride=1, pad=1), nn.ReLU(inplace=True)) self.conv5 = nn.Sequential(nn.ConvTranspose3d(inplanes*2, inplanes*2, kernel_size=3, padding=1, output_padding=1, stride=2,bias=False), nn.BatchNorm3d(inplanes*2)) #+conv2 self.conv6 = nn.Sequential(nn.ConvTranspose3d(inplanes*2, inplanes, kernel_size=3, padding=1, output_padding=1, stride=2,bias=False), nn.BatchNorm3d(inplanes)) #+x
Example #7
Source File: deeplab_resnet_3D.py From pytorch-mri-segmentation-3D with MIT License | 6 votes |
def __init__(self,dilation_series,padding_series,NoLabels): super(Classifier_Module, self).__init__() self.conv3d_list = nn.ModuleList() self.bn3d_list = nn.ModuleList() for dilation,padding in zip(dilation_series,padding_series): self.conv3d_list.append(nn.Conv3d(2048, 256,kernel_size=3,stride=1, padding =padding, dilation = dilation,bias = True)) self.bn3d_list.append(nn.BatchNorm3d(256, affine = affine_par)) self.num_concats = len(self.conv3d_list) + 2 #add global pooling, add batchnorm self.conv1x1_1 = nn.Conv3d(2048, 256, kernel_size=1, stride=1) self.conv1x1_2 = nn.Conv3d(2048, 256, kernel_size=1, stride=1) self.conv1x1_3 = nn.Conv3d(256*self.num_concats, 256, kernel_size=1, stride=1) self.conv1x1_4 = nn.Conv3d(256, NoLabels, kernel_size=1, stride=1) self.bn1 = nn.BatchNorm3d(256, affine = affine_par) self.bn2 = nn.BatchNorm3d(256*self.num_concats, affine= affine_par) self.bn3 = nn.BatchNorm3d(256, affine= affine_par) #global avg pool #input = 1x512xdim1xdim2xdim3 #output = 1x512x1x1x1 #XXX check for m in self.conv3d_list: m.weight.data.normal_(0, 0.01)
Example #8
Source File: deeplab_resnet_3D.py From pytorch-mri-segmentation-3D with MIT License | 6 votes |
def _make_layer(self, block, planes, blocks, stride=1,dilation__ = 1): downsample = None if stride != 1 or self.inplanes != planes * block.expansion or dilation__ == 2 or dilation__ == 4: downsample = nn.Sequential( nn.Conv3d(self.inplanes, planes * block.expansion, kernel_size=1, stride=stride, bias=False), nn.BatchNorm3d(planes * block.expansion,affine = affine_par), ) for i in downsample._modules['1'].parameters(): i.requires_grad = False layers = [] layers.append(block(self.inplanes, planes, stride, dilation_=dilation__, downsample = downsample )) self.inplanes = planes * block.expansion for i in range(1, blocks): layers.append(block(self.inplanes, planes,dilation_=dilation__)) return nn.Sequential(*layers)
Example #9
Source File: smallhighresnet_3D.py From pytorch-mri-segmentation-3D with MIT License | 6 votes |
def __init__(self, inplanes, outplanes, padding_=1, stride=1, dilation_ = 1): super(HighResNetBlock, self).__init__() self.conv1 = nn.Conv3d(inplanes, outplanes, kernel_size=3, stride=1, padding=padding_, bias=False, dilation = dilation_) self.conv2 = nn.Conv3d(outplanes, outplanes, kernel_size=3, stride=1, padding=padding_, bias=False, dilation = dilation_) #2 convolutions of same dilation. residual block self.bn1 = nn.BatchNorm3d(outplanes, affine = affine_par) for i in self.bn1.parameters(): i.requires_grad = False self.bn2 = nn.BatchNorm3d(outplanes, affine = affine_par) for i in self.bn2.parameters(): i.requires_grad = False self.relu = nn.PReLU() self.diff_dims = (inplanes != outplanes) self.downsample = nn.Sequential( nn.Conv3d(inplanes, outplanes, kernel_size=1, stride=stride, bias=False), nn.BatchNorm3d(outplanes, affine = affine_par) ) for i in self.downsample._modules['1'].parameters(): i.requires_grad = False
Example #10
Source File: smallhighresnet_3D.py From pytorch-mri-segmentation-3D with MIT License | 6 votes |
def __init__(self,NoLabels): super(SmallHighResNet,self).__init__() self.conv1 = nn.Conv3d(1, 8, kernel_size=3, stride=8, padding=1, bias=False) self.bn1 = nn.BatchNorm3d(8, affine = affine_par) for i in self.bn1.parameters(): i.requires_grad = False self.relu = nn.PReLU() self.block1_1 = HighResNetBlock(inplanes=8, outplanes=8, padding_=1, dilation_=1) self.block2_1 = HighResNetBlock(inplanes=8, outplanes=16,padding_=2, dilation_=2) self.block2_2 = HighResNetBlock(inplanes=16, outplanes=16, padding_=2, dilation_=2) self.block3_1 = HighResNetBlock(inplanes=16, outplanes=16, padding_=4, dilation_=4) self.block3_2 = HighResNetBlock(inplanes=16, outplanes=16, padding_=4, dilation_=4) self.conv2 = nn.Conv3d(16, NoLabels, kernel_size=1, stride=1, padding=0, bias=False)
Example #11
Source File: highresnet_3D.py From pytorch-mri-segmentation-3D with MIT License | 6 votes |
def __init__(self, inplanes, outplanes, padding_=1, stride=1, dilation_ = 1): super(HighResNetBlock, self).__init__() self.conv1 = nn.Conv3d(inplanes, outplanes, kernel_size=3, stride=1, padding=padding_, bias=False, dilation = dilation_) self.conv2 = nn.Conv3d(outplanes, outplanes, kernel_size=3, stride=1, padding=padding_, bias=False, dilation = dilation_) #2 convolutions of same dilation. residual block self.bn1 = nn.BatchNorm3d(outplanes, affine = affine_par) for i in self.bn1.parameters(): i.requires_grad = False self.bn2 = nn.BatchNorm3d(outplanes, affine = affine_par) for i in self.bn2.parameters(): i.requires_grad = False self.relu = nn.PReLU() self.diff_dims = (inplanes != outplanes) self.downsample = nn.Sequential( nn.Conv3d(inplanes, outplanes, kernel_size=1, stride=stride, bias=False), nn.BatchNorm3d(outplanes, affine = affine_par) ) for i in self.downsample._modules['1'].parameters(): i.requires_grad = False
Example #12
Source File: utils.py From prediction-flow with MIT License | 6 votes |
def init_weights(model): if isinstance(model, nn.Linear): if model.weight is not None: init.kaiming_uniform_(model.weight.data) if model.bias is not None: init.normal_(model.bias.data) elif isinstance(model, nn.BatchNorm1d): if model.weight is not None: init.normal_(model.weight.data, mean=1, std=0.02) if model.bias is not None: init.constant_(model.bias.data, 0) elif isinstance(model, nn.BatchNorm2d): if model.weight is not None: init.normal_(model.weight.data, mean=1, std=0.02) if model.bias is not None: init.constant_(model.bias.data, 0) elif isinstance(model, nn.BatchNorm3d): if model.weight is not None: init.normal_(model.weight.data, mean=1, std=0.02) if model.bias is not None: init.constant_(model.bias.data, 0) else: pass
Example #13
Source File: highresnet_3D.py From pytorch-mri-segmentation-3D with MIT License | 6 votes |
def __init__(self,NoLabels): super(HighResNet,self).__init__() self.conv1 = nn.Conv3d(1, 16, kernel_size=3, stride=2, padding=1, bias=False) self.bn1 = nn.BatchNorm3d(16, affine = affine_par) for i in self.bn1.parameters(): i.requires_grad = False self.relu = nn.PReLU() self.block1_1 = HighResNetBlock(inplanes=16, outplanes=16, padding_=1, dilation_=1) self.block2_1 = HighResNetBlock(inplanes=16, outplanes=32, padding_=2, dilation_=2) self.block2_2 = HighResNetBlock(inplanes=32, outplanes=32, padding_=2, dilation_=2) self.block3_1 = HighResNetBlock(inplanes=32, outplanes=64, padding_=4, dilation_=4) self.block3_2 = HighResNetBlock(inplanes=64, outplanes=64, padding_=4, dilation_=4) self.conv2 = nn.Conv3d(64, 80, kernel_size=1, stride=1, padding=0, bias=False) self.upsample = nn.ConvTranspose3d(80, 80, kernel_size=2, stride=2, bias=False) self.conv3 = nn.Conv3d(80, NoLabels, kernel_size=1, stride=1, padding=0, bias=False)
Example #14
Source File: exp_net_3D.py From pytorch-mri-segmentation-3D with MIT License | 6 votes |
def __init__(self,dilation_series, padding_series, inplanes, midplanes, outplanes): super(ASPP_Module, self).__init__() self.conv3d_list = nn.ModuleList() self.bn3d_list = nn.ModuleList() for dilation,padding in zip(dilation_series,padding_series): self.conv3d_list.append(nn.Conv3d(inplanes, midplanes,kernel_size=3,stride=1, padding =padding, dilation = dilation,bias = True)) self.bn3d_list.append(nn.BatchNorm3d(midplanes, affine = affine_par)) self.num_concats = len(self.conv3d_list) + 2 #add global pooling, add batchnorm self.conv1x1_1 = nn.Conv3d(inplanes, midplanes, kernel_size=1, stride=1) self.conv1x1_2 = nn.Conv3d(inplanes, midplanes, kernel_size=1, stride=1) self.conv1x1_3 = nn.Conv3d(midplanes*self.num_concats, outplanes, kernel_size=1, stride=1) self.relu = nn.PReLU() self.bn1 = nn.BatchNorm3d(midplanes, affine = affine_par) self.bn2 = nn.BatchNorm3d(midplanes*self.num_concats, affine= affine_par) self.bn3 = nn.BatchNorm3d(midplanes, affine= affine_par)
Example #15
Source File: dpn3d26.py From DeepLung with GNU General Public License v3.0 | 6 votes |
def __init__(self, last_planes, in_planes, out_planes, dense_depth, stride, first_layer): super(Bottleneck, self).__init__() self.out_planes = out_planes self.dense_depth = dense_depth self.last_planes = last_planes self.in_planes = in_planes self.conv1 = nn.Conv3d(last_planes, in_planes, kernel_size=1, bias=False) self.bn1 = nn.BatchNorm3d(in_planes) self.conv2 = nn.Conv3d(in_planes, in_planes, kernel_size=3, stride=stride, padding=1, groups=8, bias=False) self.bn2 = nn.BatchNorm3d(in_planes) self.conv3 = nn.Conv3d(in_planes, out_planes+dense_depth, kernel_size=1, bias=False) self.bn3 = nn.BatchNorm3d(out_planes+dense_depth) self.shortcut = nn.Sequential() if first_layer: self.shortcut = nn.Sequential( nn.Conv3d(last_planes, out_planes+dense_depth, kernel_size=1, stride=stride, bias=False), nn.BatchNorm3d(out_planes+dense_depth) )
Example #16
Source File: densenet.py From PyTorchConv3D with Apache License 2.0 | 6 votes |
def __init__(self, num_input_features, growth_rate, bn_size, drop_rate): super(_DenseLayer, self).__init__() self.add_module('norm1', nn.BatchNorm3d(num_input_features)) self.add_module('relu1', nn.ReLU(inplace=True)) self.add_module('conv1', nn.Conv3d( num_input_features, bn_size * growth_rate, kernel_size=1, stride=1, bias=False)) self.add_module('norm2', nn.BatchNorm3d(bn_size * growth_rate)) self.add_module('relu2', nn.ReLU(inplace=True)) self.add_module('conv2', nn.Conv3d( bn_size * growth_rate, growth_rate, kernel_size=3, stride=1, padding=1, bias=False)) self.drop_rate = drop_rate
Example #17
Source File: resnet_2d3d.py From DPC with MIT License | 6 votes |
def __init__(self, inplanes, planes, stride=1, downsample=None, track_running_stats=True, use_final_relu=True): super(Bottleneck3d, self).__init__() bias = False self.use_final_relu = use_final_relu self.conv1 = nn.Conv3d(inplanes, planes, kernel_size=1, bias=bias) self.bn1 = nn.BatchNorm3d(planes, track_running_stats=track_running_stats) self.conv2 = nn.Conv3d(planes, planes, kernel_size=3, stride=stride, padding=1, bias=bias) self.bn2 = nn.BatchNorm3d(planes, track_running_stats=track_running_stats) self.conv3 = nn.Conv3d(planes, planes * 4, kernel_size=1, bias=bias) self.bn3 = nn.BatchNorm3d(planes * 4, track_running_stats=track_running_stats) self.relu = nn.ReLU(inplace=True) self.downsample = downsample self.stride = stride
Example #18
Source File: dpn3d.py From DeepLung with GNU General Public License v3.0 | 6 votes |
def __init__(self, cfg): super(DPN, self).__init__() in_planes, out_planes = cfg['in_planes'], cfg['out_planes'] num_blocks, dense_depth = cfg['num_blocks'], cfg['dense_depth'] # self.in_planes = in_planes # self.out_planes = out_planes # self.num_blocks = num_blocks # self.dense_depth = dense_depth self.conv1 = nn.Conv3d(1, 64, kernel_size=3, stride=1, padding=1, bias=False) self.bn1 = nn.BatchNorm3d(64) self.last_planes = 64 self.layer1 = self._make_layer(in_planes[0], out_planes[0], num_blocks[0], dense_depth[0], stride=1) self.layer2 = self._make_layer(in_planes[1], out_planes[1], num_blocks[1], dense_depth[1], stride=2) self.layer3 = self._make_layer(in_planes[2], out_planes[2], num_blocks[2], dense_depth[2], stride=2) self.layer4 = self._make_layer(in_planes[3], out_planes[3], num_blocks[3], dense_depth[3], stride=2) self.linear = nn.Linear(out_planes[3]+(num_blocks[3]+1)*dense_depth[3], 2)#10)
Example #19
Source File: resnet_2d3d.py From DPC with MIT License | 6 votes |
def __init__(self, block, layers, track_running_stats=True): super(ResNet2d3d_full, self).__init__() self.inplanes = 64 self.track_running_stats = track_running_stats bias = False self.conv1 = nn.Conv3d(3, 64, kernel_size=(1,7,7), stride=(1, 2, 2), padding=(0, 3, 3), bias=bias) self.bn1 = nn.BatchNorm3d(64, track_running_stats=track_running_stats) self.relu = nn.ReLU(inplace=True) self.maxpool = nn.MaxPool3d(kernel_size=(1, 3, 3), stride=(1, 2, 2), padding=(0, 1, 1)) if not isinstance(block, list): block = [block] * 4 self.layer1 = self._make_layer(block[0], 64, layers[0]) self.layer2 = self._make_layer(block[1], 128, layers[1], stride=2) self.layer3 = self._make_layer(block[2], 256, layers[2], stride=2) self.layer4 = self._make_layer(block[3], 256, layers[3], stride=2, is_final=True) # modify layer4 from exp=512 to exp=256 for m in self.modules(): if isinstance(m, nn.Conv3d): m.weight = nn.init.kaiming_normal_(m.weight, mode='fan_out') if m.bias is not None: m.bias.data.zero_() elif isinstance(m, nn.BatchNorm3d): m.weight.data.fill_(1) m.bias.data.zero_()
Example #20
Source File: resnext.py From PyTorchConv3D with Apache License 2.0 | 6 votes |
def __init__(self, inplanes, planes, cardinality, stride=1, downsample=None): super(ResNeXtBottleneck, self).__init__() mid_planes = cardinality * int(planes / 32) self.conv1 = nn.Conv3d(inplanes, mid_planes, kernel_size=1, bias=False) self.bn1 = nn.BatchNorm3d(mid_planes) self.conv2 = nn.Conv3d( mid_planes, mid_planes, kernel_size=3, stride=stride, padding=1, groups=cardinality, bias=False) self.bn2 = nn.BatchNorm3d(mid_planes) self.conv3 = nn.Conv3d( mid_planes, planes * self.expansion, kernel_size=1, bias=False) self.bn3 = nn.BatchNorm3d(planes * self.expansion) self.relu = nn.ReLU(inplace=True) self.downsample = downsample self.stride = stride
Example #21
Source File: unet_CT_multi_att_dsv_3D.py From Attention-Gated-Networks with MIT License | 6 votes |
def __init__(self, in_size, gate_size, inter_size, nonlocal_mode, sub_sample_factor): super(MultiAttentionBlock, self).__init__() self.gate_block_1 = GridAttentionBlock3D(in_channels=in_size, gating_channels=gate_size, inter_channels=inter_size, mode=nonlocal_mode, sub_sample_factor= sub_sample_factor) self.gate_block_2 = GridAttentionBlock3D(in_channels=in_size, gating_channels=gate_size, inter_channels=inter_size, mode=nonlocal_mode, sub_sample_factor=sub_sample_factor) self.combine_gates = nn.Sequential(nn.Conv3d(in_size*2, in_size, kernel_size=1, stride=1, padding=0), nn.BatchNorm3d(in_size), nn.ReLU(inplace=True) ) # initialise the blocks for m in self.children(): if m.__class__.__name__.find('GridAttentionBlock3D') != -1: continue init_weights(m, init_type='kaiming')
Example #22
Source File: blocks.py From pytorch-UNet with MIT License | 6 votes |
def __init__(self, in_channels, middle_channels, out_channels, deconv_channels, dropout=False): super(Decoder3D, self).__init__() layers = [ nn.Conv3d(in_channels, middle_channels, kernel_size=3, padding=1), nn.BatchNorm3d(middle_channels), nn.ReLU(inplace=True), nn.Conv3d(middle_channels, out_channels, kernel_size=3, padding=1), nn.BatchNorm3d(out_channels), nn.ReLU(inplace=True), nn.ConvTranspose3d(out_channels, deconv_channels, kernel_size=2, stride=2) ] if dropout: assert 0 <= dropout <= 1, 'dropout must be between 0 and 1' layers.append(nn.Dropout3d(p=dropout)) self.decoder = nn.Sequential(*layers)
Example #23
Source File: utils.py From Attention-Gated-Networks with MIT License | 6 votes |
def __init__(self, in_size, out_size, is_batchnorm, kernel_size=(3,3,1), padding_size=(1,1,0), init_stride=(1,1,1)): super(UnetConv3, self).__init__() if is_batchnorm: self.conv1 = nn.Sequential(nn.Conv3d(in_size, out_size, kernel_size, init_stride, padding_size), nn.BatchNorm3d(out_size), nn.ReLU(inplace=True),) self.conv2 = nn.Sequential(nn.Conv3d(out_size, out_size, kernel_size, 1, padding_size), nn.BatchNorm3d(out_size), nn.ReLU(inplace=True),) else: self.conv1 = nn.Sequential(nn.Conv3d(in_size, out_size, kernel_size, init_stride, padding_size), nn.ReLU(inplace=True),) self.conv2 = nn.Sequential(nn.Conv3d(out_size, out_size, kernel_size, 1, padding_size), nn.ReLU(inplace=True),) # initialise the blocks for m in self.children(): init_weights(m, init_type='kaiming')
Example #24
Source File: utils.py From Attention-Gated-Networks with MIT License | 6 votes |
def __init__(self, in_size, out_size, is_batchnorm, kernel_size=(3,3,1), padding_size=(1,1,0), init_stride=(1,1,1)): super(FCNConv3, self).__init__() if is_batchnorm: self.conv1 = nn.Sequential(nn.Conv3d(in_size, out_size, kernel_size, init_stride, padding_size), nn.BatchNorm3d(out_size), nn.ReLU(inplace=True),) self.conv2 = nn.Sequential(nn.Conv3d(out_size, out_size, kernel_size, 1, padding_size), nn.BatchNorm3d(out_size), nn.ReLU(inplace=True),) self.conv3 = nn.Sequential(nn.Conv3d(out_size, out_size, kernel_size, 1, padding_size), nn.BatchNorm3d(out_size), nn.ReLU(inplace=True),) else: self.conv1 = nn.Sequential(nn.Conv3d(in_size, out_size, kernel_size, init_stride, padding_size), nn.ReLU(inplace=True),) self.conv2 = nn.Sequential(nn.Conv3d(out_size, out_size, kernel_size, 1, padding_size), nn.ReLU(inplace=True),) self.conv3 = nn.Sequential(nn.Conv3d(out_size, out_size, kernel_size, 1, padding_size), nn.ReLU(inplace=True),) # initialise the blocks for m in self.children(): init_weights(m, init_type='kaiming')
Example #25
Source File: utils.py From Attention-Gated-Networks with MIT License | 6 votes |
def __init__(self, in_size, out_size, is_batchnorm): super(UnetGatingSignal3, self).__init__() self.fmap_size = (4, 4, 4) if is_batchnorm: self.conv1 = nn.Sequential(nn.Conv3d(in_size, in_size//2, (1,1,1), (1,1,1), (0,0,0)), nn.BatchNorm3d(in_size//2), nn.ReLU(inplace=True), nn.AdaptiveAvgPool3d(output_size=self.fmap_size), ) self.fc1 = nn.Linear(in_features=(in_size//2) * self.fmap_size[0] * self.fmap_size[1] * self.fmap_size[2], out_features=out_size, bias=True) else: self.conv1 = nn.Sequential(nn.Conv3d(in_size, in_size//2, (1,1,1), (1,1,1), (0,0,0)), nn.ReLU(inplace=True), nn.AdaptiveAvgPool3d(output_size=self.fmap_size), ) self.fc1 = nn.Linear(in_features=(in_size//2) * self.fmap_size[0] * self.fmap_size[1] * self.fmap_size[2], out_features=out_size, bias=True) # initialise the blocks for m in self.children(): init_weights(m, init_type='kaiming')
Example #26
Source File: utils.py From Attention-Gated-Networks with MIT License | 6 votes |
def __init__(self, in_size, out_size, kernel_size=(1,1,1), is_batchnorm=True): super(UnetGridGatingSignal3, self).__init__() if is_batchnorm: self.conv1 = nn.Sequential(nn.Conv3d(in_size, out_size, kernel_size, (1,1,1), (0,0,0)), nn.BatchNorm3d(out_size), nn.ReLU(inplace=True), ) else: self.conv1 = nn.Sequential(nn.Conv3d(in_size, out_size, kernel_size, (1,1,1), (0,0,0)), nn.ReLU(inplace=True), ) # initialise the blocks for m in self.children(): init_weights(m, init_type='kaiming')
Example #27
Source File: blocks.py From pytorch-UNet with MIT License | 6 votes |
def __init__(self, in_channels, middle_channels, out_channels, deconv_channels, dropout=False): super(Center3D, self).__init__() layers = [ nn.MaxPool3d(kernel_size=2), nn.Conv3d(in_channels, middle_channels, kernel_size=3, padding=1), nn.BatchNorm3d(middle_channels), nn.ReLU(inplace=True), nn.Conv3d(middle_channels, out_channels, kernel_size=3, padding=1), nn.BatchNorm3d(out_channels), nn.ReLU(inplace=True), nn.ConvTranspose3d(out_channels, deconv_channels, kernel_size=2, stride=2) ] if dropout: assert 0 <= dropout <= 1, 'dropout must be between 0 and 1' layers.append(nn.Dropout3d(p=dropout)) self.center = nn.Sequential(*layers)
Example #28
Source File: blocks.py From pytorch-UNet with MIT License | 6 votes |
def __init__( self, in_channels, middle_channels, out_channels, dropout=False, downsample_kernel=2 ): super(Encoder3D, self).__init__() layers = [ nn.MaxPool3d(kernel_size=downsample_kernel), nn.Conv3d(in_channels, middle_channels, kernel_size=3, padding=1), nn.BatchNorm3d(middle_channels), nn.ReLU(inplace=True), nn.Conv3d(middle_channels, out_channels, kernel_size=3, padding=1), nn.BatchNorm3d(out_channels), nn.ReLU(inplace=True) ] if dropout: assert 0 <= dropout <= 1, 'dropout must be between 0 and 1' layers.append(nn.Dropout3d(p=dropout)) self.encoder = nn.Sequential(*layers)
Example #29
Source File: blocks.py From pytorch-UNet with MIT License | 6 votes |
def __init__(self, in_channels, middle_channels, out_channels, dropout=False): super(First3D, self).__init__() layers = [ nn.Conv3d(in_channels, middle_channels, kernel_size=3, padding=1), nn.BatchNorm3d(middle_channels), nn.ReLU(inplace=True), nn.Conv3d(middle_channels, out_channels, kernel_size=3, padding=1), nn.BatchNorm3d(out_channels), nn.ReLU(inplace=True) ] if dropout: assert 0 <= dropout <= 1, 'dropout must be between 0 and 1' layers.append(nn.Dropout3d(p=dropout)) self.first = nn.Sequential(*layers)
Example #30
Source File: newLayers3D.py From 3D-HourGlass-Network with MIT License | 6 votes |
def __init__(self, inChannels, outChannels, kernelSize = 1, stride = 1, padding = 0): super(NewConvBnRelu3D, self).__init__() self.inChannels = inChannels self.outChannels = outChannels self.kernelSize = kernelSize self.stride = stride self.padding = padding self.relu = nn.LeakyReLU() self.bn = nn.BatchNorm3d(self.inChannels) if (kernelSize == 1): self.conv = nn.Conv1d(self.inChannels, self.outChannels, self.kernelSize, self.stride, self.padding) elif (isinstance(kernelSize, int)): self.conv = nn.Conv3d(self.inChannels, self.outChannels, self.kernelSize, self.stride, self.padding) elif (kernelSize[0] == 1): self.conv = nn.Conv2d(self.inChannels, self.outChannels, self.kernelSize[1:], self.stride, self.padding) else : self.conv = nn.Conv3d(self.inChannels, self.outChannels, self.kernelSize, self.stride, self.padding)