Python torch.nn.AvgPool3d() Examples
The following are 30
code examples of torch.nn.AvgPool3d().
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: classifiers_3D.py From Visual-Feature-Attribution-Using-Wasserstein-GANs-Pytorch with MIT License | 6 votes |
def __init__(self, n_channels=1, nlabels=1, init_filters=32): nf = init_filters super(FCNBN, self).__init__() self.encoder = nn.Sequential( conv3d_bn_block(n_channels, nf), nn.MaxPool3d(2), conv3d_bn_block(nf, 2*nf), nn.MaxPool3d(2), conv3d_bn_block(2*nf, 4*nf), conv3d_bn_block(4*nf, 4*nf), nn.MaxPool3d(2), conv3d_bn_block(4*nf, 8*nf), conv3d_bn_block(8*nf, 8*nf), nn.MaxPool3d(2), conv3d_bn_block(8*nf, 8*nf), conv3d_bn_block(8*nf, 8*nf), conv3d_bn_block(8*nf, 8*nf), ) self.classifier = nn.Sequential( conv3d_bn_block(8*nf, nlabels, kernel=1, activation=Identity), nn.AvgPool3d(2), )
Example #2
Source File: Fast_S3D.py From action-recognition-models-pytorch with MIT License | 6 votes |
def __init__(self, num_class): super(fast_S3D, self).__init__() self.conv1=BasicConv3d(3,64,kernel_size=(1,7,7),stride=2,padding=(0,3,3)) self.pool1=nn.MaxPool3d(kernel_size=(1,3,3),stride=(1,2,2),padding=(0,1,1)) self.conv2=BasicConv3d(64,64,kernel_size=1,stride=1) self.conv3=BasicConv3d(64,192,kernel_size=(1,3,3),stride=1,padding=(0,1,1)) self.pool2=nn.MaxPool3d(kernel_size=(1,3,3),stride=(1,2,2),padding=(0,1,1)) self.Inception1=nn.Sequential(Inception_block(192, [64,96,128,16,32,32]), Inception_block(256, [128, 128, 192, 32, 96, 64])) self.pool3=nn.MaxPool3d(kernel_size=3,stride=2,padding=1) self.Inception2=nn.Sequential(Inception_block(480,[192,96,208,16,48,64]), Inception_block(512, [160, 112, 224, 24, 64, 64]), Inception_block(512, [128, 128, 256, 24, 64, 64]), Inception_block(512, [112, 144, 288, 32, 64, 64]), Inception_block(528, [256, 160, 320, 32, 128, 128])) self.pool4=nn.MaxPool3d(kernel_size=2,stride=2) self.Inception3=nn.Sequential(S3D_block(832,[256,160,320,32,128,128]), S3D_block(832, [384, 192, 384, 48, 128, 128])) self.avg_pool=nn.AvgPool3d(kernel_size=(8,7,7)) self.dropout = nn.Dropout(0.4) self.linear=nn.Linear(1024,num_class)
Example #3
Source File: S3D_G.py From action-recognition-models-pytorch with MIT License | 6 votes |
def __init__(self, num_class): super(S3D_G, self).__init__() self.conv1=BasicConv3d(3,64,kernel_size=7,stride=2,padding=3) self.pool1=nn.MaxPool3d(kernel_size=(1,3,3),stride=(1,2,2),padding=(0,1,1)) self.conv2=BasicConv3d(64,64,kernel_size=1,stride=1) self.conv3=BasicConv3d(64,192,kernel_size=3,stride=1,padding=1) self.pool2=nn.MaxPool3d(kernel_size=(1,3,3),stride=(1,2,2),padding=(0,1,1)) self.Inception1=nn.Sequential(S3D_G_block(192, [64,96,128,16,32,32]), S3D_G_block(256, [128, 128, 192, 32, 96, 64])) self.pool3=nn.MaxPool3d(kernel_size=(3,3,3),stride=(2,2,2),padding=(1,1,1)) self.Inception2=nn.Sequential(S3D_G_block(480,[192,96,208,16,48,64]), S3D_G_block(512, [160, 112, 224, 24, 64, 64]), S3D_G_block(512, [128, 128, 256, 24, 64, 64]), S3D_G_block(512, [112, 144, 288, 32, 64, 64]), S3D_G_block(528, [256, 160, 320, 32, 128, 128])) self.pool4=nn.MaxPool3d(kernel_size=(2,2,2),stride=2) self.Inception3=nn.Sequential(S3D_G_block(832,[256,160,320,32,128,128]), S3D_G_block(832, [384, 192, 384, 48, 128, 128])) self.avg_pool=nn.AvgPool3d(kernel_size=(8,7,7)) self.dropout = nn.Dropout(0.4) self.linear=nn.Linear(1024,num_class)
Example #4
Source File: layer_factory.py From ECO-pytorch with BSD 2-Clause "Simplified" License | 6 votes |
def build_pooling3d(attr, channels=None, conv_bias=False): method = attr['mode'] ks = attr['kernel_size'] if 'kernel_size' in attr else (attr['kernel_d'], attr['kernel_h'], attr['kernel_w']) if ('pad' in attr) or ('pad_d' in attr and 'pad_w' in attr and 'pad_h' in attr): padding = attr['pad'] if 'pad' in attr else (attr['pad_d'], attr['pad_h'], attr['pad_w']) else: padding = 0 if ('stride' in attr) or ('stride_d' in attr and 'stride_w' in attr and 'stride_h' in attr): stride = attr['stride'] if 'stride' in attr else (attr['stride_d'], attr['stride_h'], attr['stride_w']) else: stride = 1 if method == 'max': pool = nn.MaxPool3d(ks, stride, padding, ceil_mode=True) # all Caffe pooling use ceil model elif method == 'ave': pool = nn.AvgPool3d(ks, stride, padding, ceil_mode=True) # all Caffe pooling use ceil model else: raise ValueError("Unknown pooling method: {}".format(method)) return pool, channels
Example #5
Source File: R21D_34.py From action-recognition-models-pytorch with MIT License | 6 votes |
def __init__(self, num_class): super(Res21D, self).__init__() self.conv1=nn.Conv3d(3,64,kernel_size=(3,7,7),stride=(1,2,2),padding=(1,3,3)) self.conv2=nn.Sequential(Res21D_Block(64, 64, spatial_stride=2), Res21D_Block(64, 64), Res21D_Block(64, 64)) self.conv3=nn.Sequential(Res21D_Block(64,128,spatial_stride=2,temporal_stride=2), Res21D_Block(128, 128), Res21D_Block(128, 128), Res21D_Block(128, 128),) self.conv4 = nn.Sequential(Res21D_Block(128, 256, spatial_stride=2,temporal_stride=2), Res21D_Block(256, 256), Res21D_Block(256, 256), Res21D_Block(256, 256), Res21D_Block(256, 256), Res21D_Block(256, 256)) self.conv5 = nn.Sequential(Res21D_Block(256, 512, spatial_stride=2,temporal_stride=2), Res21D_Block(512, 512), Res21D_Block(512, 512)) self.avg_pool=nn.AvgPool3d(kernel_size=(1,4,4)) self.linear=nn.Linear(512,num_class)
Example #6
Source File: S3DG_Pytorch.py From s3d.pytorch with MIT License | 6 votes |
def __init__(self, num_classes=400, dropout_keep_prob = 1, input_channel = 3, spatial_squeeze=True): super(S3DG, self).__init__() self.features = nn.Sequential( STConv3d(input_channel, 64, kernel_size=7, stride=2, padding=3), # (64, 32, 112, 112) nn.MaxPool3d(kernel_size=(1,3,3), stride=(1,2,2), padding=(0,1,1)), # (64, 32, 56, 56) BasicConv3d(64, 64, kernel_size=1, stride=1), # (64, 32, 56, 56) STConv3d(64, 192, kernel_size=3, stride=1, padding=1), # (192, 32, 56, 56) nn.MaxPool3d(kernel_size=(1,3,3), stride=(1,2,2), padding=(0,1,1)), # (192, 32, 28, 28) Mixed_3b(), # (256, 32, 28, 28) Mixed_3c(), # (480, 32, 28, 28) nn.MaxPool3d(kernel_size=(3, 3, 3), stride=(2, 2, 2), padding=(1, 1, 1)), # (480, 16, 14, 14) Mixed_4b(),# (512, 16, 14, 14) Mixed_4c(),# (512, 16, 14, 14) Mixed_4d(),# (512, 16, 14, 14) Mixed_4e(),# (528, 16, 14, 14) Mixed_4f(),# (832, 16, 14, 14) nn.MaxPool3d(kernel_size=(2, 2, 2), stride=(2, 2, 2), padding=(0, 0, 0)), # (832, 8, 7, 7) Mixed_5b(), # (832, 8, 7, 7) Mixed_5c(), # (1024, 8, 7, 7) nn.AvgPool3d(kernel_size=(2, 7, 7), stride=1),# (1024, 8, 1, 1) nn.Dropout3d(dropout_keep_prob), nn.Conv3d(1024, num_classes, kernel_size=1, stride=1, bias=True),# (400, 8, 1, 1) ) self.spatial_squeeze = spatial_squeeze self.softmax = nn.Softmax()
Example #7
Source File: I3D.py From action-recognition-models-pytorch with MIT License | 6 votes |
def __init__(self, num_class): super(I3D, self).__init__() self.conv1=BasicConv3d(3,64,kernel_size=7,stride=2,padding=3) self.pool1=nn.MaxPool3d(kernel_size=(1,3,3),stride=(1,2,2),padding=(0,1,1)) self.conv2=BasicConv3d(64,64,kernel_size=1,stride=1) self.conv3=BasicConv3d(64,192,kernel_size=3,stride=1,padding=1) self.pool2=nn.MaxPool3d(kernel_size=(1,3,3),stride=(1,2,2),padding=(0,1,1)) self.Inception1=nn.Sequential(Inception_block(192, [64,96,128,16,32,32]), Inception_block(256, [128, 128, 192, 32, 96, 64])) self.pool3=nn.MaxPool3d(kernel_size=(3,3,3),stride=(2,2,2),padding=(1,1,1)) self.Inception2=nn.Sequential(Inception_block(480,[192,96,208,16,48,64]), Inception_block(512, [160, 112, 224, 24, 64, 64]), Inception_block(512, [128, 128, 256, 24, 64, 64]), Inception_block(512, [112, 144, 288, 32, 64, 64]), Inception_block(528, [256, 160, 320, 32, 128, 128])) self.pool4=nn.MaxPool3d(kernel_size=(2,2,2),stride=2) self.Inception3=nn.Sequential(Inception_block(832,[256,160,320,32,128,128]), Inception_block(832, [384, 192, 384, 48, 128, 128])) self.avg_pool=nn.AvgPool3d(kernel_size=(8,7,7)) self.dropout = nn.Dropout(0.4) self.linear=nn.Linear(1024,num_class)
Example #8
Source File: inflate.py From TKP with Apache License 2.0 | 6 votes |
def inflate_pool(pool2d, time_dim=1, time_padding=0, time_stride=None, time_dilation=1): kernel_dim = (time_dim, pool2d.kernel_size, pool2d.kernel_size) padding = (time_padding, pool2d.padding, pool2d.padding) if time_stride is None: time_stride = time_dim stride = (time_stride, pool2d.stride, pool2d.stride) if isinstance(pool2d, nn.MaxPool2d): dilation = (time_dilation, pool2d.dilation, pool2d.dilation) pool3d = nn.MaxPool3d( kernel_dim, padding=padding, dilation=dilation, stride=stride, ceil_mode=pool2d.ceil_mode) elif isinstance(pool2d, nn.AvgPool2d): pool3d = nn.AvgPool3d(kernel_dim, stride=stride) else: raise ValueError( '{} is not among known pooling classes'.format(type(pool2d))) return pool3d
Example #9
Source File: shufflenet.py From Efficient-3DCNNs with MIT License | 6 votes |
def __init__(self, in_planes, out_planes, stride, groups): super(Bottleneck, self).__init__() self.stride = stride self.groups = groups mid_planes = out_planes//4 if self.stride == 2: out_planes = out_planes - in_planes g = 1 if in_planes==24 else groups self.conv1 = nn.Conv3d(in_planes, mid_planes, kernel_size=1, groups=g, bias=False) self.bn1 = nn.BatchNorm3d(mid_planes) self.conv2 = nn.Conv3d(mid_planes, mid_planes, kernel_size=3, stride=stride, padding=1, groups=mid_planes, bias=False) self.bn2 = nn.BatchNorm3d(mid_planes) self.conv3 = nn.Conv3d(mid_planes, out_planes, kernel_size=1, groups=groups, bias=False) self.bn3 = nn.BatchNorm3d(out_planes) self.relu = nn.ReLU(inplace=True) if stride == 2: self.shortcut = nn.AvgPool3d(kernel_size=(2,3,3), stride=2, padding=(0,1,1))
Example #10
Source File: shufflenet.py From Real-time-GesRec with MIT License | 6 votes |
def __init__(self, in_planes, out_planes, stride, groups): super(Bottleneck, self).__init__() self.stride = stride self.groups = groups mid_planes = out_planes//4 if self.stride == 2: out_planes = out_planes - in_planes g = 1 if in_planes==24 else groups self.conv1 = nn.Conv3d(in_planes, mid_planes, kernel_size=1, groups=g, bias=False) self.bn1 = nn.BatchNorm3d(mid_planes) self.conv2 = nn.Conv3d(mid_planes, mid_planes, kernel_size=3, stride=stride, padding=1, groups=mid_planes, bias=False) self.bn2 = nn.BatchNorm3d(mid_planes) self.conv3 = nn.Conv3d(mid_planes, out_planes, kernel_size=1, groups=groups, bias=False) self.bn3 = nn.BatchNorm3d(out_planes) self.relu = nn.ReLU(inplace=True) if stride == 2: self.shortcut = nn.AvgPool3d(kernel_size=(2,3,3), stride=2, padding=(0,1,1))
Example #11
Source File: resnet.py From ClipShots_basline with MIT License | 6 votes |
def __init__(self, block, layers, sample_size, sample_duration, shortcut_type='B', num_classes=400): self.inplanes = 64 super(ResNet, self).__init__() self.conv1 = nn.Conv3d(3, 64, kernel_size=7, stride=(1, 2, 2), padding=(3, 3, 3), bias=False) self.bn1 = nn.BatchNorm3d(64) self.relu = nn.ReLU(inplace=True) self.maxpool = nn.MaxPool3d(kernel_size=(3, 3, 3), stride=2, padding=1) self.layer1 = self._make_layer(block, 64, layers[0], shortcut_type) self.layer2 = self._make_layer(block, 128, layers[1], shortcut_type, stride=2) self.layer3 = self._make_layer(block, 256, layers[2], shortcut_type, stride=2) self.layer4 = self._make_layer(block, 512, layers[3], shortcut_type, stride=2) last_duration = math.ceil(sample_duration / 16) last_size = math.ceil(sample_size / 32) self.avgpool = nn.AvgPool3d((last_duration, last_size, last_size), stride=1) self.fc = nn.Linear(512 * block.expansion, num_classes) for m in self.modules(): if isinstance(m, nn.Conv3d): n = m.kernel_size[0] * m.kernel_size[1] * m.out_channels m.weight.data.normal_(0, math.sqrt(2. / n)) elif isinstance(m, nn.BatchNorm3d): m.weight.data.fill_(1) m.bias.data.zero_() m.eval()
Example #12
Source File: pre_act_resnet.py From video-caption.pytorch with MIT License | 5 votes |
def __init__(self, block, layers, sample_size, sample_duration, shortcut_type='B', num_classes=400, last_fc=True): self.last_fc = last_fc self.inplanes = 64 super(PreActivationResNet, self).__init__() self.conv1 = nn.Conv3d(3, 64, kernel_size=7, stride=(1, 2, 2), padding=(3, 3, 3), bias=False) self.bn1 = nn.BatchNorm3d(64) self.relu = nn.ReLU(inplace=True) self.maxpool = nn.MaxPool3d(kernel_size=(3, 3, 3), stride=2, padding=1) self.layer1 = self._make_layer(block, 64, layers[0], shortcut_type) self.layer2 = self._make_layer(block, 128, layers[1], shortcut_type, stride=2) self.layer3 = self._make_layer(block, 256, layers[2], shortcut_type, stride=2) self.layer4 = self._make_layer(block, 512, layers[3], shortcut_type, stride=2) last_duration = math.ceil(sample_duration / 16) last_size = math.ceil(sample_size / 32) self.avgpool = nn.AvgPool3d((last_duration, last_size, last_size), stride=1) self.fc = nn.Linear(512 * block.expansion, num_classes) for m in self.modules(): if isinstance(m, nn.Conv3d): n = m.kernel_size[0] * m.kernel_size[1] * m.out_channels m.weight.data.normal_(0, math.sqrt(2. / n)) elif isinstance(m, nn.BatchNorm3d): m.weight.data.fill_(1) m.bias.data.zero_()
Example #13
Source File: vggm.py From models-comparison.pytorch with BSD 3-Clause "New" or "Revised" License | 5 votes |
def __init__(self, local_size=1, alpha=1.0, beta=0.75, k=1, ACROSS_CHANNELS=True): super(SpatialCrossMapLRN, self).__init__() self.ACROSS_CHANNELS = ACROSS_CHANNELS if ACROSS_CHANNELS: self.average=nn.AvgPool3d(kernel_size=(local_size, 1, 1), stride=1, padding=(int((local_size-1.0)/2), 0, 0)) else: self.average=nn.AvgPool2d(kernel_size=local_size, stride=1, padding=int((local_size-1.0)/2)) self.alpha = alpha self.beta = beta self.k = k
Example #14
Source File: resnet18_vggm.py From pytracking with GNU General Public License v3.0 | 5 votes |
def __init__(self, local_size=1, alpha=1.0, beta=0.75, k=1, ACROSS_CHANNELS=True): super(SpatialCrossMapLRN, self).__init__() self.ACROSS_CHANNELS = ACROSS_CHANNELS if ACROSS_CHANNELS: self.average=nn.AvgPool3d(kernel_size=(local_size, 1, 1), stride=1, padding=(int((local_size-1.0)/2), 0, 0)) else: self.average=nn.AvgPool2d(kernel_size=local_size, stride=1, padding=int((local_size-1.0)/2)) self.alpha = alpha self.beta = beta self.k = k
Example #15
Source File: simple_spatial_temporal_module.py From mmaction with Apache License 2.0 | 5 votes |
def __init__(self, spatial_type='avg', spatial_size=7, temporal_size=1): super(SimpleSpatialTemporalModule, self).__init__() assert spatial_type in ['avg', 'max'] self.spatial_type = spatial_type self.spatial_size = spatial_size if spatial_size != -1: self.spatial_size = (spatial_size, spatial_size) self.temporal_size = temporal_size assert not (self.spatial_size == -1) ^ (self.temporal_size == -1) if self.temporal_size == -1 and self.spatial_size == -1: self.pool_size = (1, 1, 1) if self.spatial_type == 'avg': self.pool_func = nn.AdaptiveAvgPool3d(self.pool_size) if self.spatial_type == 'max': self.pool_func = nn.AdaptiveMaxPool3d(self.pool_size) else: self.pool_size = (self.temporal_size, ) + self.spatial_size if self.spatial_type == 'avg': self.pool_func = nn.AvgPool3d(self.pool_size, stride=1, padding=0) if self.spatial_type == 'max': self.pool_func = nn.MaxPool3d(self.pool_size, stride=1, padding=0)
Example #16
Source File: cls_head.py From mmaction with Apache License 2.0 | 5 votes |
def __init__(self, with_avg_pool=True, temporal_feature_size=1, spatial_feature_size=7, dropout_ratio=0.8, in_channels=2048, num_classes=101, init_std=0.01, fcn_testing=False): super(ClsHead, self).__init__() self.with_avg_pool = with_avg_pool self.dropout_ratio = dropout_ratio self.in_channels = in_channels self.dropout_ratio = dropout_ratio self.temporal_feature_size = temporal_feature_size self.spatial_feature_size = spatial_feature_size self.init_std = init_std self.fcn_testing = fcn_testing self.num_classes = num_classes if self.dropout_ratio != 0: self.dropout = nn.Dropout(p=self.dropout_ratio) else: self.dropout = None if self.with_avg_pool: self.avg_pool = nn.AvgPool3d((temporal_feature_size, spatial_feature_size, spatial_feature_size)) self.fc_cls = nn.Linear(in_channels, num_classes) self.new_cls = None
Example #17
Source File: googlenet.py From models-comparison.pytorch with BSD 3-Clause "New" or "Revised" License | 5 votes |
def __init__(self, size=1, alpha=1.0, beta=0.75, ACROSS_CHANNELS=True): super(GoogLeNet.LRN, self).__init__() self.ACROSS_CHANNELS = ACROSS_CHANNELS if self.ACROSS_CHANNELS: self.average=nn.AvgPool3d(kernel_size=(size, 1, 1), stride=1, padding=(int((size-1.0)/2), 0, 0)) else: self.average=nn.AvgPool2d(kernel_size=size, stride=1, padding=int((size-1.0)/2)) self.alpha = alpha self.beta = beta
Example #18
Source File: wide_resnet.py From video-classification-3d-cnn-pytorch with MIT License | 5 votes |
def __init__(self, block, layers, sample_size, sample_duration, k=1, shortcut_type='B', num_classes=400, last_fc=True): self.last_fc = last_fc self.inplanes = 64 super(WideResNet, self).__init__() self.conv1 = nn.Conv3d(3, 64, kernel_size=7, stride=(1, 2, 2), padding=(3, 3, 3), bias=False) self.bn1 = nn.BatchNorm3d(64) self.relu = nn.ReLU(inplace=True) self.maxpool = nn.MaxPool3d(kernel_size=(3, 3, 3), stride=2, padding=1) self.layer1 = self._make_layer(block, 64 * k, layers[0], shortcut_type) self.layer2 = self._make_layer(block, 128 * k, layers[1], shortcut_type, stride=2) self.layer3 = self._make_layer(block, 256 * k, layers[2], shortcut_type, stride=2) self.layer4 = self._make_layer(block, 512 * k, layers[3], shortcut_type, stride=2) last_duration = math.ceil(sample_duration / 16) last_size = math.ceil(sample_size / 32) self.avgpool = nn.AvgPool3d((last_duration, last_size, last_size), stride=1) self.fc = nn.Linear(512 * k * block.expansion, num_classes) for m in self.modules(): if isinstance(m, nn.Conv3d): n = m.kernel_size[0] * m.kernel_size[1] * m.out_channels m.weight.data.normal_(0, math.sqrt(2. / n)) elif isinstance(m, nn.BatchNorm3d): m.weight.data.fill_(1) m.bias.data.zero_()
Example #19
Source File: DenseNet3D.py From T3D with MIT License | 5 votes |
def __init__(self, num_input_features, num_output_features): super(_Transition, self).__init__() self.add_module('norm', nn.BatchNorm3d(num_input_features)) self.add_module('relu', nn.ReLU(inplace=True)) self.add_module('conv', nn.Conv3d(num_input_features, num_output_features, kernel_size=1, stride=1, bias=False)) self.add_module('pool', nn.AvgPool3d(kernel_size=2, stride=2))
Example #20
Source File: ConvNet.py From scalpel with BSD 3-Clause "New" or "Revised" License | 5 votes |
def __init__(self, local_size=1, Alpha=1.0, Beta=0.75, ACROSS_CHANNELS=True): super(LRN, self).__init__() self.ACROSS_CHANNELS = ACROSS_CHANNELS if ACROSS_CHANNELS: self.average=nn.AvgPool3d(kernel_size=(local_size, 1, 1), stride=1, padding=(int((local_size-1.0)/2), 0, 0)) else: self.average=nn.AvgPool2d(kernel_size=local_size, stride=1, padding=int((local_size-1.0)/2)) self.Alpha = Alpha self.Beta = Beta return
Example #21
Source File: network.py From Double-Branch-Dual-Attention-Mechanism-Network with GNU Affero General Public License v3.0 | 5 votes |
def __init__(self, band, classes): super(SSRN_network, self).__init__() self.name = 'SSRN' self.conv1 = nn.Conv3d(in_channels=1, out_channels=24, kernel_size=(1, 1, 7), stride=(1, 1, 2)) self.batch_norm1 = nn.Sequential( nn.BatchNorm3d(24, eps=0.001, momentum=0.1, affine=True), # 动量默认值为0.1 nn.ReLU(inplace=True) ) self.res_net1 = Residual(24, 24, (1, 1, 7), (0, 0, 3)) self.res_net2 = Residual(24, 24, (1, 1, 7), (0, 0, 3)) self.res_net3 = Residual(24, 24, (3, 3, 1), (1, 1, 0)) self.res_net4 = Residual(24, 24, (3, 3, 1), (1, 1, 0)) kernel_3d = math.ceil((band - 6) / 2) self.conv2 = nn.Conv3d(in_channels=24, out_channels=128, padding=(0, 0, 0), kernel_size=(1, 1, kernel_3d), stride=(1, 1, 1)) self.batch_norm2 = nn.Sequential( nn.BatchNorm3d(128, eps=0.001, momentum=0.1, affine=True), # 动量默认值为0.1 nn.ReLU(inplace=True) ) self.conv3 = nn.Conv3d(in_channels=1, out_channels=24, padding=(0, 0, 0), kernel_size=(3, 3, 128), stride=(1, 1, 1)) self.batch_norm3 = nn.Sequential( nn.BatchNorm3d(24, eps=0.001, momentum=0.1, affine=True), # 动量默认值为0.1 nn.ReLU(inplace=True) ) self.avg_pooling = nn.AvgPool3d(kernel_size=(5, 5, 1)) self.full_connection = nn.Sequential( # nn.Dropout(p=0.5), nn.Linear(24, classes) # , # nn.Softmax() )
Example #22
Source File: layersTir3D.py From DeepBrainSeg with MIT License | 5 votes |
def __init__(self, in_channels): super().__init__() self.add_module('norm', nn.BatchNorm3d(num_features=in_channels)) self.add_module('relu', nn.ReLU(inplace=True)) self.add_module('conv', nn.Conv3d(in_channels, in_channels, kernel_size=1, stride=1, padding=0, bias=True)) self.add_module('drop', nn.Dropout3d(0.2)) self.add_module('Avgpool', nn.AvgPool3d(2))
Example #23
Source File: pre_act_resnet.py From SDN with MIT License | 5 votes |
def __init__(self, block, layers, sample_size, sample_duration, shortcut_type='B', num_classes=400): self.inplanes = 64 super(PreActivationResNet, self).__init__() self.conv1 = nn.Conv3d( 3, 64, kernel_size=7, stride=(1, 2, 2), padding=(3, 3, 3), bias=False) self.bn1 = nn.BatchNorm3d(64) self.relu = nn.ReLU(inplace=True) self.maxpool = nn.MaxPool3d(kernel_size=(3, 3, 3), stride=2, padding=1) self.layer1 = self._make_layer(block, 64, layers[0], shortcut_type) self.layer2 = self._make_layer( block, 128, layers[1], shortcut_type, stride=2) self.layer3 = self._make_layer( block, 256, layers[2], shortcut_type, stride=2) self.layer4 = self._make_layer( block, 512, layers[3], shortcut_type, stride=2) last_duration = int(math.ceil(sample_duration / 16)) last_size = int(math.ceil(sample_size / 32)) self.avgpool = nn.AvgPool3d( (last_duration, last_size, last_size), stride=1) self.fc = nn.Linear(512 * block.expansion, num_classes) for m in self.modules(): if isinstance(m, nn.Conv3d): m.weight = nn.init.kaiming_normal(m.weight, mode='fan_out') elif isinstance(m, nn.BatchNorm3d): m.weight.data.fill_(1) m.bias.data.zero_()
Example #24
Source File: wide_resnet.py From SDN with MIT License | 5 votes |
def __init__(self, block, layers, sample_size, sample_duration, k=1, shortcut_type='B', num_classes=400): self.inplanes = 64 super(WideResNet, self).__init__() self.conv1 = nn.Conv3d( 3, 64, kernel_size=7, stride=(1, 2, 2), padding=(3, 3, 3), bias=False) self.bn1 = nn.BatchNorm3d(64) self.relu = nn.ReLU(inplace=True) self.maxpool = nn.MaxPool3d(kernel_size=(3, 3, 3), stride=2, padding=1) self.layer1 = self._make_layer(block, 64 * k, layers[0], shortcut_type) self.layer2 = self._make_layer( block, 128 * k, layers[1], shortcut_type, stride=2) self.layer3 = self._make_layer( block, 256 * k, layers[2], shortcut_type, stride=2) self.layer4 = self._make_layer( block, 512 * k, layers[3], shortcut_type, stride=2) last_duration = int(math.ceil(sample_duration / 16)) last_size = int(math.ceil(sample_size / 32)) self.avgpool = nn.AvgPool3d( (last_duration, last_size, last_size), stride=1) self.fc = nn.Linear(512 * k * block.expansion, num_classes) for m in self.modules(): if isinstance(m, nn.Conv3d): m.weight = nn.init.kaiming_normal(m.weight, mode='fan_out') elif isinstance(m, nn.BatchNorm3d): m.weight.data.fill_(1) m.bias.data.zero_()
Example #25
Source File: densenet.py From SDN with MIT License | 5 votes |
def __init__(self, num_input_features, num_output_features): super(_Transition, self).__init__() self.add_module('norm', nn.BatchNorm3d(num_input_features)) self.add_module('relu', nn.ReLU(inplace=True)) self.add_module('conv', nn.Conv3d( num_input_features, num_output_features, kernel_size=1, stride=1, bias=False)) self.add_module('pool', nn.AvgPool3d(kernel_size=2, stride=2))
Example #26
Source File: resnext.py From SDN with MIT License | 5 votes |
def __init__(self, block, layers, sample_size, sample_duration, shortcut_type='B', cardinality=32, num_classes=400): self.inplanes = 64 super(ResNeXt, self).__init__() self.conv1 = nn.Conv3d( 3, 64, kernel_size=7, stride=(1, 2, 2), padding=(3, 3, 3), bias=False) self.bn1 = nn.BatchNorm3d(64) self.relu = nn.ReLU(inplace=True) self.maxpool = nn.MaxPool3d(kernel_size=(3, 3, 3), stride=2, padding=1) self.layer1 = self._make_layer(block, 128, layers[0], shortcut_type, cardinality) self.layer2 = self._make_layer( block, 256, layers[1], shortcut_type, cardinality, stride=2) self.layer3 = self._make_layer( block, 512, layers[2], shortcut_type, cardinality, stride=2) self.layer4 = self._make_layer( block, 1024, layers[3], shortcut_type, cardinality, stride=2) last_duration = int(math.ceil(sample_duration / 16)) last_size = int(math.ceil(sample_size / 32)) self.avgpool = nn.AvgPool3d( (last_duration, last_size, last_size), stride=1) self.fc = nn.Linear(cardinality * 32 * block.expansion, num_classes) for m in self.modules(): if isinstance(m, nn.Conv3d): m.weight = nn.init.kaiming_normal(m.weight, mode='fan_out') elif isinstance(m, nn.BatchNorm3d): m.weight.data.fill_(1) m.bias.data.zero_()
Example #27
Source File: resnet.py From Efficient-3DCNNs with MIT License | 5 votes |
def __init__(self, block, layers, sample_size, sample_duration, shortcut_type='B', num_classes=400): self.inplanes = 64 super(ResNet, self).__init__() self.conv1 = nn.Conv3d( 3, 64, kernel_size=7, stride=(1, 2, 2), padding=(3, 3, 3), bias=False) self.bn1 = nn.BatchNorm3d(64) self.relu = nn.ReLU(inplace=True) self.maxpool = nn.MaxPool3d(kernel_size=(3, 3, 3), stride=2, padding=1) self.layer1 = self._make_layer(block, 64, layers[0], shortcut_type) self.layer2 = self._make_layer( block, 128, layers[1], shortcut_type, stride=2) self.layer3 = self._make_layer( block, 256, layers[2], shortcut_type, stride=2) self.layer4 = self._make_layer( block, 512, layers[3], shortcut_type, stride=2) last_duration = int(math.ceil(sample_duration / 16)) last_size = int(math.ceil(sample_size / 32)) self.avgpool = nn.AvgPool3d( (last_duration, last_size, last_size), stride=1) self.fc = nn.Linear(512 * block.expansion, num_classes) for m in self.modules(): if isinstance(m, nn.Conv3d): m.weight = nn.init.kaiming_normal(m.weight, mode='fan_out') elif isinstance(m, nn.BatchNorm3d): m.weight.data.fill_(1) m.bias.data.zero_()
Example #28
Source File: videoHD_model.py From DeepMosaics with GNU General Public License v3.0 | 5 votes |
def __init__(self,in_channel,norm_layer_2d,norm_layer_3d,use_bias): super(encoder_3d, self).__init__() self.inconv = conv_3d(1, 64, 7, 2, 3,norm_layer_3d,use_bias) self.down1 = conv_3d(64, 128, 3, 2, 1,norm_layer_3d,use_bias) self.down2 = conv_3d(128, 256, 3, 2, 1,norm_layer_3d,use_bias) self.down3 = conv_3d(256, 512, 3, 2, 1,norm_layer_3d,use_bias) self.down4 = conv_3d(512, 1024, 3, 1, 1,norm_layer_3d,use_bias) self.pool = nn.AvgPool3d((5,1,1)) # self.conver2d = nn.Sequential( # nn.Conv2d(256*int(in_channel/4), 256, kernel_size=3, stride=1, padding=1, bias=use_bias), # norm_layer_2d(256), # nn.ReLU(inplace=True), # )
Example #29
Source File: pre_act_resnet.py From video-classification-3d-cnn-pytorch with MIT License | 5 votes |
def __init__(self, block, layers, sample_size, sample_duration, shortcut_type='B', num_classes=400, last_fc=True): self.last_fc = last_fc self.inplanes = 64 super(PreActivationResNet, self).__init__() self.conv1 = nn.Conv3d(3, 64, kernel_size=7, stride=(1, 2, 2), padding=(3, 3, 3), bias=False) self.bn1 = nn.BatchNorm3d(64) self.relu = nn.ReLU(inplace=True) self.maxpool = nn.MaxPool3d(kernel_size=(3, 3, 3), stride=2, padding=1) self.layer1 = self._make_layer(block, 64, layers[0], shortcut_type) self.layer2 = self._make_layer(block, 128, layers[1], shortcut_type, stride=2) self.layer3 = self._make_layer(block, 256, layers[2], shortcut_type, stride=2) self.layer4 = self._make_layer(block, 512, layers[3], shortcut_type, stride=2) last_duration = math.ceil(sample_duration / 16) last_size = math.ceil(sample_size / 32) self.avgpool = nn.AvgPool3d((last_duration, last_size, last_size), stride=1) self.fc = nn.Linear(512 * block.expansion, num_classes) for m in self.modules(): if isinstance(m, nn.Conv3d): n = m.kernel_size[0] * m.kernel_size[1] * m.out_channels m.weight.data.normal_(0, math.sqrt(2. / n)) elif isinstance(m, nn.BatchNorm3d): m.weight.data.fill_(1) m.bias.data.zero_()
Example #30
Source File: resnet.py From video-classification-3d-cnn-pytorch with MIT License | 5 votes |
def __init__(self, block, layers, sample_size, sample_duration, shortcut_type='B', num_classes=400, last_fc=True): self.last_fc = last_fc self.inplanes = 64 super(ResNet, self).__init__() self.conv1 = nn.Conv3d(3, 64, kernel_size=7, stride=(1, 2, 2), padding=(3, 3, 3), bias=False) self.bn1 = nn.BatchNorm3d(64) self.relu = nn.ReLU(inplace=True) self.maxpool = nn.MaxPool3d(kernel_size=(3, 3, 3), stride=2, padding=1) self.layer1 = self._make_layer(block, 64, layers[0], shortcut_type) self.layer2 = self._make_layer(block, 128, layers[1], shortcut_type, stride=2) self.layer3 = self._make_layer(block, 256, layers[2], shortcut_type, stride=2) self.layer4 = self._make_layer(block, 512, layers[3], shortcut_type, stride=2) last_duration = math.ceil(sample_duration / 16) last_size = math.ceil(sample_size / 32) self.avgpool = nn.AvgPool3d((last_duration, last_size, last_size), stride=1) self.fc = nn.Linear(512 * block.expansion, num_classes) for m in self.modules(): if isinstance(m, nn.Conv3d): n = m.kernel_size[0] * m.kernel_size[1] * m.out_channels m.weight.data.normal_(0, math.sqrt(2. / n)) elif isinstance(m, nn.BatchNorm3d): m.weight.data.fill_(1) m.bias.data.zero_()