DynamicScatter¶
- class mmcv.ops.DynamicScatter(voxel_size: List, point_cloud_range: List, average_points: bool)[source]¶
Scatters points into voxels, used in the voxel encoder with dynamic voxelization.
Note
The CPU and GPU implementation get the same output, but have numerical difference after summation and division (e.g., 5e-7).
- Parameters
- forward(points: torch.Tensor, coors: torch.Tensor) → Tuple[torch.Tensor, torch.Tensor][source]¶
Scatters points/features into voxels.
- Parameters
points (torch.Tensor) – Points to be reduced into voxels.
coors (torch.Tensor) – Corresponding voxel coordinates (specifically multi-dim voxel index) of each points.
- Returns
A tuple contains two elements. The first one is the voxel features with shape [M, C] which are respectively reduced from input features that share the same voxel coordinates. The second is voxel coordinates with shape [M, ndim].
- Return type
- forward_single(points: torch.Tensor, coors: torch.Tensor) → Tuple[torch.Tensor, torch.Tensor][source]¶
Scatters points into voxels.
- Parameters
points (torch.Tensor) – Points to be reduced into voxels.
coors (torch.Tensor) – Corresponding voxel coordinates (specifically multi-dim voxel index) of each points.
- Returns
A tuple contains two elements. The first one is the voxel features with shape [M, C] which are respectively reduced from input features that share the same voxel coordinates. The second is voxel coordinates with shape [M, ndim].
- Return type