Skip to content

Commit f1e69ff

Browse files
committed
test file fixes
Signed-off-by: Kevin Eykholt <[email protected]>
1 parent 627f5ae commit f1e69ff

File tree

4 files changed

+40
-21
lines changed

4 files changed

+40
-21
lines changed

art/attacks/poisoning/hidden_trigger_backdoor/hidden_trigger_backdoor.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,7 @@ def _check_params(self) -> None:
187187

188188
if isinstance(self.feature_layer, int):
189189
if not 0 <= self.feature_layer < len(self.estimator.layer_names):
190-
raise ValueError("feature_layer is not positive integer")
190+
raise ValueError("feature_layer is not a non-negative integer")
191191

192192
if self.decay_coeff <= 0:
193193
raise ValueError("Decay coefficient must be positive")

art/attacks/poisoning/hidden_trigger_backdoor/hidden_trigger_backdoor_pytorch.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -295,7 +295,7 @@ def _check_params(self) -> None:
295295

296296
if isinstance(self.feature_layer, int):
297297
if not 0 <= self.feature_layer < len(self.estimator.layer_names):
298-
raise ValueError("feature_layer is not positive integer")
298+
raise ValueError("feature_layer is not a non-negative integer")
299299

300300
if self.decay_coeff <= 0:
301301
raise ValueError("Decay coefficient must be positive")

notebooks/attack_feature_adversaries_pytorch.ipynb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -639,7 +639,7 @@
639639
],
640640
"metadata": {
641641
"kernelspec": {
642-
"display_name": "Python 3",
642+
"display_name": "Python 3 (ipykernel)",
643643
"language": "python",
644644
"name": "python3"
645645
},
@@ -653,7 +653,7 @@
653653
"name": "python",
654654
"nbconvert_exporter": "python",
655655
"pygments_lexer": "ipython3",
656-
"version": "3.8.10"
656+
"version": "3.9.7"
657657
}
658658
},
659659
"nbformat": 4,

tests/attacks/poison/test_hidden_trigger_backdoor.py

