Esempio n. 1
0
    def test_rsconv(self):
        from torch_points3d.applications.rsconv import RSConv

        input_nc = 2
        num_layers = 4
        output_nc = 5
        model = RSConv(
            architecture="encoder",
            input_nc=input_nc,
            output_nc=output_nc,
            num_layers=num_layers,
            multiscale=True,
            config=None,
        )
        dataset = MockDataset(input_nc, num_points=1024)
        self.assertEqual(len(model._modules["down_modules"]), num_layers)
        self.assertEqual(len(model._modules["inner_modules"]), 1)

        try:
            data_out = model.forward(dataset[0])
            self.assertEqual(data_out.x.shape[1], output_nc)
        except Exception as e:
            print("Model failing:")
            print(model)
            raise e
Esempio n. 2
0
 def __init__(self, USE_NORMAL):
     super().__init__()
     self.encoder = RSConv("encoder",
                           input_nc=3 * USE_NORMAL,
                           output_nc=8,
                           num_layers=4)
     self.log_softmax = torch.nn.LogSoftmax(dim=-1)
     self.loss_function = torch.nn.MSELoss()
Esempio n. 3
0
    def test_rsconv(self):
        from torch_points3d.applications.rsconv import RSConv

        input_nc = 2
        num_layers = 4
        model = RSConv(
            architecture="unet",
            input_nc=input_nc,
            output_nc=5,
            num_layers=num_layers,
            multiscale=True,
            config=None,
        )
        dataset = MockDataset(input_nc, num_points=1024)
        model.set_input(dataset[0], device)
        self.assertEqual(len(model._modules["down_modules"]), num_layers)
        self.assertEqual(len(model._modules["inner_modules"]), 2)
        self.assertEqual(len(model._modules["up_modules"]), num_layers + 1)

        try:
            model.forward()
        except Exception as e:
            print("Model failing:")
            print(model)
            raise e