Unclear definition for poisoner_data_path
acphile opened this issue · 2 comments
Currently in the poisoner, there exists two paths:
OpenBackdoor/openbackdoor/attackers/poisoners/poisoner.py
Lines 23 to 24 in 58dcbdc
According to the docstring, poison_data_basepath
is for loading and poisoned_data_path
is for saving.
However, in the following code, we can find that both poison_data_basepath
and poisoned_data_path
are both used for saving, which could lead to confusion.
OpenBackdoor/openbackdoor/attackers/poisoners/poisoner.py
Lines 80 to 85 in 58dcbdc
I suggest these two parameters can be merged as one
Hi, thank you for your feedback!
We set two separate parameters to distinguish between the path of a fully poisoned dataset and that of a partially poisoned dataset. To improve reusability, we first poison the entire clean dataset and save the results to poison_data_basepath
. This poison dataset can be used to produce different partially poisoned datasets with different poison_setting
and poison_rate
, which are saved to poisoned_data_path
.
However, we will consider merging them if they lead to confusion.
I understand. Thanks!