Why randomly perturb the center when building the dataset instead of using a new pipeline to perturb the data as it is loaded? #1350
-
I found that when the dataset was in training mode, the existing code would build the dataset with a random perturbation to the center of the image. As the following code shows What I find puzzling is that shouldn't this be the role that pipeline needs to play? Using a pipeline would better specify the probability of randomization and the range of offsets, as well as make the center of the same image different at different epochs. Or maybe there's some special compatibility issue that requires keeping a piece of code like this |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
Yes, it is more reasonable to do the bbox perturbation in the pipeline. Actually, we have moved it to the pipeline in #1311 and it will be merged into the master branch in the next released version (v0.26.0). Although as you mentioned, doing perturbation in the datasets leads to the issue that the same results are used for every epoch, it doesn't seem to harm the performance, as shown by our recent experiment. So you can safely use the model trained by the old version code. |
Beta Was this translation helpful? Give feedback.
Yes, it is more reasonable to do the bbox perturbation in the pipeline. Actually, we have moved it to the pipeline in #1311 and it will be merged into the master branch in the next released version (v0.26.0).
Although as you mentioned, doing perturbation in the datasets leads to the issue that the same results are used for every epoch, it doesn't seem to harm the performance, as shown by our recent experiment. So you can safely use the model trained by the old version code.