KPConv-PyTorch icon indicating copy to clipboard operation
KPConv-PyTorch copied to clipboard

Train Val Split

Open Stone-sy opened this issue 2 years ago • 3 comments

Hello, I'm using your S3DIS point cloud segmentation code to train a custom dataset. I have several questions for you: First, the training set is all the all_splits? Second, if I want the verification set validation_split to be multiple subsequences, how should I modify the code? Simply change the self.validation_split to [1,5,10,15,20] may not work.

Stone-sy avatar Dec 06 '22 07:12 Stone-sy

The validation split can only be an index. However, you can define multiple clouds to be in the same split

For example, lets say your dataset is like this:

scene1.ply
scene2.ply
scene3.ply
scene4.ply
scene5.ply
scene6.ply

and you want to do k-fold validation with k=3 splits each split being:

split1 = scene1.ply + scene2.ply
split2 = scene3.ply
split3 = scene4.ply + scene5.ply + scene6.ply

Then you can define self.all_splits = [0, 0, 1, 2, 2, 2]. Now if you want to use the split1 as validation just define self.validation_split = 0, and same for the other splits.

HuguesTHOMAS avatar Dec 06 '22 22:12 HuguesTHOMAS

If I want : self.all_splits = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24] self.validation_split = [1,5,10,15,20] , waht should I do ? Thank you!

Stone-sy avatar Dec 07 '22 06:12 Stone-sy

As I said, you can define multiple clouds in the same split self.all_splits = [0,1,0,0,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0] self.validation_split = 1

HuguesTHOMAS avatar Dec 07 '22 16:12 HuguesTHOMAS