├── .gitignore ├── README.md ├── attack_timing.py ├── client.py ├── defense.py ├── federated_learning ├── __init__.py ├── arguments.py ├── datasets │ ├── __init__.py │ ├── cifar10.py │ ├── data_distribution │ │ ├── __init__.py │ │ └── iid_equal.py │ ├── dataset.py │ └── fashion_mnist.py ├── dimensionality_reduction │ ├── __init__.py │ └── pca.py ├── nets │ ├── __init__.py │ ├── cifar_10_cnn.py │ └── fashion_mnist_cnn.py ├── parameters │ ├── __init__.py │ ├── gradients.py │ ├── log_utils.py │ ├── model_comparison.py │ └── parameter_processors.py ├── schedulers │ ├── __init__.py │ └── min_lr_step.py ├── utils │ ├── __init__.py │ ├── apply_scalers.py │ ├── class_flipping_methods.py │ ├── client_utils.py │ ├── csv_utils.py │ ├── data_loader_utils.py │ ├── experiment_ids.py │ ├── fed_avg.py │ ├── file_storage_utils.py │ ├── identify_random_elements.py │ ├── label_replacement.py │ ├── model_list_parser.py │ ├── poison_data.py │ └── tensor_converter.py └── worker_selection │ ├── __init__.py │ ├── breakpoint_after.py │ ├── breakpoint_before.py │ ├── poisoner_probability.py │ ├── random.py │ └── selection_strategy.py ├── generate_data_distribution.py ├── generate_default_models.py ├── label_flipping_attack.py ├── malicious_participant_availability.py ├── requirements.pip └── server.py /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MichaelTJC96/Label_Flipping_Attack/HEAD/.gitignore -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MichaelTJC96/Label_Flipping_Attack/HEAD/README.md -------------------------------------------------------------------------------- /attack_timing.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MichaelTJC96/Label_Flipping_Attack/HEAD/attack_timing.py -------------------------------------------------------------------------------- /client.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MichaelTJC96/Label_Flipping_Attack/HEAD/client.py -------------------------------------------------------------------------------- /defense.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MichaelTJC96/Label_Flipping_Attack/HEAD/defense.py -------------------------------------------------------------------------------- /federated_learning/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /federated_learning/arguments.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MichaelTJC96/Label_Flipping_Attack/HEAD/federated_learning/arguments.py -------------------------------------------------------------------------------- /federated_learning/datasets/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MichaelTJC96/Label_Flipping_Attack/HEAD/federated_learning/datasets/__init__.py -------------------------------------------------------------------------------- /federated_learning/datasets/cifar10.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MichaelTJC96/Label_Flipping_Attack/HEAD/federated_learning/datasets/cifar10.py -------------------------------------------------------------------------------- /federated_learning/datasets/data_distribution/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MichaelTJC96/Label_Flipping_Attack/HEAD/federated_learning/datasets/data_distribution/__init__.py -------------------------------------------------------------------------------- /federated_learning/datasets/data_distribution/iid_equal.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MichaelTJC96/Label_Flipping_Attack/HEAD/federated_learning/datasets/data_distribution/iid_equal.py -------------------------------------------------------------------------------- /federated_learning/datasets/dataset.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MichaelTJC96/Label_Flipping_Attack/HEAD/federated_learning/datasets/dataset.py -------------------------------------------------------------------------------- /federated_learning/datasets/fashion_mnist.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MichaelTJC96/Label_Flipping_Attack/HEAD/federated_learning/datasets/fashion_mnist.py -------------------------------------------------------------------------------- /federated_learning/dimensionality_reduction/__init__.py: -------------------------------------------------------------------------------- 1 | from .pca import calculate_pca_of_gradients 2 | -------------------------------------------------------------------------------- /federated_learning/dimensionality_reduction/pca.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MichaelTJC96/Label_Flipping_Attack/HEAD/federated_learning/dimensionality_reduction/pca.py -------------------------------------------------------------------------------- /federated_learning/nets/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MichaelTJC96/Label_Flipping_Attack/HEAD/federated_learning/nets/__init__.py -------------------------------------------------------------------------------- /federated_learning/nets/cifar_10_cnn.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MichaelTJC96/Label_Flipping_Attack/HEAD/federated_learning/nets/cifar_10_cnn.py -------------------------------------------------------------------------------- /federated_learning/nets/fashion_mnist_cnn.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MichaelTJC96/Label_Flipping_Attack/HEAD/federated_learning/nets/fashion_mnist_cnn.py -------------------------------------------------------------------------------- /federated_learning/parameters/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MichaelTJC96/Label_Flipping_Attack/HEAD/federated_learning/parameters/__init__.py -------------------------------------------------------------------------------- /federated_learning/parameters/gradients.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MichaelTJC96/Label_Flipping_Attack/HEAD/federated_learning/parameters/gradients.py -------------------------------------------------------------------------------- /federated_learning/parameters/log_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MichaelTJC96/Label_Flipping_Attack/HEAD/federated_learning/parameters/log_utils.py -------------------------------------------------------------------------------- /federated_learning/parameters/model_comparison.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MichaelTJC96/Label_Flipping_Attack/HEAD/federated_learning/parameters/model_comparison.py -------------------------------------------------------------------------------- /federated_learning/parameters/parameter_processors.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MichaelTJC96/Label_Flipping_Attack/HEAD/federated_learning/parameters/parameter_processors.py -------------------------------------------------------------------------------- /federated_learning/schedulers/__init__.py: -------------------------------------------------------------------------------- 1 | from .min_lr_step import MinCapableStepLR 2 | -------------------------------------------------------------------------------- /federated_learning/schedulers/min_lr_step.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MichaelTJC96/Label_Flipping_Attack/HEAD/federated_learning/schedulers/min_lr_step.py -------------------------------------------------------------------------------- /federated_learning/utils/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MichaelTJC96/Label_Flipping_Attack/HEAD/federated_learning/utils/__init__.py -------------------------------------------------------------------------------- /federated_learning/utils/apply_scalers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MichaelTJC96/Label_Flipping_Attack/HEAD/federated_learning/utils/apply_scalers.py -------------------------------------------------------------------------------- /federated_learning/utils/class_flipping_methods.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MichaelTJC96/Label_Flipping_Attack/HEAD/federated_learning/utils/class_flipping_methods.py -------------------------------------------------------------------------------- /federated_learning/utils/client_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MichaelTJC96/Label_Flipping_Attack/HEAD/federated_learning/utils/client_utils.py -------------------------------------------------------------------------------- /federated_learning/utils/csv_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MichaelTJC96/Label_Flipping_Attack/HEAD/federated_learning/utils/csv_utils.py -------------------------------------------------------------------------------- /federated_learning/utils/data_loader_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MichaelTJC96/Label_Flipping_Attack/HEAD/federated_learning/utils/data_loader_utils.py -------------------------------------------------------------------------------- /federated_learning/utils/experiment_ids.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MichaelTJC96/Label_Flipping_Attack/HEAD/federated_learning/utils/experiment_ids.py -------------------------------------------------------------------------------- /federated_learning/utils/fed_avg.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MichaelTJC96/Label_Flipping_Attack/HEAD/federated_learning/utils/fed_avg.py -------------------------------------------------------------------------------- /federated_learning/utils/file_storage_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MichaelTJC96/Label_Flipping_Attack/HEAD/federated_learning/utils/file_storage_utils.py -------------------------------------------------------------------------------- /federated_learning/utils/identify_random_elements.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MichaelTJC96/Label_Flipping_Attack/HEAD/federated_learning/utils/identify_random_elements.py -------------------------------------------------------------------------------- /federated_learning/utils/label_replacement.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MichaelTJC96/Label_Flipping_Attack/HEAD/federated_learning/utils/label_replacement.py -------------------------------------------------------------------------------- /federated_learning/utils/model_list_parser.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MichaelTJC96/Label_Flipping_Attack/HEAD/federated_learning/utils/model_list_parser.py -------------------------------------------------------------------------------- /federated_learning/utils/poison_data.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MichaelTJC96/Label_Flipping_Attack/HEAD/federated_learning/utils/poison_data.py -------------------------------------------------------------------------------- /federated_learning/utils/tensor_converter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MichaelTJC96/Label_Flipping_Attack/HEAD/federated_learning/utils/tensor_converter.py -------------------------------------------------------------------------------- /federated_learning/worker_selection/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MichaelTJC96/Label_Flipping_Attack/HEAD/federated_learning/worker_selection/__init__.py -------------------------------------------------------------------------------- /federated_learning/worker_selection/breakpoint_after.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MichaelTJC96/Label_Flipping_Attack/HEAD/federated_learning/worker_selection/breakpoint_after.py -------------------------------------------------------------------------------- /federated_learning/worker_selection/breakpoint_before.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MichaelTJC96/Label_Flipping_Attack/HEAD/federated_learning/worker_selection/breakpoint_before.py -------------------------------------------------------------------------------- /federated_learning/worker_selection/poisoner_probability.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MichaelTJC96/Label_Flipping_Attack/HEAD/federated_learning/worker_selection/poisoner_probability.py -------------------------------------------------------------------------------- /federated_learning/worker_selection/random.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MichaelTJC96/Label_Flipping_Attack/HEAD/federated_learning/worker_selection/random.py -------------------------------------------------------------------------------- /federated_learning/worker_selection/selection_strategy.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MichaelTJC96/Label_Flipping_Attack/HEAD/federated_learning/worker_selection/selection_strategy.py -------------------------------------------------------------------------------- /generate_data_distribution.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MichaelTJC96/Label_Flipping_Attack/HEAD/generate_data_distribution.py -------------------------------------------------------------------------------- /generate_default_models.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MichaelTJC96/Label_Flipping_Attack/HEAD/generate_default_models.py -------------------------------------------------------------------------------- /label_flipping_attack.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MichaelTJC96/Label_Flipping_Attack/HEAD/label_flipping_attack.py -------------------------------------------------------------------------------- /malicious_participant_availability.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MichaelTJC96/Label_Flipping_Attack/HEAD/malicious_participant_availability.py -------------------------------------------------------------------------------- /requirements.pip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MichaelTJC96/Label_Flipping_Attack/HEAD/requirements.pip -------------------------------------------------------------------------------- /server.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MichaelTJC96/Label_Flipping_Attack/HEAD/server.py --------------------------------------------------------------------------------