MCPcopy Create free account
hub / github.com/OpenTalker/StyleHEAT / ADAINEncoderBlock

Class ADAINEncoderBlock

models/styleheat/base_function.py:92–108  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

90
91
92class ADAINEncoderBlock(nn.Module):
93 def __init__(self, input_nc, output_nc, feature_nc, nonlinearity=nn.LeakyReLU(), use_spect=False):
94 super(ADAINEncoderBlock, self).__init__()
95 kwargs_down = {'kernel_size': 4, 'stride': 2, 'padding': 1}
96 kwargs_fine = {'kernel_size': 3, 'stride': 1, 'padding': 1}
97
98 self.conv_0 = spectral_norm(nn.Conv2d(input_nc, output_nc, **kwargs_down), use_spect)
99 self.conv_1 = spectral_norm(nn.Conv2d(output_nc, output_nc, **kwargs_fine), use_spect)
100
101 self.norm_0 = ADAIN(input_nc, feature_nc)
102 self.norm_1 = ADAIN(output_nc, feature_nc)
103 self.actvn = nonlinearity
104
105 def forward(self, x, z):
106 x = self.conv_0(self.actvn(self.norm_0(x, z)))
107 x = self.conv_1(self.actvn(self.norm_1(x, z)))
108 return x
109
110
111class ADAINDecoderBlock(nn.Module):

Callers 1

__init__Method · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected