
### Near Optimal Robust Federated Learning Against Data Poisoning Attack

We describe how to reproduce the results in our paper.

For the IID setting, the relation between defense efficiency and the poison rate can by shown by:
```sh
python -m  expriment.main run_iid_poison_rate
python -m  expriment.main plot --name poison_rate
```

For the non-IID setting, the relation between defense efficiency and the poison rate can by shown by:
```sh
python -m  expriment.main run_non_iid_poison_rate
python -m  expriment.main plot --name poison_rate
```

For the IID setting, the relation between defense efficiency and the data num of each worker can by shown by:
```sh
python -m  expriment.main run_iid_data_num
python -m  expriment.main plot --name data_num
```