Open lukasmattheuwsen opened 2 years ago
@lukasmattheuwsen I can see that you are stuck with same problem ! But isn't that loop is an infinite loop ? I mean the value will be always less than num_votes as its not updating unless it goes through the (except) condition which is (error) ?!
it is not an infinite loop as something does happen/change during the loops. the min possibility, although slowly, increases. When the predefined number of steps is reached, the code goes trough the except condition and updates the new_min before checking if the difference with last_min is big enough
if last_min + 4 < new_min:
If this is true, the results are exported and the loops is ended after. If not, step_id is reset to 0 and the try condition is executed again until the predefined step_size is reached again and last_min and new_min are checked again, ...
The code works eventually, however I would like to understand this part of the code better to know what is actually happening in the try condition in this while loop and what the min_possibile value actually means as this defines if the results are exported or need further processing.
Thanks @QingyongHu for the great code on RandLA-Net. I'm using you code in order to run the pre-trained model on my own dataset. Although the code is running fine, I have some trouble understanding certain parts of the tester scripts. When testing on the semantic3D datasets, I was wondering why there is this loop in tester_Semantic3D.py (This loop is also present in S3DIS and semanticKITTI tester)
while last_min < num_votes:
More specifically, what happens in the try block inside this loop? Why does the script perform multiple validation steps? What does thisnp.min(dataset.min_possibility['test'])
actually corresponds to?Additionally, the following statement
if last_min + 4 < new_min:
must be true in order to output the results. However, this statement is different for S3DIS and semanticKITTI where it is more likeif last_min + 1 < new_min:
Can this value in tester_Semantic3D.py be lowered to 1 for instance, as this would improve the testing speed significantly?I know this issue has been discussed in issue #98, however this does not completely clears up my question about this part of the code.