Skip to content

Index lost with 3D sparse convolution #3

@Pandenotium

Description

@Pandenotium

Hi! I have spotted a problem while using the latest version of the library. Everytime when I apply a 3D sparse convolution with stride greater than 1 to a voxel, like the following:

rand_img = torch.randn(1, 3, 100, 100, 100)

mask = torch.randn(1, 1, 100, 100, 100)

rand_img[mask.expand_as(rand_img) < 1.5] = 0

voxels = Voxels.from_dense(rand_img, voxel_size=0.05).to("cuda:0")

conv = SparseConv3d(
    3,
    64,
    3,
    stride=2,
    out_code_backend="hashmap"
).to("cuda:0")

out = conv(voxels)

it always yields the error:

AssertionError: Offsets tensor([ 0, 53226], dtype=torch.int32) does not match tensors torch.Size([66909, 64])

It seems that some index are lost. This error continues to appear with greater batch size and voxels initialized with real point clouds, and index lost happens in every batch. In fact, this error never appeared before the commit ef7a0ca with exactly the same code. Could this be a misuse of the interface or a bug?

Thanks!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions