(self)
| 175 | self.assertEqual(ofield.F.size(1), (otensor.F.size(1) + tfield.F.size(1))) |
| 176 | |
| 177 | def slice_no_duplicate(self): |
| 178 | coords, colors, pcd = load_file("1.ply") |
| 179 | voxel_size = 0.02 |
| 180 | # Extract unique coords |
| 181 | coords, colors = sparse_quantize(coords / voxel_size, colors) |
| 182 | bcoords = batched_coordinates([coords], dtype=torch.float32) |
| 183 | colors = torch.from_numpy(colors).float() |
| 184 | tfield = TensorField(colors, bcoords) |
| 185 | |
| 186 | network = nn.Sequential( |
| 187 | MinkowskiLinear(3, 16), |
| 188 | MinkowskiBatchNorm(16), |
| 189 | MinkowskiReLU(), |
| 190 | MinkowskiLinear(16, 32), |
| 191 | MinkowskiBatchNorm(32), |
| 192 | MinkowskiReLU(), |
| 193 | MinkowskiToSparseTensor(), |
| 194 | MinkowskiConvolution(32, 64, kernel_size=3, stride=2, dimension=3), |
| 195 | MinkowskiConvolutionTranspose(64, 32, kernel_size=3, stride=2, dimension=3), |
| 196 | ) |
| 197 | |
| 198 | otensor = network(tfield) |
| 199 | ofield = otensor.slice(tfield) |
| 200 | self.assertEqual(len(tfield), len(ofield)) |
| 201 | self.assertEqual(ofield.F.size(1), otensor.F.size(1)) |
| 202 | ofield = otensor.cat_slice(tfield) |
| 203 | self.assertEqual(len(tfield), len(ofield)) |
| 204 | self.assertEqual(ofield.F.size(1), (otensor.F.size(1) + tfield.F.size(1))) |
| 205 | |
| 206 | def stride_slice(self): |
| 207 | coords, colors, pcd = load_file("1.ply") |
nothing calls this directly
no test coverage detected