Adversarial Patch Error in `PyTorchObjectDetector`
f4str opened this issue · 1 comments
Describe the bug
When running the adversarial patch attack for the PyTorchObjectDetector
and PyTorchFasterRCNN
, an error can occur when using any PyTorch-specific preprocessors.
To Reproduce
Steps to reproduce the behavior:
Run the adversarial patch attack on the PyTorchObjectDetector
while using a Faster R-CNN model. When using additional PyTorch-specific preprocessors, the error above will occur.
Expected behavior
The attacks should run without error. It can be easily fixed by adding the following if-condition
if x_tensor.is_leaf:
x_tensor.requires_grad = True
else:
x_tensor.retain_grad()
when setting the gradients to true. This if-condition is already applied for the PyTorchYolo
detector, it just needs to be copied to the PyTorchObjectDetector
.
Screenshots
If applicable, add screenshots to help explain your problem.
System information (please complete the following information):
- OS
- Python version
- ART version or commit number
- TensorFlow / Keras / PyTorch / MXNet version
Hi @f4str Thank you very much for noticing and raising this issue!