pointnet2_segmentation.py question regarding shapenet.py #3243
-
Hi, Thanks for creating the amazing PyG :). In shapenet.py you have the comment: And indeed in init() you have: That's great (I don't have normals for my data ;), but then later in process_filenames() you have: So the normals are getting read into "x" from the ShapeNet data files even tho' "include_normals" above was set to False. I had assumed that I could just run pointnet2_segmentation.py with "x = None". But then in a module like SAModule you have: def forward(self, x, pos, batch): So that obviously references "x" a lot... Does pointnet2_segmentation.py support not having any normals in the input data? Or should I try running with x=pos to duplicate pos, or something like that? Thanks :) |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 3 replies
-
So I found this issue, which showed when support was added for normals in shapenet: Then checking the history of pointnet2_segmentation.py, I noticed this update made to support normals: And later this one: which had: So I removed the 2 "+ 3"'s that were added, and I seem to be able to run without normals... in case anyone else runs into this. Still, the include_normals flag isn't obeyed in shapenet.py's process_filenames(), so I think I'll make it into an issue ;). |
Beta Was this translation helpful? Give feedback.
-
Thanks for the reply @rusty1s :). Regarding ShapeNet, I see I didn't understand the order of execution in PyG. I see now that, in the init() of PyG's Dataset class, the data is processed, but then later in ShapeNet's init because of the include_normals flag set = False, x will = None. I should have read through the init methods in the superclasses more carefully -- thanks for correcting me :). I did see the Dataset tutorial but I guess I didn't fully see the order of execution until now... still learning PyG ;). |
Beta Was this translation helpful? Give feedback.
-
How important do you think are normals in general for segmentation tasks? |
Beta Was this translation helpful? Give feedback.
So I found this issue, which showed when support was added for normals in shapenet:
#884
Then checking the history of pointnet2_segmentation.py, I noticed this update made to support normals:
d782f8b#diff-5134187ae97d9080b798f14053558d38d996a6ba8177454dcfccfbf05a0955b7 which contained:
self.sa1_module = SAModule(0.2, 0.2, MLP([3 + 3, 64, 64, 128]))
And later this one:
a4f51d3#diff-5134187ae97d9080b798f14053558d38d996a6ba8177454dcfccfbf05a0955b7
which had:
self.fp1_module = FPModule(3, MLP([128 + 3, 128, 128, 128]))
So I removed the 2 "+ 3"'s that were added, and I seem to be able to run without normals... in case anyone else runs into this.
Still, the include_normals flag isn't obeyed in …