SHTUPLUS / PySGG

The toolkit for scene graph generation
Other
73 stars 15 forks source link

Implementation of Bi-level Data Resampling #6

Closed SukwonYun closed 2 years ago

SukwonYun commented 3 years ago

First of all, great paper! Especially, I enjoyed the way you handled long tail problem via bi-level data resampling.

However, the equation and implemented code came somewhat unclear to me. According to the paper, in Instance-level under-sampling, you had set drop-out rate as follow.

d_i_c = max((r_i - r_c) / r_i * gamma_d, 1.0)

But in the code, it has been written as,
https://github.com/SHTUPLUS/PySGG/blob/59f16b4c49fe1ac424522f5d7f2234cc221c95e9/pysgg/data/datasets/bi_lvl_rsmp.py#L151

https://github.com/SHTUPLUS/PySGG/blob/59f16b4c49fe1ac424522f5d7f2234cc221c95e9/pysgg/data/datasets/bi_lvl_rsmp.py#L154

To sum up, my questions would be,

  1. According to the drop out equation written in paper, why we have to use max function? In such case, the drop out rate might be larger than 1 which causes the category in specific image will be all droped out. So, I wonder if the drop-out rate has to be set in range between 0 and 1.

  2. Also, according to above drop out equation, _(r_i - r_c / r_i ) * gammad would be always less than 1, so the max function always outputs 1. Thus, also considering question 1, shouldn't the drop-out equation be modified?

  3. Lastly, according to the implemented code, what is the role of clip function? Why is it necessary to appear with drop_rate array?

Scarecrow0 commented 3 years ago

Hi, Thanks for paying attention to our work.