(self)
| 14 | |
| 15 | class Decoder(nn.Module): |
| 16 | def __init__(self): |
| 17 | super(Decoder, self).__init__() |
| 18 | self.inchannels = [256, 512, 1024, 2048] |
| 19 | self.midchannels = [256, 256, 256, 512] |
| 20 | self.upfactors = [2,2,2,2] |
| 21 | self.outchannels = 1 |
| 22 | |
| 23 | self.conv = FTB(inchannels=self.inchannels[3], midchannels=self.midchannels[3]) |
| 24 | self.conv1 = nn.Conv2d(in_channels=self.midchannels[3], out_channels=self.midchannels[2], kernel_size=3, padding=1, stride=1, bias=True) |
| 25 | self.upsample = nn.Upsample(scale_factor=self.upfactors[3], mode='bilinear', align_corners=True) |
| 26 | |
| 27 | self.ffm2 = FFM(inchannels=self.inchannels[2], midchannels=self.midchannels[2], outchannels = self.midchannels[2], upfactor=self.upfactors[2]) |
| 28 | self.ffm1 = FFM(inchannels=self.inchannels[1], midchannels=self.midchannels[1], outchannels = self.midchannels[1], upfactor=self.upfactors[1]) |
| 29 | self.ffm0 = FFM(inchannels=self.inchannels[0], midchannels=self.midchannels[0], outchannels = self.midchannels[0], upfactor=self.upfactors[0]) |
| 30 | |
| 31 | self.outconv = AO(inchannels=self.midchannels[0], outchannels=self.outchannels, upfactor=2) |
| 32 | self._init_params() |
| 33 | |
| 34 | def _init_params(self): |
| 35 | for m in self.modules(): |
nothing calls this directly
no test coverage detected