Closed YJK-forDev closed 1 year ago
Hi, data with 6 channels is the one with "Normal" processed feature, which means the proportions of the xyz values for each point are calculated. In our code, we use the data without normals.
However, normalised data is also OK, because the explainability method is a model-independent approach, but you have to train your own model before explaining it.
Ok, so you mean that I have to use a model which does not use the normal feature and using official data is fine for the train, right?
Yes, if you don't want to make changes on the code, you should use the data without normals, the official ModelNet40 should work
Ok, thanks! When I Follwed your guide, (without normal model + official modelnet40 data) 1) I got an error that says that the classifier returns only 2 values, not 3. (2 values 's shape are [1,40] and [1,1024,1] like below I printed. ) 2) Also, the bt softmax value has a negative value (As I know, the Softmax value should have a nonnegative one).
So, You got your model in PointNet2 which is written in your repo, right? But When I got the model in the link you provided (I trained it with --use no normal option, SSG version) and applied it to your code, It returned these 2 errors.
This is because the official model does not return the intermediate vector which is needed by the explainer, you can compare the pointnet_cls.py in model file both of ours and the official codes, our network returns 3 values while their returns only 2. the same problem happens to PN++
remember to use our modified model file before explaining them
Hi! I have a question about your code.
Whenever I run your code, I get this error.
I found that this error was caused by the data input shape. (which means the layer is set to have 6 channels for input, however, the actual input is 3 channels.) So, I looked into your code, and I thought that maybe this occurred because I used raw modelnet40. In this case, I used the pointnet2_cls_ssg model. Do I need to use pre-processed data for model net40 which are provided in this link? (https://github.com/yanx27/Pointnet_Pointnet2_pytorch > Modelnet40 DataPreprocessing Section > "here")