import torch.nn as nn import torch.nn.functional as F class SdfMlp(nn.Module): def __init__(self, input_dim, hidden_dim=512, bias=True): super().__init__() self.input_dim = input_dim self.hidden_dim = hidden_dim self.fc1 = nn.Linear(input_dim, hidden_dim, bias=bias) self.fc2 = nn.Linear(hidden_dim, hidden_dim, bias=bias) self.fc3 = nn.Linear(hidden_dim, 4, bias=bias) def forward(self, input): x = F.relu(self.fc1(input)) x = F.relu(self.fc2(x)) out = self.fc3(x) return out class RgbMlp(nn.Module): def __init__(self, input_dim, hidden_dim=512, bias=True): super().__init__() self.input_dim = input_dim self.hidden_dim = hidden_dim self.fc1 = nn.Linear(input_dim, hidden_dim, bias=bias) self.fc2 = nn.Linear(hidden_dim, hidden_dim, bias=bias) self.fc3 = nn.Linear(hidden_dim, 3, bias=bias) def forward(self, input): x = F.relu(self.fc1(input)) x = F.relu(self.fc2(x)) out = self.fc3(x) return out