def __init__(self): super(Net_MP_diag3, self).__init__() self.fc1 = torch.nn.Linear(3, width) kernel1 = nn.Sequential(nn.Linear(3, width//4), nn.ReLU(), nn.Linear(width//4, width)) self.conv1 = NNConv(width, width, kernel1, aggr='mean') kernel2 = nn.Sequential(nn.Linear(3, width // 4), nn.ReLU(), nn.Linear(width // 4, width)) self.conv2 = NNConv(width, width, kernel2, aggr='mean') kernel3 = nn.Sequential(nn.Linear(3, width // 4), nn.ReLU(), nn.Linear(width // 4, width)) self.conv3 = NNConv(width, width, kernel3, aggr='mean') self.fc2 = torch.nn.Linear(width, 1)
def __init__(self): super(Net_MP_Gauss, self).__init__() self.fc1 = torch.nn.Linear(3, width) kernel = nn.Sequential(nn.Linear(3+4, width//4), nn.ReLU(), nn.Linear(width//4, width)) self.conv1 = NNConv(width, width, kernel, aggr='mean') self.fc2 = torch.nn.Linear(width, 1)
def __init__(self, width, depth, ker_in, in_width=1, out_width=1): super(KernelNN, self).__init__() self.depth = depth self.fc1 = torch.nn.Linear(in_width, width) kernel = DenseNet([ker_in, width // 4, width], torch.nn.ReLU) self.conv1 = NNConv(width, width, kernel, aggr='mean') self.fc2 = torch.nn.Linear(width, 1)