self.inchannel=3# 初始输入通道数 self.futures=self.make_layer() # 构建卷积层之后的全连接层以及分类器: self.classifier=nn.Sequential(nn.Dropout(0.4),# 两层fc效果还差一些 nn.Linear(4*512,10), )# fc,最终Cifar10输出是10类 defmake_layer(self): layers=[] forvinself.cfg: ifv=='M': l...
self.layer1 = self._make_layer([32, 64], layers[0]) self.layer2 = self._make_layer([64, 128], layers[1]) self.layer3 = self._make_layer([128, 256], layers[2]) self.layer4 = self._make_layer([256, 512], layers[3]) self.layer5 = self._make_layer([512, 1024], laye...
raiseNotImplementedError 而在make_layers部分,需要判断当前stride, 有三次stride,每次缩放一倍,默认stride都是1,当然也可以把stride全列举出来,就不用判断了。 def_make_layers(self, in_planes, cfg, layer): layers = [] forxincfg: out_planes = xifisinstance(x,int)elsex[0] stride =1ifisinstance(x,...
self.layer4 = self._make_layer(Bottleneck, 512, num_blocks[3], stride=2) # Top layer self.toplayer = nn.Conv2d(2048, 256, kernel_size=1, stride=1, padding=0) # Reduce channels # Smooth layers self.smooth1 = nn.Conv2d(256, 256, kernel_size=3, stride=1, padding=1) ...
(kernel_size=3,stride=2,padding=1)self.layer1=self._make_layer(block,64,layers[0])self.layer2=self._make_layer(block,128,layers[1],stride=2)self.layer3=self._make_layer(block,256,layers[2],stride=2)self.layer4=self._make_layer(block,512,layers[3],stride=2)self.avgpool=nn.Avg...
self.resBlock=self._makeLayer_(ResBlock,64,64,5)#卷积模块2self.conv2=nn.Conv2d(64,64,kernel_size=1,stride=1)self.bn2=nn.BatchNorm2d(64)self.relu2=nn.PReLU()#子像素卷积 self.convPos1=nn.Conv2d(64,256,kernel_size=3,stride=1,padding=2,padding_mode='reflect')self.pixelShuffler1...
6 self.conv2 = self._make_layer(Bottleneck, [[1, 1, 1]] * 3, [[0, 1, 0]] * 3, 64) self.conv3 = self._make_layer(Bottleneck, [[1, 2, 1]] + [[1, 1, 1]] * 3, [[0, 1, 0]] * 4, 128) self.conv4 = self._make_layer(Bottleneck, [[1, 2, 1]] + [[1...
_make_layer( 256, 512, 6, stride=2) self.layer4 = self._make_layer( 512, 512, 3, stride=2) #分类用的全连接 self.fc = nn.Linear(512, num_classes) def _make_layer(self, inchannel, outchannel, block_num, stride=1): ''' 构建layer,包含多个residual block ''' shortcut = nn....
out_c, kernel_size=(3, 3, 3), padding=0), nn.LeakyReLU(), nn.MaxPool3d((2, 2, 2)), ) return conv_layer def forward(self, x): # Set 1 out = self.conv_layer1(x) out = self.conv_layer2(out) out = out.view(out.size(0), -1) out = ...
MaxPool2d(kernel_size=3, stride=2, padding=1) self.layer1 = self._make_layer(block, 64, layers[0]) self.layer2 = self._make_layer(block, 128, layers[1], stride=2, dilate=replace_stride_with_dilation[0]) self.layer3 = self._make_layer(block, 256, layers[2], stride=2, dilat...