MCPcopy Create free account
hub / github.com/deepbrainai-research/float / ConvLayer

Class ConvLayer

models/float/styledecoder.py:324–361  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

322
323
324class ConvLayer(nn.Sequential):
325 def __init__(
326 self,
327 in_channel,
328 out_channel,
329 kernel_size,
330 downsample=False,
331 blur_kernel=[1, 3, 3, 1],
332 bias=True,
333 activate=True,
334 ):
335 layers = []
336
337 if downsample:
338 factor = 2
339 p = (len(blur_kernel) - factor) + (kernel_size - 1)
340 pad0 = (p + 1) // 2
341 pad1 = p // 2
342
343 layers.append(Blur(blur_kernel, pad=(pad0, pad1)))
344
345 stride = 2
346 self.padding = 0
347
348 else:
349 stride = 1
350 self.padding = kernel_size // 2
351
352 layers.append(EqualConv2d(in_channel, out_channel, kernel_size, padding=self.padding, stride=stride,
353 bias=bias and not activate))
354
355 if activate:
356 if bias:
357 layers.append(FusedLeakyReLU(out_channel))
358 else:
359 layers.append(ScaledLeakyReLU(0.2))
360
361 super().__init__(*layers)
362
363
364class ToRGB(nn.Module):

Callers 1

__init__Method · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected