|
17 | 17 |
|
18 | 18 | logger = logging.getLogger('testLogger') |
19 | 19 |
|
20 | | -BATCH_SIZE, NB_TRAIN, NB_TEST = 100, 1000, 10 |
| 20 | +BATCH_SIZE, NB_TRAIN, NB_TEST = 100, 1000, 10000 |
21 | 21 |
|
22 | 22 |
|
23 | 23 | class Model(nn.Module): |
@@ -84,8 +84,30 @@ def test_tfclassifier(self): |
84 | 84 | tfc.fit(x_train, y_train, batch_size=BATCH_SIZE, nb_epochs=2) |
85 | 85 |
|
86 | 86 | # Attack |
87 | | - nf = NewtonFool(tfc, max_iter=5) |
88 | | - x_test_adv = nf.generate(x_test) |
| 87 | + import time |
| 88 | + nf = NewtonFool(tfc, max_iter=50) |
| 89 | + |
| 90 | + print("Test Tensorflow....") |
| 91 | + starttime = time.clock() |
| 92 | + x_test_adv = nf.generate(x_test, batch_size=1) |
| 93 | + endtime = time.clock() |
| 94 | + print(1, endtime - starttime) |
| 95 | + |
| 96 | + starttime = time.clock() |
| 97 | + x_test_adv = nf.generate(x_test, batch_size=10) |
| 98 | + endtime = time.clock() |
| 99 | + print(10, endtime - starttime) |
| 100 | + |
| 101 | + starttime = time.clock() |
| 102 | + x_test_adv = nf.generate(x_test, batch_size=100) |
| 103 | + endtime = time.clock() |
| 104 | + print(100, endtime - starttime) |
| 105 | + |
| 106 | + starttime = time.clock() |
| 107 | + x_test_adv = nf.generate(x_test, batch_size=1000) |
| 108 | + endtime = time.clock() |
| 109 | + print(1000, endtime - starttime) |
| 110 | + |
89 | 111 | self.assertFalse((x_test == x_test_adv).all()) |
90 | 112 |
|
91 | 113 | y_pred = tfc.predict(x_test) |
@@ -118,8 +140,30 @@ def test_krclassifier(self): |
118 | 140 | krc.fit(x_train, y_train, batch_size=BATCH_SIZE, nb_epochs=2) |
119 | 141 |
|
120 | 142 | # Attack |
121 | | - nf = NewtonFool(krc, max_iter=5) |
122 | | - x_test_adv = nf.generate(x_test) |
| 143 | + import time |
| 144 | + nf = NewtonFool(krc, max_iter=50) |
| 145 | + |
| 146 | + print("Test Keras....") |
| 147 | + starttime = time.clock() |
| 148 | + x_test_adv = nf.generate(x_test, batch_size=1) |
| 149 | + endtime = time.clock() |
| 150 | + print(1, endtime - starttime) |
| 151 | + |
| 152 | + starttime = time.clock() |
| 153 | + x_test_adv = nf.generate(x_test, batch_size=10) |
| 154 | + endtime = time.clock() |
| 155 | + print(10, endtime - starttime) |
| 156 | + |
| 157 | + starttime = time.clock() |
| 158 | + x_test_adv = nf.generate(x_test, batch_size=100) |
| 159 | + endtime = time.clock() |
| 160 | + print(100, endtime - starttime) |
| 161 | + |
| 162 | + starttime = time.clock() |
| 163 | + x_test_adv = nf.generate(x_test, batch_size=1000) |
| 164 | + endtime = time.clock() |
| 165 | + print(1000, endtime - starttime) |
| 166 | + |
123 | 167 | self.assertFalse((x_test == x_test_adv).all()) |
124 | 168 |
|
125 | 169 | y_pred = krc.predict(x_test) |
@@ -151,8 +195,30 @@ def test_ptclassifier(self): |
151 | 195 | ptc.fit(x_train, y_train, batch_size=BATCH_SIZE, nb_epochs=1) |
152 | 196 |
|
153 | 197 | # Attack |
154 | | - nf = NewtonFool(ptc, max_iter=5) |
155 | | - x_test_adv = nf.generate(x_test) |
| 198 | + import time |
| 199 | + nf = NewtonFool(ptc, max_iter=50) |
| 200 | + |
| 201 | + print("Test Pytorch....") |
| 202 | + starttime = time.clock() |
| 203 | + x_test_adv = nf.generate(x_test, batch_size=1) |
| 204 | + endtime = time.clock() |
| 205 | + print(1, endtime - starttime) |
| 206 | + |
| 207 | + starttime = time.clock() |
| 208 | + x_test_adv = nf.generate(x_test, batch_size=10) |
| 209 | + endtime = time.clock() |
| 210 | + print(10, endtime - starttime) |
| 211 | + |
| 212 | + starttime = time.clock() |
| 213 | + x_test_adv = nf.generate(x_test, batch_size=100) |
| 214 | + endtime = time.clock() |
| 215 | + print(100, endtime - starttime) |
| 216 | + |
| 217 | + starttime = time.clock() |
| 218 | + x_test_adv = nf.generate(x_test, batch_size=1000) |
| 219 | + endtime = time.clock() |
| 220 | + print(1000, endtime - starttime) |
| 221 | + |
156 | 222 | self.assertFalse((x_test == x_test_adv).all()) |
157 | 223 |
|
158 | 224 | y_pred = ptc.predict(x_test) |
|
0 commit comments