def __init__(self, num_channels_provider, activation_factory): super().__init__() channels_0 = num_channels_provider.get_num_channels(0) channels_1 = num_channels_provider.get_num_channels(1) channels_2 = num_channels_provider.get_num_channels(2) channels_3 = num_channels_provider.get_num_channels(3) channels_4 = num_channels_provider.get_num_channels(4) channels_5 = num_channels_provider.get_num_channels(5) self.encoder = nn.Sequential( InputBlock(3, channels_0, 3, 1, 1, activation_factory), ConvBlock(channels_0, channels_1, 3, 2, 1, activation_factory), ConvBlock(channels_1, channels_2, 3, 2, 1, activation_factory), ConvBlock(channels_2, channels_3, 3, 2, 1, activation_factory), ConvBlock(channels_3, channels_4, 3, 2, 1, activation_factory), ConvBlock(channels_4, channels_5, 3, 2, 1, activation_factory), ) self.decoder = nn.Sequential( TransposeConvBlock(channels_5, channels_4, 3, 2, 1, 1, activation_factory), TransposeConvBlock(channels_4, channels_3, 3, 2, 1, 1, activation_factory), TransposeConvBlock(channels_3, channels_2, 3, 2, 1, 1, activation_factory), TransposeConvBlock(channels_2, channels_1, 3, 2, 1, 1, activation_factory), TransposeConvBlock(channels_1, channels_0, 3, 2, 1, 1, activation_factory), OutputBlock(channels_0, 3, 3, 1, 1), )
def __init__(self, num_channels, k): super().__init__() activation_factory = ReLUFactory() self.input = InputBlock(3, num_channels, 3, 1, 1, activation_factory) self.enc1 = DenseBlock4(num_channels, k) self.down1 = DownMaxPool(num_channels + self.enc1.get_out_channels()) self.enc2 = DenseBlock5(num_channels + self.enc1.get_out_channels(), k) self.down2 = DownMaxPool(num_channels + self.enc1.get_out_channels() + self.enc2.get_out_channels()) self.dense = DenseBlock7( num_channels + self.enc1.get_out_channels() + self.enc2.get_out_channels(), k) self.up2 = UpConvTranspose(self.dense.get_out_channels()) self.dec2 = DenseBlock5( num_channels + self.enc1.get_out_channels() + self.enc2.get_out_channels() + self.dense.get_out_channels(), k) self.up1 = UpConvTranspose(self.dec2.get_out_channels()) self.dec1 = DenseBlock4( num_channels + self.enc1.get_out_channels() + self.dec2.get_out_channels(), k) self.output = OutputBlock(self.dec1.get_out_channels(), 3, 3, 1, 1)
def __init__(self, num_channels_provider, activation_factory): super().__init__() channels_0 = num_channels_provider.get_num_channels(0) channels_1 = num_channels_provider.get_num_channels(1) channels_2 = num_channels_provider.get_num_channels(2) channels_3 = num_channels_provider.get_num_channels(3) channels_4 = num_channels_provider.get_num_channels(4) channels_5 = num_channels_provider.get_num_channels(5) self.enc0 = InputBlock(3, channels_0, 3, 1, 1, activation_factory) self.enc1 = ConvBlock(channels_0, channels_1, 3, 2, 1, activation_factory) self.enc2 = ConvBlock(channels_1, channels_2, 3, 2, 1, activation_factory) self.enc3 = ConvBlock(channels_2, channels_3, 3, 2, 1, activation_factory) self.enc4 = ConvBlock(channels_3, channels_4, 3, 2, 1, activation_factory) self.enc5 = ConvBlock(channels_4, channels_5, 3, 2, 1, activation_factory) self.dec5 = TransposeConvBlock(channels_5, channels_4, 3, 2, 1, 1, activation_factory) self.dec4 = TransposeConvBlock(channels_4 * 2, channels_3, 3, 2, 1, 1, activation_factory) self.dec3 = TransposeConvBlock(channels_3 * 2, channels_2, 3, 2, 1, 1, activation_factory) self.dec2 = TransposeConvBlock(channels_2 * 2, channels_1, 3, 2, 1, 1, activation_factory) self.dec1 = TransposeConvBlock(channels_1 * 2, channels_0, 3, 2, 1, 1, activation_factory) self.dec0 = OutputBlock(channels_0 * 2, 3, 3, 1, 1)
def __init__(self, num_channels_provider, activation_factory): super().__init__() channels_0 = num_channels_provider.get_num_channels(0) channels_1 = num_channels_provider.get_num_channels(1) channels_2 = num_channels_provider.get_num_channels(2) channels_3 = num_channels_provider.get_num_channels(3) channels_4 = num_channels_provider.get_num_channels(4) channels_5 = num_channels_provider.get_num_channels(5) self.enc0_ = InputBlock(3, channels_0, 3, 1, 1, activation_factory) self.enc0b = ConvBlock(channels_0, channels_0, 3, 1, 1, activation_factory) self.enc1_ = ConvBlock(channels_0, channels_1, 3, 2, 1, activation_factory) self.enc1b = ConvBlock(channels_1, channels_1, 3, 1, 1, activation_factory) self.enc2_ = ConvBlock(channels_1, channels_2, 3, 2, 1, activation_factory) self.enc2b = ConvBlock(channels_2, channels_2, 3, 1, 1, activation_factory) self.enc3_ = ConvBlock(channels_2, channels_3, 3, 2, 1, activation_factory) self.enc3b = ConvBlock(channels_3, channels_3, 3, 1, 1, activation_factory) self.enc4_ = ConvBlock(channels_3, channels_4, 3, 2, 1, activation_factory) self.enc4b = ConvBlock(channels_4, channels_4, 3, 1, 1, activation_factory) self.enc5_ = ConvBlock(channels_4, channels_5, 3, 2, 1, activation_factory) self.enc5b = ConvBlock(channels_5, channels_5, 3, 1, 1, activation_factory) self.dec5b = TransposeConvBlock(channels_5, channels_5, 3, 1, 1, 0, activation_factory) self.dec5_ = TransposeConvBlock(channels_5, channels_4, 3, 2, 1, 1, activation_factory) self.dec4b = TransposeConvBlock(channels_4, channels_4, 3, 1, 1, 0, activation_factory) self.dec4_ = TransposeConvBlock(channels_4, channels_3, 3, 2, 1, 1, activation_factory) self.dec3b = TransposeConvBlock(channels_3, channels_3, 3, 1, 1, 0, activation_factory) self.dec3_ = TransposeConvBlock(channels_3, channels_2, 3, 2, 1, 1, activation_factory) self.dec2b = TransposeConvBlock(channels_2, channels_2, 3, 1, 1, 0, activation_factory) self.dec2_ = TransposeConvBlock(channels_2, channels_1, 3, 2, 1, 1, activation_factory) self.dec1b = TransposeConvBlock(channels_1, channels_1, 3, 1, 1, 0, activation_factory) self.dec1_ = TransposeConvBlock(channels_1, channels_0, 3, 2, 1, 1, activation_factory) self.dec0b = TransposeConvBlock(channels_0, channels_0, 3, 1, 1, 0, activation_factory) self.dec0_ = OutputBlock(channels_0, 3, 3, 1, 1)
def __init__(self, num_channels, k): super().__init__() activation_factory = ReLUFactory() self.input = InputBlock(3, num_channels, 3, 1, 1, activation_factory) self.enc1 = DenseBlock4(num_channels, k) self.down1 = DownMaxPool(num_channels + self.enc1.get_out_channels()) self.enc2 = DenseBlock5(self.down1.get_out_channels(), k) self.down2 = DownMaxPool(self.down1.get_out_channels() + self.enc2.get_out_channels()) self.enc3 = DenseBlock7(self.down2.get_out_channels(), k) self.down3 = DownMaxPool(self.down2.get_out_channels() + self.enc3.get_out_channels()) self.enc4 = DenseBlock10(self.down3.get_out_channels(), k) self.down4 = DownMaxPool(self.down3.get_out_channels() + self.enc4.get_out_channels()) self.enc5 = DenseBlock12(self.down4.get_out_channels(), k) self.down5 = DownMaxPool(self.down4.get_out_channels() + self.enc5.get_out_channels()) self.dense = DenseBlock15(self.down5.get_out_channels(), k) self.up5 = UpConvTranspose(self.dense.get_out_channels()) self.dec5 = DenseBlock12( self.down4.get_out_channels() + self.enc5.get_out_channels() + self.up5.get_out_channels(), k) self.up4 = UpConvTranspose(self.dec5.get_out_channels()) self.dec4 = DenseBlock10( self.down3.get_out_channels() + self.enc4.get_out_channels() + self.up4.get_out_channels(), k) self.up3 = UpConvTranspose(self.dec4.get_out_channels()) self.dec3 = DenseBlock7( self.down2.get_out_channels() + self.enc3.get_out_channels() + self.up3.get_out_channels(), k) self.up2 = UpConvTranspose(self.dec3.get_out_channels()) self.dec2 = DenseBlock5( self.down1.get_out_channels() + self.enc2.get_out_channels() + self.up2.get_out_channels(), k) self.up1 = UpConvTranspose(self.dec2.get_out_channels()) self.dec1 = DenseBlock5( num_channels + self.enc1.get_out_channels() + self.up1.get_out_channels(), k) self.output = OutputBlock(self.dec1.get_out_channels(), 3, 3, 1, 1)