From 04f4e04c892623721be52590f8b93e63b367182c Mon Sep 17 00:00:00 2001 From: Kevin Date: Fri, 31 Jan 2025 16:22:24 -0500 Subject: [PATCH] reogranize --- .../{ => code}/image_stats/README.md | 0 .../image_stats/demo/image_statistics.json | 0 .../image_stats/demo/visualization.ipynb | 0 .../image_stats/figs/image_histogram.png | Bin .../app/config/config_fed_client.json | 0 .../app/config/config_fed_server.json | 0 .../app/custom/image_statistics.py | 0 .../image_stats/jobs/image_stats/meta.json | 0 .../image_stats/utils/prepare_data.py | 0 .../job_api => code}/image_stats_job.py | 2 +- .../{image_stats => code}/requirements.txt | 0 .../job_api => code/src}/image_statistics.py | 0 ...federated_statistics_with_image_data.ipynb | 133 ++++++------------ .../{ => code}/df_stats/README.md | 0 .../{ => code}/df_stats/demo/df_stats.png | Bin .../{ => code}/df_stats/demo/hist_plot.png | Bin .../{ => code}/df_stats/demo/stats_df.png | Bin .../df_stats/demo/visualization.ipynb | 0 .../app/config/config_fed_client.json | 0 .../app/config/config_fed_server.json | 0 .../jobs/df_stats/app/custom/df_statistics.py | 0 .../app/custom/tests/df_statistics_test.py | 0 .../df_stats/jobs/df_stats/meta.json | 0 .../{ => code}/df_stats/prepare_data.sh | 0 .../{ => code}/df_stats/utils/prepare_data.py | 0 .../job_api => code}/df_stats_job.py | 2 +- .../{df_stats => code}/requirements.txt | 0 .../job_api => code/src}/df_statistics.py | 0 ...derated_statistics_with_tabular_data.ipynb | 22 ++- .../{ => code}/figs/tb-metrics.png | Bin .../app/config/config_fed_client.json | 0 .../app/config/config_fed_server.json | 0 .../app/custom/newton_raphson_persistor.py | 0 .../app/custom/newton_raphson_train.py | 0 .../app/custom/newton_raphson_workflow.py | 0 .../{job => code}/newton_raphson/meta.json | 0 .../{ => code}/prepare_heart_disease_data.sh | 0 .../{ => code}/requirements.txt | 0 .../{ => code}/train_centralized.py | 0 .../{ => code}/utils/convert_data_to_np.py | 0 .../{ => code}/README.md | 0 .../{ => code}/figs/minibatch.png | Bin .../app/config/config_fed_client.json | 0 .../app/config/config_fed_server.json | 0 .../app/custom/kmeans_assembler.py | 0 .../app/custom/kmeans_learner.py | 0 .../jobs/sklearn_kmeans_base/meta.json | 0 .../{ => code}/prepare_data.sh | 0 .../{ => code}/prepare_job_config.sh | 0 .../{ => code}/requirements.txt | 0 .../{ => code}/run_experiment_simulator.sh | 0 .../{ => code}/sklearn_kmeans_iris.ipynb | 0 .../{ => code}/utils/prepare_data.py | 0 .../{ => code}/utils/prepare_job_config.py | 0 .../{ => code}/README.md | 0 .../{ => code}/figs/km_curve_baseline.png | Bin .../{ => code}/figs/km_curve_fl.png | Bin .../{ => code}/figs/km_curve_fl_he.png | Bin .../{ => code}/km_job.py | 0 .../{ => code}/requirements.txt | 0 .../{ => code}/src/kaplan_meier_train.py | 0 .../{ => code}/src/kaplan_meier_train_he.py | 0 .../{ => code}/src/kaplan_meier_wf.py | 0 .../{ => code}/src/kaplan_meier_wf_he.py | 0 .../{ => code}/utils/baseline_kaplan_meier.py | 0 .../{ => code}/utils/prepare_data.py | 0 .../{ => code}/utils/prepare_he_context.py | 0 .../02.4_client_api/{ => code}/README.md | 0 .../02.4_client_api/{ => code}/np/README.md | 0 .../{ => code}/np/np_client_api_job.py | 0 .../{ => code}/np/requirements.txt | 0 .../{ => code}/np/src/train_diff.py | 0 .../{ => code}/np/src/train_full.py | 0 .../{ => code}/np/src/train_metrics.py | 0 .../02.4_client_api/{ => code}/pt/README.md | 0 .../{ => code}/pt/prepare_data.sh | 0 .../{ => code}/pt/pt_client_api_job.py | 0 .../{ => code}/pt/requirements.txt | 0 .../{ => code}/pt/src/cifar10_ddp_fl.py | 0 .../{ => code}/pt/src/cifar10_ddp_original.py | 0 .../{ => code}/pt/src/cifar10_fl.py | 0 .../pt/src/cifar10_lightning_ddp_fl.py | 0 .../pt/src/cifar10_lightning_ddp_original.py | 0 .../{ => code}/pt/src/cifar10_lightning_fl.py | 0 .../pt/src/cifar10_lightning_original.py | 0 .../{ => code}/pt/src/cifar10_original.py | 0 .../{ => code}/pt/src/lit_net.py | 0 .../02.4_client_api/{ => code}/pt/src/net.py | 0 .../02.4_client_api/{ => code}/tf/README.md | 0 .../{ => code}/tf/prepare_data.sh | 0 .../{ => code}/tf/requirements.txt | 0 .../{ => code}/tf/src/cifar10_tf_fl.py | 0 .../tf/src/cifar10_tf_multi_gpu_fl.py | 0 .../tf/src/cifar10_tf_multi_gpu_original.py | 0 .../{ => code}/tf/src/cifar10_tf_original.py | 0 .../{ => code}/tf/src/tf_net.py | 0 .../{ => code}/tf/tf_client_api_job.py | 0 97 files changed, 51 insertions(+), 108 deletions(-) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_image_data/{ => code}/image_stats/README.md (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_image_data/{ => code}/image_stats/demo/image_statistics.json (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_image_data/{ => code}/image_stats/demo/visualization.ipynb (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_image_data/{ => code}/image_stats/figs/image_histogram.png (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_image_data/{ => code}/image_stats/jobs/image_stats/app/config/config_fed_client.json (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_image_data/{ => code}/image_stats/jobs/image_stats/app/config/config_fed_server.json (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_image_data/{ => code}/image_stats/jobs/image_stats/app/custom/image_statistics.py (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_image_data/{ => code}/image_stats/jobs/image_stats/meta.json (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_image_data/{ => code}/image_stats/utils/prepare_data.py (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_image_data/{image_stats/job_api => code}/image_stats_job.py (97%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_image_data/{image_stats => code}/requirements.txt (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_image_data/{image_stats/job_api => code/src}/image_statistics.py (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/{ => code}/df_stats/README.md (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/{ => code}/df_stats/demo/df_stats.png (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/{ => code}/df_stats/demo/hist_plot.png (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/{ => code}/df_stats/demo/stats_df.png (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/{ => code}/df_stats/demo/visualization.ipynb (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/{ => code}/df_stats/jobs/df_stats/app/config/config_fed_client.json (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/{ => code}/df_stats/jobs/df_stats/app/config/config_fed_server.json (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/{ => code}/df_stats/jobs/df_stats/app/custom/df_statistics.py (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/{ => code}/df_stats/jobs/df_stats/app/custom/tests/df_statistics_test.py (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/{ => code}/df_stats/jobs/df_stats/meta.json (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/{ => code}/df_stats/prepare_data.sh (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/{ => code}/df_stats/utils/prepare_data.py (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/{df_stats/job_api => code}/df_stats_job.py (98%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/{df_stats => code}/requirements.txt (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/{df_stats/job_api => code/src}/df_statistics.py (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.1_convert_Logistics_regression_to_federated_learning/{ => code}/figs/tb-metrics.png (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.1_convert_Logistics_regression_to_federated_learning/{job => code}/newton_raphson/app/config/config_fed_client.json (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.1_convert_Logistics_regression_to_federated_learning/{job => code}/newton_raphson/app/config/config_fed_server.json (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.1_convert_Logistics_regression_to_federated_learning/{job => code}/newton_raphson/app/custom/newton_raphson_persistor.py (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.1_convert_Logistics_regression_to_federated_learning/{job => code}/newton_raphson/app/custom/newton_raphson_train.py (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.1_convert_Logistics_regression_to_federated_learning/{job => code}/newton_raphson/app/custom/newton_raphson_workflow.py (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.1_convert_Logistics_regression_to_federated_learning/{job => code}/newton_raphson/meta.json (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.1_convert_Logistics_regression_to_federated_learning/{ => code}/prepare_heart_disease_data.sh (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.1_convert_Logistics_regression_to_federated_learning/{ => code}/requirements.txt (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.1_convert_Logistics_regression_to_federated_learning/{ => code}/train_centralized.py (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.1_convert_Logistics_regression_to_federated_learning/{ => code}/utils/convert_data_to_np.py (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.2_convert_kmeans_to_federated_learning/{ => code}/README.md (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.2_convert_kmeans_to_federated_learning/{ => code}/figs/minibatch.png (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.2_convert_kmeans_to_federated_learning/{ => code}/jobs/sklearn_kmeans_base/app/config/config_fed_client.json (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.2_convert_kmeans_to_federated_learning/{ => code}/jobs/sklearn_kmeans_base/app/config/config_fed_server.json (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.2_convert_kmeans_to_federated_learning/{ => code}/jobs/sklearn_kmeans_base/app/custom/kmeans_assembler.py (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.2_convert_kmeans_to_federated_learning/{ => code}/jobs/sklearn_kmeans_base/app/custom/kmeans_learner.py (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.2_convert_kmeans_to_federated_learning/{ => code}/jobs/sklearn_kmeans_base/meta.json (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.2_convert_kmeans_to_federated_learning/{ => code}/prepare_data.sh (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.2_convert_kmeans_to_federated_learning/{ => code}/prepare_job_config.sh (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.2_convert_kmeans_to_federated_learning/{ => code}/requirements.txt (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.2_convert_kmeans_to_federated_learning/{ => code}/run_experiment_simulator.sh (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.2_convert_kmeans_to_federated_learning/{ => code}/sklearn_kmeans_iris.ipynb (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.2_convert_kmeans_to_federated_learning/{ => code}/utils/prepare_data.py (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.2_convert_kmeans_to_federated_learning/{ => code}/utils/prepare_job_config.py (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.3_convert_survival_analysis_to_federated_learning/{ => code}/README.md (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.3_convert_survival_analysis_to_federated_learning/{ => code}/figs/km_curve_baseline.png (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.3_convert_survival_analysis_to_federated_learning/{ => code}/figs/km_curve_fl.png (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.3_convert_survival_analysis_to_federated_learning/{ => code}/figs/km_curve_fl_he.png (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.3_convert_survival_analysis_to_federated_learning/{ => code}/km_job.py (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.3_convert_survival_analysis_to_federated_learning/{ => code}/requirements.txt (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.3_convert_survival_analysis_to_federated_learning/{ => code}/src/kaplan_meier_train.py (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.3_convert_survival_analysis_to_federated_learning/{ => code}/src/kaplan_meier_train_he.py (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.3_convert_survival_analysis_to_federated_learning/{ => code}/src/kaplan_meier_wf.py (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.3_convert_survival_analysis_to_federated_learning/{ => code}/src/kaplan_meier_wf_he.py (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.3_convert_survival_analysis_to_federated_learning/{ => code}/utils/baseline_kaplan_meier.py (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.3_convert_survival_analysis_to_federated_learning/{ => code}/utils/prepare_data.py (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.3_convert_survival_analysis_to_federated_learning/{ => code}/utils/prepare_he_context.py (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/{ => code}/README.md (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/{ => code}/np/README.md (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/{ => code}/np/np_client_api_job.py (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/{ => code}/np/requirements.txt (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/{ => code}/np/src/train_diff.py (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/{ => code}/np/src/train_full.py (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/{ => code}/np/src/train_metrics.py (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/{ => code}/pt/README.md (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/{ => code}/pt/prepare_data.sh (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/{ => code}/pt/pt_client_api_job.py (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/{ => code}/pt/requirements.txt (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/{ => code}/pt/src/cifar10_ddp_fl.py (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/{ => code}/pt/src/cifar10_ddp_original.py (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/{ => code}/pt/src/cifar10_fl.py (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/{ => code}/pt/src/cifar10_lightning_ddp_fl.py (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/{ => code}/pt/src/cifar10_lightning_ddp_original.py (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/{ => code}/pt/src/cifar10_lightning_fl.py (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/{ => code}/pt/src/cifar10_lightning_original.py (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/{ => code}/pt/src/cifar10_original.py (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/{ => code}/pt/src/lit_net.py (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/{ => code}/pt/src/net.py (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/{ => code}/tf/README.md (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/{ => code}/tf/prepare_data.sh (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/{ => code}/tf/requirements.txt (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/{ => code}/tf/src/cifar10_tf_fl.py (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/{ => code}/tf/src/cifar10_tf_multi_gpu_fl.py (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/{ => code}/tf/src/cifar10_tf_multi_gpu_original.py (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/{ => code}/tf/src/cifar10_tf_original.py (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/{ => code}/tf/src/tf_net.py (100%) rename examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/{ => code}/tf/tf_client_api_job.py (100%) diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_image_data/image_stats/README.md b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_image_data/code/image_stats/README.md similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_image_data/image_stats/README.md rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_image_data/code/image_stats/README.md diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_image_data/image_stats/demo/image_statistics.json b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_image_data/code/image_stats/demo/image_statistics.json similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_image_data/image_stats/demo/image_statistics.json rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_image_data/code/image_stats/demo/image_statistics.json diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_image_data/image_stats/demo/visualization.ipynb b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_image_data/code/image_stats/demo/visualization.ipynb similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_image_data/image_stats/demo/visualization.ipynb rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_image_data/code/image_stats/demo/visualization.ipynb diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_image_data/image_stats/figs/image_histogram.png b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_image_data/code/image_stats/figs/image_histogram.png similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_image_data/image_stats/figs/image_histogram.png rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_image_data/code/image_stats/figs/image_histogram.png diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_image_data/image_stats/jobs/image_stats/app/config/config_fed_client.json b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_image_data/code/image_stats/jobs/image_stats/app/config/config_fed_client.json similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_image_data/image_stats/jobs/image_stats/app/config/config_fed_client.json rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_image_data/code/image_stats/jobs/image_stats/app/config/config_fed_client.json diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_image_data/image_stats/jobs/image_stats/app/config/config_fed_server.json b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_image_data/code/image_stats/jobs/image_stats/app/config/config_fed_server.json similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_image_data/image_stats/jobs/image_stats/app/config/config_fed_server.json rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_image_data/code/image_stats/jobs/image_stats/app/config/config_fed_server.json diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_image_data/image_stats/jobs/image_stats/app/custom/image_statistics.py b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_image_data/code/image_stats/jobs/image_stats/app/custom/image_statistics.py similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_image_data/image_stats/jobs/image_stats/app/custom/image_statistics.py rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_image_data/code/image_stats/jobs/image_stats/app/custom/image_statistics.py diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_image_data/image_stats/jobs/image_stats/meta.json b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_image_data/code/image_stats/jobs/image_stats/meta.json similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_image_data/image_stats/jobs/image_stats/meta.json rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_image_data/code/image_stats/jobs/image_stats/meta.json diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_image_data/image_stats/utils/prepare_data.py b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_image_data/code/image_stats/utils/prepare_data.py similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_image_data/image_stats/utils/prepare_data.py rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_image_data/code/image_stats/utils/prepare_data.py diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_image_data/image_stats/job_api/image_stats_job.py b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_image_data/code/image_stats_job.py similarity index 97% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_image_data/image_stats/job_api/image_stats_job.py rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_image_data/code/image_stats_job.py index 79bb018dd6..7db21d9a05 100644 --- a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_image_data/image_stats/job_api/image_stats_job.py +++ b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_image_data/code/image_stats_job.py @@ -13,7 +13,7 @@ # limitations under the License. import argparse -from image_statistics import ImageStatistics +from src.image_statistics import ImageStatistics from nvflare.job_config.stats_job import StatsJob diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_image_data/image_stats/requirements.txt b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_image_data/code/requirements.txt similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_image_data/image_stats/requirements.txt rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_image_data/code/requirements.txt diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_image_data/image_stats/job_api/image_statistics.py b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_image_data/code/src/image_statistics.py similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_image_data/image_stats/job_api/image_statistics.py rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_image_data/code/src/image_statistics.py diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_image_data/federated_statistics_with_image_data.ipynb b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_image_data/federated_statistics_with_image_data.ipynb index 01f1f41622..9ff508f318 100644 --- a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_image_data/federated_statistics_with_image_data.ipynb +++ b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_image_data/federated_statistics_with_image_data.ipynb @@ -31,7 +31,7 @@ }, "outputs": [], "source": [ - "%pip install -r image_stats/requirements.txt" + "%pip install -r code/requirements.txt" ] }, { @@ -76,21 +76,12 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "id": "bdc68ebf-6071-479d-8cc1-15439bedea02", "metadata": { "tags": [] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "total 0\n", - "drwxr-xr-x@ 12 kevlu staff 384 Jan 30 21:55 \u001b[34mCOVID-19_Radiography_Dataset\u001b[m\u001b[m/\n" - ] - } - ], + "outputs": [], "source": [ "ls -l /tmp/nvflare/image_stats/data/." ] @@ -107,38 +98,23 @@ "\n", "Next, create the data lists simulating different clients with varying amounts and types of images. \n", "The downloaded archive contains subfolders for four different classes: `COVID`, `Lung_Opacity`, `Normal`, and `Viral Pneumonia`.\n", - "Here we assume each class of image corresponds to a different sites.\n", - "\n", - "\n" + "Here we assume each class of image corresponds to a different site." ] }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "id": "e1ea959f-7282-4e55-bb26-11524ec47e99", "metadata": { "tags": [] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Created 4 data lists for ['COVID', 'Lung_Opacity', 'Normal', 'Viral Pneumonia'].\n", - "Saved 3616 entries at /tmp/nvflare/image_stats/data/site-1_COVID.json\n", - "Saved 6012 entries at /tmp/nvflare/image_stats/data/site-2_Lung_Opacity.json\n", - "Saved 10192 entries at /tmp/nvflare/image_stats/data/site-3_Normal.json\n", - "Saved 1345 entries at /tmp/nvflare/image_stats/data/site-4_Viral Pneumonia.json\n" - ] - } - ], + "outputs": [], "source": [ - "from image_stats.utils.prepare_data import prepare_data\n", + "from code.image_stats.utils.prepare_data import prepare_data\n", "\n", "prepare_data(input_dir = \"/tmp/nvflare/image_stats/data\", \n", " input_ext = \".png\",\n", - " output_dir =\"/tmp/nvflare/image_stats/data\")\n", - "\n" + " output_dir =\"/tmp/nvflare/image_stats/data\")\n" ] }, { @@ -146,10 +122,35 @@ "id": "f00de5e4-4360-4fc5-a819-4eb156e56341", "metadata": {}, "source": [ - "## Run Job in FL Simulator\n", - "\n", + "## Run Job in FL Simulator" + ] + }, + { + "cell_type": "markdown", + "id": "7e972070", + "metadata": {}, + "source": [ + "The file [image_stats_job.py](code/image_stats_job.py) uses the StatsJob to generate a job configuration in a Pythonic way. With the default arguments, the job will be exported to `/tmp/nvflare/jobs/stats_df` and then the job will be run with the FL simulator with the `simulator_run()` command with a work_dir of `/tmp/nvflare/jobs/stats_df/work_dir`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0db7cd1f", + "metadata": {}, + "outputs": [], + "source": [ + "! python3 code/image_stats_job.py" + ] + }, + { + "cell_type": "markdown", + "id": "3b3a1214", + "metadata": {}, + "source": [ "**Run Job with Simulator API**\n", - "\n" + "\n", + "Alternatively, with the job configuration in `code/image_stats/jobs/image_stats`, we can run the job with the Simulator API:" ] }, { @@ -162,7 +163,7 @@ "outputs": [], "source": [ "from nvflare.private.fed.app.simulator.simulator_runner import SimulatorRunner\n", - "runner = SimulatorRunner(job_folder=\"image_stats/jobs/image_stats\", workspace=\"/tmp/nvflare/workspace/image_stats\", n_clients = 4, threads=4)\n", + "runner = SimulatorRunner(job_folder=\"code/image_stats/jobs/image_stats\", workspace=\"/tmp/nvflare/workspace/image_stats\", n_clients = 4, threads=4)\n", "runner.run()" ] }, @@ -182,10 +183,7 @@ "\n", "```\n", "\n", - "assuming the nvflare is installed from a **terminal**. doing pip install from the notebook cell directory with bash command (! or %%bash) may or may not work depending on which python runtime kernel selected. Also %pip install or %pip install from notebook cell doesn't register the console_scripts in the PATH. \n", - "\n", - "\n", - "## Examine the result\n" + "## Examine the result" ] }, { @@ -194,25 +192,17 @@ "metadata": {}, "source": [ "\n", - "The results are stored in workspace \"/tmp/nvflare/image_stats\"" + "The results are stored on the server in the workspace at \"/tmp/nvflare/image_stats\" and can be accessed with the following command:" ] }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "id": "112a7dd0-45d9-42ea-98b2-f72a3bbccf48", "metadata": { "tags": [] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "-rw-r--r-- 1 kevlu wheel 38015 Jan 30 22:27 /tmp/nvflare/workspace/image_stats/server/simulate_job/statistics/image_statistics.json\n" - ] - } - ], + "outputs": [], "source": [ "! ls -al /tmp/nvflare/workspace/image_stats/server/simulate_job/statistics/image_statistics.json" ] @@ -248,47 +238,6 @@ "now we can visualize via the [visualization notebook](image_stats/demo/visualization.ipynb)" ] }, - { - "cell_type": "markdown", - "id": "52d2a52f-8a8d-45ef-8a50-ddbb4ed2f2c6", - "metadata": { - "tags": [] - }, - "source": [ - "We are not quite done yet. What if you prefer to use python API instead CLI to run jobs. Lets do that in this section" - ] - }, - { - "cell_type": "markdown", - "id": "7e972070", - "metadata": {}, - "source": [ - "The file [image_stats_job.py](image_stats/job_api/image_stats_job.py) uses the StatsJob to generate a job configuration in a Pythonic way. With the default arguments, the job will be exported to `/tmp/nvflare/jobs/stats_df` and then the job will be run with a work_dir of `/tmp/nvflare/jobs/stats_df/work_dir`." - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "id": "0db7cd1f", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Traceback (most recent call last):\n", - " File \"/Users/kevlu/workspace/repos/NVFlare/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_image_data/image_stats/job_api/image_stats_job.py\", line 16, in \n", - " from image_statistics import ImageStatistics\n", - " File \"/Users/kevlu/workspace/repos/NVFlare/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_image_data/image_stats/job_api/image_statistics.py\", line 20, in \n", - " from monai.data import ITKReader, load_decathlon_datalist\n", - "ModuleNotFoundError: No module named 'monai'\n" - ] - } - ], - "source": [ - "! python3 image_stats/job_api/image_stats_job.py" - ] - }, { "cell_type": "markdown", "id": "fda06c0b-798d-480d-9b4c-a62fab95bcf0", diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/df_stats/README.md b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/code/df_stats/README.md similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/df_stats/README.md rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/code/df_stats/README.md diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/df_stats/demo/df_stats.png b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/code/df_stats/demo/df_stats.png similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/df_stats/demo/df_stats.png rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/code/df_stats/demo/df_stats.png diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/df_stats/demo/hist_plot.png b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/code/df_stats/demo/hist_plot.png similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/df_stats/demo/hist_plot.png rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/code/df_stats/demo/hist_plot.png diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/df_stats/demo/stats_df.png b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/code/df_stats/demo/stats_df.png similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/df_stats/demo/stats_df.png rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/code/df_stats/demo/stats_df.png diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/df_stats/demo/visualization.ipynb b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/code/df_stats/demo/visualization.ipynb similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/df_stats/demo/visualization.ipynb rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/code/df_stats/demo/visualization.ipynb diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/df_stats/jobs/df_stats/app/config/config_fed_client.json b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/code/df_stats/jobs/df_stats/app/config/config_fed_client.json similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/df_stats/jobs/df_stats/app/config/config_fed_client.json rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/code/df_stats/jobs/df_stats/app/config/config_fed_client.json diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/df_stats/jobs/df_stats/app/config/config_fed_server.json b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/code/df_stats/jobs/df_stats/app/config/config_fed_server.json similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/df_stats/jobs/df_stats/app/config/config_fed_server.json rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/code/df_stats/jobs/df_stats/app/config/config_fed_server.json diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/df_stats/jobs/df_stats/app/custom/df_statistics.py b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/code/df_stats/jobs/df_stats/app/custom/df_statistics.py similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/df_stats/jobs/df_stats/app/custom/df_statistics.py rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/code/df_stats/jobs/df_stats/app/custom/df_statistics.py diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/df_stats/jobs/df_stats/app/custom/tests/df_statistics_test.py b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/code/df_stats/jobs/df_stats/app/custom/tests/df_statistics_test.py similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/df_stats/jobs/df_stats/app/custom/tests/df_statistics_test.py rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/code/df_stats/jobs/df_stats/app/custom/tests/df_statistics_test.py diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/df_stats/jobs/df_stats/meta.json b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/code/df_stats/jobs/df_stats/meta.json similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/df_stats/jobs/df_stats/meta.json rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/code/df_stats/jobs/df_stats/meta.json diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/df_stats/prepare_data.sh b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/code/df_stats/prepare_data.sh similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/df_stats/prepare_data.sh rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/code/df_stats/prepare_data.sh diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/df_stats/utils/prepare_data.py b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/code/df_stats/utils/prepare_data.py similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/df_stats/utils/prepare_data.py rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/code/df_stats/utils/prepare_data.py diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/df_stats/job_api/df_stats_job.py b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/code/df_stats_job.py similarity index 98% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/df_stats/job_api/df_stats_job.py rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/code/df_stats_job.py index 696d57170c..ab4881b064 100644 --- a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/df_stats/job_api/df_stats_job.py +++ b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/code/df_stats_job.py @@ -13,7 +13,7 @@ # limitations under the License. import argparse -from df_statistics import DFStatistics +from src.df_statistics import DFStatistics from nvflare.job_config.stats_job import StatsJob diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/df_stats/requirements.txt b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/code/requirements.txt similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/df_stats/requirements.txt rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/code/requirements.txt diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/df_stats/job_api/df_statistics.py b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/code/src/df_statistics.py similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/df_stats/job_api/df_statistics.py rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/code/src/df_statistics.py diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/federated_statistics_with_tabular_data.ipynb b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/federated_statistics_with_tabular_data.ipynb index 944544e4e5..299447fbd9 100644 --- a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/federated_statistics_with_tabular_data.ipynb +++ b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.1_federated_statistics/federated_statistics_with_tabular_data/federated_statistics_with_tabular_data.ipynb @@ -9,11 +9,7 @@ "source": [ "# Data Frame Federated Statistics \n", "\n", - "In this example, we will show how to generate federated statistics for data that can be represented as Pandas Data Frame.\n", - "\n", - "## Set Up NVFLARE\n", - "\n", - "Follow [Getting Started](https://nvflare.readthedocs.io/en/main/getting_started.html) to set up a virtual environment and install NVFLARE.\n" + "In this example, we will show how to generate federated statistics for data that can be represented as Pandas Data Frame." ] }, { @@ -36,7 +32,7 @@ }, "outputs": [], "source": [ - "%pip install -r df_stats/requirements.txt" + "%pip install -r code/requirements.txt" ] }, { @@ -49,13 +45,11 @@ "\n", "## Prepare data\n", "\n", - "In this example, we are using UCI (University of California, Irvine) [adult dataset](https://archive.ics.uci.edu/dataset/2/adult)\n", - "The original dataset has already contains \"training\" and \"test\" datasets. Here we simply assume that \"training\" and test data sets are belong to different clients.\n", - "so we assigned the training data and test data into two clients.\n", - " \n", - "Now we use data utility to download UCI datasets to separate client package directory to /tmp/nvflare/data/ directory.\n", - "Please note that the UCI's website may experience occasional downtime.\n", - "\n" + "In this example, we are using the UCI (University of California, Irvine) [adult dataset](https://archive.ics.uci.edu/dataset/2/adult)\n", + "The original dataset already contains \"training\" and \"test\" datasets. Here we simply assume that the \"training\" and \"test\" data set each belong to a client, so we assign the adult.train dataset to site-1 and the adult.test dataset to site-2.\n", + "\n", + "Now we use the data utility to download UCI datasets to separate client package directory to /tmp/nvflare/data/ directory.\n", + "Please note that the UCI's website may experience occasional downtime." ] }, { @@ -67,7 +61,7 @@ }, "outputs": [], "source": [ - "from df_stats.utils.prepare_data import prepare_data\n", + "from code.df_stats.utils.prepare_data import prepare_data\n", "\n", "prepare_data(data_root_dir = \"/tmp/nvflare/df_stats/data\")" ] diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.1_convert_Logistics_regression_to_federated_learning/figs/tb-metrics.png b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.1_convert_Logistics_regression_to_federated_learning/code/figs/tb-metrics.png similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.1_convert_Logistics_regression_to_federated_learning/figs/tb-metrics.png rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.1_convert_Logistics_regression_to_federated_learning/code/figs/tb-metrics.png diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.1_convert_Logistics_regression_to_federated_learning/job/newton_raphson/app/config/config_fed_client.json b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.1_convert_Logistics_regression_to_federated_learning/code/newton_raphson/app/config/config_fed_client.json similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.1_convert_Logistics_regression_to_federated_learning/job/newton_raphson/app/config/config_fed_client.json rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.1_convert_Logistics_regression_to_federated_learning/code/newton_raphson/app/config/config_fed_client.json diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.1_convert_Logistics_regression_to_federated_learning/job/newton_raphson/app/config/config_fed_server.json b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.1_convert_Logistics_regression_to_federated_learning/code/newton_raphson/app/config/config_fed_server.json similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.1_convert_Logistics_regression_to_federated_learning/job/newton_raphson/app/config/config_fed_server.json rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.1_convert_Logistics_regression_to_federated_learning/code/newton_raphson/app/config/config_fed_server.json diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.1_convert_Logistics_regression_to_federated_learning/job/newton_raphson/app/custom/newton_raphson_persistor.py b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.1_convert_Logistics_regression_to_federated_learning/code/newton_raphson/app/custom/newton_raphson_persistor.py similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.1_convert_Logistics_regression_to_federated_learning/job/newton_raphson/app/custom/newton_raphson_persistor.py rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.1_convert_Logistics_regression_to_federated_learning/code/newton_raphson/app/custom/newton_raphson_persistor.py diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.1_convert_Logistics_regression_to_federated_learning/job/newton_raphson/app/custom/newton_raphson_train.py b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.1_convert_Logistics_regression_to_federated_learning/code/newton_raphson/app/custom/newton_raphson_train.py similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.1_convert_Logistics_regression_to_federated_learning/job/newton_raphson/app/custom/newton_raphson_train.py rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.1_convert_Logistics_regression_to_federated_learning/code/newton_raphson/app/custom/newton_raphson_train.py diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.1_convert_Logistics_regression_to_federated_learning/job/newton_raphson/app/custom/newton_raphson_workflow.py b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.1_convert_Logistics_regression_to_federated_learning/code/newton_raphson/app/custom/newton_raphson_workflow.py similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.1_convert_Logistics_regression_to_federated_learning/job/newton_raphson/app/custom/newton_raphson_workflow.py rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.1_convert_Logistics_regression_to_federated_learning/code/newton_raphson/app/custom/newton_raphson_workflow.py diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.1_convert_Logistics_regression_to_federated_learning/job/newton_raphson/meta.json b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.1_convert_Logistics_regression_to_federated_learning/code/newton_raphson/meta.json similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.1_convert_Logistics_regression_to_federated_learning/job/newton_raphson/meta.json rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.1_convert_Logistics_regression_to_federated_learning/code/newton_raphson/meta.json diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.1_convert_Logistics_regression_to_federated_learning/prepare_heart_disease_data.sh b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.1_convert_Logistics_regression_to_federated_learning/code/prepare_heart_disease_data.sh similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.1_convert_Logistics_regression_to_federated_learning/prepare_heart_disease_data.sh rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.1_convert_Logistics_regression_to_federated_learning/code/prepare_heart_disease_data.sh diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.1_convert_Logistics_regression_to_federated_learning/requirements.txt b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.1_convert_Logistics_regression_to_federated_learning/code/requirements.txt similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.1_convert_Logistics_regression_to_federated_learning/requirements.txt rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.1_convert_Logistics_regression_to_federated_learning/code/requirements.txt diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.1_convert_Logistics_regression_to_federated_learning/train_centralized.py b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.1_convert_Logistics_regression_to_federated_learning/code/train_centralized.py similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.1_convert_Logistics_regression_to_federated_learning/train_centralized.py rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.1_convert_Logistics_regression_to_federated_learning/code/train_centralized.py diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.1_convert_Logistics_regression_to_federated_learning/utils/convert_data_to_np.py b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.1_convert_Logistics_regression_to_federated_learning/code/utils/convert_data_to_np.py similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.1_convert_Logistics_regression_to_federated_learning/utils/convert_data_to_np.py rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.1_convert_Logistics_regression_to_federated_learning/code/utils/convert_data_to_np.py diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.2_convert_kmeans_to_federated_learning/README.md b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.2_convert_kmeans_to_federated_learning/code/README.md similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.2_convert_kmeans_to_federated_learning/README.md rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.2_convert_kmeans_to_federated_learning/code/README.md diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.2_convert_kmeans_to_federated_learning/figs/minibatch.png b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.2_convert_kmeans_to_federated_learning/code/figs/minibatch.png similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.2_convert_kmeans_to_federated_learning/figs/minibatch.png rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.2_convert_kmeans_to_federated_learning/code/figs/minibatch.png diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.2_convert_kmeans_to_federated_learning/jobs/sklearn_kmeans_base/app/config/config_fed_client.json b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.2_convert_kmeans_to_federated_learning/code/jobs/sklearn_kmeans_base/app/config/config_fed_client.json similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.2_convert_kmeans_to_federated_learning/jobs/sklearn_kmeans_base/app/config/config_fed_client.json rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.2_convert_kmeans_to_federated_learning/code/jobs/sklearn_kmeans_base/app/config/config_fed_client.json diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.2_convert_kmeans_to_federated_learning/jobs/sklearn_kmeans_base/app/config/config_fed_server.json b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.2_convert_kmeans_to_federated_learning/code/jobs/sklearn_kmeans_base/app/config/config_fed_server.json similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.2_convert_kmeans_to_federated_learning/jobs/sklearn_kmeans_base/app/config/config_fed_server.json rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.2_convert_kmeans_to_federated_learning/code/jobs/sklearn_kmeans_base/app/config/config_fed_server.json diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.2_convert_kmeans_to_federated_learning/jobs/sklearn_kmeans_base/app/custom/kmeans_assembler.py b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.2_convert_kmeans_to_federated_learning/code/jobs/sklearn_kmeans_base/app/custom/kmeans_assembler.py similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.2_convert_kmeans_to_federated_learning/jobs/sklearn_kmeans_base/app/custom/kmeans_assembler.py rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.2_convert_kmeans_to_federated_learning/code/jobs/sklearn_kmeans_base/app/custom/kmeans_assembler.py diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.2_convert_kmeans_to_federated_learning/jobs/sklearn_kmeans_base/app/custom/kmeans_learner.py b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.2_convert_kmeans_to_federated_learning/code/jobs/sklearn_kmeans_base/app/custom/kmeans_learner.py similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.2_convert_kmeans_to_federated_learning/jobs/sklearn_kmeans_base/app/custom/kmeans_learner.py rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.2_convert_kmeans_to_federated_learning/code/jobs/sklearn_kmeans_base/app/custom/kmeans_learner.py diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.2_convert_kmeans_to_federated_learning/jobs/sklearn_kmeans_base/meta.json b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.2_convert_kmeans_to_federated_learning/code/jobs/sklearn_kmeans_base/meta.json similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.2_convert_kmeans_to_federated_learning/jobs/sklearn_kmeans_base/meta.json rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.2_convert_kmeans_to_federated_learning/code/jobs/sklearn_kmeans_base/meta.json diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.2_convert_kmeans_to_federated_learning/prepare_data.sh b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.2_convert_kmeans_to_federated_learning/code/prepare_data.sh similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.2_convert_kmeans_to_federated_learning/prepare_data.sh rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.2_convert_kmeans_to_federated_learning/code/prepare_data.sh diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.2_convert_kmeans_to_federated_learning/prepare_job_config.sh b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.2_convert_kmeans_to_federated_learning/code/prepare_job_config.sh similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.2_convert_kmeans_to_federated_learning/prepare_job_config.sh rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.2_convert_kmeans_to_federated_learning/code/prepare_job_config.sh diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.2_convert_kmeans_to_federated_learning/requirements.txt b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.2_convert_kmeans_to_federated_learning/code/requirements.txt similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.2_convert_kmeans_to_federated_learning/requirements.txt rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.2_convert_kmeans_to_federated_learning/code/requirements.txt diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.2_convert_kmeans_to_federated_learning/run_experiment_simulator.sh b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.2_convert_kmeans_to_federated_learning/code/run_experiment_simulator.sh similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.2_convert_kmeans_to_federated_learning/run_experiment_simulator.sh rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.2_convert_kmeans_to_federated_learning/code/run_experiment_simulator.sh diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.2_convert_kmeans_to_federated_learning/sklearn_kmeans_iris.ipynb b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.2_convert_kmeans_to_federated_learning/code/sklearn_kmeans_iris.ipynb similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.2_convert_kmeans_to_federated_learning/sklearn_kmeans_iris.ipynb rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.2_convert_kmeans_to_federated_learning/code/sklearn_kmeans_iris.ipynb diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.2_convert_kmeans_to_federated_learning/utils/prepare_data.py b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.2_convert_kmeans_to_federated_learning/code/utils/prepare_data.py similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.2_convert_kmeans_to_federated_learning/utils/prepare_data.py rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.2_convert_kmeans_to_federated_learning/code/utils/prepare_data.py diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.2_convert_kmeans_to_federated_learning/utils/prepare_job_config.py b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.2_convert_kmeans_to_federated_learning/code/utils/prepare_job_config.py similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.2_convert_kmeans_to_federated_learning/utils/prepare_job_config.py rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.2_convert_kmeans_to_federated_learning/code/utils/prepare_job_config.py diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.3_convert_survival_analysis_to_federated_learning/README.md b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.3_convert_survival_analysis_to_federated_learning/code/README.md similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.3_convert_survival_analysis_to_federated_learning/README.md rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.3_convert_survival_analysis_to_federated_learning/code/README.md diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.3_convert_survival_analysis_to_federated_learning/figs/km_curve_baseline.png b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.3_convert_survival_analysis_to_federated_learning/code/figs/km_curve_baseline.png similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.3_convert_survival_analysis_to_federated_learning/figs/km_curve_baseline.png rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.3_convert_survival_analysis_to_federated_learning/code/figs/km_curve_baseline.png diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.3_convert_survival_analysis_to_federated_learning/figs/km_curve_fl.png b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.3_convert_survival_analysis_to_federated_learning/code/figs/km_curve_fl.png similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.3_convert_survival_analysis_to_federated_learning/figs/km_curve_fl.png rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.3_convert_survival_analysis_to_federated_learning/code/figs/km_curve_fl.png diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.3_convert_survival_analysis_to_federated_learning/figs/km_curve_fl_he.png b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.3_convert_survival_analysis_to_federated_learning/code/figs/km_curve_fl_he.png similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.3_convert_survival_analysis_to_federated_learning/figs/km_curve_fl_he.png rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.3_convert_survival_analysis_to_federated_learning/code/figs/km_curve_fl_he.png diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.3_convert_survival_analysis_to_federated_learning/km_job.py b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.3_convert_survival_analysis_to_federated_learning/code/km_job.py similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.3_convert_survival_analysis_to_federated_learning/km_job.py rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.3_convert_survival_analysis_to_federated_learning/code/km_job.py diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.3_convert_survival_analysis_to_federated_learning/requirements.txt b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.3_convert_survival_analysis_to_federated_learning/code/requirements.txt similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.3_convert_survival_analysis_to_federated_learning/requirements.txt rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.3_convert_survival_analysis_to_federated_learning/code/requirements.txt diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.3_convert_survival_analysis_to_federated_learning/src/kaplan_meier_train.py b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.3_convert_survival_analysis_to_federated_learning/code/src/kaplan_meier_train.py similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.3_convert_survival_analysis_to_federated_learning/src/kaplan_meier_train.py rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.3_convert_survival_analysis_to_federated_learning/code/src/kaplan_meier_train.py diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.3_convert_survival_analysis_to_federated_learning/src/kaplan_meier_train_he.py b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.3_convert_survival_analysis_to_federated_learning/code/src/kaplan_meier_train_he.py similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.3_convert_survival_analysis_to_federated_learning/src/kaplan_meier_train_he.py rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.3_convert_survival_analysis_to_federated_learning/code/src/kaplan_meier_train_he.py diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.3_convert_survival_analysis_to_federated_learning/src/kaplan_meier_wf.py b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.3_convert_survival_analysis_to_federated_learning/code/src/kaplan_meier_wf.py similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.3_convert_survival_analysis_to_federated_learning/src/kaplan_meier_wf.py rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.3_convert_survival_analysis_to_federated_learning/code/src/kaplan_meier_wf.py diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.3_convert_survival_analysis_to_federated_learning/src/kaplan_meier_wf_he.py b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.3_convert_survival_analysis_to_federated_learning/code/src/kaplan_meier_wf_he.py similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.3_convert_survival_analysis_to_federated_learning/src/kaplan_meier_wf_he.py rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.3_convert_survival_analysis_to_federated_learning/code/src/kaplan_meier_wf_he.py diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.3_convert_survival_analysis_to_federated_learning/utils/baseline_kaplan_meier.py b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.3_convert_survival_analysis_to_federated_learning/code/utils/baseline_kaplan_meier.py similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.3_convert_survival_analysis_to_federated_learning/utils/baseline_kaplan_meier.py rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.3_convert_survival_analysis_to_federated_learning/code/utils/baseline_kaplan_meier.py diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.3_convert_survival_analysis_to_federated_learning/utils/prepare_data.py b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.3_convert_survival_analysis_to_federated_learning/code/utils/prepare_data.py similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.3_convert_survival_analysis_to_federated_learning/utils/prepare_data.py rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.3_convert_survival_analysis_to_federated_learning/code/utils/prepare_data.py diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.3_convert_survival_analysis_to_federated_learning/utils/prepare_he_context.py b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.3_convert_survival_analysis_to_federated_learning/code/utils/prepare_he_context.py similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.3_convert_survival_analysis_to_federated_learning/utils/prepare_he_context.py rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.3_convert_machine_learning_to_federated_learning/02.3.3_convert_survival_analysis_to_federated_learning/code/utils/prepare_he_context.py diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/README.md b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/code/README.md similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/README.md rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/code/README.md diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/np/README.md b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/code/np/README.md similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/np/README.md rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/code/np/README.md diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/np/np_client_api_job.py b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/code/np/np_client_api_job.py similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/np/np_client_api_job.py rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/code/np/np_client_api_job.py diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/np/requirements.txt b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/code/np/requirements.txt similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/np/requirements.txt rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/code/np/requirements.txt diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/np/src/train_diff.py b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/code/np/src/train_diff.py similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/np/src/train_diff.py rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/code/np/src/train_diff.py diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/np/src/train_full.py b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/code/np/src/train_full.py similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/np/src/train_full.py rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/code/np/src/train_full.py diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/np/src/train_metrics.py b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/code/np/src/train_metrics.py similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/np/src/train_metrics.py rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/code/np/src/train_metrics.py diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/pt/README.md b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/code/pt/README.md similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/pt/README.md rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/code/pt/README.md diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/pt/prepare_data.sh b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/code/pt/prepare_data.sh similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/pt/prepare_data.sh rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/code/pt/prepare_data.sh diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/pt/pt_client_api_job.py b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/code/pt/pt_client_api_job.py similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/pt/pt_client_api_job.py rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/code/pt/pt_client_api_job.py diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/pt/requirements.txt b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/code/pt/requirements.txt similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/pt/requirements.txt rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/code/pt/requirements.txt diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/pt/src/cifar10_ddp_fl.py b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/code/pt/src/cifar10_ddp_fl.py similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/pt/src/cifar10_ddp_fl.py rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/code/pt/src/cifar10_ddp_fl.py diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/pt/src/cifar10_ddp_original.py b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/code/pt/src/cifar10_ddp_original.py similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/pt/src/cifar10_ddp_original.py rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/code/pt/src/cifar10_ddp_original.py diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/pt/src/cifar10_fl.py b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/code/pt/src/cifar10_fl.py similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/pt/src/cifar10_fl.py rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/code/pt/src/cifar10_fl.py diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/pt/src/cifar10_lightning_ddp_fl.py b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/code/pt/src/cifar10_lightning_ddp_fl.py similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/pt/src/cifar10_lightning_ddp_fl.py rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/code/pt/src/cifar10_lightning_ddp_fl.py diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/pt/src/cifar10_lightning_ddp_original.py b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/code/pt/src/cifar10_lightning_ddp_original.py similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/pt/src/cifar10_lightning_ddp_original.py rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/code/pt/src/cifar10_lightning_ddp_original.py diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/pt/src/cifar10_lightning_fl.py b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/code/pt/src/cifar10_lightning_fl.py similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/pt/src/cifar10_lightning_fl.py rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/code/pt/src/cifar10_lightning_fl.py diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/pt/src/cifar10_lightning_original.py b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/code/pt/src/cifar10_lightning_original.py similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/pt/src/cifar10_lightning_original.py rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/code/pt/src/cifar10_lightning_original.py diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/pt/src/cifar10_original.py b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/code/pt/src/cifar10_original.py similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/pt/src/cifar10_original.py rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/code/pt/src/cifar10_original.py diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/pt/src/lit_net.py b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/code/pt/src/lit_net.py similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/pt/src/lit_net.py rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/code/pt/src/lit_net.py diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/pt/src/net.py b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/code/pt/src/net.py similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/pt/src/net.py rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/code/pt/src/net.py diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/tf/README.md b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/code/tf/README.md similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/tf/README.md rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/code/tf/README.md diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/tf/prepare_data.sh b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/code/tf/prepare_data.sh similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/tf/prepare_data.sh rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/code/tf/prepare_data.sh diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/tf/requirements.txt b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/code/tf/requirements.txt similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/tf/requirements.txt rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/code/tf/requirements.txt diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/tf/src/cifar10_tf_fl.py b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/code/tf/src/cifar10_tf_fl.py similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/tf/src/cifar10_tf_fl.py rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/code/tf/src/cifar10_tf_fl.py diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/tf/src/cifar10_tf_multi_gpu_fl.py b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/code/tf/src/cifar10_tf_multi_gpu_fl.py similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/tf/src/cifar10_tf_multi_gpu_fl.py rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/code/tf/src/cifar10_tf_multi_gpu_fl.py diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/tf/src/cifar10_tf_multi_gpu_original.py b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/code/tf/src/cifar10_tf_multi_gpu_original.py similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/tf/src/cifar10_tf_multi_gpu_original.py rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/code/tf/src/cifar10_tf_multi_gpu_original.py diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/tf/src/cifar10_tf_original.py b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/code/tf/src/cifar10_tf_original.py similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/tf/src/cifar10_tf_original.py rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/code/tf/src/cifar10_tf_original.py diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/tf/src/tf_net.py b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/code/tf/src/tf_net.py similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/tf/src/tf_net.py rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/code/tf/src/tf_net.py diff --git a/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/tf/tf_client_api_job.py b/examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/code/tf/tf_client_api_job.py similarity index 100% rename from examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/tf/tf_client_api_job.py rename to examples/tutorials/self-paced-training/part-1_federated_learning_introduction/Chapter-2_develop_federated_learning_applications/02.4_client_api/code/tf/tf_client_api_job.py