Lines changed: 36 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -35,15 +35,24 @@ def test_poison(art_warning, get_default_mnist_subset, image_dl_estimator):
3535
try:
3636
(x_train, y_train), (_, _) = get_default_mnist_subset
3737
classifier, _ = image_dl_estimator(functional=True)
38-
backdoor = PoisoningAttackBackdoor(add_pattern_bd)
39-
target = 0
40-
source = 1
38+
39+
def mod(x):
40+
original_dtype = x.dtype
41+
x = np.transpose(x, (0, 2, 3, 1)).astype(np.float32)
42+
x = add_pattern_bd(x)
43+
x = np.transpose(x, (0, 3, 1, 2)).astype(np.float32)
44+
return x.astype(original_dtype)
45+
46+
backdoor = PoisoningAttackBackdoor(mod)
47+
target = y_train[0]
48+
diff_index = list(set(np.arange(len(y_train))) - set(np.where(np.all(y_train == target, axis=1))[0]))[0]
49+
source = y_train[diff_index]
4150
attack = HiddenTriggerBackdoor(
4251
classifier,
43-
eps=0.3,
52+
eps=0.01,
4453
target=target,
4554
source=source,
46-
feature_layer=len(classifier.layers) - 2,
55+
feature_layer=len(classifier.layer_names) - 2,
4756
backdoor=backdoor,
4857
decay_coeff=0.95,
4958
decay_iter=1,
@@ -68,17 +77,27 @@ def test_check_params(art_warning, get_default_mnist_subset, image_dl_estimator)
6877
try:
6978
(x_train, y_train), (_, _) = get_default_mnist_subset
7079
classifier, _ = image_dl_estimator(functional=True)
71-
backdoor = PoisoningAttackBackdoor(add_pattern_bd)
72-
target = np.expand_dims(x_train[3], 0)
80+
81+
def mod(x):
82+
original_dtype = x.dtype
83+
x = np.transpose(x, (0, 2, 3, 1)).astype(np.float32)
84+
x = add_pattern_bd(x)
85+
x = np.transpose(x, (0, 3, 1, 2)).astype(np.float32)
86+
return x.astype(original_dtype)
87+
88+
backdoor = PoisoningAttackBackdoor(mod)
89+
target = y_train[0]
90+
diff_index = list(set(np.arange(len(y_train))) - set(np.where(np.all(y_train == target, axis=1))[0]))[0]
91+
source = y_train[diff_index]
7392

7493
# Test target/source not numpy arrays
7594
with pytest.raises(ValueError):
7695
_ = HiddenTriggerBackdoor(
7796
classifier,
7897
eps=0.3,
79-
target=target,
80-
source=source,
81-
feature_layer=len(classifier.layers) - 2,
98+
target=1,
99+
source=0,
100+
feature_layer=len(classifier.layer_names) - 2,
82101
backdoor=backdoor,
83102
decay_coeff=0.95,
84103
decay_iter=1,
@@ -94,7 +113,7 @@ def test_check_params(art_warning, get_default_mnist_subset, image_dl_estimator)
94113
eps=0.3,
95114
target=target,
96115
source=source,
97-
feature_layer=len(classifier.layers) - 2,
116+
feature_layer=len(classifier.layer_names) - 2,
98117
backdoor=backdoor,
99118
decay_coeff=0.95,
100119
decay_iter=1,
@@ -110,7 +129,7 @@ def test_check_params(art_warning, get_default_mnist_subset, image_dl_estimator)
110129
eps=0.3,
111130
target=source,
112131
source=source,
113-
feature_layer=len(classifier.layers) - 2,
132+
feature_layer=len(classifier.layer_names) - 2,
114133
backdoor=backdoor,
115134
decay_coeff=0.95,
116135
decay_iter=1,
@@ -125,7 +144,7 @@ def test_check_params(art_warning, get_default_mnist_subset, image_dl_estimator)
125144
eps=0.3,
126145
target=target,
127146
source=source,
128-
feature_layer=len(classifier.layers) - 2,
147+
feature_layer=len(classifier.layer_names) - 2,
129148
backdoor=source,
130149
decay_coeff=0.95,
131150
decay_iter=1,
@@ -140,7 +159,7 @@ def test_check_params(art_warning, get_default_mnist_subset, image_dl_estimator)
140159
eps=-1,
141160
target=target,
142161
source=source,
143-
feature_layer=len(classifier.layers) - 2,
162+
feature_layer=len(classifier.layer_names) - 2,
144163
backdoor=backdoor,
145164
decay_coeff=0.95,
146165
decay_iter=1,
@@ -163,7 +182,7 @@ def test_check_params(art_warning, get_default_mnist_subset, image_dl_estimator)
163182
batch_size=1,
164183
poison_percent=0.1,
165184
)
166-
# Test negative feature yaer
185+
# Test negative feature layer
167186
with pytest.raises(ValueError):
168187
_ = HiddenTriggerBackdoor(
169188
classifier,
@@ -185,7 +204,7 @@ def test_check_params(art_warning, get_default_mnist_subset, image_dl_estimator)
185204
eps=0.3,
186205
target=target,
187206
source=source,
188-
feature_layer=len(classifier.layers) - 2,
207+
feature_layer=len(classifier.layer_names) - 2,
189208
backdoor=backdoor,
190209
decay_coeff=-1,
191210
decay_iter=1,
@@ -200,7 +219,7 @@ def test_check_params(art_warning, get_default_mnist_subset, image_dl_estimator)
200219
eps=0.3,
201220
target=target,
202221
source=source,
203-
feature_layer=len(classifier.layers) - 2,
222+
feature_layer=len(classifier.layer_names) - 2,
204223
backdoor=backdoor,
205224
decay_coeff=0.95,
206225
decay_iter=1,

0 commit comments

Comments
 (0)