我们从Python开源项目中,提取了以下11个代码示例,用于说明如何使用torch.nn.MaxPool3d()。
def __init__(self): super(C3D_net,self).__init__() self.conv1=nn.Conv3d(3,64,kernel_size=(3,3,3),stride=1,padding=(1,1,1)) self.relu=nn.ReLU() self.maxpool1=nn.MaxPool3d(kernel_size=(1,2,2),stride=(1,2,2)) self.conv2=nn.Conv3d(64,128,kernel_size=(3,3,3),stride=1,padding=(1,1,1)) self.maxpool2=nn.MaxPool3d(kernel_size=(2,2,2),stride=(2,2,2)) self.conv3=nn.Conv3d(128,256,kernel_size=(3,3,3),stride=1,padding=(1,1,1)) self.maxpool3=nn.MaxPool3d(kernel_size=(2,2,2),stride=(2,2,2)) self.conv4=nn.Conv3d(256,256,kernel_size=(3,3,3),stride=1,padding=(1,1,1)) self.maxpool4=nn.MaxPool3d(kernel_size=(2,2,2),stride=(2,2,2)) self.conv5=nn.Conv3d(256,256,kernel_size=(3,3,3),stride=1,padding=(1,1,1)) self.maxpool5=nn.MaxPool3d(kernel_size=(2,2,2),stride=(2,2,2)) self.num_out_maxpool5=2304 self.fc6=nn.Linear(self.num_out_maxpool5,2048)#TBA self.fc7=nn.Linear(2048,2048) #self.dropout=nn.Dropout(p=0.5) self.fc8=nn.Linear(2048,101) self._initialize_weights()
def __init__(self, num_layers, in_channels = 3, out_channels = 8, batch_norm = True): super(ConvEncoder3D, self).__init__() # set up number of layers if isinstance(num_layers, int): num_layers = [num_layers, 0] network = [] # several 3x3 convolutional layers and max-pooling layers for k in range(num_layers[0]): # 3d convolution network.append(nn.Conv3d(in_channels, out_channels, 3, padding = 1)) # batch normalization if batch_norm: network.append(nn.BatchNorm3d(out_channels)) # non-linearity and max-pooling network.append(nn.LeakyReLU(0.2, True)) network.append(nn.MaxPool3d(2)) # double channel size in_channels = out_channels out_channels *= 2 # several 1x1 convolutional layers for k in range(num_layers[1]): # 3d convolution network.append(nn.Conv3d(in_channels, in_channels, 1)) # batch normalization if batch_norm: network.append(nn.BatchNorm3d(in_channels)) # non-linearity network.append(nn.LeakyReLU(0.2, True)) # set up modules for network self.network = nn.Sequential(*network) self.network.apply(weights_init)
def __init__(self): super(MiniC3D, self).__init__() self.conv = nn.Sequential( nn.Conv3d(3, 64, 7, padding=1), nn.ReLU(), nn.MaxPool3d((1, 2, 2), (1, 2, 2)), nn.Conv3d(64, 128, 5, padding=1), nn.ReLU(), nn.MaxPool3d(2, 2), nn.Conv3d(128, 256, (3, 3, 3), padding=1), nn.ReLU(), nn.Conv3d(256, 256, (3, 3, 3), padding=1), nn.ReLU(), nn.MaxPool3d(2, 2), nn.Conv3d(256, 512, (3, 3, 3), padding=1), nn.ReLU(), nn.Conv3d(512, 512, (3, 3, 3), padding=2), nn.ReLU(), nn.MaxPool3d(2, 2), nn.Conv3d(512, 512, (3, 3, 3), padding=1), nn.ReLU(), nn.Conv3d(512, 512, (3, 3, 3), padding=1), nn.ReLU(), nn.MaxPool3d(2, 2), ) self.fc = nn.Sequential( nn.Linear(6144, 4096), nn.ReLU(), nn.Dropout(p=0.5), nn.Linear(4096, 2048), nn.ReLU(), nn.Dropout(p=0.5), nn.Linear(2048, 1), )
def __init__(self): super(UnpoolingNet3d, self).__init__( pool=nn.MaxPool3d(2, return_indices=True), unpool=nn.MaxUnpool3d(2) )
def __init__(self): super(C3D, self).__init__() self.conv1 = nn.Conv3d(3, 64, kernel_size=(3, 3, 3), padding=(1, 1, 1)) self.pool1 = nn.MaxPool3d(kernel_size=(1, 2, 2), stride=(1, 2, 2)) self.conv2 = nn.Conv3d(64, 128, kernel_size=(3, 3, 3), padding=(1, 1, 1)) self.pool2 = nn.MaxPool3d(kernel_size=(2, 2, 2), stride=(2, 2, 2)) self.conv3a = nn.Conv3d(128, 256, kernel_size=(3, 3, 3), padding=(1, 1, 1)) self.conv3b = nn.Conv3d(256, 256, kernel_size=(3, 3, 3), padding=(1, 1, 1)) self.pool3 = nn.MaxPool3d(kernel_size=(2, 2, 2), stride=(2, 2, 2)) self.conv4a = nn.Conv3d(256, 512, kernel_size=(3, 3, 3), padding=(1, 1, 1)) self.conv4b = nn.Conv3d(512, 512, kernel_size=(3, 3, 3), padding=(1, 1, 1)) self.pool4 = nn.MaxPool3d(kernel_size=(2, 2, 2), stride=(2, 2, 2)) self.conv5a = nn.Conv3d(512, 512, kernel_size=(3, 3, 3), padding=(1, 1, 1)) self.conv5b = nn.Conv3d(512, 512, kernel_size=(3, 3, 3), padding=(1, 1, 1)) self.pool5 = nn.MaxPool3d(kernel_size=(2, 2, 2), stride=(2, 2, 2), padding=(0, 1, 1)) self.fc6 = nn.Linear(8192, 4096) self.fc7 = nn.Linear(4096, 4096) self.fc8 = nn.Linear(4096, 487) self.dropout = nn.Dropout(p=0.5) self.relu = nn.ReLU() self.softmax = nn.Softmax()
def forward_cnn(self, x): x = F.relu(self.conv1(x)) x = F.relu(self.conv2(x)) x = nn.MaxPool3d(2)(x) x = F.relu(self.conv3(x)) x = F.relu(self.conv4(x)) x = nn.MaxPool3d(2)(x) return x
def __init__(self): super(C3D, self).__init__() self.group1 = nn.Sequential( nn.Conv3d(3, 64, kernel_size=3, padding=1), nn.ReLU(), nn.MaxPool3d(kernel_size=(1, 2, 2), stride=(1, 2, 2))) #init.xavier_normal(self.group1.state_dict()['weight']) self.group2 = nn.Sequential( nn.Conv3d(64, 128, kernel_size=3, padding=1), nn.ReLU(), nn.MaxPool3d(kernel_size=(2, 2, 2), stride=(2, 2, 2))) #init.xavier_normal(self.group2.state_dict()['weight']) self.group3 = nn.Sequential( nn.Conv3d(128, 256, kernel_size=3, padding=1), nn.ReLU(), nn.Conv3d(256, 256, kernel_size=3, padding=1), nn.ReLU(), nn.MaxPool3d(kernel_size=(2, 2, 2), stride=(2, 2, 2))) #init.xavier_normal(self.group3.state_dict()['weight']) self.group4 = nn.Sequential( nn.Conv3d(256, 512, kernel_size=3, padding=1), nn.ReLU(), nn.Conv3d(512, 512, kernel_size=3, padding=1), nn.ReLU(), nn.MaxPool3d(kernel_size=(2, 2, 2), stride=(2, 2, 2))) #init.xavier_normal(self.group4.state_dict()['weight']) self.group5 = nn.Sequential( nn.Conv3d(512, 512, kernel_size=3, padding=1), nn.ReLU(), nn.Conv3d(512, 512, kernel_size=3, padding=1), nn.ReLU(), nn.MaxPool3d(kernel_size=(2, 2, 2), stride=(2, 2, 2))) #init.xavier_normal(self.group5.state_dict()['weight']) self.fc1 = nn.Sequential( nn.Linear(512 * 3 * 3, 2048), # nn.ReLU(), nn.Dropout(0.5)) #init.xavier_normal(self.fc1.state_dict()['weight']) self.fc2 = nn.Sequential( nn.Linear(2048, 2048), nn.ReLU(), nn.Dropout(0.5)) #init.xavier_normal(self.fc2.state_dict()['weight']) self.fc3 = nn.Sequential( nn.Linear(2048, 32)) #101 self._features = nn.Sequential( self.group1, self.group2, self.group3, self.group4, self.group5 ) self._classifier = nn.Sequential( self.fc1, self.fc2 )
def __init__(self): super(C3D, self).__init__() self.layers = nn.Sequential( nn.Conv3d(3, 64, kernel_size=3, padding=1), nn.ReLU(), nn.MaxPool3d(kernel_size=(1, 2, 2), stride=(1, 2, 2)), nn.Conv3d(64, 128, kernel_size=3, padding=1), nn.ReLU(), nn.MaxPool3d(kernel_size=(2, 2, 2), stride=(2, 2, 2)), nn.Conv3d(128, 256, kernel_size=3, padding=1), nn.ReLU(), nn.Conv3d(256, 256, kernel_size=3, padding=1), nn.ReLU(), nn.MaxPool3d(kernel_size=(2, 2, 2), stride=(2, 2, 2)), nn.Conv3d(256, 512, kernel_size=3, padding=1), nn.ReLU(), nn.Conv3d(512, 512, kernel_size=3, padding=1), nn.ReLU(), nn.MaxPool3d(kernel_size=(2, 2, 2), stride=(2, 2, 2)), nn.Conv3d(512, 512, kernel_size=3, padding=1), nn.ReLU(), nn.Conv3d(512, 512, kernel_size=3, padding=1), nn.ReLU(), nn.MaxPool3d(kernel_size=(2, 2, 2), stride=(2, 2, 2))) self.fc_s = nn.Sequential( nn.Linear(512 * 3 * 3, 2048), # nn.ReLU(), nn.Dropout(0.5), nn.Linear(2048, 2048), nn.ReLU(), nn.Dropout(0.5)) self.fc3 = nn.Sequential( nn.Linear(2048, 10)) #101 # self._features = nn.Sequential( # self.group1, # self.group2, # self.group3, # self.group4, # self.group5 # ) # # self._classifier = nn.Sequential( # self.fc1, # self.fc2 # )
def __init__(self): super(C3D_cls20, self).__init__() self.group1 = nn.Sequential( nn.Conv3d(3, 64, kernel_size=3, padding=1), nn.ReLU(), nn.MaxPool3d(kernel_size=(1, 2, 2), stride=(1, 2, 2))) self.group2 = nn.Sequential( nn.Conv3d(64, 128, kernel_size=3, padding=1), nn.ReLU(), nn.MaxPool3d(kernel_size=(2, 2, 2), stride=(2, 2, 2))) self.group3 = nn.Sequential( nn.Conv3d(128, 256, kernel_size=3, padding=1), nn.ReLU(), nn.Conv3d(256, 256, kernel_size=3, padding=1), nn.ReLU(), nn.MaxPool3d(kernel_size=(2, 2, 2), stride=(2, 2, 2))) self.group4 = nn.Sequential( nn.Conv3d(256, 512, kernel_size=3, padding=1), nn.ReLU(), nn.Conv3d(512, 512, kernel_size=3, padding=1), nn.ReLU(), nn.MaxPool3d(kernel_size=(2, 2, 2), stride=(2, 2, 2))) self.group5 = nn.Sequential( nn.Conv3d(512, 512, kernel_size=3, padding=1), nn.ReLU(), nn.Conv3d(512, 512, kernel_size=3, padding=1), nn.ReLU(), nn.MaxPool3d(kernel_size=(2, 2, 2), stride=(2, 2, 2))) self.fc1 = nn.Sequential( nn.Linear(512 * 3 * 3, 2048), nn.ReLU(), nn.Dropout(0.5)) self.fc2 = nn.Sequential( nn.Linear(2048, 2048), nn.ReLU(), nn.Dropout(0.5)) self.fc3 = nn.Sequential( nn.Linear(2048, 20)) self._features = nn.Sequential( self.group1, self.group2, self.group3, self.group4, self.group5 ) self._classifier = nn.Sequential( self.fc1, self.fc2 )
def __init__(self): super(C3D_cls46, self).__init__() self.group1 = nn.Sequential( nn.Conv3d(3, 64, kernel_size=3, padding=1), nn.ReLU(), nn.MaxPool3d(kernel_size=(1, 2, 2), stride=(1, 2, 2))) self.group2 = nn.Sequential( nn.Conv3d(64, 128, kernel_size=3, padding=1), nn.ReLU(), nn.MaxPool3d(kernel_size=(2, 2, 2), stride=(2, 2, 2))) self.group3 = nn.Sequential( nn.Conv3d(128, 256, kernel_size=3, padding=1), nn.ReLU(), nn.Conv3d(256, 256, kernel_size=3, padding=1), nn.ReLU(), nn.MaxPool3d(kernel_size=(2, 2, 2), stride=(2, 2, 2))) self.group4 = nn.Sequential( nn.Conv3d(256, 512, kernel_size=3, padding=1), nn.ReLU(), nn.Conv3d(512, 512, kernel_size=3, padding=1), nn.ReLU(), nn.MaxPool3d(kernel_size=(2, 2, 2), stride=(2, 2, 2))) self.group5 = nn.Sequential( nn.Conv3d(512, 512, kernel_size=3, padding=1), nn.ReLU(), nn.Conv3d(512, 512, kernel_size=3, padding=1), nn.ReLU(), nn.MaxPool3d(kernel_size=(2, 2, 2), stride=(2, 2, 2))) self.fc1 = nn.Sequential( nn.Linear(512 * 3 * 3, 2048), nn.ReLU(), nn.Dropout(0.5)) self.fc2 = nn.Sequential( nn.Linear(2048, 2048), nn.ReLU(), nn.Dropout(0.5)) self.fc3 = nn.Sequential( nn.Linear(2048, 46)) self._features = nn.Sequential( self.group1, self.group2, self.group3, self.group4, self.group5 ) self._classifier = nn.Sequential( self.fc1, self.fc2 )
def pool(kernel_size, power=2, output_size=None, out_ratio=None, stride=None, padding=0, dilation=1, return_indices=False, ceil_mode=False, mode='max', count_include_pad=True, _random_samples=None, dim=2): in_dim = dim if mode == 'max': if in_dim == 1: return nn.MaxPool1d(kernel_size=kernel_size, stride=stride, padding=padding, dilation=dilation, return_indices=return_indices, ceil_mode=ceil_mode) elif in_dim == 2: return nn.MaxPool2d(kernel_size=kernel_size, stride=stride, padding=padding, dilation=dilation, return_indices=return_indices, ceil_mode=ceil_mode) elif in_dim == 3: return nn.MaxPool3d(kernel_size=kernel_size, stride=stride, padding=padding, dilation=dilation, return_indices=return_indices, ceil_mode=ceil_mode) elif mode=='ave': if in_dim == 1: return nn.AvgPool1d(kernel_size=kernel_size, stride=stride, padding=padding, ceil_mode=ceil_mode, count_include_pad=count_include_pad) elif in_dim == 2: return nn.AvgPool2d(kernel_size=kernel_size, stride=stride, padding=padding, ceil_mode=ceil_mode, count_include_pad=count_include_pad) elif in_dim == 3: return nn.AvgPool3d(kernel_size=kernel_size, stride=stride) elif mode=='fractional_max': return nn.FractionalMaxPool2d(kernel_size=kernel_size, output_size=out_size, output_ratio=out_ratio, return_indices=return_indices, _random_samples=_random_samples) elif mode=='power': return nn.LPPool2d(norm_type=power, kernel_size=kernel_size, stride=stride, ceil_mode=ceil_mode) # normalization