Files
facefusion-labs/arcface_converter/src/model.py
T
2024-10-15 16:56:57 +02:00

22 lines
626 B
Python

import torch
import torch.nn as nn
from torch import Tensor
class ArcFaceConverter(nn.Module):
def __init__(self) -> None:
super(ArcFaceConverter, self).__init__()
self.fc1 = nn.Linear(512, 1024)
self.fc2 = nn.Linear(1024, 2048)
self.fc3 = nn.Linear(2048, 1024)
self.fc4 = nn.Linear(1024, 512)
self.activation = nn.LeakyReLU()
def forward(self, inputs : Tensor) -> Tensor:
norm_inputs = inputs / torch.norm(inputs)
outputs = self.activation(self.fc1(norm_inputs))
outputs = self.activation(self.fc2(outputs))
outputs = self.activation(self.fc3(outputs))
outputs = self.fc4(outputs)
return outputs