plato-learn 1.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- plato_learn-1.1/.bashrc +100 -0
- plato_learn-1.1/.github/ISSUE_TEMPLATE/bug_report.md +31 -0
- plato_learn-1.1/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
- plato_learn-1.1/.github/ISSUE_TEMPLATE/request-for-comments.md +11 -0
- plato_learn-1.1/.github/pull_request_template.md +25 -0
- plato_learn-1.1/.github/workflows/configs/fedavg_yolov8.yml +179 -0
- plato_learn-1.1/.github/workflows/delete_workflow_runs.yml +27 -0
- plato_learn-1.1/.github/workflows/gpu_tests.yml.disabled +36 -0
- plato_learn-1.1/.github/workflows/pypi_publish.yml +32 -0
- plato_learn-1.1/.github/workflows/pytorch_tests.yml +32 -0
- plato_learn-1.1/.gitignore +163 -0
- plato_learn-1.1/.gitmodules +12 -0
- plato_learn-1.1/.python-version +1 -0
- plato_learn-1.1/Dockerfile +20 -0
- plato_learn-1.1/LICENSE +201 -0
- plato_learn-1.1/PKG-INFO +35 -0
- plato_learn-1.1/README.md +3 -0
- plato_learn-1.1/configs/CIFAR10/fedavg_resnet18.yml +62 -0
- plato_learn-1.1/configs/CIFAR10/fedavg_resnet18_dp.yml +72 -0
- plato_learn-1.1/configs/CIFAR10/fedavg_resnet18_torchhub.yml +62 -0
- plato_learn-1.1/configs/CIFAR10/fedavg_vgg16.yml +59 -0
- plato_learn-1.1/configs/CIFAR10/fedavg_vgg16_dp.yml +62 -0
- plato_learn-1.1/configs/CIFAR10/fedavg_wideresnet.yml +67 -0
- plato_learn-1.1/configs/CIFAR10/mistnet_pretrain_resnet18.yml +57 -0
- plato_learn-1.1/configs/CIFAR10/mistnet_resnet18.yml +66 -0
- plato_learn-1.1/configs/CIFAR10/split_learning_resnet18.yml +80 -0
- plato_learn-1.1/configs/CIFAR10/test_enhance_resnet18.yml +68 -0
- plato_learn-1.1/configs/CIFAR100/fedavg_resnet18.yml +65 -0
- plato_learn-1.1/configs/CINIC10/fedavg_vgg16.yml +66 -0
- plato_learn-1.1/configs/CelebA/fedavg_gan_dcgan.yml +78 -0
- plato_learn-1.1/configs/CelebA/fedavg_resnet18.yml +75 -0
- plato_learn-1.1/configs/EMNIST/fedavg_async_lenet5.yml +80 -0
- plato_learn-1.1/configs/EMNIST/fedavg_lenet5.yml +68 -0
- plato_learn-1.1/configs/EMNIST/fedavg_lenet5_dp.yml +78 -0
- plato_learn-1.1/configs/EMNIST/fedavg_lenet5_label_noniid.yml +71 -0
- plato_learn-1.1/configs/EMNIST/fedavg_lenet5_mixed_label_noniid.yml +74 -0
- plato_learn-1.1/configs/FEMNIST/FedAvg_LeNet.yml +79 -0
- plato_learn-1.1/configs/FashionMNIST/fedavg_lenet5.yml +57 -0
- plato_learn-1.1/configs/Flickr30KEntities/flickr30Kentities.yml +32 -0
- plato_learn-1.1/configs/HuggingFace/fedavg_shakespeare_bert.yml +69 -0
- plato_learn-1.1/configs/HuggingFace/fedavg_shakespeare_distilgpt2.yml +69 -0
- plato_learn-1.1/configs/HuggingFace/fedavg_wikitext2_gpt2.yml +70 -0
- plato_learn-1.1/configs/Kinetics/Models/kinetics_flow_audio_models.yml +92 -0
- plato_learn-1.1/configs/Kinetics/Models/kinetics_full_models.yml +154 -0
- plato_learn-1.1/configs/Kinetics/Pipeline/gym_audio_feature.yml +123 -0
- plato_learn-1.1/configs/Kinetics/Pipeline/gym_csn_rgb.yml +199 -0
- plato_learn-1.1/configs/Kinetics/Pipeline/gym_tsn_flow.yml +207 -0
- plato_learn-1.1/configs/Kinetics/Pipeline/kinetics_audio_feature.yml +123 -0
- plato_learn-1.1/configs/Kinetics/Pipeline/kinetics_csn_rgb.yml +199 -0
- plato_learn-1.1/configs/Kinetics/Pipeline/kinetics_tsn_flow.yml +207 -0
- plato_learn-1.1/configs/Kinetics/kinetics_mm.yml +131 -0
- plato_learn-1.1/configs/MNIST/fedavg_async_lenet5.yml +80 -0
- plato_learn-1.1/configs/MNIST/fedavg_cross_silo_lenet5.yml +76 -0
- plato_learn-1.1/configs/MNIST/fedavg_lenet5.yml +63 -0
- plato_learn-1.1/configs/MNIST/fedavg_lenet5_dp.yml +63 -0
- plato_learn-1.1/configs/MNIST/fedavg_lenet5_he.yml +64 -0
- plato_learn-1.1/configs/MNIST/fedavg_lenet5_noniid.yml +63 -0
- plato_learn-1.1/configs/MNIST/fedavg_lenet5_timm.yml +71 -0
- plato_learn-1.1/configs/MNIST/fedavg_lenet5_timm_globalLR.yml +72 -0
- plato_learn-1.1/configs/MNIST/fedprox_lenet5.yml +50 -0
- plato_learn-1.1/configs/MNIST/mistnet_lenet5.yml +68 -0
- plato_learn-1.1/configs/MNIST/mistnet_pretrain_lenet5.yml +49 -0
- plato_learn-1.1/configs/MNIST/mnist_distribution_noniid.yml +13 -0
- plato_learn-1.1/configs/MNIST/mnist_iid.yml +11 -0
- plato_learn-1.1/configs/PASCAL/fedavg_unet.yml +61 -0
- plato_learn-1.1/configs/Purchase100/fedavg_customized_multilayer.yml +97 -0
- plato_learn-1.1/configs/Purchase100/fedavg_general_mlp.yml +74 -0
- plato_learn-1.1/configs/Purchase100/fedavg_multilayer.yml +73 -0
- plato_learn-1.1/configs/ReferItGame/referitgame.yml +35 -0
- plato_learn-1.1/configs/Texas100/fedavg_multilayer.yml +73 -0
- plato_learn-1.1/configs/TinyImageNet/fedavg_alexnet.yml +66 -0
- plato_learn-1.1/configs/TinyImageNet/fedavg_googlenet.yml +66 -0
- plato_learn-1.1/configs/TinyImageNet/fedavg_inceptionv3.yml +66 -0
- plato_learn-1.1/configs/TinyImageNet/fedavg_shufflenet.yml +66 -0
- plato_learn-1.1/configs/TinyImageNet/fedavg_squeezenet.yml +66 -0
- plato_learn-1.1/configs/ViT/fedavg_cifar10_dvit.yml +72 -0
- plato_learn-1.1/configs/ViT/fedavg_cifar10_swinv2.yml +70 -0
- plato_learn-1.1/configs/ViT/fedavg_cifar10_t2tvit14.yml +72 -0
- plato_learn-1.1/configs/ViT/fedavg_tinyimagenet_levit.yml +82 -0
- plato_learn-1.1/configs/yolov8/yolov8.yml +172 -0
- plato_learn-1.1/dockerrun.sh +2 -0
- plato_learn-1.1/dockerrun_gpu.sh +1 -0
- plato_learn-1.1/docs/Makefile +20 -0
- plato_learn-1.1/docs/README.md +11 -0
- plato_learn-1.1/docs/_static/css/css-style.css +71 -0
- plato_learn-1.1/docs/client.md +130 -0
- plato_learn-1.1/docs/conf.py +53 -0
- plato_learn-1.1/docs/configuration.md +653 -0
- plato_learn-1.1/docs/deployment.md +334 -0
- plato_learn-1.1/docs/development.md +121 -0
- plato_learn-1.1/docs/examples.md +602 -0
- plato_learn-1.1/docs/index.md +24 -0
- plato_learn-1.1/docs/installation.md +113 -0
- plato_learn-1.1/docs/make.bat +35 -0
- plato_learn-1.1/docs/misc.md +82 -0
- plato_learn-1.1/docs/netlify.toml +3 -0
- plato_learn-1.1/docs/outdated_docs/Multimodal_FL.md +72 -0
- plato_learn-1.1/docs/outdated_docs/Reinforcement_Learning.md +37 -0
- plato_learn-1.1/docs/papers/MistNet.pdf +0 -0
- plato_learn-1.1/docs/patches/base.py.patch +22 -0
- plato_learn-1.1/docs/patches/config.py.patch +10 -0
- plato_learn-1.1/docs/patches/patch_cc.sh +3 -0
- plato_learn-1.1/docs/poetry.lock +673 -0
- plato_learn-1.1/docs/pyproject.toml +18 -0
- plato_learn-1.1/docs/quickstart.md +61 -0
- plato_learn-1.1/docs/requirements.txt +37 -0
- plato_learn-1.1/docs/running.md +222 -0
- plato_learn-1.1/docs/runtime.txt +1 -0
- plato_learn-1.1/docs/server.md +289 -0
- plato_learn-1.1/docs/trainer.md +368 -0
- plato_learn-1.1/documentation/.gitignore +1 -0
- plato_learn-1.1/documentation/README.md +21 -0
- plato_learn-1.1/documentation/docs/ccdb.md +223 -0
- plato_learn-1.1/documentation/docs/configurations/algorithm.md +29 -0
- plato_learn-1.1/documentation/docs/configurations/clients.md +96 -0
- plato_learn-1.1/documentation/docs/configurations/data.md +80 -0
- plato_learn-1.1/documentation/docs/configurations/general.md +11 -0
- plato_learn-1.1/documentation/docs/configurations/overview.md +4 -0
- plato_learn-1.1/documentation/docs/configurations/parameters.md +20 -0
- plato_learn-1.1/documentation/docs/configurations/results.md +22 -0
- plato_learn-1.1/documentation/docs/configurations/server.md +129 -0
- plato_learn-1.1/documentation/docs/configurations/trainer.md +156 -0
- plato_learn-1.1/documentation/docs/deployment.md +339 -0
- plato_learn-1.1/documentation/docs/development.md +161 -0
- plato_learn-1.1/documentation/docs/examples/Getting Started.md +83 -0
- plato_learn-1.1/documentation/docs/examples/algorithms/1. Server Aggregation Algorithms.md +23 -0
- plato_learn-1.1/documentation/docs/examples/algorithms/10. Algorithms based on Neural Architecture Search and Model Search.md +109 -0
- plato_learn-1.1/documentation/docs/examples/algorithms/11. Three-layer Federated Learning Algorithms.md +21 -0
- plato_learn-1.1/documentation/docs/examples/algorithms/12. Poisoning Detection Algorithms.md +10 -0
- plato_learn-1.1/documentation/docs/examples/algorithms/13. Model Pruning Algorithms.md +32 -0
- plato_learn-1.1/documentation/docs/examples/algorithms/14. Gradient Leakage Attacks and Defences.md +8 -0
- plato_learn-1.1/documentation/docs/examples/algorithms/2. Secure Aggregation with Homomorphic Encryption.md +8 -0
- plato_learn-1.1/documentation/docs/examples/algorithms/3. Asynchronous Federated Learning Algorithms.md +38 -0
- plato_learn-1.1/documentation/docs/examples/algorithms/4. Federated Unlearning.md +55 -0
- plato_learn-1.1/documentation/docs/examples/algorithms/5. Algorithms with Customized Client Training Loops.md +49 -0
- plato_learn-1.1/documentation/docs/examples/algorithms/6. Client Selection Algorithms.md +77 -0
- plato_learn-1.1/documentation/docs/examples/algorithms/7. Split Learning Algorithms.md +29 -0
- plato_learn-1.1/documentation/docs/examples/algorithms/8. Personalized Federated Learning Algorithms.md +101 -0
- plato_learn-1.1/documentation/docs/examples/algorithms/9. Personalized Federated Learning Algorithms based on Self-Supervised Learning.md +88 -0
- plato_learn-1.1/documentation/docs/index.md +71 -0
- plato_learn-1.1/documentation/docs/install.md +42 -0
- plato_learn-1.1/documentation/docs/misc.md +81 -0
- plato_learn-1.1/documentation/docs/quickstart.md +121 -0
- plato_learn-1.1/documentation/docs/references/clients.md +122 -0
- plato_learn-1.1/documentation/docs/references/servers.md +265 -0
- plato_learn-1.1/documentation/docs/references/trainers.md +350 -0
- plato_learn-1.1/documentation/mkdocs.yml +50 -0
- plato_learn-1.1/examples/async/data_hetero/data_hetero_femnist_lenet5.yml +70 -0
- plato_learn-1.1/examples/async/data_hetero/run.py +22 -0
- plato_learn-1.1/examples/async/fedasync/fedasync.py +27 -0
- plato_learn-1.1/examples/async/fedasync/fedasync_CIFAR10_resnet18.yml +85 -0
- plato_learn-1.1/examples/async/fedasync/fedasync_MNIST_lenet5.yml +98 -0
- plato_learn-1.1/examples/async/fedasync/fedasync_algorithm.py +21 -0
- plato_learn-1.1/examples/async/fedasync/fedasync_server.py +124 -0
- plato_learn-1.1/examples/async/fedbuff/fedbuff.py +22 -0
- plato_learn-1.1/examples/async/fedbuff/fedbuff_cifar10.yml +122 -0
- plato_learn-1.1/examples/async/fedbuff/fedbuff_server.py +51 -0
- plato_learn-1.1/examples/async/port/port.py +25 -0
- plato_learn-1.1/examples/async/port/port_cifar10.yml +122 -0
- plato_learn-1.1/examples/async/port/port_server.py +144 -0
- plato_learn-1.1/examples/basic/basic.py +106 -0
- plato_learn-1.1/examples/basic/config.yml +70 -0
- plato_learn-1.1/examples/callbacks/callback_examples.py +33 -0
- plato_learn-1.1/examples/callbacks/callbacks.py +29 -0
- plato_learn-1.1/examples/client_selection/afl/afl.py +25 -0
- plato_learn-1.1/examples/client_selection/afl/afl_FashionMNIST_lenet5.yml +110 -0
- plato_learn-1.1/examples/client_selection/afl/afl_client.py +33 -0
- plato_learn-1.1/examples/client_selection/afl/afl_server.py +102 -0
- plato_learn-1.1/examples/client_selection/oort/oort.py +25 -0
- plato_learn-1.1/examples/client_selection/oort/oort_MNIST_lenet5.yml +81 -0
- plato_learn-1.1/examples/client_selection/oort/oort_client.py +32 -0
- plato_learn-1.1/examples/client_selection/oort/oort_server.py +232 -0
- plato_learn-1.1/examples/client_selection/oort/oort_trainer.py +36 -0
- plato_learn-1.1/examples/client_selection/pisces/pisces.py +27 -0
- plato_learn-1.1/examples/client_selection/pisces/pisces_MNIST_lenet5.yml +109 -0
- plato_learn-1.1/examples/client_selection/pisces/pisces_client.py +45 -0
- plato_learn-1.1/examples/client_selection/pisces/pisces_server.py +245 -0
- plato_learn-1.1/examples/client_selection/pisces/pisces_trainer.py +32 -0
- plato_learn-1.1/examples/client_selection/pisces/pyproject.toml +9 -0
- plato_learn-1.1/examples/client_selection/polaris/polaris.py +17 -0
- plato_learn-1.1/examples/client_selection/polaris/polaris_FEMNIST_LeNet5.yml +105 -0
- plato_learn-1.1/examples/client_selection/polaris/polaris_server.py +181 -0
- plato_learn-1.1/examples/client_selection/polaris/pyproject.toml +10 -0
- plato_learn-1.1/examples/colab/colab_use_terminal.ipynb +192 -0
- plato_learn-1.1/examples/colab/plato_colab.ipynb +236 -0
- plato_learn-1.1/examples/customized/client.yml +62 -0
- plato_learn-1.1/examples/customized/custom_client.py +125 -0
- plato_learn-1.1/examples/customized/custom_server.py +131 -0
- plato_learn-1.1/examples/customized/server.yml +67 -0
- plato_learn-1.1/examples/customized_client_training/feddyn/feddyn.py +27 -0
- plato_learn-1.1/examples/customized_client_training/feddyn/feddyn_MNIST_lenet5.yml +70 -0
- plato_learn-1.1/examples/customized_client_training/feddyn/feddyn_trainer.py +98 -0
- plato_learn-1.1/examples/customized_client_training/fedmos/fedmos.py +26 -0
- plato_learn-1.1/examples/customized_client_training/fedmos/fedmos_MNIST_lenet5.yml +71 -0
- plato_learn-1.1/examples/customized_client_training/fedmos/fedmos_trainer.py +63 -0
- plato_learn-1.1/examples/customized_client_training/fedmos/optimizers.py +65 -0
- plato_learn-1.1/examples/customized_client_training/fedprox/basic_lenet5.yml +19 -0
- plato_learn-1.1/examples/customized_client_training/fedprox/emnist_noniid.yml +12 -0
- plato_learn-1.1/examples/customized_client_training/fedprox/fedprox.py +31 -0
- plato_learn-1.1/examples/customized_client_training/fedprox/fedprox_EMNIST_lenet5.yml +45 -0
- plato_learn-1.1/examples/customized_client_training/fedprox/fedprox_MNIST_lenet5.yml +45 -0
- plato_learn-1.1/examples/customized_client_training/fedprox/fedprox_trainer.py +64 -0
- plato_learn-1.1/examples/customized_client_training/fedprox/lenet5_params.yml +7 -0
- plato_learn-1.1/examples/customized_client_training/fedprox/mnist_noniid.yml +14 -0
- plato_learn-1.1/examples/customized_client_training/scaffold/scaffold.py +29 -0
- plato_learn-1.1/examples/customized_client_training/scaffold/scaffold_MNIST_lenet5.yml +55 -0
- plato_learn-1.1/examples/customized_client_training/scaffold/scaffold_callback.py +102 -0
- plato_learn-1.1/examples/customized_client_training/scaffold/scaffold_client.py +63 -0
- plato_learn-1.1/examples/customized_client_training/scaffold/scaffold_server.py +58 -0
- plato_learn-1.1/examples/customized_client_training/scaffold/scaffold_trainer.py +136 -0
- plato_learn-1.1/examples/customized_processor/customize_callback.py +58 -0
- plato_learn-1.1/examples/customized_processor/customize_processor.py +19 -0
- plato_learn-1.1/examples/customized_processor/dummy_processor.py +25 -0
- plato_learn-1.1/examples/detector/README.md +83 -0
- plato_learn-1.1/examples/detector/aggregations.py +455 -0
- plato_learn-1.1/examples/detector/asyncfilter_cifar_2.yml +88 -0
- plato_learn-1.1/examples/detector/asyncfilter_cinic_2.yml +96 -0
- plato_learn-1.1/examples/detector/asyncfilter_fashion_6.yml +85 -0
- plato_learn-1.1/examples/detector/attacks.py +653 -0
- plato_learn-1.1/examples/detector/defences.py +112 -0
- plato_learn-1.1/examples/detector/detector.py +24 -0
- plato_learn-1.1/examples/detector/detector_server.py +201 -0
- plato_learn-1.1/examples/detector/detectors.py +467 -0
- plato_learn-1.1/examples/detector/pyproject.toml +9 -0
- plato_learn-1.1/examples/gradient_leakage_attacks/README.md +113 -0
- plato_learn-1.1/examples/gradient_leakage_attacks/defense/GradDefense/compensate.py +129 -0
- plato_learn-1.1/examples/gradient_leakage_attacks/defense/GradDefense/dataloader.py +50 -0
- plato_learn-1.1/examples/gradient_leakage_attacks/defense/GradDefense/perturb.py +264 -0
- plato_learn-1.1/examples/gradient_leakage_attacks/defense/GradDefense/sensitivity.py +59 -0
- plato_learn-1.1/examples/gradient_leakage_attacks/defense/Outpost/perturb.py +53 -0
- plato_learn-1.1/examples/gradient_leakage_attacks/dlg.py +23 -0
- plato_learn-1.1/examples/gradient_leakage_attacks/dlg_client.py +22 -0
- plato_learn-1.1/examples/gradient_leakage_attacks/dlg_model.py +31 -0
- plato_learn-1.1/examples/gradient_leakage_attacks/dlg_server.py +1023 -0
- plato_learn-1.1/examples/gradient_leakage_attacks/dlg_trainer.py +281 -0
- plato_learn-1.1/examples/gradient_leakage_attacks/fedavg_pretraining.py +19 -0
- plato_learn-1.1/examples/gradient_leakage_attacks/fedavg_resnet152_cifar100.yml +77 -0
- plato_learn-1.1/examples/gradient_leakage_attacks/fedavg_resnet18_cifar100.yml +77 -0
- plato_learn-1.1/examples/gradient_leakage_attacks/fishing.yml +151 -0
- plato_learn-1.1/examples/gradient_leakage_attacks/malicious_attacks/fishing.py +88 -0
- plato_learn-1.1/examples/gradient_leakage_attacks/nn/lenet.py +50 -0
- plato_learn-1.1/examples/gradient_leakage_attacks/nn/resnet.py +224 -0
- plato_learn-1.1/examples/gradient_leakage_attacks/pretrained_eval.yml +139 -0
- plato_learn-1.1/examples/gradient_leakage_attacks/pretrained_eval_delta.yml +139 -0
- plato_learn-1.1/examples/gradient_leakage_attacks/pretrained_train.yml +137 -0
- plato_learn-1.1/examples/gradient_leakage_attacks/pretrained_train_delta.yml +139 -0
- plato_learn-1.1/examples/gradient_leakage_attacks/pyproject.toml +10 -0
- plato_learn-1.1/examples/gradient_leakage_attacks/requirement.txt +4 -0
- plato_learn-1.1/examples/gradient_leakage_attacks/untrained_eval.yml +137 -0
- plato_learn-1.1/examples/gradient_leakage_attacks/untrained_eval_delta.yml +137 -0
- plato_learn-1.1/examples/gradient_leakage_attacks/untrained_train.yml +137 -0
- plato_learn-1.1/examples/gradient_leakage_attacks/untrained_train_delta.yml +137 -0
- plato_learn-1.1/examples/gradient_leakage_attacks/utils/consts.py +14 -0
- plato_learn-1.1/examples/gradient_leakage_attacks/utils/evaluations.py +131 -0
- plato_learn-1.1/examples/gradient_leakage_attacks/utils/helpers.py +24 -0
- plato_learn-1.1/examples/gradient_leakage_attacks/utils/modules.py +132 -0
- plato_learn-1.1/examples/lora/README.md +36 -0
- plato_learn-1.1/examples/lora/client.yml +69 -0
- plato_learn-1.1/examples/lora/fedavg_opt.yml +73 -0
- plato_learn-1.1/examples/lora/lora.py +22 -0
- plato_learn-1.1/examples/lora/lora_client.py +38 -0
- plato_learn-1.1/examples/lora/lora_server.py +43 -0
- plato_learn-1.1/examples/lora/lora_utils.py +180 -0
- plato_learn-1.1/examples/lora/server.yml +76 -0
- plato_learn-1.1/examples/model_pruning/fedscr/fedscr.py +24 -0
- plato_learn-1.1/examples/model_pruning/fedscr/fedscr_MNIST_lenet5.yml +97 -0
- plato_learn-1.1/examples/model_pruning/fedscr/fedscr_client.py +39 -0
- plato_learn-1.1/examples/model_pruning/fedscr/fedscr_server.py +116 -0
- plato_learn-1.1/examples/model_pruning/fedscr/fedscr_trainer.py +256 -0
- plato_learn-1.1/examples/model_pruning/sub_fedavg/subcs.py +24 -0
- plato_learn-1.1/examples/model_pruning/sub_fedavg/subcs_MNIST_lenet5.yml +98 -0
- plato_learn-1.1/examples/model_pruning/sub_fedavg/subfedavg.py +27 -0
- plato_learn-1.1/examples/model_pruning/sub_fedavg/subfedavg_MNIST_lenet5.yml +82 -0
- plato_learn-1.1/examples/model_pruning/sub_fedavg/subfedavg_client.py +23 -0
- plato_learn-1.1/examples/model_pruning/sub_fedavg/subfedavg_pruning.py +124 -0
- plato_learn-1.1/examples/model_pruning/sub_fedavg/subfedavg_trainer.py +201 -0
- plato_learn-1.1/examples/model_search/anycostfl/anycostfl.py +32 -0
- plato_learn-1.1/examples/model_search/anycostfl/anycostfl_algorithm.py +205 -0
- plato_learn-1.1/examples/model_search/anycostfl/anycostfl_client.py +17 -0
- plato_learn-1.1/examples/model_search/anycostfl/anycostfl_server.py +57 -0
- plato_learn-1.1/examples/model_search/anycostfl/anycostfl_trainer.py +14 -0
- plato_learn-1.1/examples/model_search/anycostfl/example_ResNet.yml +92 -0
- plato_learn-1.1/examples/model_search/anycostfl/example_ViT.yml +98 -0
- plato_learn-1.1/examples/model_search/anycostfl/resnet.py +266 -0
- plato_learn-1.1/examples/model_search/anycostfl/vit.py +259 -0
- plato_learn-1.1/examples/model_search/fedrlnas/Darts/__init__.py +0 -0
- plato_learn-1.1/examples/model_search/fedrlnas/Darts/architect.py +173 -0
- plato_learn-1.1/examples/model_search/fedrlnas/Darts/genotypes.py +1675 -0
- plato_learn-1.1/examples/model_search/fedrlnas/Darts/model_search.py +153 -0
- plato_learn-1.1/examples/model_search/fedrlnas/Darts/model_search_local.py +187 -0
- plato_learn-1.1/examples/model_search/fedrlnas/Darts/operations.py +147 -0
- plato_learn-1.1/examples/model_search/fedrlnas/Darts/stale.py +48 -0
- plato_learn-1.1/examples/model_search/fedrlnas/Darts/utils.py +136 -0
- plato_learn-1.1/examples/model_search/fedrlnas/FedRLNAS_MNIST_DARTS.yml +76 -0
- plato_learn-1.1/examples/model_search/fedrlnas/fedrlnas.py +36 -0
- plato_learn-1.1/examples/model_search/fedrlnas/fedrlnas_algorithm.py +109 -0
- plato_learn-1.1/examples/model_search/fedrlnas/fedrlnas_client.py +33 -0
- plato_learn-1.1/examples/model_search/fedrlnas/fedrlnas_server.py +69 -0
- plato_learn-1.1/examples/model_search/fedrlnas/fedrlnas_tools.py +156 -0
- plato_learn-1.1/examples/model_search/fedrolex/example_ResNet.yml +92 -0
- plato_learn-1.1/examples/model_search/fedrolex/example_ViT.yml +98 -0
- plato_learn-1.1/examples/model_search/fedrolex/fedrolex.py +32 -0
- plato_learn-1.1/examples/model_search/fedrolex/fedrolex_algorithm.py +204 -0
- plato_learn-1.1/examples/model_search/fedrolex/fedrolex_client.py +17 -0
- plato_learn-1.1/examples/model_search/fedrolex/fedrolex_server.py +57 -0
- plato_learn-1.1/examples/model_search/fedrolex/fedrolex_trainer.py +14 -0
- plato_learn-1.1/examples/model_search/fedrolex/pyproject.toml +9 -0
- plato_learn-1.1/examples/model_search/fedrolex/resnet.py +266 -0
- plato_learn-1.1/examples/model_search/fedrolex/vit.py +259 -0
- plato_learn-1.1/examples/model_search/fedtp/FedTP_CIFAR10_T2TVIT14_NonIID03_scratch.yml +202 -0
- plato_learn-1.1/examples/model_search/fedtp/FedTP_CIFAR10_ViT_NonIID03_scratch.yml +207 -0
- plato_learn-1.1/examples/model_search/fedtp/fedtp.py +30 -0
- plato_learn-1.1/examples/model_search/fedtp/fedtp_algorithm.py +50 -0
- plato_learn-1.1/examples/model_search/fedtp/fedtp_server.py +115 -0
- plato_learn-1.1/examples/model_search/fedtp/hypernetworks.py +213 -0
- plato_learn-1.1/examples/model_search/heterofl/heterofl.py +34 -0
- plato_learn-1.1/examples/model_search/heterofl/heterofl_algorithm.py +153 -0
- plato_learn-1.1/examples/model_search/heterofl/heterofl_client.py +17 -0
- plato_learn-1.1/examples/model_search/heterofl/heterofl_resnet18_dynamic.yml +93 -0
- plato_learn-1.1/examples/model_search/heterofl/heterofl_server.py +70 -0
- plato_learn-1.1/examples/model_search/heterofl/heterofl_trainer.py +15 -0
- plato_learn-1.1/examples/model_search/heterofl/mobilenetv3.py +543 -0
- plato_learn-1.1/examples/model_search/heterofl/pyproject.toml +9 -0
- plato_learn-1.1/examples/model_search/heterofl/resnet.py +266 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/DARTS/Darts/__init__.py +0 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/DARTS/Darts/architect.py +227 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/DARTS/Darts/genotypes.py +1675 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/DARTS/Darts/model_search.py +153 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/DARTS/Darts/model_search_local.py +187 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/DARTS/Darts/operations.py +147 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/DARTS/Darts/stale.py +48 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/DARTS/Darts/utils.py +136 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/DARTS/fednas.py +28 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/DARTS/fednas_algorithm.py +104 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/DARTS/fednas_client.py +27 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/DARTS/fednas_server.py +103 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/DARTS/fednas_tools.py +149 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/MobileNetV3/fednas.py +37 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/MobileNetV3/fednas_algorithm.py +128 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/MobileNetV3/fednas_client.py +42 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/MobileNetV3/fednas_server.py +377 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/MobileNetV3/fednas_specific.py +72 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/MobileNetV3/fednas_trainer.py +268 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/MobileNetV3/fedtools.py +145 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/MobileNetV3/model/__init__.py +0 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/MobileNetV3/model/architect.py +68 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/MobileNetV3/model/config.py +154 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/MobileNetV3/model/mobilenetv3_supernet.py +211 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/MobileNetV3/pyproject.toml +9 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/VIT/fednas.py +40 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/VIT/fednas_algorithm.py +102 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/VIT/fednas_client.py +17 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/VIT/fednas_server.py +94 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/VIT/fednas_trainer.py +25 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/VIT/fednasvit_specific.py +71 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/VIT/fedtools.py +104 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/VIT/nasvit_wrapper/NASViT/CODE_OF_CONDUCT.md +80 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/VIT/nasvit_wrapper/NASViT/CONTRIBUTING.md +31 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/VIT/nasvit_wrapper/NASViT/LICENSE +399 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/VIT/nasvit_wrapper/NASViT/README.md +30 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/VIT/nasvit_wrapper/NASViT/config.py +237 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/VIT/nasvit_wrapper/NASViT/configs/cfg.yaml +20 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/VIT/nasvit_wrapper/NASViT/logger.py +48 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/VIT/nasvit_wrapper/NASViT/loss_ops.py +553 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/VIT/nasvit_wrapper/NASViT/lr_scheduler.py +114 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/VIT/nasvit_wrapper/NASViT/main.py +560 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/VIT/nasvit_wrapper/NASViT/misc/attentive_nas_eval.py +143 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/VIT/nasvit_wrapper/NASViT/misc/comm.py +73 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/VIT/nasvit_wrapper/NASViT/misc/config.py +322 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/VIT/nasvit_wrapper/NASViT/misc/constrain_opt.py +117 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/VIT/nasvit_wrapper/NASViT/misc/flops_counter.py +110 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/VIT/nasvit_wrapper/NASViT/misc/imagenet_eval.py +94 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/VIT/nasvit_wrapper/NASViT/misc/logger.py +91 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/VIT/nasvit_wrapper/NASViT/misc/loss_ops.py +496 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/VIT/nasvit_wrapper/NASViT/misc/lr_scheduler.py +108 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/VIT/nasvit_wrapper/NASViT/misc/optimizer.py +73 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/VIT/nasvit_wrapper/NASViT/misc/progress.py +67 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/VIT/nasvit_wrapper/NASViT/misc/resnet.py +467 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/VIT/nasvit_wrapper/NASViT/misc/utils.py +235 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/VIT/nasvit_wrapper/NASViT/models/__init__.py +2 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/VIT/nasvit_wrapper/NASViT/models/attentive_nas_dynamic_model.py +680 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/VIT/nasvit_wrapper/NASViT/models/attentive_nas_static_model.py +101 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/VIT/nasvit_wrapper/NASViT/models/model_factory.py +50 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/VIT/nasvit_wrapper/NASViT/models/modules/__init__.py +1 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/VIT/nasvit_wrapper/NASViT/models/modules/activations.py +53 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/VIT/nasvit_wrapper/NASViT/models/modules/dynamic_layers.py +516 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/VIT/nasvit_wrapper/NASViT/models/modules/dynamic_ops.py +303 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/VIT/nasvit_wrapper/NASViT/models/modules/nn_base.py +149 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/VIT/nasvit_wrapper/NASViT/models/modules/nn_utils.py +115 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/VIT/nasvit_wrapper/NASViT/models/modules/static_layers.py +442 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/VIT/nasvit_wrapper/NASViT/models/modules/transformer.py +972 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/VIT/nasvit_wrapper/NASViT/optimizer.py +71 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/VIT/nasvit_wrapper/NASViT/utils.py +144 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/VIT/nasvit_wrapper/architect.py +285 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/VIT/nasvit_wrapper/attentive_nas_dynamic_model.py +288 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/VIT/nasvit_wrapper/config.py +201 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/VIT/nasvit_wrapper/dynamic_layers.py +117 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/VIT/pyproject.toml +9 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/configs/MobileNetV3_CIFAR10_03.yml +107 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/configs/MobileNetV3_CIFAR10_03_async.yml +132 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/configs/PerFedRLNAS_CIFAR10_DARTS_NonIID_03.yml +93 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/configs/PerFedRLNAS_CIFAR10_Mobilenet_NonIID03.yml +92 -0
- plato_learn-1.1/examples/model_search/pfedrlnas/configs/PerFedRLNAS_CIFAR10_NASVIT_NonIID01.yml +101 -0
- plato_learn-1.1/examples/model_search/sysheterofl/config_ResNet152.yml +101 -0
- plato_learn-1.1/examples/model_search/sysheterofl/resnet.py +333 -0
- plato_learn-1.1/examples/model_search/sysheterofl/sysheterofl.py +22 -0
- plato_learn-1.1/examples/model_search/sysheterofl/sysheterofl_algorithm.py +278 -0
- plato_learn-1.1/examples/model_search/sysheterofl/sysheterofl_client.py +17 -0
- plato_learn-1.1/examples/model_search/sysheterofl/sysheterofl_server.py +65 -0
- plato_learn-1.1/examples/model_search/sysheterofl/sysheterofl_trainer.py +16 -0
- plato_learn-1.1/examples/outdated/adaptive_freezing/adaptive_freezing.py +31 -0
- plato_learn-1.1/examples/outdated/adaptive_freezing/adaptive_freezing_CIFAR10_resnet18.yml +62 -0
- plato_learn-1.1/examples/outdated/adaptive_freezing/adaptive_freezing_MNIST_lenet5.yml +58 -0
- plato_learn-1.1/examples/outdated/adaptive_freezing/adaptive_freezing_algorithm.py +204 -0
- plato_learn-1.1/examples/outdated/adaptive_freezing/adaptive_freezing_client.py +28 -0
- plato_learn-1.1/examples/outdated/adaptive_freezing/papers/adaptive_freezing.pdf +0 -0
- plato_learn-1.1/examples/outdated/adaptive_hgb/adaptive_hgb.py +59 -0
- plato_learn-1.1/examples/outdated/adaptive_hgb/adaptive_hgb_client.py +270 -0
- plato_learn-1.1/examples/outdated/adaptive_hgb/adaptive_hgb_server.py +41 -0
- plato_learn-1.1/examples/outdated/adaptive_hgb/adaptive_hgb_trainer.py +398 -0
- plato_learn-1.1/examples/outdated/adaptive_hgb/documents/RawDatas.zip +0 -0
- plato_learn-1.1/examples/outdated/adaptive_hgb/tests/sampler_config.yml +70 -0
- plato_learn-1.1/examples/outdated/adaptive_hgb/tests/test_disnoniid_sampler.py +59 -0
- plato_learn-1.1/examples/outdated/adaptive_hgb/tests/test_dynamic_multimodal.py +110 -0
- plato_learn-1.1/examples/outdated/adaptive_hgb/tests/test_mm_data_provide.py +61 -0
- plato_learn-1.1/examples/outdated/adaptive_hgb/tests/test_quantity_labelnoniid_sampler.py +60 -0
- plato_learn-1.1/examples/outdated/adaptive_hgb/tests/utils.py +163 -0
- plato_learn-1.1/examples/outdated/adaptive_sync/adaptive_sync.py +25 -0
- plato_learn-1.1/examples/outdated/adaptive_sync/adaptive_sync_MNIST_lenet5.yml +56 -0
- plato_learn-1.1/examples/outdated/adaptive_sync/adaptive_sync_algorithm.py +167 -0
- plato_learn-1.1/examples/outdated/adaptive_sync/adaptive_sync_client.py +25 -0
- plato_learn-1.1/examples/outdated/adaptive_sync/papers/adaptive_sync.pdf +0 -0
- plato_learn-1.1/examples/outdated/attack_adaptive/attack-adaptive_MNIST_lenet5.yml +63 -0
- plato_learn-1.1/examples/outdated/attack_adaptive/attack_adaptive.py +26 -0
- plato_learn-1.1/examples/outdated/attack_adaptive/attack_adaptive_server.py +58 -0
- plato_learn-1.1/examples/outdated/cs_maml/cs_maml.py +28 -0
- plato_learn-1.1/examples/outdated/cs_maml/cs_maml_MNIST_lenet5.yml +79 -0
- plato_learn-1.1/examples/outdated/cs_maml/cs_maml_edge.py +69 -0
- plato_learn-1.1/examples/outdated/cs_maml/cs_maml_server.py +210 -0
- plato_learn-1.1/examples/outdated/dist_mistnet/custom_client.py +26 -0
- plato_learn-1.1/examples/outdated/dist_mistnet/custom_server.py +14 -0
- plato_learn-1.1/examples/outdated/dist_mistnet/mistnet_lenet5_client.yml +65 -0
- plato_learn-1.1/examples/outdated/dist_mistnet/mistnet_lenet5_server.yml +65 -0
- plato_learn-1.1/examples/outdated/fedcm/fedcm.py +23 -0
- plato_learn-1.1/examples/outdated/fedcm/fedcm_algorithm.py +17 -0
- plato_learn-1.1/examples/outdated/fedcm/fedcm_cifar10_resnet18.yml +63 -0
- plato_learn-1.1/examples/outdated/fedcm/fedcm_client.py +23 -0
- plato_learn-1.1/examples/outdated/fedcm/fedcm_server.py +47 -0
- plato_learn-1.1/examples/outdated/fedcm/fedcm_trainer.py +125 -0
- plato_learn-1.1/examples/outdated/fednova/fednova.py +24 -0
- plato_learn-1.1/examples/outdated/fednova/fednova_MNIST_lenet5.yml +64 -0
- plato_learn-1.1/examples/outdated/fednova/fednova_client.py +63 -0
- plato_learn-1.1/examples/outdated/fednova/fednova_server.py +50 -0
- plato_learn-1.1/examples/outdated/fedreId/fedreId.py +90 -0
- plato_learn-1.1/examples/outdated/fedreId/fedreId_client.py +71 -0
- plato_learn-1.1/examples/outdated/fedreId/fedreId_server.py +63 -0
- plato_learn-1.1/examples/outdated/fedrep/fedrep.py +31 -0
- plato_learn-1.1/examples/outdated/fedrep/fedrep_CIFAR10_resnet18.yml +76 -0
- plato_learn-1.1/examples/outdated/fedrep/fedrep_CIFAR10_resnet18_label_quantity_nonIID.yml +77 -0
- plato_learn-1.1/examples/outdated/fedrep/fedrep_CIFAR10_vgg16.yml +76 -0
- plato_learn-1.1/examples/outdated/fedrep/fedrep_MNIST_lenet5.yml +76 -0
- plato_learn-1.1/examples/outdated/fedrep/fedrep_algorithm.py +59 -0
- plato_learn-1.1/examples/outdated/fedrep/fedrep_client.py +58 -0
- plato_learn-1.1/examples/outdated/fedrep/fedrep_server.py +88 -0
- plato_learn-1.1/examples/outdated/fedrep/fedrep_trainer.py +89 -0
- plato_learn-1.1/examples/outdated/fedsarah/fedsarah.py +24 -0
- plato_learn-1.1/examples/outdated/fedsarah/fedsarah_MNIST_lenet5.yml +51 -0
- plato_learn-1.1/examples/outdated/fedsarah/fedsarah_client.py +65 -0
- plato_learn-1.1/examples/outdated/fedsarah/fedsarah_optimizer.py +76 -0
- plato_learn-1.1/examples/outdated/fedsarah/fedsarah_server.py +48 -0
- plato_learn-1.1/examples/outdated/fedsarah/fedsarah_trainer.py +49 -0
- plato_learn-1.1/examples/outdated/fei/fei.py +22 -0
- plato_learn-1.1/examples/outdated/fei/fei_CIFAR10_resnet18.yml +143 -0
- plato_learn-1.1/examples/outdated/fei/fei_FashionMNIST_lenet5.yml +141 -0
- plato_learn-1.1/examples/outdated/fei/fei_agent.py +240 -0
- plato_learn-1.1/examples/outdated/fei/fei_client.py +33 -0
- plato_learn-1.1/examples/outdated/fei/fei_server.py +95 -0
- plato_learn-1.1/examples/outdated/fl_maml/fl_maml.py +25 -0
- plato_learn-1.1/examples/outdated/fl_maml/fl_maml_MNIST_lenet5.yml +67 -0
- plato_learn-1.1/examples/outdated/fl_maml/fl_maml_client.py +88 -0
- plato_learn-1.1/examples/outdated/fl_maml/fl_maml_server.py +158 -0
- plato_learn-1.1/examples/outdated/fl_maml/fl_maml_trainer.py +301 -0
- plato_learn-1.1/examples/outdated/mistnetplus/mistnet_lenet5_client.yml +74 -0
- plato_learn-1.1/examples/outdated/mistnetplus/mistnet_lenet5_server.yml +74 -0
- plato_learn-1.1/examples/outdated/mistnetplus/mistnetplus_algorithm.py +24 -0
- plato_learn-1.1/examples/outdated/mistnetplus/mistnetplus_client.py +79 -0
- plato_learn-1.1/examples/outdated/mistnetplus/mistnetplus_server.py +129 -0
- plato_learn-1.1/examples/outdated/mistnetplus/split_learning_algorithm.py +155 -0
- plato_learn-1.1/examples/outdated/mistnetplus/split_learning_trainer.py +77 -0
- plato_learn-1.1/examples/outdated/model_search/fjord/fjord.py +35 -0
- plato_learn-1.1/examples/outdated/model_search/fjord/fjord_algorithm.py +142 -0
- plato_learn-1.1/examples/outdated/model_search/fjord/fjord_client.py +18 -0
- plato_learn-1.1/examples/outdated/model_search/fjord/fjord_resnet18_dynamic.yml +93 -0
- plato_learn-1.1/examples/outdated/model_search/fjord/fjord_server.py +52 -0
- plato_learn-1.1/examples/outdated/model_search/fjord/fjord_trainer.py +70 -0
- plato_learn-1.1/examples/outdated/model_search/fjord/resnet.py +236 -0
- plato_learn-1.1/examples/outdated/model_search/fjord/vit.py +259 -0
- plato_learn-1.1/examples/outdated/multimodal_fedavg/multi_modal_fedavg.py +49 -0
- plato_learn-1.1/examples/outdated/norm_bounding/norm_bounding.py +20 -0
- plato_learn-1.1/examples/outdated/norm_bounding/norm_bounding_MNIST_lenet5.yml +64 -0
- plato_learn-1.1/examples/outdated/norm_bounding/norm_bounding_server.py +54 -0
- plato_learn-1.1/examples/personalized_fl/apfl/apfl.py +31 -0
- plato_learn-1.1/examples/personalized_fl/apfl/apfl_trainer.py +123 -0
- plato_learn-1.1/examples/personalized_fl/configs/apfl_CIFAR10_resnet18.yml +52 -0
- plato_learn-1.1/examples/personalized_fl/configs/basic_resnet18.yml +20 -0
- plato_learn-1.1/examples/personalized_fl/configs/cifar10_noniid.yml +13 -0
- plato_learn-1.1/examples/personalized_fl/configs/ditto_CIFAR10_resnet18.yml +57 -0
- plato_learn-1.1/examples/personalized_fl/configs/fedavg_finetune_CIFAR10_resnet18.yml +49 -0
- plato_learn-1.1/examples/personalized_fl/configs/fedbabu_CIFAR10_resnet18.yml +63 -0
- plato_learn-1.1/examples/personalized_fl/configs/fedper_CIFAR10_resnet18.yml +62 -0
- plato_learn-1.1/examples/personalized_fl/configs/fedrep_CIFAR10_resnet18.yml +60 -0
- plato_learn-1.1/examples/personalized_fl/configs/hermes_CIFAR10_resnet18.yml +72 -0
- plato_learn-1.1/examples/personalized_fl/configs/lgfedavg_CIFAR10_resnet18.yml +64 -0
- plato_learn-1.1/examples/personalized_fl/configs/perfedavg_CIFAR10_resnet18.yml +52 -0
- plato_learn-1.1/examples/personalized_fl/configs/resnet18_params.yml +11 -0
- plato_learn-1.1/examples/personalized_fl/ditto/ditto.py +30 -0
- plato_learn-1.1/examples/personalized_fl/ditto/ditto_trainer.py +122 -0
- plato_learn-1.1/examples/personalized_fl/fedavg_finetune/fedavg_finetune.py +26 -0
- plato_learn-1.1/examples/personalized_fl/fedbabu/fedbabu.py +30 -0
- plato_learn-1.1/examples/personalized_fl/fedbabu/fedbabu_trainer.py +40 -0
- plato_learn-1.1/examples/personalized_fl/fedper/fedper.py +29 -0
- plato_learn-1.1/examples/personalized_fl/fedper/fedper_trainer.py +31 -0
- plato_learn-1.1/examples/personalized_fl/fedrep/fedrep.py +32 -0
- plato_learn-1.1/examples/personalized_fl/fedrep/fedrep_trainer.py +84 -0
- plato_learn-1.1/examples/personalized_fl/hermes/hermes.py +29 -0
- plato_learn-1.1/examples/personalized_fl/hermes/hermes_callback.py +31 -0
- plato_learn-1.1/examples/personalized_fl/hermes/hermes_processor.py +51 -0
- plato_learn-1.1/examples/personalized_fl/hermes/hermes_pruning.py +123 -0
- plato_learn-1.1/examples/personalized_fl/hermes/hermes_server.py +127 -0
- plato_learn-1.1/examples/personalized_fl/hermes/hermes_trainer.py +128 -0
- plato_learn-1.1/examples/personalized_fl/lgfedavg/lgfedavg.py +30 -0
- plato_learn-1.1/examples/personalized_fl/lgfedavg/lgfedavg_trainer.py +33 -0
- plato_learn-1.1/examples/personalized_fl/perfedavg/perfedavg.py +31 -0
- plato_learn-1.1/examples/personalized_fl/perfedavg/perfedavg_trainer.py +66 -0
- plato_learn-1.1/examples/secure_aggregation/maskcrypt/maskcrypt.py +21 -0
- plato_learn-1.1/examples/secure_aggregation/maskcrypt/maskcrypt_CIFAR10_resnet18.yml +66 -0
- plato_learn-1.1/examples/secure_aggregation/maskcrypt/maskcrypt_MNIST_lenet5.yml +67 -0
- plato_learn-1.1/examples/secure_aggregation/maskcrypt/maskcrypt_callbacks.py +68 -0
- plato_learn-1.1/examples/secure_aggregation/maskcrypt/maskcrypt_client.py +122 -0
- plato_learn-1.1/examples/secure_aggregation/maskcrypt/maskcrypt_server.py +72 -0
- plato_learn-1.1/examples/secure_aggregation/maskcrypt/maskcrypt_trainer.py +89 -0
- plato_learn-1.1/examples/secure_aggregation/maskcrypt/maskcrypt_utils.py +50 -0
- plato_learn-1.1/examples/server_aggregation/fedadp/fedadp.py +22 -0
- plato_learn-1.1/examples/server_aggregation/fedadp/fedadp_FashionMNIST_lenet5.yml +109 -0
- plato_learn-1.1/examples/server_aggregation/fedadp/fedadp_server.py +139 -0
- plato_learn-1.1/examples/server_aggregation/fedatt/fedatt.py +25 -0
- plato_learn-1.1/examples/server_aggregation/fedatt/fedatt_FashionMNIST_lenet5.yml +115 -0
- plato_learn-1.1/examples/server_aggregation/fedatt/fedatt_algorithm.py +71 -0
- plato_learn-1.1/examples/server_aggregation/fedatt/fedatt_server.py +24 -0
- plato_learn-1.1/examples/split_learning/llm_split_learning/pyproject.toml +10 -0
- plato_learn-1.1/examples/split_learning/llm_split_learning/split_learning_llm_model.py +195 -0
- plato_learn-1.1/examples/split_learning/llm_split_learning/split_learning_llm_model_attack.py +75 -0
- plato_learn-1.1/examples/split_learning/llm_split_learning/split_learning_lora_algorithm.py +26 -0
- plato_learn-1.1/examples/split_learning/llm_split_learning/split_learning_main.py +29 -0
- plato_learn-1.1/examples/split_learning/llm_split_learning/split_learning_main_attack.py +37 -0
- plato_learn-1.1/examples/split_learning/llm_split_learning/split_learning_server_attack.py +101 -0
- plato_learn-1.1/examples/split_learning/llm_split_learning/split_learning_trainer.py +171 -0
- plato_learn-1.1/examples/split_learning/llm_split_learning/split_learning_trainer_attack.py +162 -0
- plato_learn-1.1/examples/split_learning/llm_split_learning/split_learning_wikitext2_gpt2.yml +78 -0
- plato_learn-1.1/examples/split_learning/llm_split_learning/split_learning_wikitext2_gpt2_attack.yml +90 -0
- plato_learn-1.1/examples/split_learning/llm_split_learning/split_learning_wikitext2_gpt2_lora.yml +89 -0
- plato_learn-1.1/examples/split_learning/llm_split_learning/split_learning_wikitext2_llama2.yml +80 -0
- plato_learn-1.1/examples/split_learning/llm_split_learning/split_learning_wikitext2_opt350m.yml +78 -0
- plato_learn-1.1/examples/ssl/byol/byol.py +34 -0
- plato_learn-1.1/examples/ssl/byol/byol_model.py +77 -0
- plato_learn-1.1/examples/ssl/byol/byol_trainer.py +71 -0
- plato_learn-1.1/examples/ssl/calibre/calibre.py +35 -0
- plato_learn-1.1/examples/ssl/calibre/calibre_callback.py +26 -0
- plato_learn-1.1/examples/ssl/calibre/calibre_loss.py +212 -0
- plato_learn-1.1/examples/ssl/calibre/calibre_model.py +54 -0
- plato_learn-1.1/examples/ssl/calibre/calibre_processor.py +39 -0
- plato_learn-1.1/examples/ssl/calibre/calibre_server.py +57 -0
- plato_learn-1.1/examples/ssl/calibre/calibre_trainer.py +140 -0
- plato_learn-1.1/examples/ssl/calibre/clustering.py +29 -0
- plato_learn-1.1/examples/ssl/calibre/prototype_loss.py +61 -0
- plato_learn-1.1/examples/ssl/calibre/pyproject.toml +9 -0
- plato_learn-1.1/examples/ssl/configs/byol_CIFAR10_resnet18.yml +96 -0
- plato_learn-1.1/examples/ssl/configs/calibre_CIFAR10_resnet18.yml +104 -0
- plato_learn-1.1/examples/ssl/configs/cifar10_ssl_noniid.yml +19 -0
- plato_learn-1.1/examples/ssl/configs/fedema_CIFAR10_resnet18.yml +106 -0
- plato_learn-1.1/examples/ssl/configs/mocov2_CIFAR10_resnet18.yml +98 -0
- plato_learn-1.1/examples/ssl/configs/resnet18_pers_params.yml +19 -0
- plato_learn-1.1/examples/ssl/configs/simclr_CIFAR10_resnet18.yml +96 -0
- plato_learn-1.1/examples/ssl/configs/simsiam_CIFAR10_resnet18.yml +98 -0
- plato_learn-1.1/examples/ssl/configs/smog_CIFAR10_resnet18.yml +104 -0
- plato_learn-1.1/examples/ssl/configs/ssl_personalization.yml +17 -0
- plato_learn-1.1/examples/ssl/configs/swav_CIFAR10_resnet18.yml +94 -0
- plato_learn-1.1/examples/ssl/fedema/fedema.py +39 -0
- plato_learn-1.1/examples/ssl/fedema/fedema_callback.py +24 -0
- plato_learn-1.1/examples/ssl/fedema/fedema_model.py +78 -0
- plato_learn-1.1/examples/ssl/fedema/fedema_processor.py +69 -0
- plato_learn-1.1/examples/ssl/fedema/fedema_server.py +106 -0
- plato_learn-1.1/examples/ssl/fedema/fedema_trainer.py +70 -0
- plato_learn-1.1/examples/ssl/fedema/utils.py +64 -0
- plato_learn-1.1/examples/ssl/moco/mocov2.py +40 -0
- plato_learn-1.1/examples/ssl/moco/mocov2_model.py +64 -0
- plato_learn-1.1/examples/ssl/moco/mocov2_trainer.py +52 -0
- plato_learn-1.1/examples/ssl/simclr/simclr.py +32 -0
- plato_learn-1.1/examples/ssl/simclr/simclr_model.py +45 -0
- plato_learn-1.1/examples/ssl/simsiam/simsiam.py +35 -0
- plato_learn-1.1/examples/ssl/simsiam/simsiam_model.py +56 -0
- plato_learn-1.1/examples/ssl/simsiam/simsiam_trainer.py +25 -0
- plato_learn-1.1/examples/ssl/smog/pyproject.toml +9 -0
- plato_learn-1.1/examples/ssl/smog/smog.py +35 -0
- plato_learn-1.1/examples/ssl/smog/smog_model.py +138 -0
- plato_learn-1.1/examples/ssl/smog/smog_trainer.py +120 -0
- plato_learn-1.1/examples/ssl/swav/swav.py +32 -0
- plato_learn-1.1/examples/ssl/swav/swav_model.py +61 -0
- plato_learn-1.1/examples/three_layer_fl/fedsaw/fedsaw.py +21 -0
- plato_learn-1.1/examples/three_layer_fl/fedsaw/fedsaw_MNIST_lenet5.yml +97 -0
- plato_learn-1.1/examples/three_layer_fl/fedsaw/fedsaw_client.py +86 -0
- plato_learn-1.1/examples/three_layer_fl/fedsaw/fedsaw_edge.py +88 -0
- plato_learn-1.1/examples/three_layer_fl/fedsaw/fedsaw_server.py +130 -0
- plato_learn-1.1/examples/three_layer_fl/tempo/tempo.py +20 -0
- plato_learn-1.1/examples/three_layer_fl/tempo/tempo_MNIST_lenet5.yml +83 -0
- plato_learn-1.1/examples/three_layer_fl/tempo/tempo_client.py +17 -0
- plato_learn-1.1/examples/three_layer_fl/tempo/tempo_edge.py +31 -0
- plato_learn-1.1/examples/three_layer_fl/tempo/tempo_server.py +127 -0
- plato_learn-1.1/examples/unlearning/fedunlearning/.gitignore +1 -0
- plato_learn-1.1/examples/unlearning/fedunlearning/fedunlearning.py +27 -0
- plato_learn-1.1/examples/unlearning/fedunlearning/fedunlearning_adahessian_MNIST_lenet5.yml +87 -0
- plato_learn-1.1/examples/unlearning/fedunlearning/fedunlearning_client.py +78 -0
- plato_learn-1.1/examples/unlearning/fedunlearning/fedunlearning_server.py +165 -0
- plato_learn-1.1/examples/unlearning/fedunlearning/lib_mia/__init__.py +19 -0
- plato_learn-1.1/examples/unlearning/fedunlearning/lib_mia/mia.py +126 -0
- plato_learn-1.1/examples/unlearning/fedunlearning/lib_mia/mia_client.py +43 -0
- plato_learn-1.1/examples/unlearning/fedunlearning/lib_mia/mia_server.py +112 -0
- plato_learn-1.1/examples/unlearning/fedunlearning/pyproject.toml +10 -0
- plato_learn-1.1/examples/unlearning/fedunlearning/unlearning_iid.py +65 -0
- plato_learn-1.1/examples/unlearning/knot/fedunlearning_server.py +145 -0
- plato_learn-1.1/examples/unlearning/knot/knot.py +23 -0
- plato_learn-1.1/examples/unlearning/knot/knot_algorithm.py +95 -0
- plato_learn-1.1/examples/unlearning/knot/knot_cifar10_resnet18.yml +131 -0
- plato_learn-1.1/examples/unlearning/knot/knot_client.py +37 -0
- plato_learn-1.1/examples/unlearning/knot/knot_huggingface.py +24 -0
- plato_learn-1.1/examples/unlearning/knot/knot_huggingface_trainer.py +54 -0
- plato_learn-1.1/examples/unlearning/knot/knot_mnist_lenet5.yml +137 -0
- plato_learn-1.1/examples/unlearning/knot/knot_purchase.yml +123 -0
- plato_learn-1.1/examples/unlearning/knot/knot_server.py +832 -0
- plato_learn-1.1/examples/unlearning/knot/knot_trainer.py +69 -0
- plato_learn-1.1/examples/unlearning/knot/pyproject.toml +10 -0
- plato_learn-1.1/examples/unlearning/knot/resnet18_params.yml +8 -0
- plato_learn-1.1/examples/unlearning/knot/solver.py +138 -0
- plato_learn-1.1/examples/unlearning/knot/unlearning_iid.py +57 -0
- plato_learn-1.1/plato/__init__.py +1 -0
- plato_learn-1.1/plato/algorithms/__init__.py +0 -0
- plato_learn-1.1/plato/algorithms/base.py +45 -0
- plato_learn-1.1/plato/algorithms/fedavg.py +48 -0
- plato_learn-1.1/plato/algorithms/fedavg_gan.py +79 -0
- plato_learn-1.1/plato/algorithms/fedavg_personalized.py +48 -0
- plato_learn-1.1/plato/algorithms/mistnet.py +52 -0
- plato_learn-1.1/plato/algorithms/registry.py +39 -0
- plato_learn-1.1/plato/algorithms/split_learning.py +89 -0
- plato_learn-1.1/plato/callbacks/__init__.py +0 -0
- plato_learn-1.1/plato/callbacks/client.py +56 -0
- plato_learn-1.1/plato/callbacks/handler.py +78 -0
- plato_learn-1.1/plato/callbacks/server.py +139 -0
- plato_learn-1.1/plato/callbacks/trainer.py +124 -0
- plato_learn-1.1/plato/client.py +67 -0
- plato_learn-1.1/plato/clients/__init__.py +0 -0
- plato_learn-1.1/plato/clients/base.py +467 -0
- plato_learn-1.1/plato/clients/edge.py +103 -0
- plato_learn-1.1/plato/clients/fedavg_personalized.py +40 -0
- plato_learn-1.1/plato/clients/mistnet.py +49 -0
- plato_learn-1.1/plato/clients/registry.py +43 -0
- plato_learn-1.1/plato/clients/self_supervised_learning.py +51 -0
- plato_learn-1.1/plato/clients/simple.py +218 -0
- plato_learn-1.1/plato/clients/split_learning.py +150 -0
- plato_learn-1.1/plato/config.py +339 -0
- plato_learn-1.1/plato/datasources/__init__.py +0 -0
- plato_learn-1.1/plato/datasources/base.py +123 -0
- plato_learn-1.1/plato/datasources/celeba.py +150 -0
- plato_learn-1.1/plato/datasources/cifar10.py +87 -0
- plato_learn-1.1/plato/datasources/cifar100.py +61 -0
- plato_learn-1.1/plato/datasources/cinic10.py +62 -0
- plato_learn-1.1/plato/datasources/coco.py +119 -0
- plato_learn-1.1/plato/datasources/datalib/__init__.py +0 -0
- plato_learn-1.1/plato/datasources/datalib/audio_extraction_tools.py +137 -0
- plato_learn-1.1/plato/datasources/datalib/data_utils.py +124 -0
- plato_learn-1.1/plato/datasources/datalib/flickr30kE_utils.py +336 -0
- plato_learn-1.1/plato/datasources/datalib/frames_extraction_tools.py +254 -0
- plato_learn-1.1/plato/datasources/datalib/gym_utils/__init__.py +0 -0
- plato_learn-1.1/plato/datasources/datalib/gym_utils/gym_trim.py +189 -0
- plato_learn-1.1/plato/datasources/datalib/modality_data_anntation_tools.py +163 -0
- plato_learn-1.1/plato/datasources/datalib/modality_extraction_base.py +59 -0
- plato_learn-1.1/plato/datasources/datalib/parse_datasets.py +212 -0
- plato_learn-1.1/plato/datasources/datalib/refer_utils/__init__.py +0 -0
- plato_learn-1.1/plato/datasources/datalib/refer_utils/referitgame_utils.py +237 -0
- plato_learn-1.1/plato/datasources/datalib/tiny_data_tools.py +81 -0
- plato_learn-1.1/plato/datasources/datalib/video_transform.py +79 -0
- plato_learn-1.1/plato/datasources/emnist.py +64 -0
- plato_learn-1.1/plato/datasources/fashion_mnist.py +41 -0
- plato_learn-1.1/plato/datasources/feature.py +24 -0
- plato_learn-1.1/plato/datasources/feature_dataset.py +15 -0
- plato_learn-1.1/plato/datasources/femnist.py +141 -0
- plato_learn-1.1/plato/datasources/flickr30k_entities.py +362 -0
- plato_learn-1.1/plato/datasources/gym.py +431 -0
- plato_learn-1.1/plato/datasources/huggingface.py +165 -0
- plato_learn-1.1/plato/datasources/kinetics.py +568 -0
- plato_learn-1.1/plato/datasources/mnist.py +44 -0
- plato_learn-1.1/plato/datasources/multimodal_base.py +328 -0
- plato_learn-1.1/plato/datasources/pascal_voc.py +56 -0
- plato_learn-1.1/plato/datasources/purchase.py +94 -0
- plato_learn-1.1/plato/datasources/qoenflx.py +127 -0
- plato_learn-1.1/plato/datasources/referitgame.py +330 -0
- plato_learn-1.1/plato/datasources/registry.py +119 -0
- plato_learn-1.1/plato/datasources/self_supervised_learning.py +98 -0
- plato_learn-1.1/plato/datasources/stl10.py +103 -0
- plato_learn-1.1/plato/datasources/texas.py +94 -0
- plato_learn-1.1/plato/datasources/tiny_imagenet.py +64 -0
- plato_learn-1.1/plato/datasources/yolov8.py +85 -0
- plato_learn-1.1/plato/models/__init__.py +0 -0
- plato_learn-1.1/plato/models/cnn_encoder.py +103 -0
- plato_learn-1.1/plato/models/dcgan.py +116 -0
- plato_learn-1.1/plato/models/general_multilayer.py +254 -0
- plato_learn-1.1/plato/models/huggingface.py +27 -0
- plato_learn-1.1/plato/models/lenet5.py +113 -0
- plato_learn-1.1/plato/models/multilayer.py +90 -0
- plato_learn-1.1/plato/models/multimodal/__init__.py +0 -0
- plato_learn-1.1/plato/models/multimodal/base_net.py +91 -0
- plato_learn-1.1/plato/models/multimodal/blending.py +142 -0
- plato_learn-1.1/plato/models/multimodal/fc_net.py +77 -0
- plato_learn-1.1/plato/models/multimodal/fusion_net.py +78 -0
- plato_learn-1.1/plato/models/multimodal/multimodal_module.py +152 -0
- plato_learn-1.1/plato/models/registry.py +99 -0
- plato_learn-1.1/plato/models/resnet.py +190 -0
- plato_learn-1.1/plato/models/torch_hub.py +19 -0
- plato_learn-1.1/plato/models/vgg.py +113 -0
- plato_learn-1.1/plato/models/vit.py +166 -0
- plato_learn-1.1/plato/models/yolov8.py +22 -0
- plato_learn-1.1/plato/processors/__init__.py +0 -0
- plato_learn-1.1/plato/processors/base.py +35 -0
- plato_learn-1.1/plato/processors/compress.py +46 -0
- plato_learn-1.1/plato/processors/decompress.py +48 -0
- plato_learn-1.1/plato/processors/feature.py +51 -0
- plato_learn-1.1/plato/processors/feature_additive_noise.py +48 -0
- plato_learn-1.1/plato/processors/feature_dequantize.py +34 -0
- plato_learn-1.1/plato/processors/feature_gaussian.py +17 -0
- plato_learn-1.1/plato/processors/feature_laplace.py +15 -0
- plato_learn-1.1/plato/processors/feature_quantize.py +34 -0
- plato_learn-1.1/plato/processors/feature_randomized_response.py +50 -0
- plato_learn-1.1/plato/processors/feature_unbatch.py +39 -0
- plato_learn-1.1/plato/processors/inbound_feature_tensors.py +39 -0
- plato_learn-1.1/plato/processors/model.py +55 -0
- plato_learn-1.1/plato/processors/model_compress.py +34 -0
- plato_learn-1.1/plato/processors/model_decompress.py +37 -0
- plato_learn-1.1/plato/processors/model_decrypt.py +41 -0
- plato_learn-1.1/plato/processors/model_deepcopy.py +21 -0
- plato_learn-1.1/plato/processors/model_dequantize.py +18 -0
- plato_learn-1.1/plato/processors/model_dequantize_qsgd.py +61 -0
- plato_learn-1.1/plato/processors/model_encrypt.py +43 -0
- plato_learn-1.1/plato/processors/model_quantize.py +18 -0
- plato_learn-1.1/plato/processors/model_quantize_qsgd.py +82 -0
- plato_learn-1.1/plato/processors/model_randomized_response.py +34 -0
- plato_learn-1.1/plato/processors/outbound_feature_ndarrays.py +38 -0
- plato_learn-1.1/plato/processors/pipeline.py +26 -0
- plato_learn-1.1/plato/processors/registry.py +124 -0
- plato_learn-1.1/plato/processors/structured_pruning.py +57 -0
- plato_learn-1.1/plato/processors/unstructured_pruning.py +73 -0
- plato_learn-1.1/plato/samplers/__init__.py +0 -0
- plato_learn-1.1/plato/samplers/all_inclusive.py +41 -0
- plato_learn-1.1/plato/samplers/base.py +31 -0
- plato_learn-1.1/plato/samplers/dirichlet.py +81 -0
- plato_learn-1.1/plato/samplers/distribution_noniid.py +132 -0
- plato_learn-1.1/plato/samplers/iid.py +53 -0
- plato_learn-1.1/plato/samplers/label_quantity_noniid.py +119 -0
- plato_learn-1.1/plato/samplers/mixed.py +44 -0
- plato_learn-1.1/plato/samplers/mixed_label_quantity_noniid.py +128 -0
- plato_learn-1.1/plato/samplers/modality_iid.py +42 -0
- plato_learn-1.1/plato/samplers/modality_quantity_noniid.py +56 -0
- plato_learn-1.1/plato/samplers/orthogonal.py +99 -0
- plato_learn-1.1/plato/samplers/registry.py +66 -0
- plato_learn-1.1/plato/samplers/sample_quantity_noniid.py +123 -0
- plato_learn-1.1/plato/samplers/sampler_utils.py +190 -0
- plato_learn-1.1/plato/servers/__init__.py +0 -0
- plato_learn-1.1/plato/servers/base.py +1395 -0
- plato_learn-1.1/plato/servers/fedavg.py +281 -0
- plato_learn-1.1/plato/servers/fedavg_cs.py +335 -0
- plato_learn-1.1/plato/servers/fedavg_gan.py +74 -0
- plato_learn-1.1/plato/servers/fedavg_he.py +106 -0
- plato_learn-1.1/plato/servers/fedavg_personalized.py +57 -0
- plato_learn-1.1/plato/servers/mistnet.py +67 -0
- plato_learn-1.1/plato/servers/registry.py +52 -0
- plato_learn-1.1/plato/servers/split_learning.py +109 -0
- plato_learn-1.1/plato/trainers/__init__.py +0 -0
- plato_learn-1.1/plato/trainers/base.py +99 -0
- plato_learn-1.1/plato/trainers/basic.py +649 -0
- plato_learn-1.1/plato/trainers/diff_privacy.py +178 -0
- plato_learn-1.1/plato/trainers/gan.py +330 -0
- plato_learn-1.1/plato/trainers/huggingface.py +173 -0
- plato_learn-1.1/plato/trainers/loss_criterion.py +70 -0
- plato_learn-1.1/plato/trainers/lr_schedulers.py +252 -0
- plato_learn-1.1/plato/trainers/optimizers.py +53 -0
- plato_learn-1.1/plato/trainers/pascal_voc.py +80 -0
- plato_learn-1.1/plato/trainers/registry.py +44 -0
- plato_learn-1.1/plato/trainers/self_supervised_learning.py +302 -0
- plato_learn-1.1/plato/trainers/split_learning.py +305 -0
- plato_learn-1.1/plato/trainers/tracking.py +96 -0
- plato_learn-1.1/plato/trainers/yolov8.py +41 -0
- plato_learn-1.1/plato/utils/__init__.py +0 -0
- plato_learn-1.1/plato/utils/count_parameters.py +30 -0
- plato_learn-1.1/plato/utils/csv_processor.py +26 -0
- plato_learn-1.1/plato/utils/data_loaders.py +148 -0
- plato_learn-1.1/plato/utils/decorators.py +24 -0
- plato_learn-1.1/plato/utils/fonts.py +23 -0
- plato_learn-1.1/plato/utils/homo_enc.py +187 -0
- plato_learn-1.1/plato/utils/reinforcement_learning/__init__.py +0 -0
- plato_learn-1.1/plato/utils/reinforcement_learning/policies/__init__.py +0 -0
- plato_learn-1.1/plato/utils/reinforcement_learning/policies/base.py +161 -0
- plato_learn-1.1/plato/utils/reinforcement_learning/policies/ddpg.py +75 -0
- plato_learn-1.1/plato/utils/reinforcement_learning/policies/registry.py +32 -0
- plato_learn-1.1/plato/utils/reinforcement_learning/policies/sac.py +343 -0
- plato_learn-1.1/plato/utils/reinforcement_learning/policies/td3.py +485 -0
- plato_learn-1.1/plato/utils/reinforcement_learning/rl_agent.py +142 -0
- plato_learn-1.1/plato/utils/reinforcement_learning/rl_server.py +113 -0
- plato_learn-1.1/plato/utils/rl_env.py +154 -0
- plato_learn-1.1/plato/utils/s3.py +141 -0
- plato_learn-1.1/plato/utils/trainer_utils.py +21 -0
- plato_learn-1.1/plato/utils/unary_encoding.py +47 -0
- plato_learn-1.1/plato.py +20 -0
- plato_learn-1.1/pyproject.toml +75 -0
- plato_learn-1.1/scripts/actions/install_cuda_ubuntu.sh +181 -0
- plato_learn-1.1/tests/TestsConfig/base_path.yml +2 -0
- plato_learn-1.1/tests/TestsConfig/coco.yml +115 -0
- plato_learn-1.1/tests/TestsConfig/distribution_noniid_sampler.yml +116 -0
- plato_learn-1.1/tests/TestsConfig/fedavg_tests.yml +61 -0
- plato_learn-1.1/tests/TestsConfig/gym.yml +113 -0
- plato_learn-1.1/tests/TestsConfig/kinetics.yml +117 -0
- plato_learn-1.1/tests/TestsConfig/label_quantity_noniid_sampler.yml +116 -0
- plato_learn-1.1/tests/TestsConfig/mixed_label_quantity_noniid_sampler.yml +121 -0
- plato_learn-1.1/tests/TestsConfig/models_config.yml +82 -0
- plato_learn-1.1/tests/TestsConfig/referitgame.yml +117 -0
- plato_learn-1.1/tests/TestsConfig/sample_quantity_noniid_sampler.yml +107 -0
- plato_learn-1.1/tests/checkpoint_tests.py +58 -0
- plato_learn-1.1/tests/client_tests.py +35 -0
- plato_learn-1.1/tests/config.yml +60 -0
- plato_learn-1.1/tests/dataloader_tests.py +221 -0
- plato_learn-1.1/tests/fedavg_tests.py +246 -0
- plato_learn-1.1/tests/lr_scheduler_tests.py +209 -0
- plato_learn-1.1/tests/model_tests.py +32 -0
- plato_learn-1.1/tests/sampler_test_utils.py +399 -0
- plato_learn-1.1/tests/sampler_tests.py +133 -0
- plato_learn-1.1/tests/unary_encoding_tests.py +51 -0
plato_learn-1.1/.bashrc
ADDED
@@ -0,0 +1,100 @@
|
|
1
|
+
# ~/.bashrc: executed by bash(1) for non-login shells.
|
2
|
+
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
|
3
|
+
# for examples
|
4
|
+
|
5
|
+
# If not running interactively, don't do anything
|
6
|
+
[ -z "$PS1" ] && return
|
7
|
+
|
8
|
+
# don't put duplicate lines in the history. See bash(1) for more options
|
9
|
+
# ... or force ignoredups and ignorespace
|
10
|
+
HISTCONTROL=ignoredups:ignorespace
|
11
|
+
|
12
|
+
# append to the history file, don't overwrite it
|
13
|
+
shopt -s histappend
|
14
|
+
|
15
|
+
# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
|
16
|
+
HISTSIZE=1000
|
17
|
+
HISTFILESIZE=2000
|
18
|
+
|
19
|
+
# check the window size after each command and, if necessary,
|
20
|
+
# update the values of LINES and COLUMNS.
|
21
|
+
shopt -s checkwinsize
|
22
|
+
|
23
|
+
# make less more friendly for non-text input files, see lesspipe(1)
|
24
|
+
[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"
|
25
|
+
|
26
|
+
# set variable identifying the chroot you work in (used in the prompt below)
|
27
|
+
if [ -z "$debian_chroot" ] && [ -r /etc/debian_chroot ]; then
|
28
|
+
debian_chroot=$(cat /etc/debian_chroot)
|
29
|
+
fi
|
30
|
+
|
31
|
+
# set a fancy prompt (non-color, unless we know we "want" color)
|
32
|
+
case "$TERM" in
|
33
|
+
xterm-color) color_prompt=yes;;
|
34
|
+
esac
|
35
|
+
|
36
|
+
# uncomment for a colored prompt, if the terminal has the capability; turned
|
37
|
+
# off by default to not distract the user: the focus in a terminal window
|
38
|
+
# should be on the output of commands, not on the prompt
|
39
|
+
#force_color_prompt=yes
|
40
|
+
|
41
|
+
if [ -n "$force_color_prompt" ]; then
|
42
|
+
if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
|
43
|
+
# We have color support; assume it's compliant with Ecma-48
|
44
|
+
# (ISO/IEC-6429). (Lack of such support is extremely rare, and such
|
45
|
+
# a case would tend to support setf rather than setaf.)
|
46
|
+
color_prompt=yes
|
47
|
+
else
|
48
|
+
color_prompt=
|
49
|
+
fi
|
50
|
+
fi
|
51
|
+
|
52
|
+
if [ "$color_prompt" = yes ]; then
|
53
|
+
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
|
54
|
+
else
|
55
|
+
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
|
56
|
+
fi
|
57
|
+
unset color_prompt force_color_prompt
|
58
|
+
|
59
|
+
# If this is an xterm set the title to user@host:dir
|
60
|
+
case "$TERM" in
|
61
|
+
xterm*|rxvt*)
|
62
|
+
PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
|
63
|
+
;;
|
64
|
+
*)
|
65
|
+
;;
|
66
|
+
esac
|
67
|
+
|
68
|
+
# enable color support of ls and also add handy aliases
|
69
|
+
if [ -x /usr/bin/dircolors ]; then
|
70
|
+
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
|
71
|
+
alias ls='ls --color=auto'
|
72
|
+
#alias dir='dir --color=auto'
|
73
|
+
#alias vdir='vdir --color=auto'
|
74
|
+
|
75
|
+
alias grep='grep --color=auto'
|
76
|
+
alias fgrep='fgrep --color=auto'
|
77
|
+
alias egrep='egrep --color=auto'
|
78
|
+
fi
|
79
|
+
|
80
|
+
# some more ls aliases
|
81
|
+
alias ll='ls -alF'
|
82
|
+
alias la='ls -A'
|
83
|
+
alias l='ls -CF'
|
84
|
+
|
85
|
+
# Alias definitions.
|
86
|
+
# You may want to put all your additions into a separate file like
|
87
|
+
# ~/.bash_aliases, instead of adding them here directly.
|
88
|
+
# See /usr/share/doc/bash-doc/examples in the bash-doc package.
|
89
|
+
|
90
|
+
if [ -f ~/.bash_aliases ]; then
|
91
|
+
. ~/.bash_aliases
|
92
|
+
fi
|
93
|
+
|
94
|
+
# enable programmable completion features (you don't need to enable
|
95
|
+
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
|
96
|
+
# sources /etc/bash.bashrc).
|
97
|
+
#if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
|
98
|
+
# . /etc/bash_completion
|
99
|
+
#fi
|
100
|
+
|
@@ -0,0 +1,31 @@
|
|
1
|
+
---
|
2
|
+
name: Bug report
|
3
|
+
about: Create a report to help us improve
|
4
|
+
title: "[BUG]"
|
5
|
+
labels: bug
|
6
|
+
assignees: baochunli
|
7
|
+
|
8
|
+
---
|
9
|
+
|
10
|
+
**Describe the bug**
|
11
|
+
A clear and concise description of what the bug is.
|
12
|
+
|
13
|
+
**To Reproduce**
|
14
|
+
Steps to reproduce the behavior:
|
15
|
+
1. Go to '...'
|
16
|
+
2. Click on '....'
|
17
|
+
3. Scroll down to '....'
|
18
|
+
4. See error
|
19
|
+
|
20
|
+
**Expected behavior**
|
21
|
+
A clear and concise description of what you expected to happen.
|
22
|
+
|
23
|
+
**Screenshots**
|
24
|
+
If applicable, add screenshots to help explain your problem.
|
25
|
+
|
26
|
+
**OS environment (please complete the following information):**
|
27
|
+
- OS: [e.g. macOS, Ubuntu Linux]
|
28
|
+
- Version [e.g. 10.15.7]
|
29
|
+
|
30
|
+
**Additional context**
|
31
|
+
Add any other context about the problem here.
|
@@ -0,0 +1,20 @@
|
|
1
|
+
---
|
2
|
+
name: Feature request
|
3
|
+
about: Suggest an idea for this project
|
4
|
+
title: "[FR]"
|
5
|
+
labels: enhancement
|
6
|
+
assignees: baochunli
|
7
|
+
|
8
|
+
---
|
9
|
+
|
10
|
+
**Is your feature request related to a problem? Please describe.**
|
11
|
+
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
|
12
|
+
|
13
|
+
**Describe the solution you'd like**
|
14
|
+
A clear and concise description of what you want to happen.
|
15
|
+
|
16
|
+
**Describe alternatives you've considered**
|
17
|
+
A clear and concise description of any alternative solutions or features you've considered.
|
18
|
+
|
19
|
+
**Additional context**
|
20
|
+
Add any other context or screenshots about the feature request here.
|
@@ -0,0 +1,25 @@
|
|
1
|
+
<!--- Provide a general summary of your changes in the Title above -->
|
2
|
+
|
3
|
+
## Description
|
4
|
+
<!--- Describe your changes in detail -->
|
5
|
+
<!--- Describe motivation and context -->
|
6
|
+
<!--- Why is this change required? What problem does it solve? -->
|
7
|
+
<!--- If it fixes an open issue, please link to the issue here. -->
|
8
|
+
|
9
|
+
## How has this been tested?
|
10
|
+
<!--- Please describe in detail how you tested your changes. -->
|
11
|
+
<!--- Include details of your testing environment, tests ran to see how -->
|
12
|
+
<!--- your change affects other areas of the code, etc. -->
|
13
|
+
|
14
|
+
## Types of changes
|
15
|
+
<!--- What types of changes does your code introduce? Put an `x` in all the boxes that apply: -->
|
16
|
+
- [ ] Bug fix (non-breaking change which fixes an issue) Fixes #
|
17
|
+
- [ ] New feature (non-breaking change which adds functionality)
|
18
|
+
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
|
19
|
+
|
20
|
+
## Checklist:
|
21
|
+
<!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
|
22
|
+
<!--- If you're unsure about any of these, don't hesitate to ask. We're here to help! -->
|
23
|
+
- [ ] My code has been formatted using Black and checked using PyLint.
|
24
|
+
- [ ] My change requires a change to the documentation.
|
25
|
+
- [ ] I have updated the documentation accordingly.
|
@@ -0,0 +1,179 @@
|
|
1
|
+
clients:
|
2
|
+
# Type
|
3
|
+
type: simple
|
4
|
+
|
5
|
+
# The total number of clients
|
6
|
+
total_clients: 1
|
7
|
+
|
8
|
+
# The number of clients selected in each round
|
9
|
+
per_round: 1
|
10
|
+
|
11
|
+
# Should the clients compute test accuracy locally?
|
12
|
+
do_test: true
|
13
|
+
|
14
|
+
random_seed: 1
|
15
|
+
|
16
|
+
server:
|
17
|
+
address: 127.0.0.1
|
18
|
+
port: 8000
|
19
|
+
|
20
|
+
data:
|
21
|
+
# The training and testing dataset
|
22
|
+
datasource: YOLOv8
|
23
|
+
data_params: configs/yolov8/data/coco128.yaml
|
24
|
+
|
25
|
+
# Where the dataset is located
|
26
|
+
data_path: data/COCO
|
27
|
+
train_path: data/COCO/coco128/images/train2017/
|
28
|
+
test_path: data/COCO/coco128/images/train2017/
|
29
|
+
|
30
|
+
# download command/URL (optional)
|
31
|
+
download_urls:
|
32
|
+
[
|
33
|
+
"https://ultralytics.com/assets/coco128.zip",
|
34
|
+
]
|
35
|
+
|
36
|
+
# number of training examples
|
37
|
+
num_train_examples: 128
|
38
|
+
|
39
|
+
# number of testing examples
|
40
|
+
num_test_examples: 128
|
41
|
+
|
42
|
+
# number of classes
|
43
|
+
num_classes: 80
|
44
|
+
|
45
|
+
# image size
|
46
|
+
image_size: 640
|
47
|
+
|
48
|
+
# class names
|
49
|
+
classes:
|
50
|
+
[
|
51
|
+
"person",
|
52
|
+
"bicycle",
|
53
|
+
"car",
|
54
|
+
"motorcycle",
|
55
|
+
"airplane",
|
56
|
+
"bus",
|
57
|
+
"train",
|
58
|
+
"truck",
|
59
|
+
"boat",
|
60
|
+
"traffic light",
|
61
|
+
"fire hydrant",
|
62
|
+
"stop sign",
|
63
|
+
"parking meter",
|
64
|
+
"bench",
|
65
|
+
"bird",
|
66
|
+
"cat",
|
67
|
+
"dog",
|
68
|
+
"horse",
|
69
|
+
"sheep",
|
70
|
+
"cow",
|
71
|
+
"elephant",
|
72
|
+
"bear",
|
73
|
+
"zebra",
|
74
|
+
"giraffe",
|
75
|
+
"backpack",
|
76
|
+
"umbrella",
|
77
|
+
"handbag",
|
78
|
+
"tie",
|
79
|
+
"suitcase",
|
80
|
+
"frisbee",
|
81
|
+
"skis",
|
82
|
+
"snowboard",
|
83
|
+
"sports ball",
|
84
|
+
"kite",
|
85
|
+
"baseball bat",
|
86
|
+
"baseball glove",
|
87
|
+
"skateboard",
|
88
|
+
"surfboard",
|
89
|
+
"tennis racket",
|
90
|
+
"bottle",
|
91
|
+
"wine glass",
|
92
|
+
"cup",
|
93
|
+
"fork",
|
94
|
+
"knife",
|
95
|
+
"spoon",
|
96
|
+
"bowl",
|
97
|
+
"banana",
|
98
|
+
"apple",
|
99
|
+
"sandwich",
|
100
|
+
"orange",
|
101
|
+
"broccoli",
|
102
|
+
"carrot",
|
103
|
+
"hot dog",
|
104
|
+
"pizza",
|
105
|
+
"donut",
|
106
|
+
"cake",
|
107
|
+
"chair",
|
108
|
+
"couch",
|
109
|
+
"potted plant",
|
110
|
+
"bed",
|
111
|
+
"dining table",
|
112
|
+
"toilet",
|
113
|
+
"tv",
|
114
|
+
"laptop",
|
115
|
+
"mouse",
|
116
|
+
"remote",
|
117
|
+
"keyboard",
|
118
|
+
"cell phone",
|
119
|
+
"microwave",
|
120
|
+
"oven",
|
121
|
+
"toaster",
|
122
|
+
"sink",
|
123
|
+
"refrigerator",
|
124
|
+
"book",
|
125
|
+
"clock",
|
126
|
+
"vase",
|
127
|
+
"scissors",
|
128
|
+
"teddy bear",
|
129
|
+
"hair drier",
|
130
|
+
"toothbrush",
|
131
|
+
]
|
132
|
+
|
133
|
+
# Number of samples in each partition
|
134
|
+
partition_size: 128
|
135
|
+
|
136
|
+
# IID or non-IID?
|
137
|
+
sampler: iid
|
138
|
+
|
139
|
+
trainer:
|
140
|
+
# The type of the trainer
|
141
|
+
type: yolov8
|
142
|
+
|
143
|
+
# test function
|
144
|
+
testtype: map
|
145
|
+
|
146
|
+
# The maximum number of training rounds
|
147
|
+
rounds: 1
|
148
|
+
|
149
|
+
# The maximum number of clients running concurrently
|
150
|
+
max_concurrency: 3
|
151
|
+
|
152
|
+
# The target accuracy
|
153
|
+
target_accuracy: 0.99
|
154
|
+
|
155
|
+
# Number of epoches for local training in each communication round
|
156
|
+
epochs: 1
|
157
|
+
batch_size: 4
|
158
|
+
optimizer: Adam
|
159
|
+
linear_lr: false
|
160
|
+
|
161
|
+
# The machine learning model
|
162
|
+
model_name: yolov8
|
163
|
+
|
164
|
+
algorithm:
|
165
|
+
# Aggregation algorithm
|
166
|
+
type: fedavg
|
167
|
+
|
168
|
+
parameters:
|
169
|
+
grid_size: 32
|
170
|
+
|
171
|
+
model:
|
172
|
+
type: yolov8n.pt
|
173
|
+
cfg: yolov8n.yaml
|
174
|
+
num_classes: 80
|
175
|
+
|
176
|
+
optimizer:
|
177
|
+
lr: 0.01
|
178
|
+
momentum: 0.9
|
179
|
+
weight_decay: 0.0
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# This workflow will delete old workflow runs, on a schedule or manually triggered.
|
2
|
+
|
3
|
+
name: Delete old workflow runs
|
4
|
+
|
5
|
+
on:
|
6
|
+
workflow_dispatch:
|
7
|
+
inputs:
|
8
|
+
days:
|
9
|
+
description: 'Number of days.'
|
10
|
+
required: true
|
11
|
+
default: 30
|
12
|
+
minimum_runs:
|
13
|
+
description: 'The minimum runs to keep for each workflow.'
|
14
|
+
required: true
|
15
|
+
default: 6
|
16
|
+
|
17
|
+
jobs:
|
18
|
+
del_runs:
|
19
|
+
runs-on: ubuntu-20.04
|
20
|
+
steps:
|
21
|
+
- name: Delete workflow runs
|
22
|
+
uses: Mattraks/delete-workflow-runs@v2
|
23
|
+
with:
|
24
|
+
token: ${{ github.token }}
|
25
|
+
repository: ${{ github.repository }}
|
26
|
+
retain_days: ${{ github.event.inputs.days }}
|
27
|
+
keep_minimum_runs: ${{ github.event.inputs.minimum_runs }}
|
@@ -0,0 +1,36 @@
|
|
1
|
+
name: Continuous Integration Tests
|
2
|
+
|
3
|
+
on:
|
4
|
+
push:
|
5
|
+
branches: [main]
|
6
|
+
pull_request:
|
7
|
+
branches: [main]
|
8
|
+
# Allows you to run this workflow manually from the Actions tab
|
9
|
+
workflow_dispatch:
|
10
|
+
branches: [main]
|
11
|
+
|
12
|
+
jobs:
|
13
|
+
Tests:
|
14
|
+
runs-on: ubuntu-20.04
|
15
|
+
|
16
|
+
steps:
|
17
|
+
- uses: actions/checkout@v3
|
18
|
+
|
19
|
+
- name: Install uv
|
20
|
+
uses: astral-sh/setup-uv@v4
|
21
|
+
|
22
|
+
- name: Install CUDA
|
23
|
+
env:
|
24
|
+
cuda: "11.3"
|
25
|
+
run: bash ./scripts/actions/install_cuda_ubuntu.sh
|
26
|
+
shell: bash
|
27
|
+
|
28
|
+
- name: Training workloads
|
29
|
+
run: |
|
30
|
+
mkdir ./models/pretrained
|
31
|
+
wget https://kubeedge.obs.cn-north-1.myhuaweicloud.com/model/yolov5.pth
|
32
|
+
mv yolov5.pth ./models/pretrained
|
33
|
+
uv run plato.py --config=configs/MNIST/fedavg_lenet5.yml
|
34
|
+
uv run plato.py --config=configs/MNIST/mistnet_lenet5.yml
|
35
|
+
uv run plato.py --config=.github/workflows/configs/fedavg_yolov5.yml
|
36
|
+
uv run plato.py --config=.github/workflows/configs/mistnet_yolov5.yml
|
@@ -0,0 +1,32 @@
|
|
1
|
+
# This workflow will upload a Python Package using uv when a release is created.
|
2
|
+
|
3
|
+
name: Upload the plato-learn Python Package to PyPI
|
4
|
+
|
5
|
+
on:
|
6
|
+
release:
|
7
|
+
types:
|
8
|
+
- created
|
9
|
+
|
10
|
+
jobs:
|
11
|
+
build_and_deploy:
|
12
|
+
runs-on: ubuntu-latest
|
13
|
+
|
14
|
+
steps:
|
15
|
+
- name: Checkout repository
|
16
|
+
uses: actions/checkout@v5
|
17
|
+
|
18
|
+
- name: Install uv
|
19
|
+
uses: astral-sh/setup-uv@v3
|
20
|
+
with:
|
21
|
+
version: "latest"
|
22
|
+
|
23
|
+
- name: Set up Python
|
24
|
+
uses: actions/setup-python@v5
|
25
|
+
with:
|
26
|
+
python-version: "3.13"
|
27
|
+
|
28
|
+
- name: Build package
|
29
|
+
run: uv build
|
30
|
+
|
31
|
+
- name: Publish package to PyPI
|
32
|
+
run: uv publish --token ${{ secrets.PYPI_API_TOKEN }}
|
@@ -0,0 +1,32 @@
|
|
1
|
+
name: PyTorch CI Tests
|
2
|
+
|
3
|
+
on:
|
4
|
+
push:
|
5
|
+
branches: [main]
|
6
|
+
pull_request:
|
7
|
+
branches: [main]
|
8
|
+
# Allows you to run this workflow manually from the Actions tab
|
9
|
+
workflow_dispatch:
|
10
|
+
branches: [main]
|
11
|
+
|
12
|
+
jobs:
|
13
|
+
PyTorch-Tests:
|
14
|
+
runs-on: ubuntu-20.04
|
15
|
+
|
16
|
+
steps:
|
17
|
+
- name: Checkout
|
18
|
+
uses: actions/checkout@v5
|
19
|
+
with:
|
20
|
+
submodules: recursive
|
21
|
+
|
22
|
+
- name: Install uv
|
23
|
+
uses: astral-sh/setup-uv@v4
|
24
|
+
|
25
|
+
- name: Training workloads
|
26
|
+
shell: bash -l {0}
|
27
|
+
run: |
|
28
|
+
uv run plato.py --config=configs/MNIST/fedavg_lenet5.yml
|
29
|
+
uv run plato.py --config=configs/MNIST/fedavg_cross_silo_lenet5.yml
|
30
|
+
uv run plato.py --config=configs/MNIST/fedavg_async_lenet5.yml
|
31
|
+
uv run plato.py --config=configs/MNIST/fedavg_lenet5_noniid.yml
|
32
|
+
uv run plato.py --config=configs/MNIST/mistnet_lenet5.yml
|
@@ -0,0 +1,163 @@
|
|
1
|
+
# Byte-compiled / optimized / DLL files
|
2
|
+
__pycache__/
|
3
|
+
*.py[cod]
|
4
|
+
*$py.class
|
5
|
+
|
6
|
+
# C extensions
|
7
|
+
*.so
|
8
|
+
|
9
|
+
# Distribution / packaging
|
10
|
+
.Python
|
11
|
+
build/
|
12
|
+
develop-eggs/
|
13
|
+
dist/
|
14
|
+
downloads/
|
15
|
+
eggs/
|
16
|
+
.eggs/
|
17
|
+
lib/
|
18
|
+
lib64/
|
19
|
+
parts/
|
20
|
+
sdist/
|
21
|
+
var/
|
22
|
+
wheels/
|
23
|
+
pip-wheel-metadata/
|
24
|
+
share/python-wheels/
|
25
|
+
*.egg-info/
|
26
|
+
.installed.cfg
|
27
|
+
*.egg
|
28
|
+
MANIFEST
|
29
|
+
.pypirc
|
30
|
+
|
31
|
+
# PyInstaller
|
32
|
+
# Usually these files are written by a python script from a template
|
33
|
+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
34
|
+
*.manifest
|
35
|
+
*.spec
|
36
|
+
|
37
|
+
# Installer logs
|
38
|
+
pip-log.txt
|
39
|
+
pip-delete-this-directory.txt
|
40
|
+
|
41
|
+
# Unit test / coverage reports
|
42
|
+
htmlcov/
|
43
|
+
.tox/
|
44
|
+
.nox/
|
45
|
+
.coverage
|
46
|
+
.coverage.*
|
47
|
+
.cache
|
48
|
+
nosetests.xml
|
49
|
+
coverage.xml
|
50
|
+
*.cover
|
51
|
+
*.py,cover
|
52
|
+
.hypothesis/
|
53
|
+
.pytest_cache/
|
54
|
+
|
55
|
+
# Translations
|
56
|
+
*.mo
|
57
|
+
*.pot
|
58
|
+
|
59
|
+
# Django stuff:
|
60
|
+
*.log
|
61
|
+
local_settings.py
|
62
|
+
db.sqlite3
|
63
|
+
db.sqlite3-journal
|
64
|
+
|
65
|
+
# Flask stuff:
|
66
|
+
instance/
|
67
|
+
.webassets-cache
|
68
|
+
|
69
|
+
# Scrapy stuff:
|
70
|
+
.scrapy
|
71
|
+
|
72
|
+
# Sphinx documentation
|
73
|
+
docs/_build/
|
74
|
+
|
75
|
+
# PyBuilder
|
76
|
+
target/
|
77
|
+
|
78
|
+
# Jupyter Notebook
|
79
|
+
.ipynb_checkpoints
|
80
|
+
|
81
|
+
# IPython
|
82
|
+
profile_default/
|
83
|
+
ipython_config.py
|
84
|
+
|
85
|
+
# pipenv
|
86
|
+
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
|
87
|
+
# However, in case of collaboration, if having platform-specific dependencies or dependencies
|
88
|
+
# having no cross-platform support, pipenv may install dependencies that don't work, or not
|
89
|
+
# install all needed dependencies.
|
90
|
+
#Pipfile.lock
|
91
|
+
|
92
|
+
# PEP 582; used by e.g. github.com/David-OConnor/pyflow
|
93
|
+
__pypackages__/
|
94
|
+
|
95
|
+
# Celery stuff
|
96
|
+
celerybeat-schedule
|
97
|
+
celerybeat.pid
|
98
|
+
|
99
|
+
# SageMath parsed files
|
100
|
+
*.sage.py
|
101
|
+
|
102
|
+
# Environments
|
103
|
+
.env
|
104
|
+
.venv
|
105
|
+
env/
|
106
|
+
venv/
|
107
|
+
ENV/
|
108
|
+
env.bak/
|
109
|
+
venv.bak/
|
110
|
+
|
111
|
+
# Spyder project settings
|
112
|
+
.spyderproject
|
113
|
+
.spyproject
|
114
|
+
|
115
|
+
# Rope project settings
|
116
|
+
.ropeproject
|
117
|
+
|
118
|
+
# mkdocs documentation
|
119
|
+
/site
|
120
|
+
|
121
|
+
# mypy
|
122
|
+
.mypy_cache/
|
123
|
+
.dmypy.json
|
124
|
+
dmypy.json
|
125
|
+
|
126
|
+
# Pyre type checker
|
127
|
+
.pyre/
|
128
|
+
|
129
|
+
# Visual Studio Code
|
130
|
+
.vscode/
|
131
|
+
|
132
|
+
# Configuration files
|
133
|
+
/*.yml
|
134
|
+
|
135
|
+
# Data files
|
136
|
+
data/
|
137
|
+
tests/data/
|
138
|
+
|
139
|
+
# Models and checkpoints
|
140
|
+
pretrained/
|
141
|
+
/models/
|
142
|
+
logs/
|
143
|
+
checkpoints/
|
144
|
+
*.pth
|
145
|
+
|
146
|
+
# Result files
|
147
|
+
results/
|
148
|
+
|
149
|
+
# macOS
|
150
|
+
.DS_Store
|
151
|
+
|
152
|
+
# Plain text files in the root working directory are most likely temporary
|
153
|
+
/*.txt
|
154
|
+
|
155
|
+
# Sphinx documentation
|
156
|
+
docs/_build/
|
157
|
+
|
158
|
+
# Homomorphic encryption
|
159
|
+
.ckks_context/
|
160
|
+
yolov8n.pt
|
161
|
+
|
162
|
+
# uv
|
163
|
+
uv.lock
|
@@ -0,0 +1,12 @@
|
|
1
|
+
[submodule "plato/models/dvit"]
|
2
|
+
path = plato/models/dvit
|
3
|
+
url = https://github.com/zhoudaquan/dvit_repo
|
4
|
+
[submodule "plato/models/t2tvit"]
|
5
|
+
path = plato/models/t2tvit
|
6
|
+
url = https://github.com/yitu-opensource/T2T-ViT
|
7
|
+
[submodule "examples/pfedrlnas/VIT/nasvit_wrapper/NASViT"]
|
8
|
+
path = examples/pfedrlnas/VIT/nasvit_wrapper/NASViT
|
9
|
+
url = https://github.com/facebookresearch/NASViT
|
10
|
+
[submodule "examples/controlnet_split_learning/ControlNet"]
|
11
|
+
path = examples/split_learning/controlnet_split_learning/ControlNet
|
12
|
+
url = https://github.com/lllyasviel/ControlNet
|
@@ -0,0 +1 @@
|
|
1
|
+
3.13
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# Download base image from NVIDIA's Docker Hub
|
2
|
+
FROM nvidia/cuda:13.0.1-cudnn-devel-ubuntu24.04
|
3
|
+
LABEL maintainer="Baochun Li"
|
4
|
+
|
5
|
+
WORKDIR /root/plato
|
6
|
+
COPY . /root/plato/
|
7
|
+
|
8
|
+
RUN apt-get update \
|
9
|
+
&& apt-get install -y libgomp1 \
|
10
|
+
&& apt-get install -y curl \
|
11
|
+
&& curl -LsSf https://astral.sh/uv/install.sh | sh
|
12
|
+
|
13
|
+
# Set environment variables for uv before using it
|
14
|
+
ENV PATH="/root/.local/bin:$PATH"
|
15
|
+
|
16
|
+
# Set additional environment variables for uv
|
17
|
+
ENV UV_SYSTEM_PYTHON=1
|
18
|
+
|
19
|
+
# Set default command to use uv run
|
20
|
+
CMD ["/bin/bash"]
|