diff --git a/.github/workflows/pylint.yml b/.github/workflows/pylint.yml index e96316627b..ae7fc77858 100644 --- a/.github/workflows/pylint.yml +++ b/.github/workflows/pylint.yml @@ -2,10 +2,10 @@ name: Pylint - FedML on: push: - branches: [ master, dev/v0.7.0 ] + branches: [ master, test/v0.7.0, dev/v0.7.0 ] pull_request: - branches: [ master, dev/v0.7.0 ] + branches: [ master, test/v0.7.0, dev/0.7.0 ] # Allows you to run this workflow manually from the Actions tab workflow_dispatch: diff --git a/.github/workflows/smoke_test_cross_device_mnn_server_linux.yml b/.github/workflows/smoke_test_cross_device_mnn_server_linux.yml index 01a6ec6b56..b2fea66602 100644 --- a/.github/workflows/smoke_test_cross_device_mnn_server_linux.yml +++ b/.github/workflows/smoke_test_cross_device_mnn_server_linux.yml @@ -8,10 +8,9 @@ on: schedule: # Nightly build at 12:12 A.M. - cron: "12 12 */1 * *" - push: - branches: [ master, test/v0.7.0 ] + pull_request: - branches: [ master, test/v0.7.0 ] + branches: [ master, test/v0.7.0, dev/0.7.0 ] # Allows you to run this workflow manually from the Actions tab workflow_dispatch: diff --git a/.github/workflows/smoke_test_cross_silo_fedavg_attack_linux.yml b/.github/workflows/smoke_test_cross_silo_fedavg_attack_linux.yml index 45310ea7bd..b725ff7d88 100644 --- a/.github/workflows/smoke_test_cross_silo_fedavg_attack_linux.yml +++ b/.github/workflows/smoke_test_cross_silo_fedavg_attack_linux.yml @@ -8,10 +8,8 @@ on: schedule: # Nightly build at 12:12 A.M. - cron: "12 12 */1 * *" - push: - branches: [ master, test/v0.7.0 ] pull_request: - branches: [ master, test/v0.7.0 ] + branches: [ master, test/v0.7.0, dev/0.7.0 ] # Allows you to run this workflow manually from the Actions tab workflow_dispatch: diff --git a/.github/workflows/smoke_test_cross_silo_fedavg_defense_linux.yml b/.github/workflows/smoke_test_cross_silo_fedavg_defense_linux.yml index 86154adbea..60b0a23ea5 100644 --- a/.github/workflows/smoke_test_cross_silo_fedavg_defense_linux.yml +++ b/.github/workflows/smoke_test_cross_silo_fedavg_defense_linux.yml @@ -8,10 +8,8 @@ on: schedule: # Nightly build at 12:12 A.M. - cron: "12 12 */1 * *" - push: - branches: [ master, test/v0.7.0 ] pull_request: - branches: [ master, test/v0.7.0 ] + branches: [ master, test/v0.7.0, dev/0.7.0 ] # Allows you to run this workflow manually from the Actions tab workflow_dispatch: diff --git a/.github/workflows/smoke_test_cross_silo_fedavg_dp_linux.yml b/.github/workflows/smoke_test_cross_silo_fedavg_dp_linux.yml index 392e1795ca..0358174307 100644 --- a/.github/workflows/smoke_test_cross_silo_fedavg_dp_linux.yml +++ b/.github/workflows/smoke_test_cross_silo_fedavg_dp_linux.yml @@ -8,10 +8,8 @@ on: schedule: # Nightly build at 12:12 A.M. - cron: "12 12 */1 * *" - push: - branches: [ master, test/v0.7.0 ] pull_request: - branches: [ master, test/v0.7.0 ] + branches: [ master, test/v0.7.0, dev/0.7.0 ] # Allows you to run this workflow manually from the Actions tab workflow_dispatch: diff --git a/.github/workflows/smoke_test_cross_silo_ho_linux.yml b/.github/workflows/smoke_test_cross_silo_ho_linux.yml index af3b9f91cc..91847d0449 100644 --- a/.github/workflows/smoke_test_cross_silo_ho_linux.yml +++ b/.github/workflows/smoke_test_cross_silo_ho_linux.yml @@ -8,10 +8,8 @@ on: schedule: # Nightly build at 12:12 A.M. - cron: "12 12 */1 * *" - push: - branches: [ master, test/v0.7.0 ] pull_request: - branches: [ master, test/v0.7.0 ] + branches: [ master, test/v0.7.0, dev/0.7.0 ] # Allows you to run this workflow manually from the Actions tab workflow_dispatch: diff --git a/.github/workflows/smoke_test_cross_silo_ho_win.yml b/.github/workflows/smoke_test_cross_silo_ho_win.yml index 6f6be14961..52b9563925 100644 --- a/.github/workflows/smoke_test_cross_silo_ho_win.yml +++ b/.github/workflows/smoke_test_cross_silo_ho_win.yml @@ -8,10 +8,8 @@ on: schedule: # Nightly build at 12:12 A.M. - cron: "12 12 */1 * *" - push: - branches: [ master, test/v0.7.0 ] pull_request: - branches: [ master, test/v0.7.0 ] + branches: [ master, test/v0.7.0, dev/0.7.0 ] # Allows you to run this workflow manually from the Actions tab workflow_dispatch: diff --git a/.github/workflows/smoke_test_cross_silo_lightsecagg_linux.yml b/.github/workflows/smoke_test_cross_silo_lightsecagg_linux.yml index 9088a0395a..a2dd7f474d 100644 --- a/.github/workflows/smoke_test_cross_silo_lightsecagg_linux.yml +++ b/.github/workflows/smoke_test_cross_silo_lightsecagg_linux.yml @@ -8,10 +8,8 @@ on: schedule: # Nightly build at 12:12 A.M. - cron: "12 12 */1 * *" - push: - branches: [ master, test/v0.7.0 ] pull_request: - branches: [ master, test/v0.7.0 ] + branches: [ master, test/v0.7.0, dev/0.7.0 ] # Allows you to run this workflow manually from the Actions tab workflow_dispatch: diff --git a/.github/workflows/smoke_test_cross_silo_lightsecagg_win.yml b/.github/workflows/smoke_test_cross_silo_lightsecagg_win.yml index dfa4ffdc30..46b6b09196 100644 --- a/.github/workflows/smoke_test_cross_silo_lightsecagg_win.yml +++ b/.github/workflows/smoke_test_cross_silo_lightsecagg_win.yml @@ -8,10 +8,8 @@ on: schedule: # Nightly build at 12:12 A.M. - cron: "12 12 */1 * *" - push: - branches: [ master, test/v0.7.0 ] pull_request: - branches: [ master, test/v0.7.0 ] + branches: [ master, test/v0.7.0, dev/0.7.0 ] # Allows you to run this workflow manually from the Actions tab workflow_dispatch: diff --git a/.github/workflows/smoke_test_ml_engines_linux.yml b/.github/workflows/smoke_test_ml_engines_linux.yml index 03f4a72ae4..a8b0cb72c6 100644 --- a/.github/workflows/smoke_test_ml_engines_linux.yml +++ b/.github/workflows/smoke_test_ml_engines_linux.yml @@ -8,10 +8,8 @@ on: schedule: # Nightly build at 12:12 A.M. - cron: "12 12 */1 * *" - push: - branches: [ master, test/v0.7.0 ] pull_request: - branches: [ master, test/v0.7.0 ] + branches: [ master, test/v0.7.0, dev/0.7.0 ] # Allows you to run this workflow manually from the Actions tab workflow_dispatch: diff --git a/.github/workflows/smoke_test_pip_cli_sp_linux.yml b/.github/workflows/smoke_test_pip_cli_sp_linux.yml index eff3e28f3d..d5381ccb4c 100644 --- a/.github/workflows/smoke_test_pip_cli_sp_linux.yml +++ b/.github/workflows/smoke_test_pip_cli_sp_linux.yml @@ -8,10 +8,8 @@ on: schedule: # Nightly build at 12:12 A.M. - cron: "12 12 */1 * *" - push: - branches: [ master, test/v0.7.0 ] pull_request: - branches: [ master, test/v0.7.0 ] + branches: [ master, test/v0.7.0, dev/0.7.0 ] # Allows you to run this workflow manually from the Actions tab workflow_dispatch: diff --git a/.github/workflows/smoke_test_pip_cli_sp_win.yml b/.github/workflows/smoke_test_pip_cli_sp_win.yml index 0011f0484b..ebdc96b2c0 100644 --- a/.github/workflows/smoke_test_pip_cli_sp_win.yml +++ b/.github/workflows/smoke_test_pip_cli_sp_win.yml @@ -8,10 +8,8 @@ on: schedule: # Nightly build at 12:12 A.M. - cron: "12 12 */1 * *" - push: - branches: [ master, test/v0.7.0 ] pull_request: - branches: [ master, test/v0.7.0 ] + branches: [ master, test/v0.7.0, dev/0.7.0 ] # Allows you to run this workflow manually from the Actions tab workflow_dispatch: diff --git a/.github/workflows/smoke_test_security.yml b/.github/workflows/smoke_test_security.yml index 4a7ecd148b..2911809b26 100644 --- a/.github/workflows/smoke_test_security.yml +++ b/.github/workflows/smoke_test_security.yml @@ -8,10 +8,8 @@ on: schedule: # Nightly build at 12:12 A.M. - cron: "12 12 */1 * *" - push: - branches: [ master, test/v0.7.0 ] pull_request: - branches: [ master, test/v0.7.0 ] + branches: [ master, test/v0.7.0, dev/0.7.0 ] # Allows you to run this workflow manually from the Actions tab workflow_dispatch: diff --git a/.github/workflows/smoke_test_simulation_mpi_linux.yml b/.github/workflows/smoke_test_simulation_mpi_linux.yml index 32b7a8b5cd..375398fcaf 100644 --- a/.github/workflows/smoke_test_simulation_mpi_linux.yml +++ b/.github/workflows/smoke_test_simulation_mpi_linux.yml @@ -8,10 +8,8 @@ on: schedule: # Nightly build at 12:12 A.M. - cron: "12 12 */1 * *" - push: - branches: [ master, test/v0.7.0 ] pull_request: - branches: [ master, test/v0.7.0 ] + branches: [ master, test/v0.7.0, dev/0.7.0 ] # Allows you to run this workflow manually from the Actions tab workflow_dispatch: diff --git a/doc/en/cross-device/examples/cross_device_android_example.md b/doc/en/cross-device/examples/cross_device_android_example.md index 50d17bfa1c..a683716978 100644 --- a/doc/en/cross-device/examples/cross_device_android_example.md +++ b/doc/en/cross-device/examples/cross_device_android_example.md @@ -19,20 +19,20 @@ Android Client (App) and SDK: [https://github.com/FedML-AI/FedML/tree/master/and -- App: https://github.com/FedML-AI/FedML/tree/master/android/app +- App: [https://github.com/FedML-AI/FedML/tree/master/android/app](https://github.com/FedML-AI/FedML/tree/master/android/app) -- fedmlsdk_demo: https://github.com/FedML-AI/FedML/tree/master/android/fedmlsdk_demo +- fedmlsdk_demo: [https://github.com/FedML-AI/FedML/tree/master/android/fedmlsdk_demo](https://github.com/FedML-AI/FedML/tree/master/android/app) - Android SDK layer (Java API + JNI + So library): -https://github.com/FedML-AI/FedML/tree/master/android/fedmlsdk +[https://github.com/FedML-AI/FedML/tree/master/android/fedmlsdk](https://github.com/FedML-AI/FedML/tree/master/android/fedmlsdk) - MobileNN: FedML Mobile Training Engine Layer (C++, MNN, PyTorch, etc.): \ -https://github.com/FedML-AI/FedML/tree/master/android/fedmlsdk/MobileNN \ -https://github.com/FedML-AI/MNN \ -https://github.com/FedML-AI/pytorch +[https://github.com/FedML-AI/FedML/tree/master/android/fedmlsdk/MobileNN](https://github.com/FedML-AI/FedML/tree/master/android/fedmlsdk/MobileNN) \ +[https://github.com/FedML-AI/MNN](https://github.com/FedML-AI/MNN) \ +[https://github.com/FedML-AI/pytorch](https://github.com/FedML-AI/pytorch) Python Server: [https://github.com/FedML-AI/FedML/tree/master/python/quick_start/beehive](https://github.com/FedML-AI/FedML/tree/master/python/quick_start/beehive) @@ -46,18 +46,18 @@ Next show you the step-by-step user experiment of using FedML Beehive. ## 1. Setup Environment and Run Android App or Android Demo ### 1.1 Android Installation -- Step 1: Install Android Studio - https://developer.android.com/studio/install +- Step 1: Install Android Studio - [https://developer.android.com/studio/install](https://developer.android.com/studio/install) - Step 2: Setup Android SDK \ -https://developer.android.com/about/versions/12/setup-sdk -https://developer.android.com/studio/releases/platforms (we are using API 32 starting from August 2022) +[https://developer.android.com/about/versions/12/setup-sdk](https://developer.android.com/about/versions/12/setup-sdk) +[https://developer.android.com/studio/releases/platforms](https://developer.android.com/studio/releases/platforms) (we are using API 32 starting from August 2022) - Step 3: Setup Android NDK and CMake - https://developer.android.com/studio/projects/install-ndk ### 1.2 Compile and Build -- Clone customized MNN library (https://github.com/FedML-AI/MNN) into `FedML/android/fedmlsdk/MobileNN/MNN` (shown as below) +- Clone customized MNN library ([https://github.com/FedML-AI/MNN](https://github.com/FedML-AI/MNN)) into `FedML/android/fedmlsdk/MobileNN/MNN` (shown as below) drawing @@ -74,7 +74,7 @@ https://developer.android.com/studio/releases/platforms (we are using API 32 sta This section guides you through 1) installing Android Apk, 2) binding your Android smartphone devices to FedML MLOps Platform, and 3) set the data path for training. ### 2.1 Connect Android App with FedML MLOps Platform -After installing FedML Android App (https://github.com/FedML-AI/FedML/tree/master/android/app), please go to the MLOps platform (https://open.fedml.ai) - Beehive and switch to the `Edge Devices` page, you can see a list of **My Edge Devices** at the bottom, as well as a QR code and **Account ID:XXX** at the top right. +After installing FedML Android App ([https://github.com/FedML-AI/FedML/tree/master/android/app](https://github.com/FedML-AI/FedML/tree/master/android/app)), please go to the MLOps platform ([https://open.fedml.ai](https://open.fedml.ai)) - Beehive and switch to the `Edge Devices` page, you can see a list of **My Edge Devices** at the bottom, as well as a QR code and **Account ID:XXX** at the top right. image-20220427204703095 @@ -124,7 +124,7 @@ To set data path on your device, click the top green bar. Set it as the path to #### 3. **Deploy FL Server** -- Create an account at FedML MLOps Platform (https://open.fedml.ai) +- Create an account at FedML MLOps Platform ([https://open.fedml.ai](https://open.fedml.ai)) - Build Python Server Package and Upload to FedML MLOps Platform ("Create Application") @@ -137,7 +137,7 @@ You can find the package under `mlops` folder. -- Launch the training by using FedML MLOps (https://open.fedml.ai) +- Launch the training by using FedML MLOps ([https://open.fedml.ai](https://open.fedml.ai)) Steps at MLOps: create group -> create project -> create run -> select application (the one we uploaded server package for Android) -> start run @@ -236,6 +236,6 @@ import ai.fedml.edge.request.RequestManager; ## Need More Help? Join the Community: -Slack: https://join.slack.com/t/fedml/shared_invite/zt-havwx1ee-a1xfOUrATNfc9DFqU~r34w +Slack: [https://join.slack.com/t/fedml/shared_invite/zt-havwx1ee-a1xfOUrATNfc9DFqU~r34w](https://join.slack.com/t/fedml/shared_invite/zt-havwx1ee-a1xfOUrATNfc9DFqU~r34w) -Discord: https://discord.gg/9xkW8ae6RV \ No newline at end of file +Discord: [https://discord.gg/9xkW8ae6RV](https://discord.gg/9xkW8ae6RV) \ No newline at end of file