Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
178 commits
Select commit Hold shift + click to select a range
f36d8c1
Remove NoAdversary
dxoigmn Mar 13, 2023
dcf7114
Remove NoAdversary from CIFAR10 adversarial training
dxoigmn Mar 13, 2023
75886b6
Remove NoAdversary from RetinaNet model
dxoigmn Mar 13, 2023
52aa94d
Fix COCO_TorchvisionFasterRCNN_Adv experiment
dxoigmn Mar 13, 2023
bbed2d6
Remove NoAdversary tests
dxoigmn Mar 13, 2023
f3f7b1b
First stab at treating adversary as LightningModule
dxoigmn Mar 13, 2023
0e16460
style
dxoigmn Mar 13, 2023
e25af6f
bugfix
dxoigmn Mar 14, 2023
36295b5
Integrate Perturber into LitPerturber
dxoigmn Mar 14, 2023
c68d9a8
Integrate objective to LitPerturber
dxoigmn Mar 14, 2023
689da74
Cleanup use of objective function to compute gain
dxoigmn Mar 14, 2023
3d70dde
bugfix
dxoigmn Mar 14, 2023
2990cab
Make adversarial trainer silent
dxoigmn Mar 14, 2023
d5e17f7
style
dxoigmn Mar 14, 2023
b8f8761
Move threat model into LitPerturber
dxoigmn Mar 14, 2023
d39c5c1
Make attack callbacks plain PL callbacks
dxoigmn Mar 14, 2023
5b7ee68
comment
dxoigmn Mar 14, 2023
f980315
Remove Perturber
dxoigmn Mar 14, 2023
90fb9ab
comment
dxoigmn Mar 14, 2023
00aefee
Better silence
dxoigmn Mar 15, 2023
86bbc13
Integrate LitPerturber into Adversary
dxoigmn Mar 15, 2023
7a12bf8
Uncombine Adversary into Adversary and LitPerturber
dxoigmn Mar 15, 2023
ad1872a
cleanup
dxoigmn Mar 15, 2023
1aa4fc0
Move silence into utils
dxoigmn Mar 15, 2023
d09c5b8
bugfix
dxoigmn Mar 15, 2023
78701a4
bugfix
dxoigmn Mar 15, 2023
8143b5d
cleanup
dxoigmn Mar 15, 2023
7bfc98f
Enable dependency injection on Adversary
dxoigmn Mar 15, 2023
eaf1607
Make dependency injection backwards compatible
dxoigmn Mar 15, 2023
bf5df50
Replace max_iters with trainer.limit_train_batches
dxoigmn Mar 15, 2023
75fa073
comments
dxoigmn Mar 15, 2023
4f74e53
Move perturbation creation into initializer
dxoigmn Mar 15, 2023
cde433c
Add Default projector
dxoigmn Mar 15, 2023
fdcfb5c
bugfix
dxoigmn Mar 15, 2023
e01093f
comment
dxoigmn Mar 15, 2023
63d3e40
Move gradient modifier into PL hook
dxoigmn Mar 15, 2023
e71266b
Use on_train_epoch_start in favor of initialize_parameters
dxoigmn Mar 15, 2023
7264b31
Make perturbation lazy
dxoigmn Mar 15, 2023
4982851
Disable logger in attack
dxoigmn Mar 15, 2023
c5e5ddf
Revert initializer to d33658fac734274bbf87bce88a8b470afa1b3c71
dxoigmn Mar 15, 2023
41357cf
cleanup
dxoigmn Mar 15, 2023
b5d116b
on_before_optimizer_step -> configure_gradient_clipping
dxoigmn Mar 15, 2023
79dabd4
comments
dxoigmn Mar 15, 2023
a6f1d84
Disable attack progress bar
dxoigmn Mar 15, 2023
2b9f403
comments
dxoigmn Mar 15, 2023
0bd7c7c
comments
dxoigmn Mar 15, 2023
bac2bd4
comments
dxoigmn Mar 15, 2023
079c15c
cleanup
dxoigmn Mar 15, 2023
1a57cb6
comments
dxoigmn Mar 15, 2023
7b96590
cleanup
dxoigmn Mar 15, 2023
1357297
comments
dxoigmn Mar 15, 2023
3e0d27c
comment
dxoigmn Mar 16, 2023
e59767e
Move LitPerturber into perturber.py
dxoigmn Mar 16, 2023
0ef0a6c
bugfix
dxoigmn Mar 16, 2023
ab623e9
Make gradient modifiers in-place operations
dxoigmn Mar 16, 2023
b313209
cleanup
dxoigmn Mar 17, 2023
3ef0876
Mark initializers __call__ as no_grad instead of using .data
dxoigmn Mar 17, 2023
0c63042
Mark projectors __call__ as no_grad instead of using .data
dxoigmn Mar 17, 2023
65397a4
Merge branch 'main' into adversary_as_lightningmodule
dxoigmn Mar 20, 2023
faefbee
Merge branch 'main' into adversary_as_lightningmodule
dxoigmn Mar 20, 2023
6c2bbdc
Cleanup attack configs
dxoigmn Mar 20, 2023
76da9b7
Merge branch 'main' into adversary_as_lightningmodule
dxoigmn Mar 20, 2023
8890ffd
Fix merge error
dxoigmn Mar 20, 2023
19cf58d
Fix merge error
dxoigmn Mar 20, 2023
0b438df
comment
dxoigmn Mar 20, 2023
3da4aa2
Merge branch 'main' into adversary_as_lightningmodule
dxoigmn Mar 21, 2023
ef84140
Merge branch 'main' into adversary_as_lightningmodule
mzweilin Mar 22, 2023
a01332a
Make Enforcer accept **kwargs.
mzweilin Mar 22, 2023
333bf61
Update test_gradient.
mzweilin Mar 23, 2023
8c84b43
LitPerturber -> Perturber
dxoigmn Mar 23, 2023
0f866b9
Merge branch 'main' into adversary_as_lightningmodule
dxoigmn Mar 23, 2023
970f53b
cleanup
dxoigmn Mar 23, 2023
addb2ab
Add _reset functionality
dxoigmn Mar 23, 2023
38c8caf
Update tests and fix a bug
dxoigmn Mar 23, 2023
020f99b
Remove batch tests
dxoigmn Mar 23, 2023
7332f74
style
dxoigmn Mar 23, 2023
260fd3d
Late bind trainer to input device
dxoigmn Mar 23, 2023
cd47df6
fix visualizer test
dxoigmn Mar 23, 2023
0519b5a
bugfix
dxoigmn Mar 23, 2023
4024852
bugfix
dxoigmn Mar 23, 2023
1980d99
disable progress bar
dxoigmn Mar 23, 2023
9809362
bugfix
dxoigmn Mar 24, 2023
bad9c10
Add loss to object detection outputs
dxoigmn Mar 24, 2023
c1cb07f
comment
dxoigmn Mar 24, 2023
b6afdd1
Make Adversary and Perturber tuple-aware
dxoigmn Mar 24, 2023
8e7bc21
comment
dxoigmn Mar 24, 2023
5181dcf
Fix gain.
mzweilin Mar 24, 2023
fb2f323
Make composer and enforcer aware of modalities.
mzweilin Mar 24, 2023
927a0a9
Make adversary aware of modalities.
mzweilin Mar 24, 2023
be97fae
Add PerturbationManager for managing tensors and param groups.
mzweilin Mar 24, 2023
f42ea99
Add loss module in object detection.
mzweilin Mar 24, 2023
2a46b3c
Use perturbation manager in Perturber.
mzweilin Mar 24, 2023
4f22113
Update object detection adversary config.
mzweilin Mar 24, 2023
c6bd29f
Update tests and fix bug
dxoigmn Mar 24, 2023
739e4db
style
dxoigmn Mar 24, 2023
e581452
Remove BatchEnforcer and BatchComposer
dxoigmn Mar 24, 2023
911998f
Revert to old gain functionality
dxoigmn Mar 24, 2023
77f9828
Revert change to enforcer
dxoigmn Mar 24, 2023
d435d1e
fix perturber tests to take gain
dxoigmn Mar 24, 2023
1665487
Cleaning.
mzweilin Mar 24, 2023
28ea18e
Comments.
mzweilin Mar 24, 2023
5ff8eea
Cleaning.
mzweilin Mar 24, 2023
80d796a
Add ModalityComposer that is aware of modalities and the dictionary/l…
mzweilin Mar 24, 2023
49a9620
Configure adveraary to use modality_composer.
mzweilin Mar 24, 2023
7a8c01b
Remove BatchComposer.
mzweilin Mar 24, 2023
ac0f42d
Cleaning.
mzweilin Mar 24, 2023
427142e
Add ModalityEnforcer.
mzweilin Mar 24, 2023
1231b37
Configure adversary to use modalithy enforcer.
mzweilin Mar 24, 2023
5f7bec8
Add mart.utils.get_tensor_device().
mzweilin Mar 25, 2023
e7a8443
Use mart.utils.get_tensor_device() in Adversary.
mzweilin Mar 25, 2023
b2dd910
Comment.
mzweilin Mar 25, 2023
f170c03
Backward compatibiility for COCO without modalities.
mzweilin Mar 25, 2023
6a4d45b
Create separate adversary configs for dataset with modalities.
mzweilin Mar 25, 2023
ec8bc4b
Fix tests.
mzweilin Mar 25, 2023
ed3eda1
Bug fix.
mzweilin Mar 25, 2023
aa08118
cleanup
dxoigmn Mar 27, 2023
74f8fab
Place Trainer on same device as Perturber
dxoigmn Mar 27, 2023
f1c2a9d
Make composer, enforcer and projector tuple aware
dxoigmn Mar 28, 2023
c5020b5
fix projector tests
dxoigmn Mar 28, 2023
8773d7f
Gracefully fail when input is a dict
dxoigmn Mar 28, 2023
d88c458
Make Projector batch aware
dxoigmn Mar 28, 2023
13b8e32
Update projector tests
dxoigmn Mar 28, 2023
231855e
Merge branch 'adversary_as_lightningmodule' into objdet_adv
mzweilin Mar 28, 2023
8eb68ba
Merge branch 'adversary_as_lightningmodule' into objdet_adv
mzweilin Mar 28, 2023
5c5a56c
Fix merge errors.
mzweilin Mar 28, 2023
a3e5114
Remove get_tensor_device() because we now get device from LightningMo…
mzweilin Mar 28, 2023
645c005
Cleaning.
mzweilin Mar 28, 2023
f0367c5
Merge branch 'main' into adversary_as_lightningmodule
dxoigmn Mar 29, 2023
91f8904
Merge branch 'main' into make_projector_batch_aware
dxoigmn Mar 29, 2023
9b545f4
Merge branch 'make_projector_batch_aware' into adversary_as_lightning…
dxoigmn Mar 29, 2023
764220f
Simplify ModalityEnforcer's configuration.
mzweilin Mar 29, 2023
fd4c282
Simplify config of ModalityComposer.
mzweilin Mar 29, 2023
86a3452
Update config for non-modality adversary.
mzweilin Mar 29, 2023
13cd5e6
Resume previous API.
mzweilin Mar 30, 2023
676f9b5
Integrate PerturbationManager into Perturber.
mzweilin Mar 30, 2023
543f9fc
Restore perturbation runtim checking.
mzweilin Mar 30, 2023
a2132bf
Update API.
mzweilin Mar 30, 2023
eca9220
Merge branch 'main' into adversary_as_lightningmodule
dxoigmn Mar 30, 2023
f799e12
Merge branch 'main' into objdet_adv
mzweilin Mar 30, 2023
1911ce6
Add a reusable modality_dispatch().
mzweilin Mar 31, 2023
604ae64
Use modality_dispatch() for projector and composer.
mzweilin Mar 31, 2023
ece768e
Remove modality-aware composer.
mzweilin Mar 31, 2023
1c7054b
Use modality_dispatch in Enforcer.
mzweilin Mar 31, 2023
5f57685
Remove dead code.
mzweilin Mar 31, 2023
7db9f8c
Fix config.
mzweilin Mar 31, 2023
ae2c4d8
Use modality_dispatch for initializer and gradient_modifier.
mzweilin Mar 31, 2023
2cfa4bb
Type annotation.
mzweilin Mar 31, 2023
998d345
Remove dead code.
mzweilin Mar 31, 2023
71a29a3
Fix config.
mzweilin Mar 31, 2023
b9a44b2
Comment.
mzweilin Mar 31, 2023
9a705db
Improve _parameter_groups().
mzweilin Mar 31, 2023
0b2cdd5
Rename test cases.
mzweilin Mar 31, 2023
7b1149a
Merge test cases.
mzweilin Mar 31, 2023
8d3e6d8
Remove unused imports.
mzweilin Mar 31, 2023
483521f
Make a similar Perturber.forward().
mzweilin Mar 31, 2023
4a17a35
Comment.
mzweilin Mar 31, 2023
a02de28
Comment.
mzweilin Mar 31, 2023
68923bc
Revert gradient_modifier.
mzweilin Mar 31, 2023
5b92f2b
Merge branch 'adversary_as_lightningmodule' into objdet_adv
mzweilin Mar 31, 2023
33acb97
Comment.
mzweilin Mar 31, 2023
3c6a7f7
Make image_visualizer modality-aware.
mzweilin Mar 31, 2023
b070723
Enable visualizer.
mzweilin Mar 31, 2023
3a86b69
Clean up nop().
mzweilin Mar 31, 2023
7bbe347
Cleanup.
mzweilin Mar 31, 2023
b86cdc9
project() -> project_().
mzweilin Apr 3, 2023
b68d308
Remove property decorator for parameter_groups().
mzweilin Apr 3, 2023
e961307
Make sure we create float perturbation tensors.
mzweilin Apr 3, 2023
aa95721
Update type annotation.
mzweilin Apr 3, 2023
877a00e
Fix type annotation and comment.
mzweilin Apr 3, 2023
6bd0399
Extend modality_dispatch() to support modality_func(modality=?).
mzweilin Apr 3, 2023
f33dbc8
MODALITY_DEFAULT = "default"
mzweilin Apr 3, 2023
9eedad8
Clean up.
mzweilin Apr 3, 2023
3710d48
Clean up.
mzweilin Apr 3, 2023
0911769
Merge branch 'main' into objdet_adv
mzweilin Apr 3, 2023
9ce0ea2
Allow Adversary not in the first place of a sequence
mzweilin Apr 3, 2023
655f4e0
Fix tests.
mzweilin Apr 3, 2023
48cb56f
Allow target is None in modality_dispatch().
mzweilin Apr 3, 2023
fa27723
Remove target=input.
mzweilin Apr 3, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions mart/attack/__init__.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
from .adversary import *
from .adversary_in_art import *
from .adversary_wrapper import *
from .callbacks import Callback
from .composer import *
from .enforcer import *
from .gain import *
from .gradient_modifier import *
from .initializer import *
from .objective import Objective
from .objective import *
from .perturber import *
from .projector import *
Loading