Spaces:
Build error
Build error
import numpy as np | |
from torch import nn | |
from torch.nn import Conv2d, Module | |
from models.stylegan2.model import EqualLinear | |
class GradualStyleBlock(Module): | |
def __init__(self, in_c, out_c, spatial): | |
super(GradualStyleBlock, self).__init__() | |
self.out_c = out_c | |
self.spatial = spatial | |
num_pools = int(np.log2(spatial)) | |
modules = [] | |
modules += [Conv2d(in_c, out_c, kernel_size=3, stride=2, padding=1), | |
nn.LeakyReLU()] | |
for i in range(num_pools - 1): | |
modules += [ | |
Conv2d(out_c, out_c, kernel_size=3, stride=2, padding=1), | |
nn.LeakyReLU() | |
] | |
self.convs = nn.Sequential(*modules) | |
self.linear = EqualLinear(out_c, out_c, lr_mul=1) | |
def forward(self, x): | |
x = self.convs(x) | |
x = x.view(-1, self.out_c) | |
x = self.linear(x) | |
return x | |