Skip to content

Commit

Permalink
Follow the concept of layers and sequences
Browse files Browse the repository at this point in the history
  • Loading branch information
henryruhs committed Feb 26, 2025
1 parent 338b2e2 commit c487f48
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 7 deletions.
2 changes: 1 addition & 1 deletion face_swapper/src/models/discriminator.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ def create_discriminators() -> nn.ModuleList:
discriminators = nn.ModuleList()

for _ in range(num_discriminators):
discriminator = NLD(input_channels, num_filters, num_layers, kernel_size).nld
discriminator = NLD(input_channels, num_filters, num_layers, kernel_size).sequences
discriminators.append(discriminator)

return discriminators
Expand Down
13 changes: 7 additions & 6 deletions face_swapper/src/networks/nld.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,17 +6,18 @@
class NLD(nn.Module):
def __init__(self, input_channels : int, num_filters : int, num_layers : int, kernel_size : int) -> None:
super().__init__()
self.nld = self.create_nld(input_channels, num_filters, num_layers, kernel_size)
self.layers = self.create_layers(input_channels, num_filters, num_layers, kernel_size)
self.sequences = nn.Sequential(*self.layers)

@staticmethod
def create_nld(input_channels : int, num_filters : int, num_layers : int, kernel_size : int) -> nn.Sequential:
def create_layers(input_channels : int, num_filters : int, num_layers : int, kernel_size : int) -> nn.ModuleList:
padding = math.ceil((kernel_size - 1) / 2)
current_filters = num_filters
layers =\
layers = nn.ModuleList(
[
nn.Conv2d(input_channels, current_filters, kernel_size = kernel_size, stride = 2, padding = padding),
nn.LeakyReLU(0.2, True)
]
])

for _ in range(1, num_layers):
previous_filters = current_filters
Expand All @@ -37,7 +38,7 @@ def create_nld(input_channels : int, num_filters : int, num_layers : int, kernel
nn.LeakyReLU(0.2, True),
nn.Conv2d(current_filters, 1, kernel_size = kernel_size, padding = padding)
]
return nn.Sequential(*layers)
return layers

def forward(self, input_tensor : Tensor) -> Tensor:
return self.nld(input_tensor)
return self.sequences(input_tensor)

0 comments on commit c487f48

Please sign in to comment.