MEDfl 2.0.4.dev8__tar.gz → 2.0.4.dev9__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/MEDfl/rw/strategy.py +46 -64
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/MEDfl.egg-info/PKG-INFO +1 -1
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/PKG-INFO +1 -1
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/setup.py +1 -1
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/.github/workflows/main.yml +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/.gitignore +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/.idea/.gitignore +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/.idea/MEDfl.iml +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/.idea/inspectionProfiles/profiles_settings.xml +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/.idea/misc.xml +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/.idea/modules.xml +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/.idea/vcs.xml +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/LICENSE +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/MEDfl/LearningManager/__init__.py +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/MEDfl/LearningManager/client.py +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/MEDfl/LearningManager/dynamicModal.py +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/MEDfl/LearningManager/federated_dataset.py +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/MEDfl/LearningManager/flpipeline.py +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/MEDfl/LearningManager/model.py +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/MEDfl/LearningManager/params.yaml +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/MEDfl/LearningManager/params_optimiser.py +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/MEDfl/LearningManager/plot.py +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/MEDfl/LearningManager/server.py +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/MEDfl/LearningManager/strategy.py +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/MEDfl/LearningManager/utils.py +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/MEDfl/NetManager/__init__.py +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/MEDfl/NetManager/database_connector.py +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/MEDfl/NetManager/dataset.py +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/MEDfl/NetManager/flsetup.py +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/MEDfl/NetManager/net_helper.py +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/MEDfl/NetManager/net_manager_queries.py +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/MEDfl/NetManager/network.py +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/MEDfl/NetManager/node.py +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/MEDfl/__init__.py +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/MEDfl/rw/__init__.py +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/MEDfl/rw/client.py +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/MEDfl/rw/model.py +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/MEDfl/rw/server.py +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/MEDfl/scripts/__init__.py +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/MEDfl/scripts/base.py +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/MEDfl/scripts/create_db.py +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/MEDfl.egg-info/SOURCES.txt +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/MEDfl.egg-info/dependency_links.txt +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/MEDfl.egg-info/requires.txt +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/MEDfl.egg-info/top_level.txt +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/README.md +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/alembic/README +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/alembic/__init__.py +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/alembic/__pycache__/env.cpython-38.pyc +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/alembic/alembic_logging.ini +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/alembic/debug.log +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/alembic/env.py +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/alembic/script.py.mako +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/alembic/versions/__pycache__/b159ee510a90_initial.cpython-38.pyc +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/alembic/versions/b159ee510a90_initial.py +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/alembic.ini +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/Makefile +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/.buildinfo +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/.doctrees/Medfl.LearningManager.doctree +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/.doctrees/Medfl.NetManager.doctree +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/.doctrees/Medfl.doctree +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/.doctrees/environment.pickle +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/.doctrees/index.doctree +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/.doctrees/modules.doctree +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/.nojekyll +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/Medfl.LearningManager.html +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/Medfl.NetManager.html +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/Medfl.html +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/_modules/Medfl/LearningManager/client.html +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/_modules/Medfl/LearningManager/dynamicModal.html +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/_modules/Medfl/LearningManager/federated_dataset.html +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/_modules/Medfl/LearningManager/flpipeline.html +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/_modules/Medfl/LearningManager/model.html +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/_modules/Medfl/LearningManager/plot.html +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/_modules/Medfl/LearningManager/server.html +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/_modules/Medfl/LearningManager/strategy.html +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/_modules/Medfl/LearningManager/utils.html +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/_modules/Medfl/NetManager/dataset.html +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/_modules/Medfl/NetManager/flsetup.html +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/_modules/Medfl/NetManager/net_helper.html +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/_modules/Medfl/NetManager/network.html +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/_modules/Medfl/NetManager/node.html +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/_modules/index.html +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/_sources/Medfl.LearningManager.rst.txt +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/_sources/Medfl.NetManager.rst.txt +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/_sources/Medfl.rst.txt +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/_sources/index.rst.txt +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/_sources/modules.rst.txt +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/_static/MEDomics.png +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/_static/_sphinx_javascript_frameworks_compat.js +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/_static/basic.css +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/_static/css/badge_only.css +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/_static/css/fonts/Roboto-Slab-Bold.woff +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/_static/css/fonts/Roboto-Slab-Bold.woff2 +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/_static/css/fonts/Roboto-Slab-Regular.woff +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/_static/css/fonts/Roboto-Slab-Regular.woff2 +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/_static/css/fonts/fontawesome-webfont.eot +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/_static/css/fonts/fontawesome-webfont.svg +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/_static/css/fonts/fontawesome-webfont.ttf +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/_static/css/fonts/fontawesome-webfont.woff +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/_static/css/fonts/fontawesome-webfont.woff2 +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/_static/css/fonts/lato-bold-italic.woff +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/_static/css/fonts/lato-bold-italic.woff2 +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/_static/css/fonts/lato-bold.woff +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/_static/css/fonts/lato-bold.woff2 +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/_static/css/fonts/lato-normal-italic.woff +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/_static/css/fonts/lato-normal-italic.woff2 +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/_static/css/fonts/lato-normal.woff +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/_static/css/fonts/lato-normal.woff2 +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/_static/css/theme.css +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/_static/dark_mode_css/custom.css +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/_static/dark_mode_css/dark.css +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/_static/dark_mode_css/general.css +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/_static/dark_mode_js/default_dark.js +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/_static/dark_mode_js/default_light.js +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/_static/dark_mode_js/theme_switcher.js +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/_static/doctools.js +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/_static/documentation_options.js +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/_static/file.png +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/_static/jquery.js +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/_static/js/badge_only.js +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/_static/js/html5shiv-printshiv.min.js +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/_static/js/html5shiv.min.js +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/_static/js/theme.js +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/_static/language_data.js +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/_static/minus.png +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/_static/plus.png +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/_static/pygments.css +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/_static/searchtools.js +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/_static/sphinx_highlight.js +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/genindex.html +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/index.html +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/modules.html +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/objects.inv +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/py-modindex.html +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/search.html +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/searchindex.js +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/doctrees/Documentation.doctree +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/doctrees/Installation.doctree +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/doctrees/Medfl.LearningManager.doctree +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/doctrees/Medfl.NetManager.doctree +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/doctrees/Medfl.doctree +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/doctrees/configuration_file.doctree +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/doctrees/environment.pickle +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/doctrees/index.doctree +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/doctrees/modules.doctree +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/doctrees/tutorials.doctree +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/.buildinfo +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/.nojekyll +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/Documentation.html +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/Installation.html +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/Medfl.LearningManager.html +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/Medfl.NetManager.html +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/Medfl.html +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/_images/FTL_comp.png +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/_images/LearningManager.png +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/_images/MEDfl_Diagramm.png +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/_images/NetManager_Diagramm.png +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/_images/learningresults.png +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/_images/mysqllogo.png +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/_images/phpmyadmin.png +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/_images/wampLogo.png +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/_images/xampplogo.png +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/_modules/index.html +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/_sources/Documentation.rst.txt +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/_sources/Installation.rst.txt +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/_sources/Medfl.LearningManager.rst.txt +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/_sources/Medfl.NetManager.rst.txt +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/_sources/Medfl.rst.txt +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/_sources/configuration_file.rst.txt +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/_sources/index.rst.txt +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/_sources/modules.rst.txt +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/_sources/tutorials.rst.txt +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/_static/MEDomics.png +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/_static/_sphinx_javascript_frameworks_compat.js +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/_static/basic.css +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/_static/css/badge_only.css +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/_static/css/fonts/Roboto-Slab-Bold.woff +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/_static/css/fonts/Roboto-Slab-Bold.woff2 +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/_static/css/fonts/Roboto-Slab-Regular.woff +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/_static/css/fonts/Roboto-Slab-Regular.woff2 +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/_static/css/fonts/fontawesome-webfont.eot +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/_static/css/fonts/fontawesome-webfont.svg +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/_static/css/fonts/fontawesome-webfont.ttf +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/_static/css/fonts/fontawesome-webfont.woff +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/_static/css/fonts/fontawesome-webfont.woff2 +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/_static/css/fonts/lato-bold-italic.woff +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/_static/css/fonts/lato-bold-italic.woff2 +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/_static/css/fonts/lato-bold.woff +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/_static/css/fonts/lato-bold.woff2 +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/_static/css/fonts/lato-normal-italic.woff +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/_static/css/fonts/lato-normal-italic.woff2 +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/_static/css/fonts/lato-normal.woff +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/_static/css/fonts/lato-normal.woff2 +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/_static/css/theme.css +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/_static/custom.css +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/_static/dark_mode_css/custom.css +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/_static/dark_mode_css/dark.css +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/_static/dark_mode_css/general.css +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/_static/dark_mode_js/default_dark.js +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/_static/dark_mode_js/default_light.js +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/_static/dark_mode_js/theme_switcher.js +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/_static/doctools.js +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/_static/documentation_options.js +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/_static/file.png +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/_static/jquery-3.6.0.js +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/_static/jquery.js +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/_static/js/badge_only.js +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/_static/js/html5shiv-printshiv.min.js +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/_static/js/html5shiv.min.js +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/_static/js/theme.js +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/_static/language_data.js +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/_static/minus.png +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/_static/plus.png +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/_static/pygments.css +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/_static/searchtools.js +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/_static/sphinx_highlight.js +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/_static/underscore-1.13.1.js +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/_static/underscore.js +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/configuration_file.html +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/genindex.html +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/index.html +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/modules.html +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/objects.inv +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/py-modindex.html +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/search.html +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/searchindex.js +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/build/html/tutorials.html +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/make.bat +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/source/Documentation.rst +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/source/Installation.rst +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/source/Medfl.LearningManager.rst +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/source/Medfl.NetManager.rst +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/source/Medfl.rst +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/source/_static/custom.css +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/source/conf.py +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/source/configuration_file.rst +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/source/figures/Images/FL_gen.png +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/source/figures/Images/FTL_comp.png +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/source/figures/Images/FlDatasetDiagramm.png +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/source/figures/Images/GDP.png +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/source/figures/Images/LDP.png +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/source/figures/Images/LearningManager.png +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/source/figures/Images/MEDfl_Diagramm.png +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/source/figures/Images/Modelinit.png +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/source/figures/Images/NetManager_Diagramm.png +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/source/figures/Images/NetworkCreation.png +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/source/figures/Images/createServer.png +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/source/figures/Images/learningresults.png +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/source/figures/Images/logos/mysqllogo.png +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/source/figures/Images/logos/phpmyadmin.png +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/source/figures/Images/logos/wampLogo.png +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/source/figures/Images/logos/xampplogo.png +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/source/figures/Images/modeltest.png +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/source/figures/Images/netMan.png +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/source/figures/Images/nodecreation.png +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/source/figures/Images/pipeline.png +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/source/figures/Images/strategy.png +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/source/figures/MEDomics.png +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/source/index.rst +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/source/modules.rst +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/source/tutorials.rst +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/global_params.yaml +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/medfl.egg-info/PKG-INFO +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/medfl.egg-info/SOURCES.txt +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/medfl.egg-info/dependency_links.txt +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/medfl.egg-info/requires.txt +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/medfl.egg-info/top_level.txt +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/notebooks/.ipynb_checkpoints/trainedModels/binary_classifier.pth +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/notebooks/.ipynb_checkpoints/trainedModels/eicu_binary_classifier.pth +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/notebooks/.ipynb_checkpoints/trainedModels/grid_search_classifier.pth +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/notebooks/.ipynb_checkpoints/trainedModels/new_binary_classifier.pth +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/notebooks/.ipynb_checkpoints/trainedModels/updated_model.pth +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/notebooks/First_Tuto.ipynb +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/notebooks/Images/FL_gen.png +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/notebooks/Images/FTL_comp.png +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/notebooks/Images/FlDatasetDiagramm.png +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/notebooks/Images/GDP.png +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/notebooks/Images/LDP.png +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/notebooks/Images/LearningManager.png +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/notebooks/Images/MEDfl_Diagramm.png +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/notebooks/Images/MEDfl_bachmarking_plan.png +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/notebooks/Images/Modelinit.png +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/notebooks/Images/NetManager_Diagramm.png +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/notebooks/Images/NetworkCreation.png +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/notebooks/Images/createServer.png +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/notebooks/Images/learningresults.png +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/notebooks/Images/logos/mysqllogo.png +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/notebooks/Images/logos/phpmyadmin.png +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/notebooks/Images/logos/wampLogo.png +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/notebooks/Images/logos/xampplogo.png +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/notebooks/Images/modeltest.png +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/notebooks/Images/netMan.png +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/notebooks/Images/nodecreation.png +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/notebooks/Images/optuna_optim_diag.png +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/notebooks/Images/pipeline.png +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/notebooks/Images/strategy.png +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/notebooks/banchmarking/MEDfl_benchmarks.ipynb +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/notebooks/banchmarking/banchmarking_plan.md +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/notebooks/banchmarking/benchmarks_results.txt +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/notebooks/banchmarking/network_architecture/net_bachmarking_conf_1.ipynb +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/notebooks/banchmarking/network_architecture/net_bachmarking_conf_2.ipynb +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/notebooks/banchmarking/transfer_learning/TL_activated.ipynb +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/notebooks/banchmarking/transfer_learning/TL_dectivated.ipynb +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/notebooks/data/chunk_1.csv +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/notebooks/data/chunk_2.csv +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/notebooks/data/chunk_3.csv +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/notebooks/data/config_1/part_1.csv +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/notebooks/data/config_1/part_2.csv +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/notebooks/data/config_1/part_3.csv +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/notebooks/data/config_1/test_1.csv +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/notebooks/data/config_1/test_2.csv +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/notebooks/data/eicu_sapsii_data.csv +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/notebooks/data/eicu_sapsii_data_test.csv +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/notebooks/data/eicu_sapsii_data_test_1.csv +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/notebooks/data/masterDataSet/Mimic_ouael.csv +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/notebooks/data/masterDataSet/Mimic_train.csv +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/notebooks/data/masterDataSet/eICU.csv +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/notebooks/data/nodesData/output_1.csv +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/notebooks/data/nodesData/output_2.csv +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/notebooks/data/nodesData/output_3.csv +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/notebooks/data/nodesData/output_4.csv +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/notebooks/data/nodesData/output_5.csv +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/notebooks/data/test_1.csv +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/notebooks/data/test_2.csv +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/notebooks/data/test_3.csv +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/notebooks/data/validation/Mimic_validation.csv +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/notebooks/eicu_test.csv +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/notebooks/eicu_test_1.csv +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/notebooks/eicu_test_2.csv +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/notebooks/eicu_test_3.csv +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/notebooks/sapsii_score_knnimputed_eicu.csv +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/notebooks/tutorial/1_DB.ipynb +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/notebooks/tutorial/2_NetManager.ipynb +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/notebooks/tutorial/3_TransferLearning copy.ipynb +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/notebooks/tutorial/3_TransferLearning.ipynb +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/notebooks/tutorial/4_LearningManager.ipynb +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/notebooks/tutorial/5_LearningResults.ipynb +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/notebooks/tutorial/6_ModelChoice.ipynb +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/notebooks/tutorial/7_ParamsOptimiser.ipynb +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/notebooks/tutorial/8_complete_tutorial.ipynb +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/notebooks/tutorial/newplot2.png +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/notebooks/tutorial/newplot4.png +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/requirements.txt +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/setup.cfg +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/setup_mysql.sh +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/tests/__init__.py +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/tests/__pycache__/test_dataset.cpython-38.pyc +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/tests/__pycache__/test_federated_dataset.cpython-38.pyc +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/tests/__pycache__/test_flpipeline.cpython-38.pyc +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/tests/__pycache__/test_flsetup.cpython-38.pyc +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/tests/__pycache__/test_network.cpython-38.pyc +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/tests/__pycache__/test_node.cpython-38.pyc +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/tests/test_dataset.py +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/tests/test_federated_dataset.py +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/tests/test_flpipeline.py +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/tests/test_flsetup.py +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/tests/test_network.py +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/tests/test_node.py +0 -0
- {medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/workflows/migration.yml +0 -0
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
# File: MEDfl/rw/strategy.py
|
|
2
|
+
|
|
1
3
|
import flwr as fl
|
|
2
|
-
from typing import Callable, Optional, Dict, Any,
|
|
4
|
+
from typing import Callable, Optional, Dict, Any, List, Tuple
|
|
3
5
|
from flwr.common import GetPropertiesIns
|
|
4
6
|
from flwr.server.client_manager import ClientManager
|
|
5
7
|
from flwr.server.client_proxy import ClientProxy
|
|
@@ -8,7 +10,6 @@ import time
|
|
|
8
10
|
# ===================================================
|
|
9
11
|
# Custom metric aggregation functions
|
|
10
12
|
# ===================================================
|
|
11
|
-
|
|
12
13
|
def aggregate_fit_metrics(
|
|
13
14
|
results: List[Tuple[int, Dict[str, float]]]
|
|
14
15
|
) -> Dict[str, float]:
|
|
@@ -30,13 +31,13 @@ def aggregate_eval_metrics(
|
|
|
30
31
|
# ===================================================
|
|
31
32
|
# Strategy Wrapper
|
|
32
33
|
# ===================================================
|
|
33
|
-
|
|
34
34
|
class Strategy:
|
|
35
35
|
"""
|
|
36
36
|
Flower Strategy wrapper:
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
37
|
+
- Dynamic hyperparameters via on_fit_config_fn
|
|
38
|
+
- Custom metric aggregation
|
|
39
|
+
- Per-client & aggregated metric logging
|
|
40
|
+
- Synchronous get_properties() inspection in configure_fit()
|
|
40
41
|
"""
|
|
41
42
|
|
|
42
43
|
def __init__(
|
|
@@ -52,6 +53,9 @@ class Strategy:
|
|
|
52
53
|
fit_metrics_aggregation_fn: Optional[Callable] = None,
|
|
53
54
|
evaluate_metrics_aggregation_fn: Optional[Callable] = None,
|
|
54
55
|
local_epochs: int = 1,
|
|
56
|
+
threshold: float = 0.5,
|
|
57
|
+
learning_rate: float = 0.01,
|
|
58
|
+
optimizer_name: str = "SGD",
|
|
55
59
|
) -> None:
|
|
56
60
|
self.name = name
|
|
57
61
|
self.fraction_fit = fraction_fit
|
|
@@ -65,11 +69,28 @@ class Strategy:
|
|
|
65
69
|
self.fit_metrics_aggregation_fn = fit_metrics_aggregation_fn or aggregate_fit_metrics
|
|
66
70
|
self.evaluate_metrics_aggregation_fn = evaluate_metrics_aggregation_fn or aggregate_eval_metrics
|
|
67
71
|
|
|
68
|
-
|
|
72
|
+
# Dynamic hyperparams
|
|
69
73
|
self.local_epochs = local_epochs
|
|
74
|
+
self.threshold = threshold
|
|
75
|
+
self.learning_rate = learning_rate
|
|
76
|
+
self.optimizer_name = optimizer_name
|
|
77
|
+
|
|
78
|
+
self.strategy_object: Optional[fl.server.strategy.Strategy] = None
|
|
70
79
|
|
|
71
80
|
def create_strategy(self) -> None:
|
|
81
|
+
# 1) Pick the Flower Strategy class
|
|
72
82
|
StrategyClass = getattr(fl.server.strategy, self.name)
|
|
83
|
+
|
|
84
|
+
# 2) Define on_fit_config_fn _before_ instantiation
|
|
85
|
+
def fit_config_fn(server_round: int) -> Dict[str, Any]:
|
|
86
|
+
return {
|
|
87
|
+
"local_epochs": self.local_epochs,
|
|
88
|
+
"threshold": self.threshold,
|
|
89
|
+
"learning_rate": self.learning_rate,
|
|
90
|
+
"optimizer": self.optimizer_name,
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
# 3) Build params including on_fit_config_fn
|
|
73
94
|
params: Dict[str, Any] = {
|
|
74
95
|
"fraction_fit": self.fraction_fit,
|
|
75
96
|
"fraction_evaluate": self.fraction_evaluate,
|
|
@@ -77,90 +98,51 @@ class Strategy:
|
|
|
77
98
|
"min_evaluate_clients": self.min_evaluate_clients,
|
|
78
99
|
"min_available_clients": self.min_available_clients,
|
|
79
100
|
"evaluate_fn": self.evaluate_fn,
|
|
101
|
+
"on_fit_config_fn": fit_config_fn,
|
|
80
102
|
"fit_metrics_aggregation_fn": self.fit_metrics_aggregation_fn,
|
|
81
103
|
"evaluate_metrics_aggregation_fn": self.evaluate_metrics_aggregation_fn,
|
|
82
104
|
}
|
|
83
105
|
if self.initial_parameters:
|
|
84
106
|
params["initial_parameters"] = fl.common.ndarrays_to_parameters(self.initial_parameters)
|
|
85
107
|
|
|
108
|
+
# 4) Instantiate the real Flower strategy
|
|
86
109
|
strat = StrategyClass(**params)
|
|
87
110
|
|
|
88
|
-
# Wrap aggregate_fit
|
|
111
|
+
# 5) Wrap aggregate_fit for logging
|
|
89
112
|
original_agg_fit = strat.aggregate_fit
|
|
90
113
|
def logged_agg_fit(server_round, results, failures):
|
|
91
|
-
print(f"\n[Server] 🔄 Round {server_round}
|
|
92
|
-
for
|
|
93
|
-
print(f"
|
|
114
|
+
print(f"\n[Server] 🔄 Round {server_round} – Client Training Metrics:")
|
|
115
|
+
for client_id, fit_res in results:
|
|
116
|
+
print(f" • {client_id.cid}: {fit_res.metrics}")
|
|
94
117
|
agg_params, metrics = original_agg_fit(server_round, results, failures)
|
|
95
|
-
print(f"[Server] ✅
|
|
118
|
+
print(f"[Server] ✅ Aggregated Training Metrics: {metrics}\n")
|
|
96
119
|
return agg_params, metrics
|
|
97
120
|
strat.aggregate_fit = logged_agg_fit
|
|
98
121
|
|
|
99
|
-
#
|
|
100
|
-
# def realtime_handle_fit(server_round, results, failures):
|
|
101
|
-
# with self.lock:
|
|
102
|
-
# for client_id, fit_res in results:
|
|
103
|
-
# if client_id.cid not in self.current_round_results[server_round]:
|
|
104
|
-
# # New completion
|
|
105
|
-
# completion_time = time.time()
|
|
106
|
-
# self.current_round_results[server_round][client_id.cid] = completion_time
|
|
107
|
-
|
|
108
|
-
# # Get current leader
|
|
109
|
-
# times = self.current_round_results[server_round]
|
|
110
|
-
# if times:
|
|
111
|
-
# leader = min(times, key=times.get)
|
|
112
|
-
# lead_time = times[leader]
|
|
113
|
-
# delay = completion_time - lead_time
|
|
114
|
-
|
|
115
|
-
# print(f"[Server] 🚦 Round {server_round} - "
|
|
116
|
-
# f"Client {client_id.cid} finished: "
|
|
117
|
-
# f"{'🏁 FIRST' if delay == 0 else f'+{delay:.2f}s'}")
|
|
118
|
-
|
|
119
|
-
# return original_handle_fit(server_round, results, failures)
|
|
120
|
-
|
|
121
|
-
# strat.handle_fit = realtime_handle_fit
|
|
122
|
-
|
|
123
|
-
# Wrap aggregate_evaluate to log metrics
|
|
122
|
+
# 6) Wrap aggregate_evaluate for logging
|
|
124
123
|
original_agg_eval = strat.aggregate_evaluate
|
|
125
124
|
def logged_agg_eval(server_round, results, failures):
|
|
126
|
-
print(f"\n[Server] 📊 Round {server_round}
|
|
127
|
-
for
|
|
128
|
-
print(f"
|
|
125
|
+
print(f"\n[Server] 📊 Round {server_round} – Client Evaluation Metrics:")
|
|
126
|
+
for client_id, eval_res in results:
|
|
127
|
+
print(f" • {client_id.cid}: {eval_res.metrics}")
|
|
129
128
|
loss, metrics = original_agg_eval(server_round, results, failures)
|
|
130
|
-
print(f"[Server] ✅
|
|
131
|
-
print(f" Loss: {loss}, Metrics: {metrics}\n")
|
|
129
|
+
print(f"[Server] ✅ Aggregated Evaluation Metrics: Loss={loss}, Metrics={metrics}\n")
|
|
132
130
|
return loss, metrics
|
|
133
131
|
strat.aggregate_evaluate = logged_agg_eval
|
|
134
132
|
|
|
135
|
-
# Wrap configure_fit to
|
|
133
|
+
# 7) Wrap configure_fit to log client properties
|
|
136
134
|
original_conf_fit = strat.configure_fit
|
|
137
|
-
def wrapped_conf_fit(
|
|
138
|
-
server_round
|
|
139
|
-
parameters,
|
|
140
|
-
client_manager: ClientManager
|
|
141
|
-
):
|
|
142
|
-
selected = original_conf_fit(
|
|
143
|
-
server_round=server_round,
|
|
144
|
-
parameters=parameters,
|
|
145
|
-
client_manager=client_manager
|
|
146
|
-
)
|
|
147
|
-
|
|
148
|
-
# Synchronously fetch & log properties
|
|
135
|
+
def wrapped_conf_fit(server_round: int, parameters, client_manager: ClientManager):
|
|
136
|
+
selected = original_conf_fit(server_round, parameters, client_manager)
|
|
149
137
|
ins = GetPropertiesIns(config={})
|
|
150
138
|
for client, _ in selected:
|
|
151
139
|
try:
|
|
152
140
|
props = client.get_properties(ins=ins, timeout=10.0, group_id=0)
|
|
153
|
-
print(f"
|
|
154
|
-
|
|
141
|
+
print(f"📋 [Round {server_round}] {client.cid} props: {props.properties}")
|
|
155
142
|
except Exception as e:
|
|
156
143
|
print(f"⚠️ Failed to get properties from {client.cid}: {e}")
|
|
157
|
-
|
|
158
144
|
return selected
|
|
159
|
-
|
|
160
|
-
def fit_config_fn(server_round: int) -> Dict[str, Any]:
|
|
161
|
-
return {"local_epochs": self.local_epochs}
|
|
162
|
-
|
|
163
|
-
params["on_fit_config_fn"] = fit_config_fn
|
|
164
|
-
|
|
165
145
|
strat.configure_fit = wrapped_conf_fit
|
|
146
|
+
|
|
147
|
+
# 8) Save the ready-to-use strategy
|
|
166
148
|
self.strategy_object = strat
|
|
@@ -14,7 +14,7 @@ with open('requirements.txt') as f:
|
|
|
14
14
|
|
|
15
15
|
setup(
|
|
16
16
|
name="MEDfl",
|
|
17
|
-
version="2.0.4.
|
|
17
|
+
version="2.0.4.dev9",
|
|
18
18
|
author="MEDomics consortium",
|
|
19
19
|
author_email="medomics.info@gmail.com",
|
|
20
20
|
description="Python Open-source package for simulating federated learning and differential privacy",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/_modules/Medfl/LearningManager/client.html
RENAMED
|
File without changes
|
{medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/_modules/Medfl/LearningManager/dynamicModal.html
RENAMED
|
File without changes
|
|
File without changes
|
{medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/_modules/Medfl/LearningManager/flpipeline.html
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/_modules/Medfl/LearningManager/server.html
RENAMED
|
File without changes
|
{medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/_modules/Medfl/LearningManager/strategy.html
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/_static/_sphinx_javascript_frameworks_compat.js
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/_static/css/fonts/Roboto-Slab-Regular.woff
RENAMED
|
File without changes
|
{medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/_static/css/fonts/Roboto-Slab-Regular.woff2
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/_static/css/fonts/fontawesome-webfont.woff
RENAMED
|
File without changes
|
{medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/_static/css/fonts/fontawesome-webfont.woff2
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{medfl-2.0.4.dev8 → medfl-2.0.4.dev9}/docs/_build/_static/css/fonts/lato-normal-italic.woff2
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|