()
| 181 | |
| 182 | |
| 183 | def test_nea_modification_attack(): |
| 184 | graph, dataset, test_mask, device, device_ids = init_dataset() |
| 185 | model_sur = init_surrogate_model(graph, dataset, test_mask, device, device_ids) |
| 186 | model_target = init_target_model(graph, dataset, test_mask, device, device_ids) |
| 187 | print("NEA modification attack...") |
| 188 | n_mod_ratio = 0.01 |
| 189 | n_edge_mod = int(graph.to_scipy_csr()[test_mask.cpu()].getnnz() * n_mod_ratio) |
| 190 | attack = NEA(n_edge_mod, device=device) |
| 191 | graph_attack = attack.attack(graph) |
| 192 | print(graph_attack) |
| 193 | test_score = evaluate(model_sur, |
| 194 | graph_attack, |
| 195 | mask=test_mask, |
| 196 | device=device) |
| 197 | print("After attack, test score of surrogate model: {:.4f}".format(test_score)) |
| 198 | test_score = evaluate(model_target, |
| 199 | graph_attack, |
| 200 | mask=test_mask, |
| 201 | device=device) |
| 202 | print("After attack, test score of target model: {:.4f}".format(test_score)) |
| 203 | |
| 204 | |
| 205 | def test_stack_modification_attack(): |
no test coverage detected