Open votrinhan88 opened 1 year ago
I agree with your view; the number of queries has far exceeded what was reported in the paper, and the same paper has already been published at CVPR 2022 (with the same author). There is almost no difference between the two papers, and the code released at CVPR 2022 is the same as the one here, with the same issues. paper : Towards Efficient Data Free Black-box Adversarial Attack github: https://github.com/zj-jayzhang/Data-Free-Transfer-Attack
Issue Description
I've noticed an issue with the query counting in the black-box model, where it seems to be lower than the actual query count. Specifically, in the
ideal.py -> kd_train -> cal_label
step, where queries are made, the counting should be performed every time the black-box model is called.synthesizer.gen_data()
, the actual number of query also accumulates.kd_train -> synthesizer.get_data() -> datasets = self.data_pool.get_dataset(transform=self.transform, ...)
. Since the prediction of the black-box model for the original image and each augmented versions may differ, they should be counted as separate queries.If it has been my misunderstanding, it'll be great if you can elaborate on how the query is counted. Thanks in advance.
Expected vs Current Behavior
Considering a batch size of $B$ and number of training epochs $E$:
Steps to Reproduce
To count the query, I have used a counter variable and count every time
ideal.py -> kd_train -> cal_label
is called.Specifically, in
ideal.py
:Possible Solution