Closed damonftl closed 3 years ago
I figured this out so I'll post the solution here in case others run across it. It was somewhat dumb on my part - the 4th channel was actually the "height." That is, the height of the points above the floor. My own data does not use that, so all I had to do was add "--no_height" to my train.py command line parameters and that fixed it.
Hi, I've managed to write a custom DataLoader to import my own data into VoteNet. I used the SUNRGBD data loader code as a basis to start from. It gets point cloud data from ply files (just x y z coordinates for each point) and bounding boxes and labels from xml files that go with the ply data. When running a training, it appears to load the data just fine, but as soon as it gets to this line:
end_points = net(inputs)
in train.py in the train_one_epoch() method it fails with this error:
RuntimeError: Given groups=1, weight of size 64 4 1 1, expected input[4, 3, 2048, 64] to have 4 channels, but got 3 channels instead
What I can't figure out is why I apparently am only giving it 3 channels instead of 4. How can I determine what the actual missing data is? It seems like it only requires point cloud data there, which is just x, y, and z values. What's the fourth channel? Or am I looking at this incorrectly?