diff --git a/.github/dependabot.yml b/.github/dependabot.yml index a15810bd5c..641c278909 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -18,9 +18,3 @@ updates: interval: "daily" ignore: - dependency-name: "*" - - package-ecosystem: pip - directory: /openfl-tutorials/interactive_api - schedule: - interval: "daily" - ignore: - - dependency-name: "*" diff --git a/.github/workflows/task_runner_e2e.yml b/.github/workflows/task_runner_e2e.yml index 7f7f904aa3..9603db81cf 100644 --- a/.github/workflows/task_runner_e2e.yml +++ b/.github/workflows/task_runner_e2e.yml @@ -1,3 +1,4 @@ +--- #--------------------------------------------------------------------------- # Workflow to run Task Runner end to end tests # Authors - Noopur, Payal Chaurasiya @@ -6,16 +7,16 @@ name: Task Runner E2E on: schedule: - - cron: '0 0 * * *' # Run every day at midnight + - cron: "0 0 * * *" # Run every day at midnight workflow_dispatch: inputs: num_rounds: - description: 'Number of rounds to train' + description: "Number of rounds to train" required: false default: "5" type: string num_collaborators: - description: 'Number of collaborators' + description: "Number of collaborators" required: false default: "2" type: string @@ -29,16 +30,16 @@ env: NUM_COLLABORATORS: ${{ inputs.num_collaborators || '2' }} jobs: - test_run: - name: tr + test: + name: tr_tls runs-on: ubuntu-22.04 timeout-minutes: 120 # 2 hours strategy: matrix: # There are open issues for some of the models, so excluding them for now: # model_name: [ "torch_cnn_mnist", "keras_cnn_mnist", "torch_cnn_histology" ] - model_name: [ "torch_cnn_mnist", "keras_cnn_mnist" ] - python_version: [ "3.8", "3.9", "3.10" ] + model_name: ["torch_cnn_mnist", "keras_cnn_mnist"] + python_version: ["3.8", "3.9", "3.10"] fail-fast: false # do not immediately fail if one of the combinations fail env: @@ -46,50 +47,115 @@ jobs: PYTHON_VERSION: ${{ matrix.python_version }} steps: - - name: Checkout OpenFL repository - id: checkout_openfl - uses: actions/checkout@v4.1.1 - with: - fetch-depth: 2 # needed for detecting changes - submodules: "true" - token: ${{ secrets.GITHUB_TOKEN }} - - - name: Set up Python - id: setup_python - uses: actions/setup-python@v3 - with: - python-version: ${{ env.PYTHON_VERSION }} - - - name: Install dependencies - id: install_dependencies - run: | - python -m pip install --upgrade pip - pip install . - pip install -r test-requirements.txt - - - name: Run Task Runner E2E tests - id: run_task_runner_tests - run: | - python -m pytest -s tests/end_to_end/test_suites/task_runner_tests.py -m ${{ env.MODEL_NAME }} --num_rounds $NUM_ROUNDS --num_collaborators $NUM_COLLABORATORS --model_name ${{ env.MODEL_NAME }} - echo "Task runner end to end test run completed" - - - name: Print test summary # Print the test summary only if the tests were run - id: print_test_summary - if: steps.run_task_runner_tests.outcome == 'success' || steps.run_task_runner_tests.outcome == 'failure' - run: | - export PYTHONPATH="$PYTHONPATH:." - python tests/end_to_end/utils/summary_helper.py - echo "Test summary printed" - - - name: Tar files # Tar the test results only if the tests were run - id: tar_files - if: steps.run_task_runner_tests.outcome == 'success' || steps.run_task_runner_tests.outcome == 'failure' - run: tar -cvf result.tar results - - - name: Upload Artifacts # Upload the test results only if the tar was created - id: upload_artifacts - uses: actions/upload-artifact@v4 - if: steps.tar_files.outcome == 'success' - with: - name: task_runner_${{ env.MODEL_NAME }}_python${{ env.PYTHON_VERSION }}_${{ github.run_id }} - path: result.tar + - name: Checkout OpenFL repository + id: checkout_openfl + uses: actions/checkout@v4.1.1 + with: + fetch-depth: 2 # needed for detecting changes + submodules: "true" + token: ${{ secrets.GITHUB_TOKEN }} + + - name: Set up Python + id: setup_python + uses: actions/setup-python@v3 + with: + python-version: ${{ env.PYTHON_VERSION }} + + - name: Install dependencies + id: install_dependencies + run: | + python -m pip install --upgrade pip + pip install . + pip install -r test-requirements.txt + + - name: Run Task Runner E2E tests with TLS + id: run_tests + run: | + python -m pytest -s tests/end_to_end/test_suites/task_runner_tests.py -m ${{ env.MODEL_NAME }} --num_rounds $NUM_ROUNDS --num_collaborators $NUM_COLLABORATORS --model_name ${{ env.MODEL_NAME }} + echo "Task runner end to end test run completed" + + - name: Print test summary # Print the test summary only if the tests were run + id: print_test_summary + if: steps.run_tests.outcome == 'success' || steps.run_tests.outcome == 'failure' + run: | + export PYTHONPATH="$PYTHONPATH:." + python tests/end_to_end/utils/summary_helper.py + echo "Test summary printed" + + - name: Tar files # Tar the test results only if the tests were run + id: tar_files + if: steps.run_tests.outcome == 'success' || steps.run_tests.outcome == 'failure' + run: tar -cvf result.tar results + + - name: Upload Artifacts # Upload the test results only if the tar was created + id: upload_artifacts + uses: actions/upload-artifact@v4 + if: steps.tar_files.outcome == 'success' + with: + name: task_runner_tls_${{ env.MODEL_NAME }}_python${{ env.PYTHON_VERSION }}_${{ github.run_id }} + path: result.tar + + test_with_non_tls: + name: tr_non_tls + runs-on: ubuntu-22.04 + timeout-minutes: 120 # 2 hours + strategy: + matrix: + # Testing non TLS scenario only for torch_cnn_mnist model and python 3.10 + # If required, this can be extended to other models and python versions + model_name: ["torch_cnn_mnist"] + python_version: ["3.10"] + fail-fast: false # do not immediately fail if one of the combinations fail + + env: + MODEL_NAME: ${{ matrix.model_name }} + PYTHON_VERSION: ${{ matrix.python_version }} + + steps: + - name: Checkout OpenFL repository + id: checkout_openfl + uses: actions/checkout@v4.1.1 + with: + fetch-depth: 2 # needed for detecting changes + submodules: "true" + token: ${{ secrets.GITHUB_TOKEN }} + + - name: Set up Python + id: setup_python + uses: actions/setup-python@v3 + with: + python-version: ${{ env.PYTHON_VERSION }} + + - name: Install dependencies + id: install_dependencies + run: | + python -m pip install --upgrade pip + pip install . + pip install -r test-requirements.txt + + - name: Run Task Runner E2E tests without TLS + id: run_tests + run: | + python -m pytest -s tests/end_to_end/test_suites/task_runner_tests.py -m ${{ env.MODEL_NAME }} --num_rounds $NUM_ROUNDS --num_collaborators $NUM_COLLABORATORS --disable_tls + echo "Task runner end to end test run completed" + + - name: Print test summary # Print the test summary only if the tests were run + id: print_test_summary + if: steps.run_tests.outcome == 'success' || steps.run_tests.outcome == 'failure' + run: | + export PYTHONPATH="$PYTHONPATH:." + python tests/end_to_end/utils/summary_helper.py + echo "Test summary printed" + + - name: Tar files # Tar the test results only if the tests were run + id: tar_files + if: steps.run_tests.outcome == 'success' || steps.run_tests.outcome == 'failure' + run: tar -cvf result.tar results + + - name: Upload Artifacts # Upload the test results only if the tar was created + id: upload_artifacts + uses: actions/upload-artifact@v4 + if: steps.tar_files.outcome == 'success' + with: + name: task_runner_non_tls_${{ env.MODEL_NAME }}_python${{ env.PYTHON_VERSION }}_${{ github.run_id }} + path: result.tar diff --git a/.github/workflows/ubuntu.yml b/.github/workflows/ubuntu.yml index bead9ebbdc..175e71b862 100644 --- a/.github/workflows/ubuntu.yml +++ b/.github/workflows/ubuntu.yml @@ -47,28 +47,8 @@ jobs: coverage run -m pytest -rA coverage report - interactive-kvasir: # from interactive-kvasir.yml - needs: [lint, pytest-coverage] - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - name: Set up Python 3.8 - uses: actions/setup-python@v3 - with: - python-version: "3.8" - - name: Install dependencies - run: | - python -m pip install --upgrade pip - pip install . - - name: Interactive API - pytorch_kvasir_unet - run: | - python setup.py build_grpc - pip install torch==1.13.1 - pip install torchvision==0.14.1 - python -m tests.github.interactive_api_director.experiments.pytorch_kvasir_unet.run - cli: - needs: [lint, pytest-coverage, interactive-kvasir] + needs: [lint, pytest-coverage] runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index a9aac81654..bd751fc10c 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -31,28 +31,8 @@ jobs: coverage run -m pytest -rA coverage report - interactive-kvasir: # from interactive-kvasir.yml - needs: [pytest-coverage] - runs-on: windows-latest - steps: - - uses: actions/checkout@v3 - - name: Set up Python 3.8 - uses: actions/setup-python@v3 - with: - python-version: "3.8" - - name: Install dependencies - run: | - python -m pip install --upgrade pip - pip install . - - name: Interactive API - pytorch_kvasir_unet - run: | - python setup.py build_grpc - pip install torch==1.13.1 - pip install torchvision==0.14.1 - python -m tests.github.interactive_api_director.experiments.pytorch_kvasir_unet.run - cli: # from taskrunner.yml - needs: [pytest-coverage, interactive-kvasir] + needs: [pytest-coverage] runs-on: windows-latest steps: - uses: actions/checkout@v3 diff --git a/README.md b/README.md index 50ef28ba66..aba069a867 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ Coverity Scan Build Status -[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/intel/openfl/blob/develop/openfl-tutorials/interactive_api/numpy_linear_regression/workspace/SingleNotebook.ipynb) +[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/intel/openfl/blob/develop/openfl-tutorials/Federated_Pytorch_MNIST_Tutorial.ipynb) Open Federated Learning (OpenFL) is a Python 3 framework for Federated Learning. OpenFL is designed to be a _flexible_, _extensible_ and _easily learnable_ tool for data scientists. OpenFL is hosted by The Linux Foundation, aims to be community-driven, and welcomes contributions back to the project. @@ -37,9 +37,6 @@ For more installation options check out the [online documentation](https://openf OpenFL enables data scientists to set up a federated learning experiment following one of the workflows: -- [Director-based Workflow](https://openfl.readthedocs.io/en/latest/about/features_index/interactive.html): -Setup long-lived components to run many experiments in series. Recommended for FL research when many changes to model, dataloader, or hyperparameters are expected - - [Aggregator-based Workflow](https://openfl.readthedocs.io/en/latest/about/features_index/taskrunner.html): Define an experiment and distribute it manually. All participants can verify model code and [FL plan](https://openfl.readthedocs.io/en/latest/about/features_index/taskrunner.html#federated-learning-plan-fl-plan-settings) prior to execution. The federation is terminated when the experiment is finished diff --git a/docs/about/features.rst b/docs/about/features.rst index 4bb5b5f9d3..d57569484f 100644 --- a/docs/about/features.rst +++ b/docs/about/features.rst @@ -23,7 +23,7 @@ Task Runner features_index/taskrunner -Interactive +Interactive (Deprecated) Setup long-lived components to run many experiments in series. Recommended for FL research when many changes to model, dataloader, or hyperparameters are expected. Formerly known as the director-based workflow. For more info see :doc:`features_index/interactive` @@ -83,7 +83,6 @@ FedCurv Use :py:class:`openfl.utilities.fedcurv.torch.FedCurv` to override train function using :code:`.get_penalty()`, :code:`.on_train_begin()`, and :code:`.on_train_end()` methods. In addition, you should override default :code:`AggregationFunction` of the train task with :class:`openfl.interface.aggregation_functions.FedCurvWeightedAverage`. - See :code:`PyTorch_Histology_FedCurv` tutorial in :code:`../openfl-tutorials/interactive_api` directory for more details. .. _federated_evaluation: @@ -110,4 +109,4 @@ Quantitatively audit data privacy in statistical and machine learning algorithms :hidden: features_index/privacy_meter - \ No newline at end of file + diff --git a/docs/about/features_index/interactive.rst b/docs/about/features_index/interactive.rst index 3a37e2992c..ea7654443c 100644 --- a/docs/about/features_index/interactive.rst +++ b/docs/about/features_index/interactive.rst @@ -3,9 +3,9 @@ .. _running_interactive: -================ -Interactive API -================ +============================ +Interactive API (Deprecated) +============================ A director-based workflow uses long-lived components in a federation. These components continue to be available to distribute more experiments in the federation. @@ -670,4 +670,4 @@ Assigner with additional validation round: .. toctree .. overview.how_can_intel_protect_federated_learning -.. overview.what_is_intel_federated_learning \ No newline at end of file +.. overview.what_is_intel_federated_learning diff --git a/docs/about/features_index/taskrunner.rst b/docs/about/features_index/taskrunner.rst index 4e67622088..f4e3cc0730 100644 --- a/docs/about/features_index/taskrunner.rst +++ b/docs/about/features_index/taskrunner.rst @@ -112,7 +112,7 @@ Each task subsection contains the following: .. _running_the_federation_manual: -.. _interactive_api: +.. _interactive_api (Deprecated): diff --git a/docs/about/releases.md b/docs/about/releases.md index b1aa526bcc..22ffc7443b 100644 --- a/docs/about/releases.md +++ b/docs/about/releases.md @@ -11,7 +11,7 @@ - **Workflow API enhancements**: Introducing an experimental [Workspace Export](https://github.com/securefederatedai/openfl/blob/develop/openfl-tutorials/experimental/1001_Workspace_Creation_from_JupyterNotebook.ipynb) feature that can be used to transform a Workflow API-based FL experiment into the TaskRunner API format for running in a distributed deployment. There is also groundwork laid for a future FederatedRuntime implementation for Workflow API, in addition to the currently supported LocalRuntime. - **Federated Evaluation**: Federated evaluation allows for the assessment of ML models in a federated learning system by validating the model's performance locally on decentralized collaborator nodes, and then aggregating these metrics to gauge overall effectiveness, without compromising data privacy and security. FE is now officially supported by OpenFL, including [example tutorials](https://openfl.readthedocs.io/en/latest/about/features_index/fed_eval.html) on how to use this new feature (via TaskRunner API). -- **Expanded AI Accelerator Support**: Intel® Data Center GPU Max Series support via the Intel® Extension for PyTorch, including examples for training on datasets such as [MNIST](https://github.com/securefederatedai/openfl/blob/develop/openfl-tutorials/experimental/104_MNIST_XPU.ipynb) (via Workflow API) and [TinyImageNet](https://github.com/securefederatedai/openfl/tree/develop/openfl-tutorials/interactive_api/PyTorch_TinyImageNet_XPU) (via Interactive API) +- **Expanded AI Accelerator Support**: Intel® Data Center GPU Max Series support via the Intel® Extension for PyTorch, including examples for training on datasets such as [MNIST](https://github.com/securefederatedai/openfl/blob/develop/openfl-tutorials/experimental/104_MNIST_XPU.ipynb) (via Workflow API) and [TinyImageNet](https://github.com/securefederatedai/openfl/tree/main/openfl-tutorials/deprecated/interactive_api/PyTorch_TinyImageNet_XPU) (via Interactive API) - **Improved straggler collaborator handling**: Improvements and bug fixes to aggregator’s fault-tolerance when collaborators stop responding or drop out of a federation. Introducing a cut-off timer-based policy and enabling other policies to be plugged-in. This capability is particularly relevant for large or geo-distributed federations. @@ -35,9 +35,9 @@ We are excited to announce the release of OpenFL 1.5.1 - our first since moving - **Documentation accessibility improvements**: As part of our [Global Accessibility Awareness Day](https://www.intel.com/content/www/us/en/developer/articles/community/open-fl-project-improve-accessibility-for-devs.html) (GAAD) Pledge, the OpenFL project is making strides towards more accessible documentation. This release includes the integration of [Intel® One Mono](https://www.intel.com/content/www/us/en/company-overview/one-monospace-font.html) font, contrast color improvements, formatting improvements, and [new accessibility focused issues](https://github.com/securefederatedai/openfl/issues?q=is%3Aissue+is%3Aopen+accessibility) to take up in the future. - **[Documentation to federate a Generally Nuanced Deep Learning Framework (GaNDLF) model with OpenFL](https://openfl.readthedocs.io/en/latest/running_the_federation_with_gandlf.html)** - **New OpenFL Interactive API Tutorials**: - - [Linear regression with SciKit-Learn](https://github.com/securefederatedai/openfl/tree/develop/openfl-tutorials/interactive_api/scikit_learn_linear_regression) - - [MedMNIST 2D Classification Using FedProx Optimizer](https://github.com/securefederatedai/openfl/blob/develop/openfl-tutorials/interactive_api/PyTorch_FedProx_MNIST/README.md?plain=1) - - [PyTorch Linear Regression Example](https://github.com/securefederatedai/openfl/tree/develop/openfl-tutorials/interactive_api/PyTorch_LinearRegression) + - [Linear regression with SciKit-Learn](https://github.com/securefederatedai/openfl/tree/main/openfl-tutorials/deprecated/interactive_api/scikit_learn_linear_regression) + - [MedMNIST 2D Classification Using FedProx Optimizer](https://github.com/securefederatedai/openfl/tree/main/openfl-tutorials/deprecaed/interactive_api/PyTorch_FedProx_MNIST/README.md?plain=1) + - [PyTorch Linear Regression Example](https://github.com/securefederatedai/openfl/tree/main/openfl-tutorials/deprecated/interactive_api/PyTorch_LinearRegression) - **Improvements to workspace export and import** - **Many documentation improvements and updates** - **Bug fixes** @@ -54,10 +54,10 @@ We are excited to announce the release of OpenFL 1.5.1 - our first since moving * **[Vertical Federated Learning Examples](https://github.com/intel/openfl/tree/develop/openfl-tutorials/experimental/Vertical_FL)** * **[Federated Model Watermarking](https://github.com/intel/openfl/blob/develop/openfl-tutorials/experimental/301_MNIST_Watermarking.ipynb)** using the [WAFFLE](https://arxiv.org/pdf/2008.07298.pdf) method * **[Differential Privacy](https://github.com/intel/openfl/tree/develop/openfl-tutorials/experimental/Global_DP)** – Global differentially private federated learning using Opacus library to achieve a differentially private result w.r.t the inclusion or exclusion of any collaborator in the training process. At each round, a subset of collaborators are selected using a Poisson distribution over all collaborators, the selected collaborators perform local training with periodic clipping of their model delta (with respect to the current global model) to bound their contribution to the average of local model updates. Gaussian noise is then added to the average of these local models at the aggregator. This example is implemented in two different but statistically equivalent ways – the lower level API utilizes RDPAccountant and DPDataloader Opacus objects to perform privacy accounting and collaborator selection respectively, whereas the higher level API uses PrivacyEngine Opacus object for collaborator selection and internally utilizes RDPAccountant for privacy accounting. -* **[Habana Accelerator Support](https://github.com/intel/openfl/tree/develop/openfl-tutorials/interactive_api/HPU/PyTorch_TinyImageNet)** +* **[Habana Accelerator Support](https://github.com/securefederatedai/openfl/tree/main/openfl-tutorials/deprecated/interactive_api/HPU/PyTorch_TinyImageNet)** * **Official support for Python 3.9 and 3.10** * **[EDEN Compression Pipeline](https://github.com/intel/openfl/blob/develop/openfl/pipelines/eden_pipeline.py)**: Communication-Efficient and Robust Distributed Mean Estimation for Federated Learning ([paper link](https://proceedings.mlr.press/v162/vargaftik22a.html)) -* **[FLAX Framework Support](https://github.com/intel/openfl/tree/develop/openfl-tutorials/interactive_api/Flax_CNN_CIFAR)** +* **[FLAX Framework Support](https://github.com/securefederatedai/openfl/tree/main/openfl-tutorials/deprecated/interactive_api/Flax_CNN_CIFAR)** * **Improvements to the resiliency and security of the director / envoy infrastructure**: * Optional notification to plan participants to agree to experiment sent to their infrastructure * Improved resistance to loss of network connectivity and failure at various stages of execution @@ -109,7 +109,7 @@ The OpenFL v1.2 release contains the following updates: The OpenFL v1.1 release contains the following updates: -- New [Interactive Python API](https://github.com/intel/openfl/blob/develop/openfl-tutorials/interactive_api_tutorials_(experimental)/Pytorch_Kvasir_UNET_workspace/new_python_api_UNET.ipynb) (experimental) +- New [Interactive Python API](https://github.com/securefederatedai/openfl/tree/main/openfl-tutorials/deprecated/interactive_api) (experimental) - Example FedProx algorithm implementation for PyTorch and Tensorflow - `AggregationFunctionInterface` for custom aggregation functions - Adds a [Keras-based NLP Example](https://github.com/intel/openfl/tree/develop/openfl-workspace/keras_nlp) diff --git a/docs/developer_guide/advanced_topics/overriding_agg_fn.rst b/docs/developer_guide/advanced_topics/overriding_agg_fn.rst index 141b7d1282..ba393f86ca 100644 --- a/docs/developer_guide/advanced_topics/overriding_agg_fn.rst +++ b/docs/developer_guide/advanced_topics/overriding_agg_fn.rst @@ -194,8 +194,8 @@ The following is an example of a **plan.yaml** with a modified aggregation funct - loss -Interactive API -================ +Interactive API (Deprecated) +============================ You can override aggregation function that will be used for the task this function corresponds to. In order to do this, call the ``set_aggregation_function`` decorator method of ``TaskInterface`` and pass ``AggregationFunction`` subclass instance as a parameter. For example, you can try: diff --git a/docs/developer_guide/advanced_topics/overriding_plan_settings.rst b/docs/developer_guide/advanced_topics/overriding_plan_settings.rst index 25c3b59384..629e8a017a 100644 --- a/docs/developer_guide/advanced_topics/overriding_plan_settings.rst +++ b/docs/developer_guide/advanced_topics/overriding_plan_settings.rst @@ -8,7 +8,7 @@ Updating plan settings *********************** With the director-based workflow, you can use custom plan settings before starting the experiment. Changing plan settings in command line interface is straightforward by modifying plan.yaml. -When using Python API or Director Envoy based interactive API, **override_config** can be used to update plan settings. +When using Python API or Director Envoy based interactive API (Deprecated), **override_config** can be used to update plan settings. Python API @@ -24,8 +24,8 @@ Modify the plan settings: }) -Director Envoy Based Interactive API Interface -============================================== +Director Envoy Based Interactive API Interface (Deprecated) +=========================================================== Once you create an FL_experiment object, a basic federated learning plan with default settings is created. To check the default plan settings, print the plan as shown below: .. code-block:: python @@ -96,4 +96,4 @@ Since 'aggregator.settings.db_store_rounds' and 'compression_pipeline.template' INFO Did not find compression_pipeline.settings.n_clusters in config. Make sure it should exist. Creating... native.py:105 -A full implementation can be found at `Federated_Pytorch_MNIST_Tutorial.ipynb `_ and at `Tensorflow_MNIST.ipynb `_. \ No newline at end of file +A full implementation can be found at `Federated_Pytorch_MNIST_Tutorial.ipynb `_ and at `Tensorflow_MNIST.ipynb `_. diff --git a/docs/developer_guide/structure/components.rst b/docs/developer_guide/structure/components.rst index 160c0bb84c..ad2cc140dd 100644 --- a/docs/developer_guide/structure/components.rst +++ b/docs/developer_guide/structure/components.rst @@ -49,7 +49,7 @@ The Collaborator is a short-lived entity that manages training the model on loca - exchanging model parameters with the Aggregator. The Collaborator is created by the :ref:`Envoy ` when a new experiment is submitted -in the :ref:`Director-based workflow `. The Collaborator should be started from CLI if a user follows the +in the :ref:`Director-based workflow ` (Deprecated). The Collaborator should be started from CLI if a user follows the :ref:`Aggregator-based workflow ` Every Collaborator is a unique service. The data loader is loaded with a local *shard descriptor* to perform tasks @@ -67,7 +67,7 @@ they would like see supported in |productName|. Long-Lived Components ====================== -These components were introduced to support the :ref:`Director-based workflow `. +These components were introduced to support the :ref:`Director-based workflow ` (Deprecated). - The *Director* is the central node of the federation. This component starts an *Aggregator* for each experiment, broadcasts experiment archive to connected collaborator nodes, and provides updates on the status. - The *Envoy* runs on collaborator nodes and is always connected to the *Director*. When the *Director* starts an experiment, the *Envoy* starts the *Collaborator* to train the global model. @@ -81,7 +81,7 @@ Director The Director is a long-lived entity and is the central node of the federation. It accepts connections from: - - Frontend clients (data scientists using :ref:`interactive_python_api`) + - Frontend clients (data scientists using :ref:`interactive_python_api`) (Deprecated) - Envoys, if their Shard Descriptors are complient to the same data interface The Director supports concurrent frontend connections. @@ -101,7 +101,7 @@ The Envoy is a long-lived entity that runs on collaborator nodes connected to th Every Envoy is matched to one `shard descriptor `_ in order to run. When the Director starts an experiment, the Envoy accepts the experiment workspace, -prepares the environment, and starts a Collaborator. +prepares the environment, and starts a Collaborator. (Note this approach is deprecated) The envoy is also responsible for sending heartbeat messages to the Director. These messages may also include information regarding collaborator machine resource utilization. Refer to :ref:`device monitor plugin ` for details. diff --git a/docs/get_started/examples.rst b/docs/get_started/examples.rst index 4b9ad39f66..f358090e06 100644 --- a/docs/get_started/examples.rst +++ b/docs/get_started/examples.rst @@ -8,9 +8,9 @@ Examples for Running a Federation ================================= |productName| currently offers four ways to set up and run experiments with a federation: -the Task Runner API, Python Native API, the Interactive API, and the Workflow API. +the Task Runner API, Python Native API, the Interactive API (Deprecated), and the Workflow API. the Task Runner API is advised for production scenarios where the workload needs to be verified prior to execution, whereas the python native API provides a clean python interface on top of it intended for simulation purposes. -The Interactive API introduces a convenient way to set up a federation and brings “long-lived” components in a federation (“Director” and “Envoy”), +The Interactive API (Deprecated) introduces a convenient way to set up a federation and brings “long-lived” components in a federation (“Director” and “Envoy”), while the Task Runner API workflow is advised for scenarios where the workload needs to be verified prior to execution. In contrast, the currently experimental Workflow API is introduced to provide significant flexility to researchers and developers in the construction of federated learning experiments. @@ -43,9 +43,9 @@ See :ref:`python_native_pytorch_mnist` examples/python_native_pytorch_mnist -------------------------- -Interactive API -------------------------- +---------------------------- +Interactive API (Deprecated) +---------------------------- Setup long-lived components to run many experiments See :ref:`interactive_tensorflow_mnist` diff --git a/docs/get_started/examples/interactive_tensorflow_mnist.rst b/docs/get_started/examples/interactive_tensorflow_mnist.rst index 906a396148..0cecfc6b35 100644 --- a/docs/get_started/examples/interactive_tensorflow_mnist.rst +++ b/docs/get_started/examples/interactive_tensorflow_mnist.rst @@ -3,8 +3,8 @@ .. _interactive_tensorflow_mnist: -Interactive API: MNIST Classification Tutorial -=================================================== +Interactive API (Deprecated): MNIST Classification Tutorial +=========================================================== In this tutorial, we will set up a federation and train a basic TensoFlow model on the MNIST dataset using the interactive API. See `full tutorial `_. @@ -371,4 +371,4 @@ Time to start a federated learning experiment .. code-block:: python - fl_experiment.stream_metrics() \ No newline at end of file + fl_experiment.stream_metrics() diff --git a/openfl-tutorials/interactive_api/Flax_CNN_CIFAR/README.md b/openfl-tutorials/deprecated/interactive_api/Flax_CNN_CIFAR/README.md similarity index 100% rename from openfl-tutorials/interactive_api/Flax_CNN_CIFAR/README.md rename to openfl-tutorials/deprecated/interactive_api/Flax_CNN_CIFAR/README.md diff --git a/openfl-tutorials/interactive_api/Flax_CNN_CIFAR/director/director_config.yaml b/openfl-tutorials/deprecated/interactive_api/Flax_CNN_CIFAR/director/director_config.yaml similarity index 100% rename from openfl-tutorials/interactive_api/Flax_CNN_CIFAR/director/director_config.yaml rename to openfl-tutorials/deprecated/interactive_api/Flax_CNN_CIFAR/director/director_config.yaml diff --git a/openfl-tutorials/interactive_api/Flax_CNN_CIFAR/director/start_director.sh b/openfl-tutorials/deprecated/interactive_api/Flax_CNN_CIFAR/director/start_director.sh similarity index 100% rename from openfl-tutorials/interactive_api/Flax_CNN_CIFAR/director/start_director.sh rename to openfl-tutorials/deprecated/interactive_api/Flax_CNN_CIFAR/director/start_director.sh diff --git a/openfl-tutorials/interactive_api/Flax_CNN_CIFAR/envoy/cifar10_shard_descriptor.py b/openfl-tutorials/deprecated/interactive_api/Flax_CNN_CIFAR/envoy/cifar10_shard_descriptor.py similarity index 100% rename from openfl-tutorials/interactive_api/Flax_CNN_CIFAR/envoy/cifar10_shard_descriptor.py rename to openfl-tutorials/deprecated/interactive_api/Flax_CNN_CIFAR/envoy/cifar10_shard_descriptor.py diff --git a/openfl-tutorials/interactive_api/Flax_CNN_CIFAR/envoy/envoy_config_1.yaml b/openfl-tutorials/deprecated/interactive_api/Flax_CNN_CIFAR/envoy/envoy_config_1.yaml similarity index 100% rename from openfl-tutorials/interactive_api/Flax_CNN_CIFAR/envoy/envoy_config_1.yaml rename to openfl-tutorials/deprecated/interactive_api/Flax_CNN_CIFAR/envoy/envoy_config_1.yaml diff --git a/openfl-tutorials/interactive_api/Flax_CNN_CIFAR/envoy/start_envoy.sh b/openfl-tutorials/deprecated/interactive_api/Flax_CNN_CIFAR/envoy/start_envoy.sh similarity index 100% rename from openfl-tutorials/interactive_api/Flax_CNN_CIFAR/envoy/start_envoy.sh rename to openfl-tutorials/deprecated/interactive_api/Flax_CNN_CIFAR/envoy/start_envoy.sh diff --git a/openfl-tutorials/interactive_api/Flax_CNN_CIFAR/requirements.txt b/openfl-tutorials/deprecated/interactive_api/Flax_CNN_CIFAR/requirements.txt similarity index 100% rename from openfl-tutorials/interactive_api/Flax_CNN_CIFAR/requirements.txt rename to openfl-tutorials/deprecated/interactive_api/Flax_CNN_CIFAR/requirements.txt diff --git a/openfl-tutorials/interactive_api/Flax_CNN_CIFAR/workspace/FLAX_CIFAR10_CNN.ipynb b/openfl-tutorials/deprecated/interactive_api/Flax_CNN_CIFAR/workspace/FLAX_CIFAR10_CNN.ipynb similarity index 100% rename from openfl-tutorials/interactive_api/Flax_CNN_CIFAR/workspace/FLAX_CIFAR10_CNN.ipynb rename to openfl-tutorials/deprecated/interactive_api/Flax_CNN_CIFAR/workspace/FLAX_CIFAR10_CNN.ipynb diff --git a/openfl-tutorials/interactive_api/HPU/PyTorch_Kvasir_UNet/README.md b/openfl-tutorials/deprecated/interactive_api/HPU/PyTorch_Kvasir_UNet/README.md similarity index 100% rename from openfl-tutorials/interactive_api/HPU/PyTorch_Kvasir_UNet/README.md rename to openfl-tutorials/deprecated/interactive_api/HPU/PyTorch_Kvasir_UNet/README.md diff --git a/openfl-tutorials/interactive_api/HPU/PyTorch_Kvasir_UNet/director/director_config.yaml b/openfl-tutorials/deprecated/interactive_api/HPU/PyTorch_Kvasir_UNet/director/director_config.yaml similarity index 100% rename from openfl-tutorials/interactive_api/HPU/PyTorch_Kvasir_UNet/director/director_config.yaml rename to openfl-tutorials/deprecated/interactive_api/HPU/PyTorch_Kvasir_UNet/director/director_config.yaml diff --git a/openfl-tutorials/interactive_api/HPU/PyTorch_Kvasir_UNet/director/start_director.sh b/openfl-tutorials/deprecated/interactive_api/HPU/PyTorch_Kvasir_UNet/director/start_director.sh similarity index 100% rename from openfl-tutorials/interactive_api/HPU/PyTorch_Kvasir_UNet/director/start_director.sh rename to openfl-tutorials/deprecated/interactive_api/HPU/PyTorch_Kvasir_UNet/director/start_director.sh diff --git a/openfl-tutorials/interactive_api/HPU/PyTorch_Kvasir_UNet/director/start_director_with_tls.sh b/openfl-tutorials/deprecated/interactive_api/HPU/PyTorch_Kvasir_UNet/director/start_director_with_tls.sh similarity index 100% rename from openfl-tutorials/interactive_api/HPU/PyTorch_Kvasir_UNet/director/start_director_with_tls.sh rename to openfl-tutorials/deprecated/interactive_api/HPU/PyTorch_Kvasir_UNet/director/start_director_with_tls.sh diff --git a/openfl-tutorials/interactive_api/HPU/PyTorch_Kvasir_UNet/envoy/envoy_config_no_gpu.yaml b/openfl-tutorials/deprecated/interactive_api/HPU/PyTorch_Kvasir_UNet/envoy/envoy_config_no_gpu.yaml similarity index 100% rename from openfl-tutorials/interactive_api/HPU/PyTorch_Kvasir_UNet/envoy/envoy_config_no_gpu.yaml rename to openfl-tutorials/deprecated/interactive_api/HPU/PyTorch_Kvasir_UNet/envoy/envoy_config_no_gpu.yaml diff --git a/openfl-tutorials/interactive_api/HPU/PyTorch_Kvasir_UNet/envoy/kvasir_shard_descriptor.py b/openfl-tutorials/deprecated/interactive_api/HPU/PyTorch_Kvasir_UNet/envoy/kvasir_shard_descriptor.py similarity index 100% rename from openfl-tutorials/interactive_api/HPU/PyTorch_Kvasir_UNet/envoy/kvasir_shard_descriptor.py rename to openfl-tutorials/deprecated/interactive_api/HPU/PyTorch_Kvasir_UNet/envoy/kvasir_shard_descriptor.py diff --git a/openfl-tutorials/interactive_api/HPU/PyTorch_Kvasir_UNet/envoy/kvasir_shard_descriptor_with_data_splitter.py b/openfl-tutorials/deprecated/interactive_api/HPU/PyTorch_Kvasir_UNet/envoy/kvasir_shard_descriptor_with_data_splitter.py similarity index 100% rename from openfl-tutorials/interactive_api/HPU/PyTorch_Kvasir_UNet/envoy/kvasir_shard_descriptor_with_data_splitter.py rename to openfl-tutorials/deprecated/interactive_api/HPU/PyTorch_Kvasir_UNet/envoy/kvasir_shard_descriptor_with_data_splitter.py diff --git a/openfl-tutorials/interactive_api/HPU/PyTorch_Kvasir_UNet/envoy/sd_requirements.txt b/openfl-tutorials/deprecated/interactive_api/HPU/PyTorch_Kvasir_UNet/envoy/sd_requirements.txt similarity index 100% rename from openfl-tutorials/interactive_api/HPU/PyTorch_Kvasir_UNet/envoy/sd_requirements.txt rename to openfl-tutorials/deprecated/interactive_api/HPU/PyTorch_Kvasir_UNet/envoy/sd_requirements.txt diff --git a/openfl-tutorials/interactive_api/HPU/PyTorch_Kvasir_UNet/envoy/start_envoy.sh b/openfl-tutorials/deprecated/interactive_api/HPU/PyTorch_Kvasir_UNet/envoy/start_envoy.sh similarity index 100% rename from openfl-tutorials/interactive_api/HPU/PyTorch_Kvasir_UNet/envoy/start_envoy.sh rename to openfl-tutorials/deprecated/interactive_api/HPU/PyTorch_Kvasir_UNet/envoy/start_envoy.sh diff --git a/openfl-tutorials/interactive_api/HPU/PyTorch_Kvasir_UNet/envoy/start_envoy_with_tls.sh b/openfl-tutorials/deprecated/interactive_api/HPU/PyTorch_Kvasir_UNet/envoy/start_envoy_with_tls.sh similarity index 100% rename from openfl-tutorials/interactive_api/HPU/PyTorch_Kvasir_UNet/envoy/start_envoy_with_tls.sh rename to openfl-tutorials/deprecated/interactive_api/HPU/PyTorch_Kvasir_UNet/envoy/start_envoy_with_tls.sh diff --git a/openfl-tutorials/interactive_api/HPU/PyTorch_Kvasir_UNet/workspace/PyTorch_Kvasir_UNet.ipynb b/openfl-tutorials/deprecated/interactive_api/HPU/PyTorch_Kvasir_UNet/workspace/PyTorch_Kvasir_UNet.ipynb similarity index 100% rename from openfl-tutorials/interactive_api/HPU/PyTorch_Kvasir_UNet/workspace/PyTorch_Kvasir_UNet.ipynb rename to openfl-tutorials/deprecated/interactive_api/HPU/PyTorch_Kvasir_UNet/workspace/PyTorch_Kvasir_UNet.ipynb diff --git a/openfl-tutorials/interactive_api/HPU/PyTorch_Kvasir_UNet/workspace/layers.py b/openfl-tutorials/deprecated/interactive_api/HPU/PyTorch_Kvasir_UNet/workspace/layers.py similarity index 100% rename from openfl-tutorials/interactive_api/HPU/PyTorch_Kvasir_UNet/workspace/layers.py rename to openfl-tutorials/deprecated/interactive_api/HPU/PyTorch_Kvasir_UNet/workspace/layers.py diff --git a/openfl-tutorials/interactive_api/HPU/PyTorch_MedMNIST_2D/README.md b/openfl-tutorials/deprecated/interactive_api/HPU/PyTorch_MedMNIST_2D/README.md similarity index 100% rename from openfl-tutorials/interactive_api/HPU/PyTorch_MedMNIST_2D/README.md rename to openfl-tutorials/deprecated/interactive_api/HPU/PyTorch_MedMNIST_2D/README.md diff --git a/openfl-tutorials/interactive_api/HPU/PyTorch_MedMNIST_2D/director/director_config.yaml b/openfl-tutorials/deprecated/interactive_api/HPU/PyTorch_MedMNIST_2D/director/director_config.yaml similarity index 100% rename from openfl-tutorials/interactive_api/HPU/PyTorch_MedMNIST_2D/director/director_config.yaml rename to openfl-tutorials/deprecated/interactive_api/HPU/PyTorch_MedMNIST_2D/director/director_config.yaml diff --git a/openfl-tutorials/interactive_api/HPU/PyTorch_MedMNIST_2D/director/start_director.sh b/openfl-tutorials/deprecated/interactive_api/HPU/PyTorch_MedMNIST_2D/director/start_director.sh similarity index 100% rename from openfl-tutorials/interactive_api/HPU/PyTorch_MedMNIST_2D/director/start_director.sh rename to openfl-tutorials/deprecated/interactive_api/HPU/PyTorch_MedMNIST_2D/director/start_director.sh diff --git a/openfl-tutorials/interactive_api/HPU/PyTorch_MedMNIST_2D/envoy/envoy_config.yaml b/openfl-tutorials/deprecated/interactive_api/HPU/PyTorch_MedMNIST_2D/envoy/envoy_config.yaml similarity index 100% rename from openfl-tutorials/interactive_api/HPU/PyTorch_MedMNIST_2D/envoy/envoy_config.yaml rename to openfl-tutorials/deprecated/interactive_api/HPU/PyTorch_MedMNIST_2D/envoy/envoy_config.yaml diff --git a/openfl-tutorials/interactive_api/HPU/PyTorch_MedMNIST_2D/envoy/medmnist_shard_descriptor.py b/openfl-tutorials/deprecated/interactive_api/HPU/PyTorch_MedMNIST_2D/envoy/medmnist_shard_descriptor.py similarity index 100% rename from openfl-tutorials/interactive_api/HPU/PyTorch_MedMNIST_2D/envoy/medmnist_shard_descriptor.py rename to openfl-tutorials/deprecated/interactive_api/HPU/PyTorch_MedMNIST_2D/envoy/medmnist_shard_descriptor.py diff --git a/openfl-tutorials/interactive_api/HPU/PyTorch_MedMNIST_2D/envoy/requirements.txt b/openfl-tutorials/deprecated/interactive_api/HPU/PyTorch_MedMNIST_2D/envoy/requirements.txt similarity index 100% rename from openfl-tutorials/interactive_api/HPU/PyTorch_MedMNIST_2D/envoy/requirements.txt rename to openfl-tutorials/deprecated/interactive_api/HPU/PyTorch_MedMNIST_2D/envoy/requirements.txt diff --git a/openfl-tutorials/interactive_api/HPU/PyTorch_MedMNIST_2D/envoy/start_envoy.sh b/openfl-tutorials/deprecated/interactive_api/HPU/PyTorch_MedMNIST_2D/envoy/start_envoy.sh similarity index 100% rename from openfl-tutorials/interactive_api/HPU/PyTorch_MedMNIST_2D/envoy/start_envoy.sh rename to openfl-tutorials/deprecated/interactive_api/HPU/PyTorch_MedMNIST_2D/envoy/start_envoy.sh diff --git a/openfl-tutorials/interactive_api/HPU/PyTorch_MedMNIST_2D/workspace/HPU_Pytorch_MedMNIST_2D.ipynb b/openfl-tutorials/deprecated/interactive_api/HPU/PyTorch_MedMNIST_2D/workspace/HPU_Pytorch_MedMNIST_2D.ipynb similarity index 100% rename from openfl-tutorials/interactive_api/HPU/PyTorch_MedMNIST_2D/workspace/HPU_Pytorch_MedMNIST_2D.ipynb rename to openfl-tutorials/deprecated/interactive_api/HPU/PyTorch_MedMNIST_2D/workspace/HPU_Pytorch_MedMNIST_2D.ipynb diff --git a/openfl-tutorials/interactive_api/HPU/PyTorch_TinyImageNet/README.md b/openfl-tutorials/deprecated/interactive_api/HPU/PyTorch_TinyImageNet/README.md similarity index 100% rename from openfl-tutorials/interactive_api/HPU/PyTorch_TinyImageNet/README.md rename to openfl-tutorials/deprecated/interactive_api/HPU/PyTorch_TinyImageNet/README.md diff --git a/openfl-tutorials/interactive_api/HPU/PyTorch_TinyImageNet/director/director_config.yaml b/openfl-tutorials/deprecated/interactive_api/HPU/PyTorch_TinyImageNet/director/director_config.yaml similarity index 100% rename from openfl-tutorials/interactive_api/HPU/PyTorch_TinyImageNet/director/director_config.yaml rename to openfl-tutorials/deprecated/interactive_api/HPU/PyTorch_TinyImageNet/director/director_config.yaml diff --git a/openfl-tutorials/interactive_api/HPU/PyTorch_TinyImageNet/director/start_director.sh b/openfl-tutorials/deprecated/interactive_api/HPU/PyTorch_TinyImageNet/director/start_director.sh similarity index 100% rename from openfl-tutorials/interactive_api/HPU/PyTorch_TinyImageNet/director/start_director.sh rename to openfl-tutorials/deprecated/interactive_api/HPU/PyTorch_TinyImageNet/director/start_director.sh diff --git a/openfl-tutorials/interactive_api/HPU/PyTorch_TinyImageNet/envoy/envoy_config_1.yaml b/openfl-tutorials/deprecated/interactive_api/HPU/PyTorch_TinyImageNet/envoy/envoy_config_1.yaml similarity index 100% rename from openfl-tutorials/interactive_api/HPU/PyTorch_TinyImageNet/envoy/envoy_config_1.yaml rename to openfl-tutorials/deprecated/interactive_api/HPU/PyTorch_TinyImageNet/envoy/envoy_config_1.yaml diff --git a/openfl-tutorials/interactive_api/HPU/PyTorch_TinyImageNet/envoy/requirements.txt b/openfl-tutorials/deprecated/interactive_api/HPU/PyTorch_TinyImageNet/envoy/requirements.txt similarity index 100% rename from openfl-tutorials/interactive_api/HPU/PyTorch_TinyImageNet/envoy/requirements.txt rename to openfl-tutorials/deprecated/interactive_api/HPU/PyTorch_TinyImageNet/envoy/requirements.txt diff --git a/openfl-tutorials/interactive_api/HPU/PyTorch_TinyImageNet/envoy/start_envoy.sh b/openfl-tutorials/deprecated/interactive_api/HPU/PyTorch_TinyImageNet/envoy/start_envoy.sh similarity index 100% rename from openfl-tutorials/interactive_api/HPU/PyTorch_TinyImageNet/envoy/start_envoy.sh rename to openfl-tutorials/deprecated/interactive_api/HPU/PyTorch_TinyImageNet/envoy/start_envoy.sh diff --git a/openfl-tutorials/interactive_api/HPU/PyTorch_TinyImageNet/envoy/tinyimagenet_shard_descriptor.py b/openfl-tutorials/deprecated/interactive_api/HPU/PyTorch_TinyImageNet/envoy/tinyimagenet_shard_descriptor.py similarity index 100% rename from openfl-tutorials/interactive_api/HPU/PyTorch_TinyImageNet/envoy/tinyimagenet_shard_descriptor.py rename to openfl-tutorials/deprecated/interactive_api/HPU/PyTorch_TinyImageNet/envoy/tinyimagenet_shard_descriptor.py diff --git a/openfl-tutorials/interactive_api/HPU/PyTorch_TinyImageNet/workspace/hpu_pytorch_tinyimagenet.ipynb b/openfl-tutorials/deprecated/interactive_api/HPU/PyTorch_TinyImageNet/workspace/hpu_pytorch_tinyimagenet.ipynb similarity index 100% rename from openfl-tutorials/interactive_api/HPU/PyTorch_TinyImageNet/workspace/hpu_pytorch_tinyimagenet.ipynb rename to openfl-tutorials/deprecated/interactive_api/HPU/PyTorch_TinyImageNet/workspace/hpu_pytorch_tinyimagenet.ipynb diff --git a/openfl-tutorials/interactive_api/MXNet_landmarks/README.md b/openfl-tutorials/deprecated/interactive_api/MXNet_landmarks/README.md similarity index 100% rename from openfl-tutorials/interactive_api/MXNet_landmarks/README.md rename to openfl-tutorials/deprecated/interactive_api/MXNet_landmarks/README.md diff --git a/openfl-tutorials/interactive_api/MXNet_landmarks/director/director_config.yaml b/openfl-tutorials/deprecated/interactive_api/MXNet_landmarks/director/director_config.yaml similarity index 100% rename from openfl-tutorials/interactive_api/MXNet_landmarks/director/director_config.yaml rename to openfl-tutorials/deprecated/interactive_api/MXNet_landmarks/director/director_config.yaml diff --git a/openfl-tutorials/interactive_api/MXNet_landmarks/director/start_director.sh b/openfl-tutorials/deprecated/interactive_api/MXNet_landmarks/director/start_director.sh similarity index 100% rename from openfl-tutorials/interactive_api/MXNet_landmarks/director/start_director.sh rename to openfl-tutorials/deprecated/interactive_api/MXNet_landmarks/director/start_director.sh diff --git a/openfl-tutorials/interactive_api/MXNet_landmarks/envoy/envoy_config_one.yaml b/openfl-tutorials/deprecated/interactive_api/MXNet_landmarks/envoy/envoy_config_one.yaml similarity index 100% rename from openfl-tutorials/interactive_api/MXNet_landmarks/envoy/envoy_config_one.yaml rename to openfl-tutorials/deprecated/interactive_api/MXNet_landmarks/envoy/envoy_config_one.yaml diff --git a/openfl-tutorials/interactive_api/MXNet_landmarks/envoy/envoy_config_two.yaml b/openfl-tutorials/deprecated/interactive_api/MXNet_landmarks/envoy/envoy_config_two.yaml similarity index 100% rename from openfl-tutorials/interactive_api/MXNet_landmarks/envoy/envoy_config_two.yaml rename to openfl-tutorials/deprecated/interactive_api/MXNet_landmarks/envoy/envoy_config_two.yaml diff --git a/openfl-tutorials/interactive_api/MXNet_landmarks/envoy/landmark_shard_descriptor.py b/openfl-tutorials/deprecated/interactive_api/MXNet_landmarks/envoy/landmark_shard_descriptor.py similarity index 100% rename from openfl-tutorials/interactive_api/MXNet_landmarks/envoy/landmark_shard_descriptor.py rename to openfl-tutorials/deprecated/interactive_api/MXNet_landmarks/envoy/landmark_shard_descriptor.py diff --git a/openfl-tutorials/interactive_api/MXNet_landmarks/envoy/sd_requirements.txt b/openfl-tutorials/deprecated/interactive_api/MXNet_landmarks/envoy/sd_requirements.txt similarity index 100% rename from openfl-tutorials/interactive_api/MXNet_landmarks/envoy/sd_requirements.txt rename to openfl-tutorials/deprecated/interactive_api/MXNet_landmarks/envoy/sd_requirements.txt diff --git a/openfl-tutorials/interactive_api/MXNet_landmarks/envoy/start_envoy.sh b/openfl-tutorials/deprecated/interactive_api/MXNet_landmarks/envoy/start_envoy.sh similarity index 100% rename from openfl-tutorials/interactive_api/MXNet_landmarks/envoy/start_envoy.sh rename to openfl-tutorials/deprecated/interactive_api/MXNet_landmarks/envoy/start_envoy.sh diff --git a/openfl-tutorials/interactive_api/MXNet_landmarks/workspace/MXNet_landmarks.ipynb b/openfl-tutorials/deprecated/interactive_api/MXNet_landmarks/workspace/MXNet_landmarks.ipynb similarity index 100% rename from openfl-tutorials/interactive_api/MXNet_landmarks/workspace/MXNet_landmarks.ipynb rename to openfl-tutorials/deprecated/interactive_api/MXNet_landmarks/workspace/MXNet_landmarks.ipynb diff --git a/openfl-tutorials/interactive_api/MXNet_landmarks/workspace/mxnet_adapter.py b/openfl-tutorials/deprecated/interactive_api/MXNet_landmarks/workspace/mxnet_adapter.py similarity index 100% rename from openfl-tutorials/interactive_api/MXNet_landmarks/workspace/mxnet_adapter.py rename to openfl-tutorials/deprecated/interactive_api/MXNet_landmarks/workspace/mxnet_adapter.py diff --git a/openfl-tutorials/interactive_api/MXNet_landmarks/workspace/requirements.txt b/openfl-tutorials/deprecated/interactive_api/MXNet_landmarks/workspace/requirements.txt similarity index 100% rename from openfl-tutorials/interactive_api/MXNet_landmarks/workspace/requirements.txt rename to openfl-tutorials/deprecated/interactive_api/MXNet_landmarks/workspace/requirements.txt diff --git a/openfl-tutorials/interactive_api/PyTorch_DogsCats_ViT/README.md b/openfl-tutorials/deprecated/interactive_api/PyTorch_DogsCats_ViT/README.md similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_DogsCats_ViT/README.md rename to openfl-tutorials/deprecated/interactive_api/PyTorch_DogsCats_ViT/README.md diff --git a/openfl-tutorials/interactive_api/PyTorch_DogsCats_ViT/director/director_config.yaml b/openfl-tutorials/deprecated/interactive_api/PyTorch_DogsCats_ViT/director/director_config.yaml similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_DogsCats_ViT/director/director_config.yaml rename to openfl-tutorials/deprecated/interactive_api/PyTorch_DogsCats_ViT/director/director_config.yaml diff --git a/openfl-tutorials/interactive_api/PyTorch_DogsCats_ViT/director/start_director.sh b/openfl-tutorials/deprecated/interactive_api/PyTorch_DogsCats_ViT/director/start_director.sh similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_DogsCats_ViT/director/start_director.sh rename to openfl-tutorials/deprecated/interactive_api/PyTorch_DogsCats_ViT/director/start_director.sh diff --git a/openfl-tutorials/interactive_api/PyTorch_DogsCats_ViT/envoy/dogs_cats_shard_descriptor.py b/openfl-tutorials/deprecated/interactive_api/PyTorch_DogsCats_ViT/envoy/dogs_cats_shard_descriptor.py similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_DogsCats_ViT/envoy/dogs_cats_shard_descriptor.py rename to openfl-tutorials/deprecated/interactive_api/PyTorch_DogsCats_ViT/envoy/dogs_cats_shard_descriptor.py diff --git a/openfl-tutorials/interactive_api/PyTorch_DogsCats_ViT/envoy/envoy_config_one.yaml b/openfl-tutorials/deprecated/interactive_api/PyTorch_DogsCats_ViT/envoy/envoy_config_one.yaml similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_DogsCats_ViT/envoy/envoy_config_one.yaml rename to openfl-tutorials/deprecated/interactive_api/PyTorch_DogsCats_ViT/envoy/envoy_config_one.yaml diff --git a/openfl-tutorials/interactive_api/PyTorch_DogsCats_ViT/envoy/envoy_config_two.yaml b/openfl-tutorials/deprecated/interactive_api/PyTorch_DogsCats_ViT/envoy/envoy_config_two.yaml similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_DogsCats_ViT/envoy/envoy_config_two.yaml rename to openfl-tutorials/deprecated/interactive_api/PyTorch_DogsCats_ViT/envoy/envoy_config_two.yaml diff --git a/openfl-tutorials/interactive_api/PyTorch_DogsCats_ViT/envoy/sd_requirements.txt b/openfl-tutorials/deprecated/interactive_api/PyTorch_DogsCats_ViT/envoy/sd_requirements.txt similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_DogsCats_ViT/envoy/sd_requirements.txt rename to openfl-tutorials/deprecated/interactive_api/PyTorch_DogsCats_ViT/envoy/sd_requirements.txt diff --git a/openfl-tutorials/interactive_api/PyTorch_DogsCats_ViT/envoy/start_envoy.sh b/openfl-tutorials/deprecated/interactive_api/PyTorch_DogsCats_ViT/envoy/start_envoy.sh similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_DogsCats_ViT/envoy/start_envoy.sh rename to openfl-tutorials/deprecated/interactive_api/PyTorch_DogsCats_ViT/envoy/start_envoy.sh diff --git a/openfl-tutorials/interactive_api/PyTorch_DogsCats_ViT/workspace/PyTorch_DogsCats_ViT.ipynb b/openfl-tutorials/deprecated/interactive_api/PyTorch_DogsCats_ViT/workspace/PyTorch_DogsCats_ViT.ipynb similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_DogsCats_ViT/workspace/PyTorch_DogsCats_ViT.ipynb rename to openfl-tutorials/deprecated/interactive_api/PyTorch_DogsCats_ViT/workspace/PyTorch_DogsCats_ViT.ipynb diff --git a/openfl-tutorials/interactive_api/PyTorch_DogsCats_ViT/workspace/requirements.txt b/openfl-tutorials/deprecated/interactive_api/PyTorch_DogsCats_ViT/workspace/requirements.txt similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_DogsCats_ViT/workspace/requirements.txt rename to openfl-tutorials/deprecated/interactive_api/PyTorch_DogsCats_ViT/workspace/requirements.txt diff --git a/openfl-tutorials/interactive_api/PyTorch_FedProx_MNIST/README.md b/openfl-tutorials/deprecated/interactive_api/PyTorch_FedProx_MNIST/README.md similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_FedProx_MNIST/README.md rename to openfl-tutorials/deprecated/interactive_api/PyTorch_FedProx_MNIST/README.md diff --git a/openfl-tutorials/interactive_api/PyTorch_FedProx_MNIST/director/director_config.yaml b/openfl-tutorials/deprecated/interactive_api/PyTorch_FedProx_MNIST/director/director_config.yaml similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_FedProx_MNIST/director/director_config.yaml rename to openfl-tutorials/deprecated/interactive_api/PyTorch_FedProx_MNIST/director/director_config.yaml diff --git a/openfl-tutorials/interactive_api/PyTorch_FedProx_MNIST/director/start_director.sh b/openfl-tutorials/deprecated/interactive_api/PyTorch_FedProx_MNIST/director/start_director.sh similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_FedProx_MNIST/director/start_director.sh rename to openfl-tutorials/deprecated/interactive_api/PyTorch_FedProx_MNIST/director/start_director.sh diff --git a/openfl-tutorials/interactive_api/PyTorch_FedProx_MNIST/envoy/envoy_config.yaml b/openfl-tutorials/deprecated/interactive_api/PyTorch_FedProx_MNIST/envoy/envoy_config.yaml similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_FedProx_MNIST/envoy/envoy_config.yaml rename to openfl-tutorials/deprecated/interactive_api/PyTorch_FedProx_MNIST/envoy/envoy_config.yaml diff --git a/openfl-tutorials/interactive_api/PyTorch_FedProx_MNIST/envoy/medmnist_shard_descriptor.py b/openfl-tutorials/deprecated/interactive_api/PyTorch_FedProx_MNIST/envoy/medmnist_shard_descriptor.py similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_FedProx_MNIST/envoy/medmnist_shard_descriptor.py rename to openfl-tutorials/deprecated/interactive_api/PyTorch_FedProx_MNIST/envoy/medmnist_shard_descriptor.py diff --git a/openfl-tutorials/interactive_api/PyTorch_FedProx_MNIST/envoy/requirements.txt b/openfl-tutorials/deprecated/interactive_api/PyTorch_FedProx_MNIST/envoy/requirements.txt similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_FedProx_MNIST/envoy/requirements.txt rename to openfl-tutorials/deprecated/interactive_api/PyTorch_FedProx_MNIST/envoy/requirements.txt diff --git a/openfl-tutorials/interactive_api/PyTorch_FedProx_MNIST/envoy/start_envoy.sh b/openfl-tutorials/deprecated/interactive_api/PyTorch_FedProx_MNIST/envoy/start_envoy.sh similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_FedProx_MNIST/envoy/start_envoy.sh rename to openfl-tutorials/deprecated/interactive_api/PyTorch_FedProx_MNIST/envoy/start_envoy.sh diff --git a/openfl-tutorials/interactive_api/PyTorch_FedProx_MNIST/workspace/Pytorch_FedProx_MedMNIST_2D.ipynb b/openfl-tutorials/deprecated/interactive_api/PyTorch_FedProx_MNIST/workspace/Pytorch_FedProx_MedMNIST_2D.ipynb similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_FedProx_MNIST/workspace/Pytorch_FedProx_MedMNIST_2D.ipynb rename to openfl-tutorials/deprecated/interactive_api/PyTorch_FedProx_MNIST/workspace/Pytorch_FedProx_MedMNIST_2D.ipynb diff --git a/openfl-tutorials/interactive_api/PyTorch_Histology/README.md b/openfl-tutorials/deprecated/interactive_api/PyTorch_Histology/README.md similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_Histology/README.md rename to openfl-tutorials/deprecated/interactive_api/PyTorch_Histology/README.md diff --git a/openfl-tutorials/interactive_api/PyTorch_Histology/director/director_config.yaml b/openfl-tutorials/deprecated/interactive_api/PyTorch_Histology/director/director_config.yaml similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_Histology/director/director_config.yaml rename to openfl-tutorials/deprecated/interactive_api/PyTorch_Histology/director/director_config.yaml diff --git a/openfl-tutorials/interactive_api/PyTorch_Histology/director/director_config_review_exp.yaml b/openfl-tutorials/deprecated/interactive_api/PyTorch_Histology/director/director_config_review_exp.yaml similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_Histology/director/director_config_review_exp.yaml rename to openfl-tutorials/deprecated/interactive_api/PyTorch_Histology/director/director_config_review_exp.yaml diff --git a/openfl-tutorials/interactive_api/PyTorch_Histology/director/start_director.sh b/openfl-tutorials/deprecated/interactive_api/PyTorch_Histology/director/start_director.sh similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_Histology/director/start_director.sh rename to openfl-tutorials/deprecated/interactive_api/PyTorch_Histology/director/start_director.sh diff --git a/openfl-tutorials/interactive_api/PyTorch_Histology/director/start_director_with_tls.sh b/openfl-tutorials/deprecated/interactive_api/PyTorch_Histology/director/start_director_with_tls.sh similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_Histology/director/start_director_with_tls.sh rename to openfl-tutorials/deprecated/interactive_api/PyTorch_Histology/director/start_director_with_tls.sh diff --git a/openfl-tutorials/interactive_api/PyTorch_Histology/envoy/.gitignore b/openfl-tutorials/deprecated/interactive_api/PyTorch_Histology/envoy/.gitignore similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_Histology/envoy/.gitignore rename to openfl-tutorials/deprecated/interactive_api/PyTorch_Histology/envoy/.gitignore diff --git a/openfl-tutorials/interactive_api/PyTorch_Histology/envoy/envoy_config.yaml b/openfl-tutorials/deprecated/interactive_api/PyTorch_Histology/envoy/envoy_config.yaml similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_Histology/envoy/envoy_config.yaml rename to openfl-tutorials/deprecated/interactive_api/PyTorch_Histology/envoy/envoy_config.yaml diff --git a/openfl-tutorials/interactive_api/PyTorch_Histology/envoy/envoy_config_review_exp.yaml b/openfl-tutorials/deprecated/interactive_api/PyTorch_Histology/envoy/envoy_config_review_exp.yaml similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_Histology/envoy/envoy_config_review_exp.yaml rename to openfl-tutorials/deprecated/interactive_api/PyTorch_Histology/envoy/envoy_config_review_exp.yaml diff --git a/openfl-tutorials/interactive_api/PyTorch_Histology/envoy/histology_shard_descriptor.py b/openfl-tutorials/deprecated/interactive_api/PyTorch_Histology/envoy/histology_shard_descriptor.py similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_Histology/envoy/histology_shard_descriptor.py rename to openfl-tutorials/deprecated/interactive_api/PyTorch_Histology/envoy/histology_shard_descriptor.py diff --git a/openfl-tutorials/interactive_api/PyTorch_Histology/envoy/requirements.txt b/openfl-tutorials/deprecated/interactive_api/PyTorch_Histology/envoy/requirements.txt similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_Histology/envoy/requirements.txt rename to openfl-tutorials/deprecated/interactive_api/PyTorch_Histology/envoy/requirements.txt diff --git a/openfl-tutorials/interactive_api/PyTorch_Histology/envoy/start_envoy.sh b/openfl-tutorials/deprecated/interactive_api/PyTorch_Histology/envoy/start_envoy.sh similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_Histology/envoy/start_envoy.sh rename to openfl-tutorials/deprecated/interactive_api/PyTorch_Histology/envoy/start_envoy.sh diff --git a/openfl-tutorials/interactive_api/PyTorch_Histology/envoy/start_envoy_with_tls.sh b/openfl-tutorials/deprecated/interactive_api/PyTorch_Histology/envoy/start_envoy_with_tls.sh similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_Histology/envoy/start_envoy_with_tls.sh rename to openfl-tutorials/deprecated/interactive_api/PyTorch_Histology/envoy/start_envoy_with_tls.sh diff --git a/openfl-tutorials/interactive_api/PyTorch_Histology/workspace/pytorch_histology.ipynb b/openfl-tutorials/deprecated/interactive_api/PyTorch_Histology/workspace/pytorch_histology.ipynb similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_Histology/workspace/pytorch_histology.ipynb rename to openfl-tutorials/deprecated/interactive_api/PyTorch_Histology/workspace/pytorch_histology.ipynb diff --git a/openfl-tutorials/interactive_api/PyTorch_Histology_FedCurv/README.md b/openfl-tutorials/deprecated/interactive_api/PyTorch_Histology_FedCurv/README.md similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_Histology_FedCurv/README.md rename to openfl-tutorials/deprecated/interactive_api/PyTorch_Histology_FedCurv/README.md diff --git a/openfl-tutorials/interactive_api/PyTorch_Histology_FedCurv/director/director_config.yaml b/openfl-tutorials/deprecated/interactive_api/PyTorch_Histology_FedCurv/director/director_config.yaml similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_Histology_FedCurv/director/director_config.yaml rename to openfl-tutorials/deprecated/interactive_api/PyTorch_Histology_FedCurv/director/director_config.yaml diff --git a/openfl-tutorials/interactive_api/PyTorch_Histology_FedCurv/director/start_director.sh b/openfl-tutorials/deprecated/interactive_api/PyTorch_Histology_FedCurv/director/start_director.sh similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_Histology_FedCurv/director/start_director.sh rename to openfl-tutorials/deprecated/interactive_api/PyTorch_Histology_FedCurv/director/start_director.sh diff --git a/openfl-tutorials/interactive_api/PyTorch_Histology_FedCurv/director/start_director_with_tls.sh b/openfl-tutorials/deprecated/interactive_api/PyTorch_Histology_FedCurv/director/start_director_with_tls.sh similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_Histology_FedCurv/director/start_director_with_tls.sh rename to openfl-tutorials/deprecated/interactive_api/PyTorch_Histology_FedCurv/director/start_director_with_tls.sh diff --git a/openfl-tutorials/interactive_api/PyTorch_Histology_FedCurv/envoy/.gitignore b/openfl-tutorials/deprecated/interactive_api/PyTorch_Histology_FedCurv/envoy/.gitignore similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_Histology_FedCurv/envoy/.gitignore rename to openfl-tutorials/deprecated/interactive_api/PyTorch_Histology_FedCurv/envoy/.gitignore diff --git a/openfl-tutorials/interactive_api/PyTorch_Histology_FedCurv/envoy/envoy_config.yaml b/openfl-tutorials/deprecated/interactive_api/PyTorch_Histology_FedCurv/envoy/envoy_config.yaml similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_Histology_FedCurv/envoy/envoy_config.yaml rename to openfl-tutorials/deprecated/interactive_api/PyTorch_Histology_FedCurv/envoy/envoy_config.yaml diff --git a/openfl-tutorials/interactive_api/PyTorch_Histology_FedCurv/envoy/histology_shard_descriptor.py b/openfl-tutorials/deprecated/interactive_api/PyTorch_Histology_FedCurv/envoy/histology_shard_descriptor.py similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_Histology_FedCurv/envoy/histology_shard_descriptor.py rename to openfl-tutorials/deprecated/interactive_api/PyTorch_Histology_FedCurv/envoy/histology_shard_descriptor.py diff --git a/openfl-tutorials/interactive_api/PyTorch_Histology_FedCurv/envoy/populate_envoys.sh b/openfl-tutorials/deprecated/interactive_api/PyTorch_Histology_FedCurv/envoy/populate_envoys.sh similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_Histology_FedCurv/envoy/populate_envoys.sh rename to openfl-tutorials/deprecated/interactive_api/PyTorch_Histology_FedCurv/envoy/populate_envoys.sh diff --git a/openfl-tutorials/interactive_api/PyTorch_Histology_FedCurv/envoy/requirements.txt b/openfl-tutorials/deprecated/interactive_api/PyTorch_Histology_FedCurv/envoy/requirements.txt similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_Histology_FedCurv/envoy/requirements.txt rename to openfl-tutorials/deprecated/interactive_api/PyTorch_Histology_FedCurv/envoy/requirements.txt diff --git a/openfl-tutorials/interactive_api/PyTorch_Histology_FedCurv/envoy/start_envoy.sh b/openfl-tutorials/deprecated/interactive_api/PyTorch_Histology_FedCurv/envoy/start_envoy.sh similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_Histology_FedCurv/envoy/start_envoy.sh rename to openfl-tutorials/deprecated/interactive_api/PyTorch_Histology_FedCurv/envoy/start_envoy.sh diff --git a/openfl-tutorials/interactive_api/PyTorch_Histology_FedCurv/envoy/start_envoy_with_tls.sh b/openfl-tutorials/deprecated/interactive_api/PyTorch_Histology_FedCurv/envoy/start_envoy_with_tls.sh similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_Histology_FedCurv/envoy/start_envoy_with_tls.sh rename to openfl-tutorials/deprecated/interactive_api/PyTorch_Histology_FedCurv/envoy/start_envoy_with_tls.sh diff --git a/openfl-tutorials/interactive_api/PyTorch_Histology_FedCurv/envoy/start_envoys.sh b/openfl-tutorials/deprecated/interactive_api/PyTorch_Histology_FedCurv/envoy/start_envoys.sh similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_Histology_FedCurv/envoy/start_envoys.sh rename to openfl-tutorials/deprecated/interactive_api/PyTorch_Histology_FedCurv/envoy/start_envoys.sh diff --git a/openfl-tutorials/interactive_api/PyTorch_Histology_FedCurv/workspace/.gitignore b/openfl-tutorials/deprecated/interactive_api/PyTorch_Histology_FedCurv/workspace/.gitignore similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_Histology_FedCurv/workspace/.gitignore rename to openfl-tutorials/deprecated/interactive_api/PyTorch_Histology_FedCurv/workspace/.gitignore diff --git a/openfl-tutorials/interactive_api/PyTorch_Histology_FedCurv/workspace/pytorch_histology.ipynb b/openfl-tutorials/deprecated/interactive_api/PyTorch_Histology_FedCurv/workspace/pytorch_histology.ipynb similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_Histology_FedCurv/workspace/pytorch_histology.ipynb rename to openfl-tutorials/deprecated/interactive_api/PyTorch_Histology_FedCurv/workspace/pytorch_histology.ipynb diff --git a/openfl-tutorials/interactive_api/PyTorch_Huggingface_transformers_SUPERB/README.md b/openfl-tutorials/deprecated/interactive_api/PyTorch_Huggingface_transformers_SUPERB/README.md similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_Huggingface_transformers_SUPERB/README.md rename to openfl-tutorials/deprecated/interactive_api/PyTorch_Huggingface_transformers_SUPERB/README.md diff --git a/openfl-tutorials/interactive_api/PyTorch_Huggingface_transformers_SUPERB/director/director_config.yaml b/openfl-tutorials/deprecated/interactive_api/PyTorch_Huggingface_transformers_SUPERB/director/director_config.yaml similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_Huggingface_transformers_SUPERB/director/director_config.yaml rename to openfl-tutorials/deprecated/interactive_api/PyTorch_Huggingface_transformers_SUPERB/director/director_config.yaml diff --git a/openfl-tutorials/interactive_api/PyTorch_Huggingface_transformers_SUPERB/director/start_director.sh b/openfl-tutorials/deprecated/interactive_api/PyTorch_Huggingface_transformers_SUPERB/director/start_director.sh similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_Huggingface_transformers_SUPERB/director/start_director.sh rename to openfl-tutorials/deprecated/interactive_api/PyTorch_Huggingface_transformers_SUPERB/director/start_director.sh diff --git a/openfl-tutorials/interactive_api/PyTorch_Huggingface_transformers_SUPERB/envoy/envoy_config.yaml b/openfl-tutorials/deprecated/interactive_api/PyTorch_Huggingface_transformers_SUPERB/envoy/envoy_config.yaml similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_Huggingface_transformers_SUPERB/envoy/envoy_config.yaml rename to openfl-tutorials/deprecated/interactive_api/PyTorch_Huggingface_transformers_SUPERB/envoy/envoy_config.yaml diff --git a/openfl-tutorials/interactive_api/PyTorch_Huggingface_transformers_SUPERB/envoy/sd_requirements.txt b/openfl-tutorials/deprecated/interactive_api/PyTorch_Huggingface_transformers_SUPERB/envoy/sd_requirements.txt similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_Huggingface_transformers_SUPERB/envoy/sd_requirements.txt rename to openfl-tutorials/deprecated/interactive_api/PyTorch_Huggingface_transformers_SUPERB/envoy/sd_requirements.txt diff --git a/openfl-tutorials/interactive_api/PyTorch_Huggingface_transformers_SUPERB/envoy/start_envoy.sh b/openfl-tutorials/deprecated/interactive_api/PyTorch_Huggingface_transformers_SUPERB/envoy/start_envoy.sh similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_Huggingface_transformers_SUPERB/envoy/start_envoy.sh rename to openfl-tutorials/deprecated/interactive_api/PyTorch_Huggingface_transformers_SUPERB/envoy/start_envoy.sh diff --git a/openfl-tutorials/interactive_api/PyTorch_Huggingface_transformers_SUPERB/envoy/superb_shard_descriptor.py b/openfl-tutorials/deprecated/interactive_api/PyTorch_Huggingface_transformers_SUPERB/envoy/superb_shard_descriptor.py similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_Huggingface_transformers_SUPERB/envoy/superb_shard_descriptor.py rename to openfl-tutorials/deprecated/interactive_api/PyTorch_Huggingface_transformers_SUPERB/envoy/superb_shard_descriptor.py diff --git a/openfl-tutorials/interactive_api/PyTorch_Huggingface_transformers_SUPERB/workspace/PyTorch_Huggingface_transformers_SUPERB.ipynb b/openfl-tutorials/deprecated/interactive_api/PyTorch_Huggingface_transformers_SUPERB/workspace/PyTorch_Huggingface_transformers_SUPERB.ipynb similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_Huggingface_transformers_SUPERB/workspace/PyTorch_Huggingface_transformers_SUPERB.ipynb rename to openfl-tutorials/deprecated/interactive_api/PyTorch_Huggingface_transformers_SUPERB/workspace/PyTorch_Huggingface_transformers_SUPERB.ipynb diff --git a/openfl-tutorials/interactive_api/PyTorch_Kvasir_UNet/README.md b/openfl-tutorials/deprecated/interactive_api/PyTorch_Kvasir_UNet/README.md similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_Kvasir_UNet/README.md rename to openfl-tutorials/deprecated/interactive_api/PyTorch_Kvasir_UNet/README.md diff --git a/openfl-tutorials/interactive_api/PyTorch_Kvasir_UNet/director/director_config.yaml b/openfl-tutorials/deprecated/interactive_api/PyTorch_Kvasir_UNet/director/director_config.yaml similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_Kvasir_UNet/director/director_config.yaml rename to openfl-tutorials/deprecated/interactive_api/PyTorch_Kvasir_UNet/director/director_config.yaml diff --git a/openfl-tutorials/interactive_api/PyTorch_Kvasir_UNet/director/start_director.sh b/openfl-tutorials/deprecated/interactive_api/PyTorch_Kvasir_UNet/director/start_director.sh similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_Kvasir_UNet/director/start_director.sh rename to openfl-tutorials/deprecated/interactive_api/PyTorch_Kvasir_UNet/director/start_director.sh diff --git a/openfl-tutorials/interactive_api/PyTorch_Kvasir_UNet/director/start_director_with_tls.sh b/openfl-tutorials/deprecated/interactive_api/PyTorch_Kvasir_UNet/director/start_director_with_tls.sh similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_Kvasir_UNet/director/start_director_with_tls.sh rename to openfl-tutorials/deprecated/interactive_api/PyTorch_Kvasir_UNet/director/start_director_with_tls.sh diff --git a/openfl-tutorials/interactive_api/PyTorch_Kvasir_UNet/envoy/envoy_config.yaml b/openfl-tutorials/deprecated/interactive_api/PyTorch_Kvasir_UNet/envoy/envoy_config.yaml similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_Kvasir_UNet/envoy/envoy_config.yaml rename to openfl-tutorials/deprecated/interactive_api/PyTorch_Kvasir_UNet/envoy/envoy_config.yaml diff --git a/openfl-tutorials/interactive_api/PyTorch_Kvasir_UNet/envoy/envoy_config_no_gpu.yaml b/openfl-tutorials/deprecated/interactive_api/PyTorch_Kvasir_UNet/envoy/envoy_config_no_gpu.yaml similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_Kvasir_UNet/envoy/envoy_config_no_gpu.yaml rename to openfl-tutorials/deprecated/interactive_api/PyTorch_Kvasir_UNet/envoy/envoy_config_no_gpu.yaml diff --git a/openfl-tutorials/interactive_api/PyTorch_Kvasir_UNet/envoy/kvasir_shard_descriptor.py b/openfl-tutorials/deprecated/interactive_api/PyTorch_Kvasir_UNet/envoy/kvasir_shard_descriptor.py similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_Kvasir_UNet/envoy/kvasir_shard_descriptor.py rename to openfl-tutorials/deprecated/interactive_api/PyTorch_Kvasir_UNet/envoy/kvasir_shard_descriptor.py diff --git a/openfl-tutorials/interactive_api/PyTorch_Kvasir_UNet/envoy/kvasir_shard_descriptor_with_data_splitter.py b/openfl-tutorials/deprecated/interactive_api/PyTorch_Kvasir_UNet/envoy/kvasir_shard_descriptor_with_data_splitter.py similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_Kvasir_UNet/envoy/kvasir_shard_descriptor_with_data_splitter.py rename to openfl-tutorials/deprecated/interactive_api/PyTorch_Kvasir_UNet/envoy/kvasir_shard_descriptor_with_data_splitter.py diff --git a/openfl-tutorials/interactive_api/PyTorch_Kvasir_UNet/envoy/sd_requirements.txt b/openfl-tutorials/deprecated/interactive_api/PyTorch_Kvasir_UNet/envoy/sd_requirements.txt similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_Kvasir_UNet/envoy/sd_requirements.txt rename to openfl-tutorials/deprecated/interactive_api/PyTorch_Kvasir_UNet/envoy/sd_requirements.txt diff --git a/openfl-tutorials/interactive_api/PyTorch_Kvasir_UNet/envoy/start_envoy.sh b/openfl-tutorials/deprecated/interactive_api/PyTorch_Kvasir_UNet/envoy/start_envoy.sh similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_Kvasir_UNet/envoy/start_envoy.sh rename to openfl-tutorials/deprecated/interactive_api/PyTorch_Kvasir_UNet/envoy/start_envoy.sh diff --git a/openfl-tutorials/interactive_api/PyTorch_Kvasir_UNet/envoy/start_envoy_with_tls.sh b/openfl-tutorials/deprecated/interactive_api/PyTorch_Kvasir_UNet/envoy/start_envoy_with_tls.sh similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_Kvasir_UNet/envoy/start_envoy_with_tls.sh rename to openfl-tutorials/deprecated/interactive_api/PyTorch_Kvasir_UNet/envoy/start_envoy_with_tls.sh diff --git a/openfl-tutorials/interactive_api/PyTorch_Kvasir_UNet/workspace/PyTorch_Kvasir_UNet.ipynb b/openfl-tutorials/deprecated/interactive_api/PyTorch_Kvasir_UNet/workspace/PyTorch_Kvasir_UNet.ipynb similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_Kvasir_UNet/workspace/PyTorch_Kvasir_UNet.ipynb rename to openfl-tutorials/deprecated/interactive_api/PyTorch_Kvasir_UNet/workspace/PyTorch_Kvasir_UNet.ipynb diff --git a/openfl-tutorials/interactive_api/PyTorch_Kvasir_UNet/workspace/layers.py b/openfl-tutorials/deprecated/interactive_api/PyTorch_Kvasir_UNet/workspace/layers.py similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_Kvasir_UNet/workspace/layers.py rename to openfl-tutorials/deprecated/interactive_api/PyTorch_Kvasir_UNet/workspace/layers.py diff --git a/openfl-tutorials/interactive_api/PyTorch_Lightning_MNIST_GAN/README.md b/openfl-tutorials/deprecated/interactive_api/PyTorch_Lightning_MNIST_GAN/README.md similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_Lightning_MNIST_GAN/README.md rename to openfl-tutorials/deprecated/interactive_api/PyTorch_Lightning_MNIST_GAN/README.md diff --git a/openfl-tutorials/interactive_api/PyTorch_Lightning_MNIST_GAN/director/director_config.yaml b/openfl-tutorials/deprecated/interactive_api/PyTorch_Lightning_MNIST_GAN/director/director_config.yaml similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_Lightning_MNIST_GAN/director/director_config.yaml rename to openfl-tutorials/deprecated/interactive_api/PyTorch_Lightning_MNIST_GAN/director/director_config.yaml diff --git a/openfl-tutorials/interactive_api/PyTorch_Lightning_MNIST_GAN/director/start_director.sh b/openfl-tutorials/deprecated/interactive_api/PyTorch_Lightning_MNIST_GAN/director/start_director.sh similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_Lightning_MNIST_GAN/director/start_director.sh rename to openfl-tutorials/deprecated/interactive_api/PyTorch_Lightning_MNIST_GAN/director/start_director.sh diff --git a/openfl-tutorials/interactive_api/PyTorch_Lightning_MNIST_GAN/envoy/envoy_config.yaml b/openfl-tutorials/deprecated/interactive_api/PyTorch_Lightning_MNIST_GAN/envoy/envoy_config.yaml similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_Lightning_MNIST_GAN/envoy/envoy_config.yaml rename to openfl-tutorials/deprecated/interactive_api/PyTorch_Lightning_MNIST_GAN/envoy/envoy_config.yaml diff --git a/openfl-tutorials/interactive_api/PyTorch_Lightning_MNIST_GAN/envoy/envoy_config_no_gpu.yaml b/openfl-tutorials/deprecated/interactive_api/PyTorch_Lightning_MNIST_GAN/envoy/envoy_config_no_gpu.yaml similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_Lightning_MNIST_GAN/envoy/envoy_config_no_gpu.yaml rename to openfl-tutorials/deprecated/interactive_api/PyTorch_Lightning_MNIST_GAN/envoy/envoy_config_no_gpu.yaml diff --git a/openfl-tutorials/interactive_api/PyTorch_Lightning_MNIST_GAN/envoy/mnist_shard_descriptor.py b/openfl-tutorials/deprecated/interactive_api/PyTorch_Lightning_MNIST_GAN/envoy/mnist_shard_descriptor.py similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_Lightning_MNIST_GAN/envoy/mnist_shard_descriptor.py rename to openfl-tutorials/deprecated/interactive_api/PyTorch_Lightning_MNIST_GAN/envoy/mnist_shard_descriptor.py diff --git a/openfl-tutorials/interactive_api/PyTorch_Lightning_MNIST_GAN/envoy/sd_requirements.txt b/openfl-tutorials/deprecated/interactive_api/PyTorch_Lightning_MNIST_GAN/envoy/sd_requirements.txt similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_Lightning_MNIST_GAN/envoy/sd_requirements.txt rename to openfl-tutorials/deprecated/interactive_api/PyTorch_Lightning_MNIST_GAN/envoy/sd_requirements.txt diff --git a/openfl-tutorials/interactive_api/PyTorch_Lightning_MNIST_GAN/envoy/start_envoy.sh b/openfl-tutorials/deprecated/interactive_api/PyTorch_Lightning_MNIST_GAN/envoy/start_envoy.sh similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_Lightning_MNIST_GAN/envoy/start_envoy.sh rename to openfl-tutorials/deprecated/interactive_api/PyTorch_Lightning_MNIST_GAN/envoy/start_envoy.sh diff --git a/openfl-tutorials/interactive_api/PyTorch_Lightning_MNIST_GAN/workspace/PyTorch_Lightning_GAN.ipynb b/openfl-tutorials/deprecated/interactive_api/PyTorch_Lightning_MNIST_GAN/workspace/PyTorch_Lightning_GAN.ipynb similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_Lightning_MNIST_GAN/workspace/PyTorch_Lightning_GAN.ipynb rename to openfl-tutorials/deprecated/interactive_api/PyTorch_Lightning_MNIST_GAN/workspace/PyTorch_Lightning_GAN.ipynb diff --git a/openfl-tutorials/interactive_api/PyTorch_Lightning_MNIST_GAN/workspace/plugin_for_multiple_optimizers.py b/openfl-tutorials/deprecated/interactive_api/PyTorch_Lightning_MNIST_GAN/workspace/plugin_for_multiple_optimizers.py similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_Lightning_MNIST_GAN/workspace/plugin_for_multiple_optimizers.py rename to openfl-tutorials/deprecated/interactive_api/PyTorch_Lightning_MNIST_GAN/workspace/plugin_for_multiple_optimizers.py diff --git a/openfl-tutorials/interactive_api/PyTorch_LinearRegression/README.md b/openfl-tutorials/deprecated/interactive_api/PyTorch_LinearRegression/README.md similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_LinearRegression/README.md rename to openfl-tutorials/deprecated/interactive_api/PyTorch_LinearRegression/README.md diff --git a/openfl-tutorials/interactive_api/PyTorch_LinearRegression/director/director_config.yaml b/openfl-tutorials/deprecated/interactive_api/PyTorch_LinearRegression/director/director_config.yaml similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_LinearRegression/director/director_config.yaml rename to openfl-tutorials/deprecated/interactive_api/PyTorch_LinearRegression/director/director_config.yaml diff --git a/openfl-tutorials/interactive_api/PyTorch_LinearRegression/director/start_director.sh b/openfl-tutorials/deprecated/interactive_api/PyTorch_LinearRegression/director/start_director.sh similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_LinearRegression/director/start_director.sh rename to openfl-tutorials/deprecated/interactive_api/PyTorch_LinearRegression/director/start_director.sh diff --git a/openfl-tutorials/interactive_api/PyTorch_LinearRegression/envoy/envoy_config.yaml b/openfl-tutorials/deprecated/interactive_api/PyTorch_LinearRegression/envoy/envoy_config.yaml similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_LinearRegression/envoy/envoy_config.yaml rename to openfl-tutorials/deprecated/interactive_api/PyTorch_LinearRegression/envoy/envoy_config.yaml diff --git a/openfl-tutorials/interactive_api/PyTorch_LinearRegression/envoy/regression_shard_descriptor.py b/openfl-tutorials/deprecated/interactive_api/PyTorch_LinearRegression/envoy/regression_shard_descriptor.py similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_LinearRegression/envoy/regression_shard_descriptor.py rename to openfl-tutorials/deprecated/interactive_api/PyTorch_LinearRegression/envoy/regression_shard_descriptor.py diff --git a/openfl-tutorials/interactive_api/PyTorch_LinearRegression/envoy/requirements.txt b/openfl-tutorials/deprecated/interactive_api/PyTorch_LinearRegression/envoy/requirements.txt similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_LinearRegression/envoy/requirements.txt rename to openfl-tutorials/deprecated/interactive_api/PyTorch_LinearRegression/envoy/requirements.txt diff --git a/openfl-tutorials/interactive_api/PyTorch_LinearRegression/envoy/start_envoy.sh b/openfl-tutorials/deprecated/interactive_api/PyTorch_LinearRegression/envoy/start_envoy.sh similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_LinearRegression/envoy/start_envoy.sh rename to openfl-tutorials/deprecated/interactive_api/PyTorch_LinearRegression/envoy/start_envoy.sh diff --git a/openfl-tutorials/interactive_api/PyTorch_LinearRegression/workspace/requirements.txt b/openfl-tutorials/deprecated/interactive_api/PyTorch_LinearRegression/workspace/requirements.txt similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_LinearRegression/workspace/requirements.txt rename to openfl-tutorials/deprecated/interactive_api/PyTorch_LinearRegression/workspace/requirements.txt diff --git a/openfl-tutorials/interactive_api/PyTorch_LinearRegression/workspace/torch_linear_regression.ipynb b/openfl-tutorials/deprecated/interactive_api/PyTorch_LinearRegression/workspace/torch_linear_regression.ipynb similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_LinearRegression/workspace/torch_linear_regression.ipynb rename to openfl-tutorials/deprecated/interactive_api/PyTorch_LinearRegression/workspace/torch_linear_regression.ipynb diff --git a/openfl-tutorials/interactive_api/PyTorch_MVTec_PatchSVDD/README.md b/openfl-tutorials/deprecated/interactive_api/PyTorch_MVTec_PatchSVDD/README.md similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_MVTec_PatchSVDD/README.md rename to openfl-tutorials/deprecated/interactive_api/PyTorch_MVTec_PatchSVDD/README.md diff --git a/openfl-tutorials/interactive_api/PyTorch_MVTec_PatchSVDD/director/director_config.yaml b/openfl-tutorials/deprecated/interactive_api/PyTorch_MVTec_PatchSVDD/director/director_config.yaml similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_MVTec_PatchSVDD/director/director_config.yaml rename to openfl-tutorials/deprecated/interactive_api/PyTorch_MVTec_PatchSVDD/director/director_config.yaml diff --git a/openfl-tutorials/interactive_api/PyTorch_MVTec_PatchSVDD/director/start_director.sh b/openfl-tutorials/deprecated/interactive_api/PyTorch_MVTec_PatchSVDD/director/start_director.sh similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_MVTec_PatchSVDD/director/start_director.sh rename to openfl-tutorials/deprecated/interactive_api/PyTorch_MVTec_PatchSVDD/director/start_director.sh diff --git a/openfl-tutorials/interactive_api/PyTorch_MVTec_PatchSVDD/director/start_director_with_tls.sh b/openfl-tutorials/deprecated/interactive_api/PyTorch_MVTec_PatchSVDD/director/start_director_with_tls.sh similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_MVTec_PatchSVDD/director/start_director_with_tls.sh rename to openfl-tutorials/deprecated/interactive_api/PyTorch_MVTec_PatchSVDD/director/start_director_with_tls.sh diff --git a/openfl-tutorials/interactive_api/PyTorch_MVTec_PatchSVDD/envoy/envoy_config.yaml b/openfl-tutorials/deprecated/interactive_api/PyTorch_MVTec_PatchSVDD/envoy/envoy_config.yaml similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_MVTec_PatchSVDD/envoy/envoy_config.yaml rename to openfl-tutorials/deprecated/interactive_api/PyTorch_MVTec_PatchSVDD/envoy/envoy_config.yaml diff --git a/openfl-tutorials/interactive_api/PyTorch_MVTec_PatchSVDD/envoy/mvtec_shard_descriptor.py b/openfl-tutorials/deprecated/interactive_api/PyTorch_MVTec_PatchSVDD/envoy/mvtec_shard_descriptor.py similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_MVTec_PatchSVDD/envoy/mvtec_shard_descriptor.py rename to openfl-tutorials/deprecated/interactive_api/PyTorch_MVTec_PatchSVDD/envoy/mvtec_shard_descriptor.py diff --git a/openfl-tutorials/interactive_api/PyTorch_MVTec_PatchSVDD/envoy/sd_requirements.txt b/openfl-tutorials/deprecated/interactive_api/PyTorch_MVTec_PatchSVDD/envoy/sd_requirements.txt similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_MVTec_PatchSVDD/envoy/sd_requirements.txt rename to openfl-tutorials/deprecated/interactive_api/PyTorch_MVTec_PatchSVDD/envoy/sd_requirements.txt diff --git a/openfl-tutorials/interactive_api/PyTorch_MVTec_PatchSVDD/envoy/start_envoy.sh b/openfl-tutorials/deprecated/interactive_api/PyTorch_MVTec_PatchSVDD/envoy/start_envoy.sh similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_MVTec_PatchSVDD/envoy/start_envoy.sh rename to openfl-tutorials/deprecated/interactive_api/PyTorch_MVTec_PatchSVDD/envoy/start_envoy.sh diff --git a/openfl-tutorials/interactive_api/PyTorch_MVTec_PatchSVDD/envoy/start_envoy_with_tls.sh b/openfl-tutorials/deprecated/interactive_api/PyTorch_MVTec_PatchSVDD/envoy/start_envoy_with_tls.sh similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_MVTec_PatchSVDD/envoy/start_envoy_with_tls.sh rename to openfl-tutorials/deprecated/interactive_api/PyTorch_MVTec_PatchSVDD/envoy/start_envoy_with_tls.sh diff --git a/openfl-tutorials/interactive_api/PyTorch_MVTec_PatchSVDD/workspace/PatchSVDD_with_Director.ipynb b/openfl-tutorials/deprecated/interactive_api/PyTorch_MVTec_PatchSVDD/workspace/PatchSVDD_with_Director.ipynb similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_MVTec_PatchSVDD/workspace/PatchSVDD_with_Director.ipynb rename to openfl-tutorials/deprecated/interactive_api/PyTorch_MVTec_PatchSVDD/workspace/PatchSVDD_with_Director.ipynb diff --git a/openfl-tutorials/interactive_api/PyTorch_MVTec_PatchSVDD/workspace/data_transf.py b/openfl-tutorials/deprecated/interactive_api/PyTorch_MVTec_PatchSVDD/workspace/data_transf.py similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_MVTec_PatchSVDD/workspace/data_transf.py rename to openfl-tutorials/deprecated/interactive_api/PyTorch_MVTec_PatchSVDD/workspace/data_transf.py diff --git a/openfl-tutorials/interactive_api/PyTorch_MVTec_PatchSVDD/workspace/inspection.py b/openfl-tutorials/deprecated/interactive_api/PyTorch_MVTec_PatchSVDD/workspace/inspection.py similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_MVTec_PatchSVDD/workspace/inspection.py rename to openfl-tutorials/deprecated/interactive_api/PyTorch_MVTec_PatchSVDD/workspace/inspection.py diff --git a/openfl-tutorials/interactive_api/PyTorch_MVTec_PatchSVDD/workspace/utils.py b/openfl-tutorials/deprecated/interactive_api/PyTorch_MVTec_PatchSVDD/workspace/utils.py similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_MVTec_PatchSVDD/workspace/utils.py rename to openfl-tutorials/deprecated/interactive_api/PyTorch_MVTec_PatchSVDD/workspace/utils.py diff --git a/openfl-tutorials/interactive_api/PyTorch_Market_Re-ID/README.md b/openfl-tutorials/deprecated/interactive_api/PyTorch_Market_Re-ID/README.md similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_Market_Re-ID/README.md rename to openfl-tutorials/deprecated/interactive_api/PyTorch_Market_Re-ID/README.md diff --git a/openfl-tutorials/interactive_api/PyTorch_Market_Re-ID/director/director_config.yaml b/openfl-tutorials/deprecated/interactive_api/PyTorch_Market_Re-ID/director/director_config.yaml similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_Market_Re-ID/director/director_config.yaml rename to openfl-tutorials/deprecated/interactive_api/PyTorch_Market_Re-ID/director/director_config.yaml diff --git a/openfl-tutorials/interactive_api/PyTorch_Market_Re-ID/director/start_director.sh b/openfl-tutorials/deprecated/interactive_api/PyTorch_Market_Re-ID/director/start_director.sh similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_Market_Re-ID/director/start_director.sh rename to openfl-tutorials/deprecated/interactive_api/PyTorch_Market_Re-ID/director/start_director.sh diff --git a/openfl-tutorials/interactive_api/PyTorch_Market_Re-ID/director/start_director_with_tls.sh b/openfl-tutorials/deprecated/interactive_api/PyTorch_Market_Re-ID/director/start_director_with_tls.sh similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_Market_Re-ID/director/start_director_with_tls.sh rename to openfl-tutorials/deprecated/interactive_api/PyTorch_Market_Re-ID/director/start_director_with_tls.sh diff --git a/openfl-tutorials/interactive_api/PyTorch_Market_Re-ID/envoy/envoy_config_one.yaml b/openfl-tutorials/deprecated/interactive_api/PyTorch_Market_Re-ID/envoy/envoy_config_one.yaml similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_Market_Re-ID/envoy/envoy_config_one.yaml rename to openfl-tutorials/deprecated/interactive_api/PyTorch_Market_Re-ID/envoy/envoy_config_one.yaml diff --git a/openfl-tutorials/interactive_api/PyTorch_Market_Re-ID/envoy/envoy_config_two.yaml b/openfl-tutorials/deprecated/interactive_api/PyTorch_Market_Re-ID/envoy/envoy_config_two.yaml similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_Market_Re-ID/envoy/envoy_config_two.yaml rename to openfl-tutorials/deprecated/interactive_api/PyTorch_Market_Re-ID/envoy/envoy_config_two.yaml diff --git a/openfl-tutorials/interactive_api/PyTorch_Market_Re-ID/envoy/market_shard_descriptor.py b/openfl-tutorials/deprecated/interactive_api/PyTorch_Market_Re-ID/envoy/market_shard_descriptor.py similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_Market_Re-ID/envoy/market_shard_descriptor.py rename to openfl-tutorials/deprecated/interactive_api/PyTorch_Market_Re-ID/envoy/market_shard_descriptor.py diff --git a/openfl-tutorials/interactive_api/PyTorch_Market_Re-ID/envoy/requirements.txt b/openfl-tutorials/deprecated/interactive_api/PyTorch_Market_Re-ID/envoy/requirements.txt similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_Market_Re-ID/envoy/requirements.txt rename to openfl-tutorials/deprecated/interactive_api/PyTorch_Market_Re-ID/envoy/requirements.txt diff --git a/openfl-tutorials/interactive_api/PyTorch_Market_Re-ID/envoy/start_envoy.sh b/openfl-tutorials/deprecated/interactive_api/PyTorch_Market_Re-ID/envoy/start_envoy.sh similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_Market_Re-ID/envoy/start_envoy.sh rename to openfl-tutorials/deprecated/interactive_api/PyTorch_Market_Re-ID/envoy/start_envoy.sh diff --git a/openfl-tutorials/interactive_api/PyTorch_Market_Re-ID/envoy/start_envoy_with_tls.sh b/openfl-tutorials/deprecated/interactive_api/PyTorch_Market_Re-ID/envoy/start_envoy_with_tls.sh similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_Market_Re-ID/envoy/start_envoy_with_tls.sh rename to openfl-tutorials/deprecated/interactive_api/PyTorch_Market_Re-ID/envoy/start_envoy_with_tls.sh diff --git a/openfl-tutorials/interactive_api/PyTorch_Market_Re-ID/workspace/PyTorch_Market_Re-ID.ipynb b/openfl-tutorials/deprecated/interactive_api/PyTorch_Market_Re-ID/workspace/PyTorch_Market_Re-ID.ipynb similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_Market_Re-ID/workspace/PyTorch_Market_Re-ID.ipynb rename to openfl-tutorials/deprecated/interactive_api/PyTorch_Market_Re-ID/workspace/PyTorch_Market_Re-ID.ipynb diff --git a/openfl-tutorials/interactive_api/PyTorch_Market_Re-ID/workspace/losses.py b/openfl-tutorials/deprecated/interactive_api/PyTorch_Market_Re-ID/workspace/losses.py similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_Market_Re-ID/workspace/losses.py rename to openfl-tutorials/deprecated/interactive_api/PyTorch_Market_Re-ID/workspace/losses.py diff --git a/openfl-tutorials/interactive_api/PyTorch_Market_Re-ID/workspace/requirements.txt b/openfl-tutorials/deprecated/interactive_api/PyTorch_Market_Re-ID/workspace/requirements.txt similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_Market_Re-ID/workspace/requirements.txt rename to openfl-tutorials/deprecated/interactive_api/PyTorch_Market_Re-ID/workspace/requirements.txt diff --git a/openfl-tutorials/interactive_api/PyTorch_Market_Re-ID/workspace/tools.py b/openfl-tutorials/deprecated/interactive_api/PyTorch_Market_Re-ID/workspace/tools.py similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_Market_Re-ID/workspace/tools.py rename to openfl-tutorials/deprecated/interactive_api/PyTorch_Market_Re-ID/workspace/tools.py diff --git a/openfl-tutorials/interactive_api/PyTorch_Market_Re-ID/workspace/transforms.py b/openfl-tutorials/deprecated/interactive_api/PyTorch_Market_Re-ID/workspace/transforms.py similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_Market_Re-ID/workspace/transforms.py rename to openfl-tutorials/deprecated/interactive_api/PyTorch_Market_Re-ID/workspace/transforms.py diff --git a/openfl-tutorials/interactive_api/PyTorch_MedMNIST_2D/README.md b/openfl-tutorials/deprecated/interactive_api/PyTorch_MedMNIST_2D/README.md similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_MedMNIST_2D/README.md rename to openfl-tutorials/deprecated/interactive_api/PyTorch_MedMNIST_2D/README.md diff --git a/openfl-tutorials/interactive_api/PyTorch_MedMNIST_2D/director/director_config.yaml b/openfl-tutorials/deprecated/interactive_api/PyTorch_MedMNIST_2D/director/director_config.yaml similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_MedMNIST_2D/director/director_config.yaml rename to openfl-tutorials/deprecated/interactive_api/PyTorch_MedMNIST_2D/director/director_config.yaml diff --git a/openfl-tutorials/interactive_api/PyTorch_MedMNIST_2D/director/start_director.sh b/openfl-tutorials/deprecated/interactive_api/PyTorch_MedMNIST_2D/director/start_director.sh similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_MedMNIST_2D/director/start_director.sh rename to openfl-tutorials/deprecated/interactive_api/PyTorch_MedMNIST_2D/director/start_director.sh diff --git a/openfl-tutorials/interactive_api/PyTorch_MedMNIST_2D/envoy/envoy_config.yaml b/openfl-tutorials/deprecated/interactive_api/PyTorch_MedMNIST_2D/envoy/envoy_config.yaml similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_MedMNIST_2D/envoy/envoy_config.yaml rename to openfl-tutorials/deprecated/interactive_api/PyTorch_MedMNIST_2D/envoy/envoy_config.yaml diff --git a/openfl-tutorials/interactive_api/PyTorch_MedMNIST_2D/envoy/medmnist_shard_descriptor.py b/openfl-tutorials/deprecated/interactive_api/PyTorch_MedMNIST_2D/envoy/medmnist_shard_descriptor.py similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_MedMNIST_2D/envoy/medmnist_shard_descriptor.py rename to openfl-tutorials/deprecated/interactive_api/PyTorch_MedMNIST_2D/envoy/medmnist_shard_descriptor.py diff --git a/openfl-tutorials/interactive_api/PyTorch_MedMNIST_2D/envoy/requirements.txt b/openfl-tutorials/deprecated/interactive_api/PyTorch_MedMNIST_2D/envoy/requirements.txt similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_MedMNIST_2D/envoy/requirements.txt rename to openfl-tutorials/deprecated/interactive_api/PyTorch_MedMNIST_2D/envoy/requirements.txt diff --git a/openfl-tutorials/interactive_api/PyTorch_MedMNIST_2D/envoy/start_envoy.sh b/openfl-tutorials/deprecated/interactive_api/PyTorch_MedMNIST_2D/envoy/start_envoy.sh similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_MedMNIST_2D/envoy/start_envoy.sh rename to openfl-tutorials/deprecated/interactive_api/PyTorch_MedMNIST_2D/envoy/start_envoy.sh diff --git a/openfl-tutorials/interactive_api/PyTorch_MedMNIST_2D/workspace/Pytorch_MedMNIST_2D.ipynb b/openfl-tutorials/deprecated/interactive_api/PyTorch_MedMNIST_2D/workspace/Pytorch_MedMNIST_2D.ipynb similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_MedMNIST_2D/workspace/Pytorch_MedMNIST_2D.ipynb rename to openfl-tutorials/deprecated/interactive_api/PyTorch_MedMNIST_2D/workspace/Pytorch_MedMNIST_2D.ipynb diff --git a/openfl-tutorials/interactive_api/PyTorch_MedMNIST_3D/README.md b/openfl-tutorials/deprecated/interactive_api/PyTorch_MedMNIST_3D/README.md similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_MedMNIST_3D/README.md rename to openfl-tutorials/deprecated/interactive_api/PyTorch_MedMNIST_3D/README.md diff --git a/openfl-tutorials/interactive_api/PyTorch_MedMNIST_3D/director/director_config.yaml b/openfl-tutorials/deprecated/interactive_api/PyTorch_MedMNIST_3D/director/director_config.yaml similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_MedMNIST_3D/director/director_config.yaml rename to openfl-tutorials/deprecated/interactive_api/PyTorch_MedMNIST_3D/director/director_config.yaml diff --git a/openfl-tutorials/interactive_api/PyTorch_MedMNIST_3D/director/start_director.sh b/openfl-tutorials/deprecated/interactive_api/PyTorch_MedMNIST_3D/director/start_director.sh similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_MedMNIST_3D/director/start_director.sh rename to openfl-tutorials/deprecated/interactive_api/PyTorch_MedMNIST_3D/director/start_director.sh diff --git a/openfl-tutorials/interactive_api/PyTorch_MedMNIST_3D/envoy/envoy_config.yaml b/openfl-tutorials/deprecated/interactive_api/PyTorch_MedMNIST_3D/envoy/envoy_config.yaml similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_MedMNIST_3D/envoy/envoy_config.yaml rename to openfl-tutorials/deprecated/interactive_api/PyTorch_MedMNIST_3D/envoy/envoy_config.yaml diff --git a/openfl-tutorials/interactive_api/PyTorch_MedMNIST_3D/envoy/medmnist_shard_descriptor.py b/openfl-tutorials/deprecated/interactive_api/PyTorch_MedMNIST_3D/envoy/medmnist_shard_descriptor.py similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_MedMNIST_3D/envoy/medmnist_shard_descriptor.py rename to openfl-tutorials/deprecated/interactive_api/PyTorch_MedMNIST_3D/envoy/medmnist_shard_descriptor.py diff --git a/openfl-tutorials/interactive_api/PyTorch_MedMNIST_3D/envoy/requirements.txt b/openfl-tutorials/deprecated/interactive_api/PyTorch_MedMNIST_3D/envoy/requirements.txt similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_MedMNIST_3D/envoy/requirements.txt rename to openfl-tutorials/deprecated/interactive_api/PyTorch_MedMNIST_3D/envoy/requirements.txt diff --git a/openfl-tutorials/interactive_api/PyTorch_MedMNIST_3D/envoy/start_envoy.sh b/openfl-tutorials/deprecated/interactive_api/PyTorch_MedMNIST_3D/envoy/start_envoy.sh similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_MedMNIST_3D/envoy/start_envoy.sh rename to openfl-tutorials/deprecated/interactive_api/PyTorch_MedMNIST_3D/envoy/start_envoy.sh diff --git a/openfl-tutorials/interactive_api/PyTorch_MedMNIST_3D/workspace/Pytorch_MedMNIST_3D.ipynb b/openfl-tutorials/deprecated/interactive_api/PyTorch_MedMNIST_3D/workspace/Pytorch_MedMNIST_3D.ipynb similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_MedMNIST_3D/workspace/Pytorch_MedMNIST_3D.ipynb rename to openfl-tutorials/deprecated/interactive_api/PyTorch_MedMNIST_3D/workspace/Pytorch_MedMNIST_3D.ipynb diff --git a/openfl-tutorials/interactive_api/PyTorch_MedMNIST_3D/workspace/wspace_utils/__init__.py b/openfl-tutorials/deprecated/interactive_api/PyTorch_MedMNIST_3D/workspace/wspace_utils/__init__.py similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_MedMNIST_3D/workspace/wspace_utils/__init__.py rename to openfl-tutorials/deprecated/interactive_api/PyTorch_MedMNIST_3D/workspace/wspace_utils/__init__.py diff --git a/openfl-tutorials/interactive_api/PyTorch_MedMNIST_3D/workspace/wspace_utils/batchnorm.py b/openfl-tutorials/deprecated/interactive_api/PyTorch_MedMNIST_3D/workspace/wspace_utils/batchnorm.py similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_MedMNIST_3D/workspace/wspace_utils/batchnorm.py rename to openfl-tutorials/deprecated/interactive_api/PyTorch_MedMNIST_3D/workspace/wspace_utils/batchnorm.py diff --git a/openfl-tutorials/interactive_api/PyTorch_MedMNIST_3D/workspace/wspace_utils/comm.py b/openfl-tutorials/deprecated/interactive_api/PyTorch_MedMNIST_3D/workspace/wspace_utils/comm.py similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_MedMNIST_3D/workspace/wspace_utils/comm.py rename to openfl-tutorials/deprecated/interactive_api/PyTorch_MedMNIST_3D/workspace/wspace_utils/comm.py diff --git a/openfl-tutorials/interactive_api/PyTorch_MedMNIST_3D/workspace/wspace_utils/replicate.py b/openfl-tutorials/deprecated/interactive_api/PyTorch_MedMNIST_3D/workspace/wspace_utils/replicate.py similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_MedMNIST_3D/workspace/wspace_utils/replicate.py rename to openfl-tutorials/deprecated/interactive_api/PyTorch_MedMNIST_3D/workspace/wspace_utils/replicate.py diff --git a/openfl-tutorials/interactive_api/PyTorch_MedMNIST_3D/workspace/wspace_utils/utils.py b/openfl-tutorials/deprecated/interactive_api/PyTorch_MedMNIST_3D/workspace/wspace_utils/utils.py similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_MedMNIST_3D/workspace/wspace_utils/utils.py rename to openfl-tutorials/deprecated/interactive_api/PyTorch_MedMNIST_3D/workspace/wspace_utils/utils.py diff --git a/openfl-tutorials/interactive_api/PyTorch_TinyImageNet/README.md b/openfl-tutorials/deprecated/interactive_api/PyTorch_TinyImageNet/README.md similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_TinyImageNet/README.md rename to openfl-tutorials/deprecated/interactive_api/PyTorch_TinyImageNet/README.md diff --git a/openfl-tutorials/interactive_api/PyTorch_TinyImageNet/director/director_config.yaml b/openfl-tutorials/deprecated/interactive_api/PyTorch_TinyImageNet/director/director_config.yaml similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_TinyImageNet/director/director_config.yaml rename to openfl-tutorials/deprecated/interactive_api/PyTorch_TinyImageNet/director/director_config.yaml diff --git a/openfl-tutorials/interactive_api/PyTorch_TinyImageNet/director/start_director.sh b/openfl-tutorials/deprecated/interactive_api/PyTorch_TinyImageNet/director/start_director.sh similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_TinyImageNet/director/start_director.sh rename to openfl-tutorials/deprecated/interactive_api/PyTorch_TinyImageNet/director/start_director.sh diff --git a/openfl-tutorials/interactive_api/PyTorch_TinyImageNet/director/start_director_with_tls.sh b/openfl-tutorials/deprecated/interactive_api/PyTorch_TinyImageNet/director/start_director_with_tls.sh similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_TinyImageNet/director/start_director_with_tls.sh rename to openfl-tutorials/deprecated/interactive_api/PyTorch_TinyImageNet/director/start_director_with_tls.sh diff --git a/openfl-tutorials/interactive_api/PyTorch_TinyImageNet/envoy/envoy_config.yaml b/openfl-tutorials/deprecated/interactive_api/PyTorch_TinyImageNet/envoy/envoy_config.yaml similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_TinyImageNet/envoy/envoy_config.yaml rename to openfl-tutorials/deprecated/interactive_api/PyTorch_TinyImageNet/envoy/envoy_config.yaml diff --git a/openfl-tutorials/interactive_api/PyTorch_TinyImageNet/envoy/requirements.txt b/openfl-tutorials/deprecated/interactive_api/PyTorch_TinyImageNet/envoy/requirements.txt similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_TinyImageNet/envoy/requirements.txt rename to openfl-tutorials/deprecated/interactive_api/PyTorch_TinyImageNet/envoy/requirements.txt diff --git a/openfl-tutorials/interactive_api/PyTorch_TinyImageNet/envoy/start_envoy.sh b/openfl-tutorials/deprecated/interactive_api/PyTorch_TinyImageNet/envoy/start_envoy.sh similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_TinyImageNet/envoy/start_envoy.sh rename to openfl-tutorials/deprecated/interactive_api/PyTorch_TinyImageNet/envoy/start_envoy.sh diff --git a/openfl-tutorials/interactive_api/PyTorch_TinyImageNet/envoy/start_envoy_with_tls.sh b/openfl-tutorials/deprecated/interactive_api/PyTorch_TinyImageNet/envoy/start_envoy_with_tls.sh similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_TinyImageNet/envoy/start_envoy_with_tls.sh rename to openfl-tutorials/deprecated/interactive_api/PyTorch_TinyImageNet/envoy/start_envoy_with_tls.sh diff --git a/openfl-tutorials/interactive_api/PyTorch_TinyImageNet/envoy/tinyimagenet_shard_descriptor.py b/openfl-tutorials/deprecated/interactive_api/PyTorch_TinyImageNet/envoy/tinyimagenet_shard_descriptor.py similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_TinyImageNet/envoy/tinyimagenet_shard_descriptor.py rename to openfl-tutorials/deprecated/interactive_api/PyTorch_TinyImageNet/envoy/tinyimagenet_shard_descriptor.py diff --git a/openfl-tutorials/interactive_api/PyTorch_TinyImageNet/workspace/non-federated_case.ipynb b/openfl-tutorials/deprecated/interactive_api/PyTorch_TinyImageNet/workspace/non-federated_case.ipynb similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_TinyImageNet/workspace/non-federated_case.ipynb rename to openfl-tutorials/deprecated/interactive_api/PyTorch_TinyImageNet/workspace/non-federated_case.ipynb diff --git a/openfl-tutorials/interactive_api/PyTorch_TinyImageNet/workspace/pytorch_tinyimagenet.ipynb b/openfl-tutorials/deprecated/interactive_api/PyTorch_TinyImageNet/workspace/pytorch_tinyimagenet.ipynb similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_TinyImageNet/workspace/pytorch_tinyimagenet.ipynb rename to openfl-tutorials/deprecated/interactive_api/PyTorch_TinyImageNet/workspace/pytorch_tinyimagenet.ipynb diff --git a/openfl-tutorials/interactive_api/PyTorch_TinyImageNet/workspace/requirements.txt b/openfl-tutorials/deprecated/interactive_api/PyTorch_TinyImageNet/workspace/requirements.txt similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_TinyImageNet/workspace/requirements.txt rename to openfl-tutorials/deprecated/interactive_api/PyTorch_TinyImageNet/workspace/requirements.txt diff --git a/openfl-tutorials/interactive_api/PyTorch_TinyImageNet_XPU/README.md b/openfl-tutorials/deprecated/interactive_api/PyTorch_TinyImageNet_XPU/README.md similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_TinyImageNet_XPU/README.md rename to openfl-tutorials/deprecated/interactive_api/PyTorch_TinyImageNet_XPU/README.md diff --git a/openfl-tutorials/interactive_api/PyTorch_TinyImageNet_XPU/director/director_config.yaml b/openfl-tutorials/deprecated/interactive_api/PyTorch_TinyImageNet_XPU/director/director_config.yaml similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_TinyImageNet_XPU/director/director_config.yaml rename to openfl-tutorials/deprecated/interactive_api/PyTorch_TinyImageNet_XPU/director/director_config.yaml diff --git a/openfl-tutorials/interactive_api/PyTorch_TinyImageNet_XPU/director/start_director.sh b/openfl-tutorials/deprecated/interactive_api/PyTorch_TinyImageNet_XPU/director/start_director.sh similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_TinyImageNet_XPU/director/start_director.sh rename to openfl-tutorials/deprecated/interactive_api/PyTorch_TinyImageNet_XPU/director/start_director.sh diff --git a/openfl-tutorials/interactive_api/PyTorch_TinyImageNet_XPU/director/start_director_with_tls.sh b/openfl-tutorials/deprecated/interactive_api/PyTorch_TinyImageNet_XPU/director/start_director_with_tls.sh similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_TinyImageNet_XPU/director/start_director_with_tls.sh rename to openfl-tutorials/deprecated/interactive_api/PyTorch_TinyImageNet_XPU/director/start_director_with_tls.sh diff --git a/openfl-tutorials/interactive_api/PyTorch_TinyImageNet_XPU/envoy/envoy_config.yaml b/openfl-tutorials/deprecated/interactive_api/PyTorch_TinyImageNet_XPU/envoy/envoy_config.yaml similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_TinyImageNet_XPU/envoy/envoy_config.yaml rename to openfl-tutorials/deprecated/interactive_api/PyTorch_TinyImageNet_XPU/envoy/envoy_config.yaml diff --git a/openfl-tutorials/interactive_api/PyTorch_TinyImageNet_XPU/envoy/requirements.txt b/openfl-tutorials/deprecated/interactive_api/PyTorch_TinyImageNet_XPU/envoy/requirements.txt similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_TinyImageNet_XPU/envoy/requirements.txt rename to openfl-tutorials/deprecated/interactive_api/PyTorch_TinyImageNet_XPU/envoy/requirements.txt diff --git a/openfl-tutorials/interactive_api/PyTorch_TinyImageNet_XPU/envoy/start_envoy.sh b/openfl-tutorials/deprecated/interactive_api/PyTorch_TinyImageNet_XPU/envoy/start_envoy.sh similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_TinyImageNet_XPU/envoy/start_envoy.sh rename to openfl-tutorials/deprecated/interactive_api/PyTorch_TinyImageNet_XPU/envoy/start_envoy.sh diff --git a/openfl-tutorials/interactive_api/PyTorch_TinyImageNet_XPU/envoy/start_envoy_with_tls.sh b/openfl-tutorials/deprecated/interactive_api/PyTorch_TinyImageNet_XPU/envoy/start_envoy_with_tls.sh similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_TinyImageNet_XPU/envoy/start_envoy_with_tls.sh rename to openfl-tutorials/deprecated/interactive_api/PyTorch_TinyImageNet_XPU/envoy/start_envoy_with_tls.sh diff --git a/openfl-tutorials/interactive_api/PyTorch_TinyImageNet_XPU/envoy/tinyimagenet_shard_descriptor.py b/openfl-tutorials/deprecated/interactive_api/PyTorch_TinyImageNet_XPU/envoy/tinyimagenet_shard_descriptor.py similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_TinyImageNet_XPU/envoy/tinyimagenet_shard_descriptor.py rename to openfl-tutorials/deprecated/interactive_api/PyTorch_TinyImageNet_XPU/envoy/tinyimagenet_shard_descriptor.py diff --git a/openfl-tutorials/interactive_api/PyTorch_TinyImageNet_XPU/workspace/pytorch_tinyimagenet_XPU.ipynb b/openfl-tutorials/deprecated/interactive_api/PyTorch_TinyImageNet_XPU/workspace/pytorch_tinyimagenet_XPU.ipynb similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_TinyImageNet_XPU/workspace/pytorch_tinyimagenet_XPU.ipynb rename to openfl-tutorials/deprecated/interactive_api/PyTorch_TinyImageNet_XPU/workspace/pytorch_tinyimagenet_XPU.ipynb diff --git a/openfl-tutorials/interactive_api/PyTorch_TinyImageNet_XPU/workspace/requirements.txt b/openfl-tutorials/deprecated/interactive_api/PyTorch_TinyImageNet_XPU/workspace/requirements.txt similarity index 100% rename from openfl-tutorials/interactive_api/PyTorch_TinyImageNet_XPU/workspace/requirements.txt rename to openfl-tutorials/deprecated/interactive_api/PyTorch_TinyImageNet_XPU/workspace/requirements.txt diff --git a/openfl-tutorials/interactive_api/README.md b/openfl-tutorials/deprecated/interactive_api/README.md similarity index 100% rename from openfl-tutorials/interactive_api/README.md rename to openfl-tutorials/deprecated/interactive_api/README.md diff --git a/openfl-tutorials/interactive_api/Tensorflow_CIFAR_tfdata/README.md b/openfl-tutorials/deprecated/interactive_api/Tensorflow_CIFAR_tfdata/README.md similarity index 100% rename from openfl-tutorials/interactive_api/Tensorflow_CIFAR_tfdata/README.md rename to openfl-tutorials/deprecated/interactive_api/Tensorflow_CIFAR_tfdata/README.md diff --git a/openfl-tutorials/interactive_api/Tensorflow_CIFAR_tfdata/director/director_config.yaml b/openfl-tutorials/deprecated/interactive_api/Tensorflow_CIFAR_tfdata/director/director_config.yaml similarity index 100% rename from openfl-tutorials/interactive_api/Tensorflow_CIFAR_tfdata/director/director_config.yaml rename to openfl-tutorials/deprecated/interactive_api/Tensorflow_CIFAR_tfdata/director/director_config.yaml diff --git a/openfl-tutorials/interactive_api/Tensorflow_CIFAR_tfdata/director/start_director.sh b/openfl-tutorials/deprecated/interactive_api/Tensorflow_CIFAR_tfdata/director/start_director.sh similarity index 100% rename from openfl-tutorials/interactive_api/Tensorflow_CIFAR_tfdata/director/start_director.sh rename to openfl-tutorials/deprecated/interactive_api/Tensorflow_CIFAR_tfdata/director/start_director.sh diff --git a/openfl-tutorials/interactive_api/Tensorflow_CIFAR_tfdata/envoy/cifar10_shard_descriptor.py b/openfl-tutorials/deprecated/interactive_api/Tensorflow_CIFAR_tfdata/envoy/cifar10_shard_descriptor.py similarity index 100% rename from openfl-tutorials/interactive_api/Tensorflow_CIFAR_tfdata/envoy/cifar10_shard_descriptor.py rename to openfl-tutorials/deprecated/interactive_api/Tensorflow_CIFAR_tfdata/envoy/cifar10_shard_descriptor.py diff --git a/openfl-tutorials/interactive_api/Tensorflow_CIFAR_tfdata/envoy/envoy_config_one.yaml b/openfl-tutorials/deprecated/interactive_api/Tensorflow_CIFAR_tfdata/envoy/envoy_config_one.yaml similarity index 100% rename from openfl-tutorials/interactive_api/Tensorflow_CIFAR_tfdata/envoy/envoy_config_one.yaml rename to openfl-tutorials/deprecated/interactive_api/Tensorflow_CIFAR_tfdata/envoy/envoy_config_one.yaml diff --git a/openfl-tutorials/interactive_api/Tensorflow_CIFAR_tfdata/envoy/envoy_config_two.yaml b/openfl-tutorials/deprecated/interactive_api/Tensorflow_CIFAR_tfdata/envoy/envoy_config_two.yaml similarity index 100% rename from openfl-tutorials/interactive_api/Tensorflow_CIFAR_tfdata/envoy/envoy_config_two.yaml rename to openfl-tutorials/deprecated/interactive_api/Tensorflow_CIFAR_tfdata/envoy/envoy_config_two.yaml diff --git a/openfl-tutorials/interactive_api/Tensorflow_CIFAR_tfdata/envoy/start_envoy.sh b/openfl-tutorials/deprecated/interactive_api/Tensorflow_CIFAR_tfdata/envoy/start_envoy.sh similarity index 100% rename from openfl-tutorials/interactive_api/Tensorflow_CIFAR_tfdata/envoy/start_envoy.sh rename to openfl-tutorials/deprecated/interactive_api/Tensorflow_CIFAR_tfdata/envoy/start_envoy.sh diff --git a/openfl-tutorials/interactive_api/Tensorflow_CIFAR_tfdata/workspace/Tensorflow_CIFAR.ipynb b/openfl-tutorials/deprecated/interactive_api/Tensorflow_CIFAR_tfdata/workspace/Tensorflow_CIFAR.ipynb similarity index 100% rename from openfl-tutorials/interactive_api/Tensorflow_CIFAR_tfdata/workspace/Tensorflow_CIFAR.ipynb rename to openfl-tutorials/deprecated/interactive_api/Tensorflow_CIFAR_tfdata/workspace/Tensorflow_CIFAR.ipynb diff --git a/openfl-tutorials/interactive_api/Tensorflow_MNIST/README.md b/openfl-tutorials/deprecated/interactive_api/Tensorflow_MNIST/README.md similarity index 100% rename from openfl-tutorials/interactive_api/Tensorflow_MNIST/README.md rename to openfl-tutorials/deprecated/interactive_api/Tensorflow_MNIST/README.md diff --git a/openfl-tutorials/interactive_api/Tensorflow_MNIST/director/director_config.yaml b/openfl-tutorials/deprecated/interactive_api/Tensorflow_MNIST/director/director_config.yaml similarity index 100% rename from openfl-tutorials/interactive_api/Tensorflow_MNIST/director/director_config.yaml rename to openfl-tutorials/deprecated/interactive_api/Tensorflow_MNIST/director/director_config.yaml diff --git a/openfl-tutorials/interactive_api/Tensorflow_MNIST/director/start_director.sh b/openfl-tutorials/deprecated/interactive_api/Tensorflow_MNIST/director/start_director.sh similarity index 100% rename from openfl-tutorials/interactive_api/Tensorflow_MNIST/director/start_director.sh rename to openfl-tutorials/deprecated/interactive_api/Tensorflow_MNIST/director/start_director.sh diff --git a/openfl-tutorials/interactive_api/Tensorflow_MNIST/director/start_director_with_tls.sh b/openfl-tutorials/deprecated/interactive_api/Tensorflow_MNIST/director/start_director_with_tls.sh similarity index 100% rename from openfl-tutorials/interactive_api/Tensorflow_MNIST/director/start_director_with_tls.sh rename to openfl-tutorials/deprecated/interactive_api/Tensorflow_MNIST/director/start_director_with_tls.sh diff --git a/openfl-tutorials/interactive_api/Tensorflow_MNIST/envoy/envoy_config_one.yaml b/openfl-tutorials/deprecated/interactive_api/Tensorflow_MNIST/envoy/envoy_config_one.yaml similarity index 100% rename from openfl-tutorials/interactive_api/Tensorflow_MNIST/envoy/envoy_config_one.yaml rename to openfl-tutorials/deprecated/interactive_api/Tensorflow_MNIST/envoy/envoy_config_one.yaml diff --git a/openfl-tutorials/interactive_api/Tensorflow_MNIST/envoy/envoy_config_two.yaml b/openfl-tutorials/deprecated/interactive_api/Tensorflow_MNIST/envoy/envoy_config_two.yaml similarity index 100% rename from openfl-tutorials/interactive_api/Tensorflow_MNIST/envoy/envoy_config_two.yaml rename to openfl-tutorials/deprecated/interactive_api/Tensorflow_MNIST/envoy/envoy_config_two.yaml diff --git a/openfl-tutorials/interactive_api/Tensorflow_MNIST/envoy/mnist_shard_descriptor.py b/openfl-tutorials/deprecated/interactive_api/Tensorflow_MNIST/envoy/mnist_shard_descriptor.py similarity index 100% rename from openfl-tutorials/interactive_api/Tensorflow_MNIST/envoy/mnist_shard_descriptor.py rename to openfl-tutorials/deprecated/interactive_api/Tensorflow_MNIST/envoy/mnist_shard_descriptor.py diff --git a/openfl-tutorials/interactive_api/Tensorflow_MNIST/envoy/start_envoy.sh b/openfl-tutorials/deprecated/interactive_api/Tensorflow_MNIST/envoy/start_envoy.sh similarity index 100% rename from openfl-tutorials/interactive_api/Tensorflow_MNIST/envoy/start_envoy.sh rename to openfl-tutorials/deprecated/interactive_api/Tensorflow_MNIST/envoy/start_envoy.sh diff --git a/openfl-tutorials/interactive_api/Tensorflow_MNIST/envoy/start_envoy_with_tls.sh b/openfl-tutorials/deprecated/interactive_api/Tensorflow_MNIST/envoy/start_envoy_with_tls.sh similarity index 100% rename from openfl-tutorials/interactive_api/Tensorflow_MNIST/envoy/start_envoy_with_tls.sh rename to openfl-tutorials/deprecated/interactive_api/Tensorflow_MNIST/envoy/start_envoy_with_tls.sh diff --git a/openfl-tutorials/interactive_api/Tensorflow_MNIST/workspace/Tensorflow_MNIST.ipynb b/openfl-tutorials/deprecated/interactive_api/Tensorflow_MNIST/workspace/Tensorflow_MNIST.ipynb similarity index 100% rename from openfl-tutorials/interactive_api/Tensorflow_MNIST/workspace/Tensorflow_MNIST.ipynb rename to openfl-tutorials/deprecated/interactive_api/Tensorflow_MNIST/workspace/Tensorflow_MNIST.ipynb diff --git a/openfl-tutorials/interactive_api/Tensorflow_Word_Prediction/README.md b/openfl-tutorials/deprecated/interactive_api/Tensorflow_Word_Prediction/README.md similarity index 100% rename from openfl-tutorials/interactive_api/Tensorflow_Word_Prediction/README.md rename to openfl-tutorials/deprecated/interactive_api/Tensorflow_Word_Prediction/README.md diff --git a/openfl-tutorials/interactive_api/Tensorflow_Word_Prediction/director/director_config.yaml b/openfl-tutorials/deprecated/interactive_api/Tensorflow_Word_Prediction/director/director_config.yaml similarity index 100% rename from openfl-tutorials/interactive_api/Tensorflow_Word_Prediction/director/director_config.yaml rename to openfl-tutorials/deprecated/interactive_api/Tensorflow_Word_Prediction/director/director_config.yaml diff --git a/openfl-tutorials/interactive_api/Tensorflow_Word_Prediction/director/start_director.sh b/openfl-tutorials/deprecated/interactive_api/Tensorflow_Word_Prediction/director/start_director.sh similarity index 100% rename from openfl-tutorials/interactive_api/Tensorflow_Word_Prediction/director/start_director.sh rename to openfl-tutorials/deprecated/interactive_api/Tensorflow_Word_Prediction/director/start_director.sh diff --git a/openfl-tutorials/interactive_api/Tensorflow_Word_Prediction/director/start_director_with_tls.sh b/openfl-tutorials/deprecated/interactive_api/Tensorflow_Word_Prediction/director/start_director_with_tls.sh similarity index 100% rename from openfl-tutorials/interactive_api/Tensorflow_Word_Prediction/director/start_director_with_tls.sh rename to openfl-tutorials/deprecated/interactive_api/Tensorflow_Word_Prediction/director/start_director_with_tls.sh diff --git a/openfl-tutorials/interactive_api/Tensorflow_Word_Prediction/envoy/envoy_config_one.yaml b/openfl-tutorials/deprecated/interactive_api/Tensorflow_Word_Prediction/envoy/envoy_config_one.yaml similarity index 100% rename from openfl-tutorials/interactive_api/Tensorflow_Word_Prediction/envoy/envoy_config_one.yaml rename to openfl-tutorials/deprecated/interactive_api/Tensorflow_Word_Prediction/envoy/envoy_config_one.yaml diff --git a/openfl-tutorials/interactive_api/Tensorflow_Word_Prediction/envoy/envoy_config_three.yaml b/openfl-tutorials/deprecated/interactive_api/Tensorflow_Word_Prediction/envoy/envoy_config_three.yaml similarity index 100% rename from openfl-tutorials/interactive_api/Tensorflow_Word_Prediction/envoy/envoy_config_three.yaml rename to openfl-tutorials/deprecated/interactive_api/Tensorflow_Word_Prediction/envoy/envoy_config_three.yaml diff --git a/openfl-tutorials/interactive_api/Tensorflow_Word_Prediction/envoy/envoy_config_two.yaml b/openfl-tutorials/deprecated/interactive_api/Tensorflow_Word_Prediction/envoy/envoy_config_two.yaml similarity index 100% rename from openfl-tutorials/interactive_api/Tensorflow_Word_Prediction/envoy/envoy_config_two.yaml rename to openfl-tutorials/deprecated/interactive_api/Tensorflow_Word_Prediction/envoy/envoy_config_two.yaml diff --git a/openfl-tutorials/interactive_api/Tensorflow_Word_Prediction/envoy/sd_requirements.txt b/openfl-tutorials/deprecated/interactive_api/Tensorflow_Word_Prediction/envoy/sd_requirements.txt similarity index 100% rename from openfl-tutorials/interactive_api/Tensorflow_Word_Prediction/envoy/sd_requirements.txt rename to openfl-tutorials/deprecated/interactive_api/Tensorflow_Word_Prediction/envoy/sd_requirements.txt diff --git a/openfl-tutorials/interactive_api/Tensorflow_Word_Prediction/envoy/shard_descriptor.py b/openfl-tutorials/deprecated/interactive_api/Tensorflow_Word_Prediction/envoy/shard_descriptor.py similarity index 100% rename from openfl-tutorials/interactive_api/Tensorflow_Word_Prediction/envoy/shard_descriptor.py rename to openfl-tutorials/deprecated/interactive_api/Tensorflow_Word_Prediction/envoy/shard_descriptor.py diff --git a/openfl-tutorials/interactive_api/Tensorflow_Word_Prediction/envoy/start_envoy.sh b/openfl-tutorials/deprecated/interactive_api/Tensorflow_Word_Prediction/envoy/start_envoy.sh similarity index 100% rename from openfl-tutorials/interactive_api/Tensorflow_Word_Prediction/envoy/start_envoy.sh rename to openfl-tutorials/deprecated/interactive_api/Tensorflow_Word_Prediction/envoy/start_envoy.sh diff --git a/openfl-tutorials/interactive_api/Tensorflow_Word_Prediction/envoy/start_envoy_with_tls.sh b/openfl-tutorials/deprecated/interactive_api/Tensorflow_Word_Prediction/envoy/start_envoy_with_tls.sh similarity index 100% rename from openfl-tutorials/interactive_api/Tensorflow_Word_Prediction/envoy/start_envoy_with_tls.sh rename to openfl-tutorials/deprecated/interactive_api/Tensorflow_Word_Prediction/envoy/start_envoy_with_tls.sh diff --git a/openfl-tutorials/interactive_api/Tensorflow_Word_Prediction/workspace/Tensorflow_Word_Prediction.ipynb b/openfl-tutorials/deprecated/interactive_api/Tensorflow_Word_Prediction/workspace/Tensorflow_Word_Prediction.ipynb similarity index 100% rename from openfl-tutorials/interactive_api/Tensorflow_Word_Prediction/workspace/Tensorflow_Word_Prediction.ipynb rename to openfl-tutorials/deprecated/interactive_api/Tensorflow_Word_Prediction/workspace/Tensorflow_Word_Prediction.ipynb diff --git a/openfl-tutorials/interactive_api/Tensorflow_Word_Prediction/workspace/requirements.txt b/openfl-tutorials/deprecated/interactive_api/Tensorflow_Word_Prediction/workspace/requirements.txt similarity index 100% rename from openfl-tutorials/interactive_api/Tensorflow_Word_Prediction/workspace/requirements.txt rename to openfl-tutorials/deprecated/interactive_api/Tensorflow_Word_Prediction/workspace/requirements.txt diff --git a/openfl-tutorials/interactive_api/jax_linear_regression/README.md b/openfl-tutorials/deprecated/interactive_api/jax_linear_regression/README.md similarity index 100% rename from openfl-tutorials/interactive_api/jax_linear_regression/README.md rename to openfl-tutorials/deprecated/interactive_api/jax_linear_regression/README.md diff --git a/openfl-tutorials/interactive_api/jax_linear_regression/director/director_config.yaml b/openfl-tutorials/deprecated/interactive_api/jax_linear_regression/director/director_config.yaml similarity index 100% rename from openfl-tutorials/interactive_api/jax_linear_regression/director/director_config.yaml rename to openfl-tutorials/deprecated/interactive_api/jax_linear_regression/director/director_config.yaml diff --git a/openfl-tutorials/interactive_api/jax_linear_regression/director/start_director.sh b/openfl-tutorials/deprecated/interactive_api/jax_linear_regression/director/start_director.sh similarity index 100% rename from openfl-tutorials/interactive_api/jax_linear_regression/director/start_director.sh rename to openfl-tutorials/deprecated/interactive_api/jax_linear_regression/director/start_director.sh diff --git a/openfl-tutorials/interactive_api/jax_linear_regression/envoy/envoy_config_1.yaml b/openfl-tutorials/deprecated/interactive_api/jax_linear_regression/envoy/envoy_config_1.yaml similarity index 100% rename from openfl-tutorials/interactive_api/jax_linear_regression/envoy/envoy_config_1.yaml rename to openfl-tutorials/deprecated/interactive_api/jax_linear_regression/envoy/envoy_config_1.yaml diff --git a/openfl-tutorials/interactive_api/jax_linear_regression/envoy/regression_shard_descriptor.py b/openfl-tutorials/deprecated/interactive_api/jax_linear_regression/envoy/regression_shard_descriptor.py similarity index 100% rename from openfl-tutorials/interactive_api/jax_linear_regression/envoy/regression_shard_descriptor.py rename to openfl-tutorials/deprecated/interactive_api/jax_linear_regression/envoy/regression_shard_descriptor.py diff --git a/openfl-tutorials/interactive_api/jax_linear_regression/envoy/requirements.txt b/openfl-tutorials/deprecated/interactive_api/jax_linear_regression/envoy/requirements.txt similarity index 100% rename from openfl-tutorials/interactive_api/jax_linear_regression/envoy/requirements.txt rename to openfl-tutorials/deprecated/interactive_api/jax_linear_regression/envoy/requirements.txt diff --git a/openfl-tutorials/interactive_api/jax_linear_regression/envoy/start_envoy.sh b/openfl-tutorials/deprecated/interactive_api/jax_linear_regression/envoy/start_envoy.sh similarity index 100% rename from openfl-tutorials/interactive_api/jax_linear_regression/envoy/start_envoy.sh rename to openfl-tutorials/deprecated/interactive_api/jax_linear_regression/envoy/start_envoy.sh diff --git a/openfl-tutorials/interactive_api/jax_linear_regression/workspace/JAX_linear_regression.ipynb b/openfl-tutorials/deprecated/interactive_api/jax_linear_regression/workspace/JAX_linear_regression.ipynb similarity index 100% rename from openfl-tutorials/interactive_api/jax_linear_regression/workspace/JAX_linear_regression.ipynb rename to openfl-tutorials/deprecated/interactive_api/jax_linear_regression/workspace/JAX_linear_regression.ipynb diff --git a/openfl-tutorials/interactive_api/jax_linear_regression/workspace/custom_adapter.py b/openfl-tutorials/deprecated/interactive_api/jax_linear_regression/workspace/custom_adapter.py similarity index 100% rename from openfl-tutorials/interactive_api/jax_linear_regression/workspace/custom_adapter.py rename to openfl-tutorials/deprecated/interactive_api/jax_linear_regression/workspace/custom_adapter.py diff --git a/openfl-tutorials/interactive_api/numpy_linear_regression/README.md b/openfl-tutorials/deprecated/interactive_api/numpy_linear_regression/README.md similarity index 100% rename from openfl-tutorials/interactive_api/numpy_linear_regression/README.md rename to openfl-tutorials/deprecated/interactive_api/numpy_linear_regression/README.md diff --git a/openfl-tutorials/interactive_api/numpy_linear_regression/director/director_config.yaml b/openfl-tutorials/deprecated/interactive_api/numpy_linear_regression/director/director_config.yaml similarity index 100% rename from openfl-tutorials/interactive_api/numpy_linear_regression/director/director_config.yaml rename to openfl-tutorials/deprecated/interactive_api/numpy_linear_regression/director/director_config.yaml diff --git a/openfl-tutorials/interactive_api/numpy_linear_regression/envoy/envoy_config.yaml b/openfl-tutorials/deprecated/interactive_api/numpy_linear_regression/envoy/envoy_config.yaml similarity index 100% rename from openfl-tutorials/interactive_api/numpy_linear_regression/envoy/envoy_config.yaml rename to openfl-tutorials/deprecated/interactive_api/numpy_linear_regression/envoy/envoy_config.yaml diff --git a/openfl-tutorials/interactive_api/numpy_linear_regression/envoy/linreg_shard_descriptor.py b/openfl-tutorials/deprecated/interactive_api/numpy_linear_regression/envoy/linreg_shard_descriptor.py similarity index 100% rename from openfl-tutorials/interactive_api/numpy_linear_regression/envoy/linreg_shard_descriptor.py rename to openfl-tutorials/deprecated/interactive_api/numpy_linear_regression/envoy/linreg_shard_descriptor.py diff --git a/openfl-tutorials/interactive_api/numpy_linear_regression/envoy/requirements.txt b/openfl-tutorials/deprecated/interactive_api/numpy_linear_regression/envoy/requirements.txt similarity index 100% rename from openfl-tutorials/interactive_api/numpy_linear_regression/envoy/requirements.txt rename to openfl-tutorials/deprecated/interactive_api/numpy_linear_regression/envoy/requirements.txt diff --git a/openfl-tutorials/interactive_api/numpy_linear_regression/workspace/LinReg.ipynb b/openfl-tutorials/deprecated/interactive_api/numpy_linear_regression/workspace/LinReg.ipynb similarity index 100% rename from openfl-tutorials/interactive_api/numpy_linear_regression/workspace/LinReg.ipynb rename to openfl-tutorials/deprecated/interactive_api/numpy_linear_regression/workspace/LinReg.ipynb diff --git a/openfl-tutorials/interactive_api/numpy_linear_regression/workspace/SingleNotebook.ipynb b/openfl-tutorials/deprecated/interactive_api/numpy_linear_regression/workspace/SingleNotebook.ipynb similarity index 100% rename from openfl-tutorials/interactive_api/numpy_linear_regression/workspace/SingleNotebook.ipynb rename to openfl-tutorials/deprecated/interactive_api/numpy_linear_regression/workspace/SingleNotebook.ipynb diff --git a/openfl-tutorials/interactive_api/numpy_linear_regression/workspace/custom_adapter.py b/openfl-tutorials/deprecated/interactive_api/numpy_linear_regression/workspace/custom_adapter.py similarity index 100% rename from openfl-tutorials/interactive_api/numpy_linear_regression/workspace/custom_adapter.py rename to openfl-tutorials/deprecated/interactive_api/numpy_linear_regression/workspace/custom_adapter.py diff --git a/openfl-tutorials/interactive_api/numpy_linear_regression/workspace/requirements.txt b/openfl-tutorials/deprecated/interactive_api/numpy_linear_regression/workspace/requirements.txt similarity index 100% rename from openfl-tutorials/interactive_api/numpy_linear_regression/workspace/requirements.txt rename to openfl-tutorials/deprecated/interactive_api/numpy_linear_regression/workspace/requirements.txt diff --git a/openfl-tutorials/interactive_api/numpy_linear_regression/workspace/start_federation.ipynb b/openfl-tutorials/deprecated/interactive_api/numpy_linear_regression/workspace/start_federation.ipynb similarity index 100% rename from openfl-tutorials/interactive_api/numpy_linear_regression/workspace/start_federation.ipynb rename to openfl-tutorials/deprecated/interactive_api/numpy_linear_regression/workspace/start_federation.ipynb diff --git a/openfl-tutorials/interactive_api/scikit_learn_linear_regression/README.md b/openfl-tutorials/deprecated/interactive_api/scikit_learn_linear_regression/README.md similarity index 100% rename from openfl-tutorials/interactive_api/scikit_learn_linear_regression/README.md rename to openfl-tutorials/deprecated/interactive_api/scikit_learn_linear_regression/README.md diff --git a/openfl-tutorials/interactive_api/scikit_learn_linear_regression/director/director_config.yaml b/openfl-tutorials/deprecated/interactive_api/scikit_learn_linear_regression/director/director_config.yaml similarity index 100% rename from openfl-tutorials/interactive_api/scikit_learn_linear_regression/director/director_config.yaml rename to openfl-tutorials/deprecated/interactive_api/scikit_learn_linear_regression/director/director_config.yaml diff --git a/openfl-tutorials/interactive_api/scikit_learn_linear_regression/director/start_director.sh b/openfl-tutorials/deprecated/interactive_api/scikit_learn_linear_regression/director/start_director.sh similarity index 100% rename from openfl-tutorials/interactive_api/scikit_learn_linear_regression/director/start_director.sh rename to openfl-tutorials/deprecated/interactive_api/scikit_learn_linear_regression/director/start_director.sh diff --git a/openfl-tutorials/interactive_api/scikit_learn_linear_regression/envoy/envoy_config.yaml b/openfl-tutorials/deprecated/interactive_api/scikit_learn_linear_regression/envoy/envoy_config.yaml similarity index 100% rename from openfl-tutorials/interactive_api/scikit_learn_linear_regression/envoy/envoy_config.yaml rename to openfl-tutorials/deprecated/interactive_api/scikit_learn_linear_regression/envoy/envoy_config.yaml diff --git a/openfl-tutorials/interactive_api/scikit_learn_linear_regression/envoy/linreg_shard_descriptor.py b/openfl-tutorials/deprecated/interactive_api/scikit_learn_linear_regression/envoy/linreg_shard_descriptor.py similarity index 100% rename from openfl-tutorials/interactive_api/scikit_learn_linear_regression/envoy/linreg_shard_descriptor.py rename to openfl-tutorials/deprecated/interactive_api/scikit_learn_linear_regression/envoy/linreg_shard_descriptor.py diff --git a/openfl-tutorials/interactive_api/scikit_learn_linear_regression/envoy/requirements.txt b/openfl-tutorials/deprecated/interactive_api/scikit_learn_linear_regression/envoy/requirements.txt similarity index 100% rename from openfl-tutorials/interactive_api/scikit_learn_linear_regression/envoy/requirements.txt rename to openfl-tutorials/deprecated/interactive_api/scikit_learn_linear_regression/envoy/requirements.txt diff --git a/openfl-tutorials/interactive_api/scikit_learn_linear_regression/envoy/start_envoy.sh b/openfl-tutorials/deprecated/interactive_api/scikit_learn_linear_regression/envoy/start_envoy.sh similarity index 100% rename from openfl-tutorials/interactive_api/scikit_learn_linear_regression/envoy/start_envoy.sh rename to openfl-tutorials/deprecated/interactive_api/scikit_learn_linear_regression/envoy/start_envoy.sh diff --git a/openfl-tutorials/interactive_api/scikit_learn_linear_regression/workspace/custom_adapter.py b/openfl-tutorials/deprecated/interactive_api/scikit_learn_linear_regression/workspace/custom_adapter.py similarity index 100% rename from openfl-tutorials/interactive_api/scikit_learn_linear_regression/workspace/custom_adapter.py rename to openfl-tutorials/deprecated/interactive_api/scikit_learn_linear_regression/workspace/custom_adapter.py diff --git a/openfl-tutorials/interactive_api/scikit_learn_linear_regression/workspace/requirements.txt b/openfl-tutorials/deprecated/interactive_api/scikit_learn_linear_regression/workspace/requirements.txt similarity index 100% rename from openfl-tutorials/interactive_api/scikit_learn_linear_regression/workspace/requirements.txt rename to openfl-tutorials/deprecated/interactive_api/scikit_learn_linear_regression/workspace/requirements.txt diff --git a/openfl-tutorials/interactive_api/scikit_learn_linear_regression/workspace/scikit_learn_linear_regression.ipynb b/openfl-tutorials/deprecated/interactive_api/scikit_learn_linear_regression/workspace/scikit_learn_linear_regression.ipynb similarity index 100% rename from openfl-tutorials/interactive_api/scikit_learn_linear_regression/workspace/scikit_learn_linear_regression.ipynb rename to openfl-tutorials/deprecated/interactive_api/scikit_learn_linear_regression/workspace/scikit_learn_linear_regression.ipynb diff --git a/tests/end_to_end/README.md b/tests/end_to_end/README.md index 3971b67986..ae725a170f 100644 --- a/tests/end_to_end/README.md +++ b/tests/end_to_end/README.md @@ -36,15 +36,24 @@ pip install -r test-requirements.txt To run a specific test case, use below command: ```sh -python -m pytest tests/end_to_end/test_suites/ -k -s +python -m pytest -s tests/end_to_end/test_suites/ -k ``` ** -s will ensure all the logs are printed on screen. Ignore, if not required. -To modify the number of collaborators, rounds to train and/or model name, use below parameters: -1. --num_collaborators -2. --num_rounds -3. --model_name +Below parameters are available for modification: + +1. --num_collaborators - to modify the number of collaborators +2. --num_rounds - to modify the number of rounds to train +3. --model_name - to use a specific model +4. --disable_tls - to disable TLS communication (by default it is enabled) +5. --disable_client_auth - to disable the client authentication (by default it is enabled) + +For example, to run Task runner with - torch_cnn_mnist model, 3 collaborators, 5 rounds and non-TLS scenario: + +```sh +python -m pytest -s tests/end_to_end/test_suites/task_runner_tests.py --num_rounds 5 --num_collaborators 3 --model_name torch_cnn_mnist --disable_tls +``` ### Output Structure diff --git a/tests/end_to_end/conftest.py b/tests/end_to_end/conftest.py index 3ccffb0e0f..d2c9c20f89 100644 --- a/tests/end_to_end/conftest.py +++ b/tests/end_to_end/conftest.py @@ -17,7 +17,7 @@ # Define a named tuple to store the objects for model owner, aggregator, and collaborators federation_fixture = collections.namedtuple( "federation_fixture", - "model_owner, aggregator, collaborators, model_name, workspace_path, results_dir", + "model_owner, aggregator, collaborators, model_name, disable_client_auth, disable_tls, workspace_path, results_dir", ) @@ -50,9 +50,18 @@ def pytest_addoption(parser): "--model_name", action="store", type=str, - default=constants.DEFAULT_MODEL_NAME, help="Model name", ) + parser.addoption( + "--disable_client_auth", + action="store_true", + help="Disable client authentication", + ) + parser.addoption( + "--disable_tls", + action="store_true", + help="Disable TLS for communication", + ) @pytest.fixture(scope="session", autouse=True) @@ -199,7 +208,7 @@ def pytest_sessionfinish(session, exitstatus): log.debug(f"Cleared .pytest_cache directory at {cache_dir}") -@pytest.fixture(scope="module") +@pytest.fixture(scope="function") def fx_federation(request, pytestconfig): """ Fixture for federation. This fixture is used to create the model owner, aggregator, and collaborators. @@ -211,18 +220,29 @@ def fx_federation(request, pytestconfig): Returns: federation_fixture: Named tuple containing the objects for model owner, aggregator, and collaborators - Note: As this is a module level fixture, thus no import is required at test level. + Note: As this is a function level fixture, thus no import is required at test level. """ - log.info("Fixture for federation setup using Task Runner API on single machine.") collaborators = [] agg_domain_name = "localhost" # Parse the command line arguments args = parse_arguments() - model_name = args.model_name + # Use the model name from the test case name if not provided as a command line argument + model_name = args.model_name if args.model_name else request.node.name.split("test_")[1] results_dir = args.results_dir or pytestconfig.getini("results_dir") num_collaborators = args.num_collaborators num_rounds = args.num_rounds + disable_client_auth = args.disable_client_auth + disable_tls = args.disable_tls + + log.info( + f"Running federation setup using Task Runner API on single machine with below configurations:\n" + f"\tNumber of collaborators: {num_collaborators}\n" + f"\tNumber of rounds: {num_rounds}\n" + f"\tModel name: {model_name}\n" + f"\tClient authentication: {not disable_client_auth}\n" + f"\tTLS: {not disable_tls}" + ) # Validate the model name and create the workspace name if not model_name.upper() in constants.ModelName._member_names_: @@ -238,26 +258,42 @@ def fx_federation(request, pytestconfig): log.error(f"Failed to create the workspace: {e}") raise e - # Modify and initialize the plan + # Modify the plan try: - model_owner.modify_plan(new_rounds=num_rounds, num_collaborators=num_collaborators) + model_owner.modify_plan( + new_rounds=num_rounds, + num_collaborators=num_collaborators, + disable_client_auth=disable_client_auth, + disable_tls=disable_tls, + ) except Exception as e: log.error(f"Failed to modify the plan: {e}") raise e + # For TLS enabled (default) scenario: when the workspace is certified, the collaborators are registered as well + # For TLS disabled scenario: collaborators need to be registered explicitly + if args.disable_tls: + log.info("Disabling TLS for communication") + try: + model_owner.register_collaborators(num_collaborators) + except Exception as e: + log.error(f"Failed to register the collaborators: {e}") + raise e + else: + log.info("Enabling TLS for communication") + try: + model_owner.certify_workspace() + except Exception as e: + log.error(f"Failed to certify the workspace: {e}") + raise e + + # Initialize the plan try: model_owner.initialize_plan(agg_domain_name=agg_domain_name) except Exception as e: log.error(f"Failed to initialize the plan: {e}") raise e - # Modify and initialize the plan - try: - model_owner.certify_workspace() - except Exception as e: - log.error(f"Failed to certify the workspace: {e}") - raise e - # Create the objects for aggregator and collaborators aggregator = participants.Aggregator( agg_domain_name=agg_domain_name, workspace_path=workspace_path @@ -269,6 +305,7 @@ def fx_federation(request, pytestconfig): data_directory_path=i + 1, workspace_path=workspace_path, ) + collaborator.create_collaborator() collaborators.append(collaborator) # Return the federation fixture @@ -277,6 +314,8 @@ def fx_federation(request, pytestconfig): aggregator=aggregator, collaborators=collaborators, model_name=model_name, + disable_client_auth=disable_client_auth, + disable_tls=disable_tls, workspace_path=workspace_path, results_dir=results_dir, ) diff --git a/tests/end_to_end/models/participants.py b/tests/end_to_end/models/participants.py index 5dc582a06c..5bde7f39ec 100644 --- a/tests/end_to_end/models/participants.py +++ b/tests/end_to_end/models/participants.py @@ -112,17 +112,18 @@ def certify_collaborator(self, collaborator_name): raise e return True - def modify_plan(self, new_rounds=None, num_collaborators=None): + def modify_plan(self, new_rounds=None, num_collaborators=None, disable_client_auth=False, disable_tls=False): """ Modify the plan to train the model Args: new_rounds (int): Number of rounds to train num_collaborators (int): Number of collaborators + disable_client_auth (bool): Disable client authentication + disable_tls (bool): Disable TLS communication Returns: bool: True if successful, else False """ self.plan_path = os.path.join(self.workspace_path, "plan", "plan.yaml") - log.info(f"Modifying the plan at {self.plan_path}") # Open the file and modify the entries self.rounds_to_train = new_rounds if new_rounds else self.rounds_to_train self.num_collaborators = num_collaborators if num_collaborators else self.num_collaborators @@ -132,13 +133,13 @@ def modify_plan(self, new_rounds=None, num_collaborators=None): data["aggregator"]["settings"]["rounds_to_train"] = int(self.rounds_to_train) data["data_loader"]["settings"]["collaborator_count"] = int(self.num_collaborators) + data["network"]["settings"]["disable_client_auth"] = disable_client_auth + data["network"]["settings"]["tls"] = not disable_tls with open(self.plan_path, "w+") as write_file: yaml.dump(data, write_file) - log.info( - f"Modified the plan to train the model for collaborators {self.num_collaborators} and {self.rounds_to_train} rounds" - ) + log.info(f"Modified the plan at {self.plan_path} with provided parameters.") return True def initialize_plan(self, agg_domain_name): @@ -180,6 +181,41 @@ def certify_workspace(self): raise e return True + def register_collaborators(self, num_collaborators=None): + """ + Register the collaborators + Args: + num_collaborators (int, Optional): Number of collaborators + Returns: + bool: True if successful, else False + """ + self.cols_path = os.path.join(self.workspace_path, "plan", "cols.yaml") + log.info(f"Registering the collaborators..") + self.num_collaborators = num_collaborators if num_collaborators else self.num_collaborators + + try: + # Straightforward writing to the yaml file is not recommended here + # As the file might contain spaces and tabs which can cause issues + with open(self.cols_path, "r", encoding="utf-8") as f: + doc = yaml.load(f, Loader=yaml.FullLoader) + + if "collaborators" not in doc.keys() or not doc["collaborators"]: + doc["collaborators"] = [] # Create empty list + + for i in range(num_collaborators): + col_name = "collaborator" + str(i+1) + doc["collaborators"].append(col_name) + with open(self.cols_path, "w", encoding="utf-8") as f: + yaml.dump(doc, f) + + log.info( + f"Successfully registered collaborators in {self.cols_path}" + ) + except Exception as e: + log.error(f"Failed to register the collaborators: {e}") + raise e + return True + def certify_aggregator(self, agg_domain_name): """ Certify the aggregator request diff --git a/tests/end_to_end/test_suites/sample_tests.py b/tests/end_to_end/test_suites/sample_tests.py index 7c528277e8..a27bf76cbf 100644 --- a/tests/end_to_end/test_suites/sample_tests.py +++ b/tests/end_to_end/test_suites/sample_tests.py @@ -19,8 +19,8 @@ # 7. Start the federation using aggregator and given no of collaborators. # 8. Verify the completion of the federation run. -@pytest.mark.sample_model -def test_sample_model(fx_federation): +@pytest.mark.sample_model_name +def test_sample_model_name(fx_federation): """ Add a proper docstring here. """ diff --git a/tests/end_to_end/test_suites/task_runner_tests.py b/tests/end_to_end/test_suites/task_runner_tests.py index a80c583acf..371fee8f08 100644 --- a/tests/end_to_end/test_suites/task_runner_tests.py +++ b/tests/end_to_end/test_suites/task_runner_tests.py @@ -17,7 +17,8 @@ def test_torch_cnn_mnist(fx_federation): log.info("Testing torch_cnn_mnist model") # Setup PKI for trusted communication within the federation - assert fed_helper.setup_pki(fx_federation), "Failed to setup PKI for trusted communication" + if not fx_federation.disable_tls: + assert fed_helper.setup_pki(fx_federation), "Failed to setup PKI for trusted communication" # Start the federation results = fed_helper.run_federation(fx_federation) @@ -31,7 +32,8 @@ def test_keras_cnn_mnist(fx_federation): log.info("Testing keras_cnn_mnist model") # Setup PKI for trusted communication within the federation - assert fed_helper.setup_pki(fx_federation), "Failed to setup PKI for trusted communication" + if not fx_federation.disable_tls: + assert fed_helper.setup_pki(fx_federation), "Failed to setup PKI for trusted communication" # Start the federation results = fed_helper.run_federation(fx_federation) @@ -48,7 +50,8 @@ def test_torch_cnn_histology(fx_federation): log.info("Testing torch_cnn_histology model") # Setup PKI for trusted communication within the federation - assert fed_helper.setup_pki(fx_federation), "Failed to setup PKI for trusted communication" + if not fx_federation.disable_tls: + assert fed_helper.setup_pki(fx_federation), "Failed to setup PKI for trusted communication" # Start the federation results = fed_helper.run_federation(fx_federation) diff --git a/tests/end_to_end/utils/conftest_helper.py b/tests/end_to_end/utils/conftest_helper.py index 490a3316db..b8d70fa7ba 100644 --- a/tests/end_to_end/utils/conftest_helper.py +++ b/tests/end_to_end/utils/conftest_helper.py @@ -18,16 +18,20 @@ def parse_arguments(): - num_collaborators (int, default=2): Number of collaborators - num_rounds (int, default=5): Number of rounds to train - model_name (str, default="torch_cnn_mnist"): Model name + - disable_client_auth (bool): Disable client authentication + - disable_tls (bool): Disable TLS for communication Raises: SystemExit: If the required arguments are not provided or if any argument parsing error occurs. """ try: parser = argparse.ArgumentParser(description="Provide the required arguments to run the tests") - parser.add_argument("--results_dir", type=str, required=False, help="Directory to store the results") + parser.add_argument("--results_dir", type=str, required=False, default="results", help="Directory to store the results") parser.add_argument("--num_collaborators", type=int, default=2, help="Number of collaborators") parser.add_argument("--num_rounds", type=int, default=5, help="Number of rounds to train") - parser.add_argument("--model_name", type=str, default="torch_cnn_mnist", help="Model name") + parser.add_argument("--model_name", type=str, help="Model name") + parser.add_argument("--disable_client_auth", action="store_true", help="Disable client authentication") + parser.add_argument("--disable_tls", action="store_true", help="Disable TLS for communication") args = parser.parse_known_args()[0] return args diff --git a/tests/end_to_end/utils/federation_helper.py b/tests/end_to_end/utils/federation_helper.py index 3cb091b7ce..1da1c68012 100644 --- a/tests/end_to_end/utils/federation_helper.py +++ b/tests/end_to_end/utils/federation_helper.py @@ -33,7 +33,6 @@ def setup_pki(fed_obj): for collaborator in fed_obj.collaborators: try: log.info(f"Performing operations for {collaborator.collaborator_name}") - collaborator.create_collaborator() collaborator.generate_sign_request() # Below step will add collaborator entries in cols.yaml file. fed_obj.model_owner.certify_collaborator(collaborator.collaborator_name)