Skip to content
Snippets Groups Projects
Commit 1710ffde authored by Saeed SARFJOO's avatar Saeed SARFJOO
Browse files

fix input problem in new _make_layer function

parent 7e4711be
Branches
Tags
1 merge request!19Add audio extractor
Pipeline #26767 passed
......@@ -50,10 +50,10 @@ class DltResNet(nn.Module):
bias=False, dilation=(3,1))
self.bn3 = nn.BatchNorm2d(64)
self.layer1 = _make_layer(block, 64, layers[0], stride=2)
self.layer2 = _make_layer(block, 128, layers[1], stride=2)
self.layer3 = _make_layer(block, 256, layers[2], stride=2)
self.layer4 = _make_layer(block, 512, layers[3], stride=2)
self.layer1, self.inplanes = _make_layer(block, 64, layers[0], stride=2, inplanes=self.inplanes)
self.layer2, self.inplanes = _make_layer(block, 128, layers[1], stride=2, inplanes=self.inplanes)
self.layer3, self.inplanes = _make_layer(block, 256, layers[2], stride=2, inplanes=self.inplanes)
self.layer4, self.inplanes = _make_layer(block, 512, layers[3], stride=2, inplanes=self.inplanes)
self.conv4 = nn.Conv2d(256, 256, kernel_size=(1, 9), stride=1, padding=0,
bias=False)
self.bn4 = nn.BatchNorm2d(256)
......
......@@ -53,10 +53,10 @@ class ResNet(nn.Module):
self.bn1 = nn.BatchNorm2d(64)
self.relu = nn.ReLU(inplace=True)
self.maxpool = nn.MaxPool2d(kernel_size=(3, 1), stride=(2, 1), padding=0)
self.layer1 = _make_layer(block, 64, layers[0], stride=2)
self.layer2 = _make_layer(block, 128, layers[1], stride=2)
self.layer3 = _make_layer(block, 256, layers[2], stride=2)
self.layer4 = _make_layer(block, 512, layers[3], stride=2)
self.layer1, self.inplanes = _make_layer(block, 64, layers[0], stride=2, inplanes=self.inplanes)
self.layer2, self.inplanes = _make_layer(block, 128, layers[1], stride=2, inplanes=self.inplanes)
self.layer3, self.inplanes = _make_layer(block, 256, layers[2], stride=2, inplanes=self.inplanes)
self.layer4, self.inplanes = _make_layer(block, 512, layers[3], stride=2, inplanes=self.inplanes)
self.conv4 = nn.Conv2d(256, 256, kernel_size=(1, 9), stride=1, padding=0,
bias=False)
self.bn4 = nn.BatchNorm2d(256)
......
......@@ -338,7 +338,7 @@ def conv3x3(in_planes, out_planes, stride=1):
return nn.Conv2d(in_planes, out_planes, kernel_size=3, stride=stride,
padding=1, bias=False)
def _make_layer(block, planes, blocks, stride=1):
def _make_layer(block, planes, blocks, stride=1, inplanes=1):
""" Make layers of architecture based on the input blocks
Parameters
......@@ -348,26 +348,30 @@ def _make_layer(block, planes, blocks, stride=1):
planes: int32
The number of output channels.
blocks: int32
Number of CNN layers in current block
Number of CNN layers in current block.
stride: int32
The stride in the convolution (Default: 1)
The stride in the convolution (Default: 1).
inplanes: int32
The number of input channels (Default: 1).
Returns
-------
py:class:`torch.nn.Sequential`
inplanes: int32
The number of new input channels based on expansion.
"""
downsample = None
if stride != 1 or self.inplanes != planes * block.expansion:
if stride != 1 or inplanes != planes * block.expansion:
downsample = nn.Sequential(
nn.Conv2d(self.inplanes, planes * block.expansion,
nn.Conv2d(inplanes, planes * block.expansion,
kernel_size=1, stride=stride, bias=False),
nn.BatchNorm2d(planes * block.expansion),
)
layers = []
layers.append(block(self.inplanes, planes, stride, downsample))
self.inplanes = planes * block.expansion
layers.append(block(inplanes, planes, stride, downsample))
inplanes = planes * block.expansion
for i in range(1, blocks):
layers.append(block(self.inplanes, planes))
layers.append(block(inplanes, planes))
return nn.Sequential(*layers)
\ No newline at end of file
return (nn.Sequential(*layers), inplanes)
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment