Closed RokiaAbdeen closed 3 years ago
When multiple validation sets are used, the script prints the results of each validation set. For example, Sintel dataset will evaluate on Clean and Final passes, and KITTI dataset will evaluate on the set of 2012 and 2015. You can refer to https://github.com/lliuz/ARFlow/blob/master/datasets/get_dataset.py for more details.
so please how to know the training and testing EPE values ,.for Sintel dataset, for example?
The printed results are all for the training set. For the test set, you should change the input dataset and save the predictions first, and then use the official toolkit to generate a result file to upload to the test server of the Sintel benchmark.
for example, if I got EPE_0=3.78 so it is the training EPE for sintel clean, and EPE_1=4.26 is the training EPE for sintel final ,right?
yes
that's what I have determined for both database paths in config files: {"data": {"root_sintel": "/content/gdrive/My Drive/SimpleFlowNet/sintel", "root_sintel_raw": "/content/gdrive/My Drive/SimpleFlowNet/sintel/training/clean",
so is my program working only with sintel clean or with both of them? for root_sintel_raw I put the path for sintel clean dataset
I mean if I put the root_sintel_raw path for sintel clean dataset, are both EPE values referred to the training EPEs for just sintel clean or for both clean and sintel? because I didn't understand exactly why we should specify these two paths
You can refer to https://github.com/lliuz/ARFlow/blob/master/datasets/get_dataset.py to see which path is used.
For example, when using data type == 'Sintel_Raw'
, it will use root_sintel_raw
for training and both clean
and final
pass in root_sintel
for validation. Since the training and validation used different datasets, there are two paths.
so because I have specified my root_sintel_raw to clean folder of sintel dataset, so both EPE values are referred to the training values of sintel clean ,is it right? or both of them referred to EPE for validation ? sorry for my many questions
I just confused between the validation and training EPE values , when the program print the EPE for training and when it print it for validation
if I selected the data type == 'Sintel_Raw' , and root_sintel_raw is specified for sintel clean path, so the sintel clean will be used for training and sintel clean and finel will be used for validation and thus the EPE_0 value will refer to training EPE and EPE_1 will refer to validation EPE but if I selected the data type == Sintel_Flow ,so the sintel clean and final will be used for training and both of them also will be used for validation , what EPE_0 and EPE_1 should referred to?
I just confused between the validation and training EPE values , when the program print the EPE for training and when it print it for validation
this program will never print EPE during training, and the EPE values are all printed in the validation stage.
if you selected the data type == 'Sintel_Raw', tand root_sintel_raw is specified for sintel clean path,
in this case, you will use the clean pass in training set for training, and both clean and final pass will be used for validation. EPE 0 refers to clean pass, and EPE 1 refers to final pass, both in the validation stage.
if I selected the data type == Sintel_Flow
in this case, the training and validation will use the same data, EPE 0 still refers to clean pass, and EPE 1 still refers to final pass.
thanks so much for your detailed answer
the final question please , this EPE value (2.79) which is mentioned in your paper as sintel clean training EPE, is it the validation EPE value (EPE_0) after the model has been trained on sintel clean dataset and validated by sintel clean dataset?
if you can explain please how did you get these training values for sintel clean and test (2.79) (3.73), as mentioned in your paper
did you get the training EPEs for sintel clean and final by training your model by (sintel clean) and validate them by clean and final, and your EPE values are the validation value (training EPE) for sintel clean and the validation value(training EPE) for sintel final?
Hi @RokiaAbdeen,
The results reported in Table 1 are training with sintel_raw.json
as the pretrained model and then fine-tuned with the same data setting in sintel_ft_ar.json
, which used the whole training set for training and validation (see train_subsplit=trainval
in sintel_ft_ar.json
). The results of other tables in the Ablation Study are all conduct on a new split of training set to avoid using the same data for training and validation(you can set train_subsplit=train
and val_subsplit=val
to reproduce these parts).
The data from the clean and final pass are all mixed up during training while evaluated respectively.
ok, I got it thanks a bunch
during training the program printing these two values, could you please explain what is the difference?