MEDfl 2.0.4.dev7__tar.gz → 2.0.4.dev8__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.
Files changed (360) hide show
  1. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/MEDfl/rw/client.py +108 -51
  2. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/MEDfl/rw/strategy.py +19 -19
  3. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/MEDfl.egg-info/PKG-INFO +1 -1
  4. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/PKG-INFO +1 -1
  5. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/setup.py +1 -1
  6. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/.github/workflows/main.yml +0 -0
  7. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/.gitignore +0 -0
  8. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/.idea/.gitignore +0 -0
  9. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/.idea/MEDfl.iml +0 -0
  10. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/.idea/inspectionProfiles/profiles_settings.xml +0 -0
  11. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/.idea/misc.xml +0 -0
  12. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/.idea/modules.xml +0 -0
  13. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/.idea/vcs.xml +0 -0
  14. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/LICENSE +0 -0
  15. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/MEDfl/LearningManager/__init__.py +0 -0
  16. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/MEDfl/LearningManager/client.py +0 -0
  17. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/MEDfl/LearningManager/dynamicModal.py +0 -0
  18. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/MEDfl/LearningManager/federated_dataset.py +0 -0
  19. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/MEDfl/LearningManager/flpipeline.py +0 -0
  20. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/MEDfl/LearningManager/model.py +0 -0
  21. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/MEDfl/LearningManager/params.yaml +0 -0
  22. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/MEDfl/LearningManager/params_optimiser.py +0 -0
  23. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/MEDfl/LearningManager/plot.py +0 -0
  24. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/MEDfl/LearningManager/server.py +0 -0
  25. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/MEDfl/LearningManager/strategy.py +0 -0
  26. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/MEDfl/LearningManager/utils.py +0 -0
  27. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/MEDfl/NetManager/__init__.py +0 -0
  28. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/MEDfl/NetManager/database_connector.py +0 -0
  29. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/MEDfl/NetManager/dataset.py +0 -0
  30. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/MEDfl/NetManager/flsetup.py +0 -0
  31. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/MEDfl/NetManager/net_helper.py +0 -0
  32. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/MEDfl/NetManager/net_manager_queries.py +0 -0
  33. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/MEDfl/NetManager/network.py +0 -0
  34. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/MEDfl/NetManager/node.py +0 -0
  35. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/MEDfl/__init__.py +0 -0
  36. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/MEDfl/rw/__init__.py +0 -0
  37. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/MEDfl/rw/model.py +0 -0
  38. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/MEDfl/rw/server.py +0 -0
  39. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/MEDfl/scripts/__init__.py +0 -0
  40. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/MEDfl/scripts/base.py +0 -0
  41. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/MEDfl/scripts/create_db.py +0 -0
  42. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/MEDfl.egg-info/SOURCES.txt +0 -0
  43. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/MEDfl.egg-info/dependency_links.txt +0 -0
  44. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/MEDfl.egg-info/requires.txt +0 -0
  45. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/MEDfl.egg-info/top_level.txt +0 -0
  46. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/README.md +0 -0
  47. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/alembic/README +0 -0
  48. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/alembic/__init__.py +0 -0
  49. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/alembic/__pycache__/env.cpython-38.pyc +0 -0
  50. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/alembic/alembic_logging.ini +0 -0
  51. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/alembic/debug.log +0 -0
  52. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/alembic/env.py +0 -0
  53. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/alembic/script.py.mako +0 -0
  54. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/alembic/versions/__pycache__/b159ee510a90_initial.cpython-38.pyc +0 -0
  55. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/alembic/versions/b159ee510a90_initial.py +0 -0
  56. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/alembic.ini +0 -0
  57. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/Makefile +0 -0
  58. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/.buildinfo +0 -0
  59. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/.doctrees/Medfl.LearningManager.doctree +0 -0
  60. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/.doctrees/Medfl.NetManager.doctree +0 -0
  61. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/.doctrees/Medfl.doctree +0 -0
  62. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/.doctrees/environment.pickle +0 -0
  63. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/.doctrees/index.doctree +0 -0
  64. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/.doctrees/modules.doctree +0 -0
  65. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/.nojekyll +0 -0
  66. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/Medfl.LearningManager.html +0 -0
  67. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/Medfl.NetManager.html +0 -0
  68. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/Medfl.html +0 -0
  69. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/_modules/Medfl/LearningManager/client.html +0 -0
  70. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/_modules/Medfl/LearningManager/dynamicModal.html +0 -0
  71. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/_modules/Medfl/LearningManager/federated_dataset.html +0 -0
  72. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/_modules/Medfl/LearningManager/flpipeline.html +0 -0
  73. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/_modules/Medfl/LearningManager/model.html +0 -0
  74. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/_modules/Medfl/LearningManager/plot.html +0 -0
  75. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/_modules/Medfl/LearningManager/server.html +0 -0
  76. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/_modules/Medfl/LearningManager/strategy.html +0 -0
  77. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/_modules/Medfl/LearningManager/utils.html +0 -0
  78. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/_modules/Medfl/NetManager/dataset.html +0 -0
  79. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/_modules/Medfl/NetManager/flsetup.html +0 -0
  80. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/_modules/Medfl/NetManager/net_helper.html +0 -0
  81. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/_modules/Medfl/NetManager/network.html +0 -0
  82. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/_modules/Medfl/NetManager/node.html +0 -0
  83. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/_modules/index.html +0 -0
  84. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/_sources/Medfl.LearningManager.rst.txt +0 -0
  85. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/_sources/Medfl.NetManager.rst.txt +0 -0
  86. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/_sources/Medfl.rst.txt +0 -0
  87. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/_sources/index.rst.txt +0 -0
  88. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/_sources/modules.rst.txt +0 -0
  89. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/_static/MEDomics.png +0 -0
  90. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/_static/_sphinx_javascript_frameworks_compat.js +0 -0
  91. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/_static/basic.css +0 -0
  92. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/_static/css/badge_only.css +0 -0
  93. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/_static/css/fonts/Roboto-Slab-Bold.woff +0 -0
  94. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/_static/css/fonts/Roboto-Slab-Bold.woff2 +0 -0
  95. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/_static/css/fonts/Roboto-Slab-Regular.woff +0 -0
  96. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/_static/css/fonts/Roboto-Slab-Regular.woff2 +0 -0
  97. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/_static/css/fonts/fontawesome-webfont.eot +0 -0
  98. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/_static/css/fonts/fontawesome-webfont.svg +0 -0
  99. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/_static/css/fonts/fontawesome-webfont.ttf +0 -0
  100. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/_static/css/fonts/fontawesome-webfont.woff +0 -0
  101. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/_static/css/fonts/fontawesome-webfont.woff2 +0 -0
  102. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/_static/css/fonts/lato-bold-italic.woff +0 -0
  103. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/_static/css/fonts/lato-bold-italic.woff2 +0 -0
  104. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/_static/css/fonts/lato-bold.woff +0 -0
  105. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/_static/css/fonts/lato-bold.woff2 +0 -0
  106. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/_static/css/fonts/lato-normal-italic.woff +0 -0
  107. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/_static/css/fonts/lato-normal-italic.woff2 +0 -0
  108. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/_static/css/fonts/lato-normal.woff +0 -0
  109. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/_static/css/fonts/lato-normal.woff2 +0 -0
  110. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/_static/css/theme.css +0 -0
  111. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/_static/dark_mode_css/custom.css +0 -0
  112. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/_static/dark_mode_css/dark.css +0 -0
  113. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/_static/dark_mode_css/general.css +0 -0
  114. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/_static/dark_mode_js/default_dark.js +0 -0
  115. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/_static/dark_mode_js/default_light.js +0 -0
  116. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/_static/dark_mode_js/theme_switcher.js +0 -0
  117. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/_static/doctools.js +0 -0
  118. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/_static/documentation_options.js +0 -0
  119. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/_static/file.png +0 -0
  120. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/_static/jquery.js +0 -0
  121. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/_static/js/badge_only.js +0 -0
  122. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/_static/js/html5shiv-printshiv.min.js +0 -0
  123. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/_static/js/html5shiv.min.js +0 -0
  124. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/_static/js/theme.js +0 -0
  125. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/_static/language_data.js +0 -0
  126. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/_static/minus.png +0 -0
  127. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/_static/plus.png +0 -0
  128. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/_static/pygments.css +0 -0
  129. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/_static/searchtools.js +0 -0
  130. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/_static/sphinx_highlight.js +0 -0
  131. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/genindex.html +0 -0
  132. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/index.html +0 -0
  133. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/modules.html +0 -0
  134. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/objects.inv +0 -0
  135. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/py-modindex.html +0 -0
  136. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/search.html +0 -0
  137. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/_build/searchindex.js +0 -0
  138. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/doctrees/Documentation.doctree +0 -0
  139. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/doctrees/Installation.doctree +0 -0
  140. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/doctrees/Medfl.LearningManager.doctree +0 -0
  141. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/doctrees/Medfl.NetManager.doctree +0 -0
  142. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/doctrees/Medfl.doctree +0 -0
  143. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/doctrees/configuration_file.doctree +0 -0
  144. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/doctrees/environment.pickle +0 -0
  145. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/doctrees/index.doctree +0 -0
  146. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/doctrees/modules.doctree +0 -0
  147. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/doctrees/tutorials.doctree +0 -0
  148. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/.buildinfo +0 -0
  149. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/.nojekyll +0 -0
  150. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/Documentation.html +0 -0
  151. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/Installation.html +0 -0
  152. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/Medfl.LearningManager.html +0 -0
  153. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/Medfl.NetManager.html +0 -0
  154. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/Medfl.html +0 -0
  155. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/_images/FTL_comp.png +0 -0
  156. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/_images/LearningManager.png +0 -0
  157. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/_images/MEDfl_Diagramm.png +0 -0
  158. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/_images/NetManager_Diagramm.png +0 -0
  159. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/_images/learningresults.png +0 -0
  160. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/_images/mysqllogo.png +0 -0
  161. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/_images/phpmyadmin.png +0 -0
  162. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/_images/wampLogo.png +0 -0
  163. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/_images/xampplogo.png +0 -0
  164. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/_modules/index.html +0 -0
  165. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/_sources/Documentation.rst.txt +0 -0
  166. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/_sources/Installation.rst.txt +0 -0
  167. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/_sources/Medfl.LearningManager.rst.txt +0 -0
  168. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/_sources/Medfl.NetManager.rst.txt +0 -0
  169. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/_sources/Medfl.rst.txt +0 -0
  170. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/_sources/configuration_file.rst.txt +0 -0
  171. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/_sources/index.rst.txt +0 -0
  172. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/_sources/modules.rst.txt +0 -0
  173. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/_sources/tutorials.rst.txt +0 -0
  174. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/_static/MEDomics.png +0 -0
  175. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/_static/_sphinx_javascript_frameworks_compat.js +0 -0
  176. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/_static/basic.css +0 -0
  177. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/_static/css/badge_only.css +0 -0
  178. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/_static/css/fonts/Roboto-Slab-Bold.woff +0 -0
  179. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/_static/css/fonts/Roboto-Slab-Bold.woff2 +0 -0
  180. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/_static/css/fonts/Roboto-Slab-Regular.woff +0 -0
  181. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/_static/css/fonts/Roboto-Slab-Regular.woff2 +0 -0
  182. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/_static/css/fonts/fontawesome-webfont.eot +0 -0
  183. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/_static/css/fonts/fontawesome-webfont.svg +0 -0
  184. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/_static/css/fonts/fontawesome-webfont.ttf +0 -0
  185. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/_static/css/fonts/fontawesome-webfont.woff +0 -0
  186. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/_static/css/fonts/fontawesome-webfont.woff2 +0 -0
  187. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/_static/css/fonts/lato-bold-italic.woff +0 -0
  188. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/_static/css/fonts/lato-bold-italic.woff2 +0 -0
  189. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/_static/css/fonts/lato-bold.woff +0 -0
  190. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/_static/css/fonts/lato-bold.woff2 +0 -0
  191. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/_static/css/fonts/lato-normal-italic.woff +0 -0
  192. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/_static/css/fonts/lato-normal-italic.woff2 +0 -0
  193. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/_static/css/fonts/lato-normal.woff +0 -0
  194. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/_static/css/fonts/lato-normal.woff2 +0 -0
  195. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/_static/css/theme.css +0 -0
  196. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/_static/custom.css +0 -0
  197. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/_static/dark_mode_css/custom.css +0 -0
  198. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/_static/dark_mode_css/dark.css +0 -0
  199. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/_static/dark_mode_css/general.css +0 -0
  200. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/_static/dark_mode_js/default_dark.js +0 -0
  201. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/_static/dark_mode_js/default_light.js +0 -0
  202. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/_static/dark_mode_js/theme_switcher.js +0 -0
  203. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/_static/doctools.js +0 -0
  204. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/_static/documentation_options.js +0 -0
  205. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/_static/file.png +0 -0
  206. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/_static/jquery-3.6.0.js +0 -0
  207. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/_static/jquery.js +0 -0
  208. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/_static/js/badge_only.js +0 -0
  209. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/_static/js/html5shiv-printshiv.min.js +0 -0
  210. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/_static/js/html5shiv.min.js +0 -0
  211. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/_static/js/theme.js +0 -0
  212. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/_static/language_data.js +0 -0
  213. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/_static/minus.png +0 -0
  214. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/_static/plus.png +0 -0
  215. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/_static/pygments.css +0 -0
  216. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/_static/searchtools.js +0 -0
  217. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/_static/sphinx_highlight.js +0 -0
  218. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/_static/underscore-1.13.1.js +0 -0
  219. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/_static/underscore.js +0 -0
  220. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/configuration_file.html +0 -0
  221. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/genindex.html +0 -0
  222. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/index.html +0 -0
  223. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/modules.html +0 -0
  224. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/objects.inv +0 -0
  225. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/py-modindex.html +0 -0
  226. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/search.html +0 -0
  227. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/searchindex.js +0 -0
  228. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/build/html/tutorials.html +0 -0
  229. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/make.bat +0 -0
  230. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/source/Documentation.rst +0 -0
  231. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/source/Installation.rst +0 -0
  232. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/source/Medfl.LearningManager.rst +0 -0
  233. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/source/Medfl.NetManager.rst +0 -0
  234. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/source/Medfl.rst +0 -0
  235. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/source/_static/custom.css +0 -0
  236. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/source/conf.py +0 -0
  237. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/source/configuration_file.rst +0 -0
  238. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/source/figures/Images/FL_gen.png +0 -0
  239. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/source/figures/Images/FTL_comp.png +0 -0
  240. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/source/figures/Images/FlDatasetDiagramm.png +0 -0
  241. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/source/figures/Images/GDP.png +0 -0
  242. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/source/figures/Images/LDP.png +0 -0
  243. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/source/figures/Images/LearningManager.png +0 -0
  244. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/source/figures/Images/MEDfl_Diagramm.png +0 -0
  245. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/source/figures/Images/Modelinit.png +0 -0
  246. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/source/figures/Images/NetManager_Diagramm.png +0 -0
  247. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/source/figures/Images/NetworkCreation.png +0 -0
  248. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/source/figures/Images/createServer.png +0 -0
  249. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/source/figures/Images/learningresults.png +0 -0
  250. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/source/figures/Images/logos/mysqllogo.png +0 -0
  251. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/source/figures/Images/logos/phpmyadmin.png +0 -0
  252. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/source/figures/Images/logos/wampLogo.png +0 -0
  253. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/source/figures/Images/logos/xampplogo.png +0 -0
  254. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/source/figures/Images/modeltest.png +0 -0
  255. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/source/figures/Images/netMan.png +0 -0
  256. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/source/figures/Images/nodecreation.png +0 -0
  257. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/source/figures/Images/pipeline.png +0 -0
  258. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/source/figures/Images/strategy.png +0 -0
  259. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/source/figures/MEDomics.png +0 -0
  260. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/source/index.rst +0 -0
  261. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/source/modules.rst +0 -0
  262. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/docs/source/tutorials.rst +0 -0
  263. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/global_params.yaml +0 -0
  264. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/medfl.egg-info/PKG-INFO +0 -0
  265. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/medfl.egg-info/SOURCES.txt +0 -0
  266. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/medfl.egg-info/dependency_links.txt +0 -0
  267. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/medfl.egg-info/requires.txt +0 -0
  268. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/medfl.egg-info/top_level.txt +0 -0
  269. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/notebooks/.ipynb_checkpoints/trainedModels/binary_classifier.pth +0 -0
  270. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/notebooks/.ipynb_checkpoints/trainedModels/eicu_binary_classifier.pth +0 -0
  271. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/notebooks/.ipynb_checkpoints/trainedModels/grid_search_classifier.pth +0 -0
  272. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/notebooks/.ipynb_checkpoints/trainedModels/new_binary_classifier.pth +0 -0
  273. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/notebooks/.ipynb_checkpoints/trainedModels/updated_model.pth +0 -0
  274. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/notebooks/First_Tuto.ipynb +0 -0
  275. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/notebooks/Images/FL_gen.png +0 -0
  276. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/notebooks/Images/FTL_comp.png +0 -0
  277. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/notebooks/Images/FlDatasetDiagramm.png +0 -0
  278. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/notebooks/Images/GDP.png +0 -0
  279. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/notebooks/Images/LDP.png +0 -0
  280. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/notebooks/Images/LearningManager.png +0 -0
  281. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/notebooks/Images/MEDfl_Diagramm.png +0 -0
  282. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/notebooks/Images/MEDfl_bachmarking_plan.png +0 -0
  283. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/notebooks/Images/Modelinit.png +0 -0
  284. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/notebooks/Images/NetManager_Diagramm.png +0 -0
  285. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/notebooks/Images/NetworkCreation.png +0 -0
  286. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/notebooks/Images/createServer.png +0 -0
  287. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/notebooks/Images/learningresults.png +0 -0
  288. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/notebooks/Images/logos/mysqllogo.png +0 -0
  289. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/notebooks/Images/logos/phpmyadmin.png +0 -0
  290. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/notebooks/Images/logos/wampLogo.png +0 -0
  291. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/notebooks/Images/logos/xampplogo.png +0 -0
  292. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/notebooks/Images/modeltest.png +0 -0
  293. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/notebooks/Images/netMan.png +0 -0
  294. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/notebooks/Images/nodecreation.png +0 -0
  295. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/notebooks/Images/optuna_optim_diag.png +0 -0
  296. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/notebooks/Images/pipeline.png +0 -0
  297. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/notebooks/Images/strategy.png +0 -0
  298. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/notebooks/banchmarking/MEDfl_benchmarks.ipynb +0 -0
  299. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/notebooks/banchmarking/banchmarking_plan.md +0 -0
  300. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/notebooks/banchmarking/benchmarks_results.txt +0 -0
  301. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/notebooks/banchmarking/network_architecture/net_bachmarking_conf_1.ipynb +0 -0
  302. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/notebooks/banchmarking/network_architecture/net_bachmarking_conf_2.ipynb +0 -0
  303. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/notebooks/banchmarking/transfer_learning/TL_activated.ipynb +0 -0
  304. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/notebooks/banchmarking/transfer_learning/TL_dectivated.ipynb +0 -0
  305. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/notebooks/data/chunk_1.csv +0 -0
  306. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/notebooks/data/chunk_2.csv +0 -0
  307. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/notebooks/data/chunk_3.csv +0 -0
  308. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/notebooks/data/config_1/part_1.csv +0 -0
  309. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/notebooks/data/config_1/part_2.csv +0 -0
  310. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/notebooks/data/config_1/part_3.csv +0 -0
  311. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/notebooks/data/config_1/test_1.csv +0 -0
  312. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/notebooks/data/config_1/test_2.csv +0 -0
  313. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/notebooks/data/eicu_sapsii_data.csv +0 -0
  314. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/notebooks/data/eicu_sapsii_data_test.csv +0 -0
  315. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/notebooks/data/eicu_sapsii_data_test_1.csv +0 -0
  316. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/notebooks/data/masterDataSet/Mimic_ouael.csv +0 -0
  317. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/notebooks/data/masterDataSet/Mimic_train.csv +0 -0
  318. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/notebooks/data/masterDataSet/eICU.csv +0 -0
  319. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/notebooks/data/nodesData/output_1.csv +0 -0
  320. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/notebooks/data/nodesData/output_2.csv +0 -0
  321. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/notebooks/data/nodesData/output_3.csv +0 -0
  322. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/notebooks/data/nodesData/output_4.csv +0 -0
  323. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/notebooks/data/nodesData/output_5.csv +0 -0
  324. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/notebooks/data/test_1.csv +0 -0
  325. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/notebooks/data/test_2.csv +0 -0
  326. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/notebooks/data/test_3.csv +0 -0
  327. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/notebooks/data/validation/Mimic_validation.csv +0 -0
  328. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/notebooks/eicu_test.csv +0 -0
  329. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/notebooks/eicu_test_1.csv +0 -0
  330. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/notebooks/eicu_test_2.csv +0 -0
  331. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/notebooks/eicu_test_3.csv +0 -0
  332. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/notebooks/sapsii_score_knnimputed_eicu.csv +0 -0
  333. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/notebooks/tutorial/1_DB.ipynb +0 -0
  334. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/notebooks/tutorial/2_NetManager.ipynb +0 -0
  335. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/notebooks/tutorial/3_TransferLearning copy.ipynb +0 -0
  336. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/notebooks/tutorial/3_TransferLearning.ipynb +0 -0
  337. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/notebooks/tutorial/4_LearningManager.ipynb +0 -0
  338. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/notebooks/tutorial/5_LearningResults.ipynb +0 -0
  339. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/notebooks/tutorial/6_ModelChoice.ipynb +0 -0
  340. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/notebooks/tutorial/7_ParamsOptimiser.ipynb +0 -0
  341. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/notebooks/tutorial/8_complete_tutorial.ipynb +0 -0
  342. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/notebooks/tutorial/newplot2.png +0 -0
  343. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/notebooks/tutorial/newplot4.png +0 -0
  344. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/requirements.txt +0 -0
  345. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/setup.cfg +0 -0
  346. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/setup_mysql.sh +0 -0
  347. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/tests/__init__.py +0 -0
  348. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/tests/__pycache__/test_dataset.cpython-38.pyc +0 -0
  349. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/tests/__pycache__/test_federated_dataset.cpython-38.pyc +0 -0
  350. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/tests/__pycache__/test_flpipeline.cpython-38.pyc +0 -0
  351. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/tests/__pycache__/test_flsetup.cpython-38.pyc +0 -0
  352. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/tests/__pycache__/test_network.cpython-38.pyc +0 -0
  353. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/tests/__pycache__/test_node.cpython-38.pyc +0 -0
  354. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/tests/test_dataset.py +0 -0
  355. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/tests/test_federated_dataset.py +0 -0
  356. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/tests/test_flpipeline.py +0 -0
  357. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/tests/test_flsetup.py +0 -0
  358. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/tests/test_network.py +0 -0
  359. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/tests/test_node.py +0 -0
  360. {medfl-2.0.4.dev7 → medfl-2.0.4.dev8}/workflows/migration.yml +0 -0
@@ -1,4 +1,5 @@
1
1
  # client.py
2
+
2
3
  import argparse
3
4
  import pandas as pd
4
5
  import flwr as fl
@@ -7,11 +8,18 @@ import torch.nn as nn
7
8
  import torch.optim as optim
8
9
  from torch.utils.data import TensorDataset, DataLoader
9
10
  from sklearn.metrics import accuracy_score, roc_auc_score
10
- from model import Net # your model definition in model.py
11
+ from MEDfl.rw.model import Net # votre définition de modèle
11
12
  import socket
12
- import platform
13
+ import platform
14
+ import psutil
15
+ import shutil
16
+
17
+ try:
18
+ import GPUtil
19
+ except ImportError:
20
+ GPUtil = None
21
+
13
22
 
14
- # Differential Privacy configuration class
15
23
  class DPConfig:
16
24
  """
17
25
  Configuration for differential privacy.
@@ -20,8 +28,9 @@ class DPConfig:
20
28
  noise_multiplier (float): Noise multiplier for DP.
21
29
  max_grad_norm (float): Maximum gradient norm for clipping.
22
30
  batch_size (int): Batch size for training.
23
- secure_rng (bool): Whether to use secure random generator.
31
+ secure_rng (bool): Use a secure random generator.
24
32
  """
33
+
25
34
  def __init__(
26
35
  self,
27
36
  noise_multiplier: float = 1.0,
@@ -44,37 +53,44 @@ class FlowerClient(fl.client.NumPyClient):
44
53
  ):
45
54
  self.server_address = server_address
46
55
 
47
- # 1. Load data from CSV
56
+ # 1) Chargement des données
48
57
  df = pd.read_csv(data_path)
49
58
  X = df.iloc[:, :-1].values
50
59
  y = df.iloc[:, -1].values
51
60
 
52
- # Convert to tensors and store for metrics
61
+ # Métadonnées pour get_properties()
62
+ self.feature_names = df.columns[:-1].tolist()
63
+ self.target_name = df.columns[-1]
64
+ self.label_counts = df[self.target_name].value_counts().to_dict()
65
+ self.classes = sorted(self.label_counts.keys())
66
+
67
+ # Tenseurs pour les métriques
53
68
  self.X_tensor = torch.tensor(X, dtype=torch.float32)
54
69
  self.y_tensor = torch.tensor(y, dtype=torch.float32)
55
70
 
56
- # Create DataLoader
71
+ # 2) DataLoader
57
72
  batch_size = dp_config.batch_size if dp_config else 32
58
73
  dataset = TensorDataset(self.X_tensor, self.y_tensor)
59
74
  self.train_loader = DataLoader(dataset, batch_size=batch_size, shuffle=True)
60
75
 
61
- # 2. Initialize model, loss, optimizer
76
+ # 3) Modèle, critère, optimiseur
62
77
  input_dim = X.shape[1]
63
78
  self.model = Net(input_dim)
64
-
65
79
  self.criterion = nn.BCEWithLogitsLoss()
66
80
  self.optimizer = optim.SGD(self.model.parameters(), lr=0.01)
67
81
 
68
- # 3. Set up differential privacy if requested
82
+ # 4) Configuration DP (Opacus)
69
83
  self.privacy_engine = None
70
- if dp_config is not None:
84
+ if dp_config:
71
85
  try:
72
86
  from opacus import PrivacyEngine
73
87
 
74
- # Instantiate engine without secure_rng argument
75
88
  self.privacy_engine = PrivacyEngine()
76
- # Attach privacy engine with secure_rng flag
77
- self.model, self.optimizer, self.train_loader = self.privacy_engine.make_private(
89
+ (
90
+ self.model,
91
+ self.optimizer,
92
+ self.train_loader,
93
+ ) = self.privacy_engine.make_private(
78
94
  module=self.model,
79
95
  optimizer=self.optimizer,
80
96
  data_loader=self.train_loader,
@@ -83,7 +99,7 @@ class FlowerClient(fl.client.NumPyClient):
83
99
  secure_rng=dp_config.secure_rng,
84
100
  )
85
101
  except ImportError:
86
- print("Opacus not installed, running without DP.")
102
+ print("Opacus non installé : exécution sans DP.")
87
103
 
88
104
  def get_parameters(self, config):
89
105
  return [val.cpu().numpy() for val in self.model.state_dict().values()]
@@ -94,21 +110,26 @@ class FlowerClient(fl.client.NumPyClient):
94
110
  self.model.load_state_dict(state_dict, strict=True)
95
111
 
96
112
  def fit(self, parameters, config):
97
- # Update model parameters
98
113
  self.set_parameters(parameters)
99
114
  self.model.train()
100
115
 
116
+ local_epochs = config.get("local_epochs", 5)
101
117
  total_loss = 0.0
102
- for X_batch, y_batch in self.train_loader:
103
- self.optimizer.zero_grad()
104
- outputs = self.model(X_batch)
105
- loss = self.criterion(outputs.squeeze(), y_batch)
106
- loss.backward()
107
- self.optimizer.step()
108
- total_loss += loss.item() * X_batch.size(0)
118
+ print(f"Training for {local_epochs} epochs...")
109
119
 
110
- avg_loss = total_loss / len(self.train_loader.dataset)
111
- # Compute training metrics (accuracy, AUC) on full dataset
120
+ for epoch in range(local_epochs):
121
+ print(f"Epoch {epoch + 1}/{local_epochs}")
122
+ for X_batch, y_batch in self.train_loader:
123
+ self.optimizer.zero_grad()
124
+ outputs = self.model(X_batch)
125
+ loss = self.criterion(outputs.squeeze(), y_batch)
126
+ loss.backward()
127
+ self.optimizer.step()
128
+ total_loss += loss.item() * X_batch.size(0)
129
+
130
+ avg_loss = total_loss / (len(self.train_loader.dataset) * local_epochs)
131
+
132
+ # Compute metrics after last epoch
112
133
  with torch.no_grad():
113
134
  logits = self.model(self.X_tensor).squeeze()
114
135
  probs = torch.sigmoid(logits).cpu().numpy()
@@ -116,21 +137,25 @@ class FlowerClient(fl.client.NumPyClient):
116
137
  binary_preds = (probs >= 0.5).astype(int)
117
138
  acc = accuracy_score(y_true, binary_preds)
118
139
  auc = roc_auc_score(y_true, probs)
119
-
140
+
120
141
  hostname = socket.gethostname()
121
142
  os_type = platform.system()
143
+ metrics = {
144
+ "hostname": hostname,
145
+ "os_type": os_type,
146
+ "train_loss": avg_loss,
147
+ "train_accuracy": acc,
148
+ "train_auc": auc,
149
+ }
122
150
 
123
- metrics = {"hostname": hostname, "train_loss": avg_loss, "train_accuracy": acc, "train_auc": auc , "os_type": os_type}
124
151
  return self.get_parameters(config), len(self.train_loader.dataset), metrics
125
152
 
126
153
  def evaluate(self, parameters, config):
127
- # Update model parameters
128
154
  self.set_parameters(parameters)
129
155
  self.model.eval()
130
156
 
131
157
  total_loss = 0.0
132
- all_probs = []
133
- all_true = []
158
+ all_probs, all_true = [], []
134
159
  with torch.no_grad():
135
160
  for X_batch, y_batch in self.train_loader:
136
161
  outputs = self.model(X_batch)
@@ -145,73 +170,105 @@ class FlowerClient(fl.client.NumPyClient):
145
170
  acc = accuracy_score(all_true, binary_preds)
146
171
  auc = roc_auc_score(all_true, all_probs)
147
172
 
148
- metrics = {"eval_loss": avg_loss, "eval_accuracy": acc, "eval_auc": auc}
173
+ metrics = {
174
+ "eval_loss": avg_loss,
175
+ "eval_accuracy": acc,
176
+ "eval_auc": auc,
177
+ }
149
178
  print(f"Evaluation metrics: {metrics}")
179
+
150
180
  return float(avg_loss), len(self.train_loader.dataset), metrics
151
-
152
- # client.py - Update the get_properties method
181
+
153
182
  def get_properties(self, config):
154
183
  """
155
184
  Return dataset statistics before training starts.
156
-
157
- NOTE: Only scalar values (int, float, str, bool, bytes) are allowed.
158
- Lists will cause the “not a 1:1 mapping” TypeError.
185
+ Only scalar values allowed (int, float, str, bool, bytes).
159
186
  """
187
+ hostname = socket.gethostname()
188
+ os_type = platform.system()
160
189
  num_samples = len(self.X_tensor)
161
190
  num_features = self.X_tensor.shape[1]
162
- # Convert list to comma‑separated string
163
- column_names = [f"feature_{i}" for i in range(num_features)]
164
- columns_str = ",".join(column_names)
165
191
 
166
- hostname = socket.gethostname()
167
- os_type = platform.system()
192
+ features_str = ",".join(self.feature_names)
193
+ classes_str = ",".join(map(str, self.classes))
194
+ dist_str = ",".join(f"{cls}:{cnt}" for cls, cnt in self.label_counts.items())
195
+
196
+ cpu_physical = psutil.cpu_count(logical=False)
197
+ cpu_logical = psutil.cpu_count(logical=True)
198
+ total_mem_gb = round(psutil.virtual_memory().total / (1024**3), 2)
199
+ driver_present = shutil.which('nvidia-smi') is not None
200
+ gpu_count = 0
201
+ if GPUtil and driver_present:
202
+ try:
203
+ gpu_count = len(GPUtil.getGPUs())
204
+ except Exception:
205
+ gpu_count = 0
168
206
 
169
207
  return {
170
208
  "hostname": hostname,
171
209
  "os_type": os_type,
172
210
  "num_samples": num_samples,
173
211
  "num_features": num_features,
174
- "columns": columns_str, # now a single str, not a list
212
+ "features": features_str,
213
+ "target": self.target_name,
214
+ "classes": classes_str,
215
+ "label_distribution": dist_str,
216
+ "cpu_physical_cores": cpu_physical,
217
+ "cpu_logical_cores": cpu_logical,
218
+ "total_memory_gb": total_mem_gb,
219
+ "gpu_driver_present": str(driver_present),
220
+ "gpu_count": gpu_count,
175
221
  }
176
222
 
223
+ def start(self) -> None:
224
+ """
225
+ Start this client against its configured server_address.
226
+ Blocks until the server shuts down.
227
+ """
228
+ fl.client.start_numpy_client(
229
+ server_address=self.server_address,
230
+ client=self,
231
+ )
232
+
177
233
 
178
-
179
234
  if __name__ == "__main__":
180
- parser = argparse.ArgumentParser(description="Flower client with DP support and metrics")
235
+ parser = argparse.ArgumentParser(
236
+ description="Flower client with DP support and metrics"
237
+ )
181
238
  parser.add_argument(
182
239
  "--server_address",
183
240
  type=str,
184
241
  required=True,
185
- help="Address of the Flower server (e.g., 127.0.0.1:8080)",
242
+ help="Adresse du serveur Flower (ex : 127.0.0.1:8080)",
186
243
  )
187
244
  parser.add_argument(
188
245
  "--data_path",
189
246
  type=str,
190
247
  default="data/data.csv",
191
- help="Path to your CSV training data",
248
+ help="Chemin vers les données CSV",
192
249
  )
193
250
  parser.add_argument(
194
251
  "--dp",
195
252
  action="store_true",
196
- help="Enable differential privacy",
253
+ help="Activer la confidentialité différentielle",
197
254
  )
198
255
  parser.add_argument(
199
256
  "--noise_multiplier",
200
257
  type=float,
201
258
  default=1.0,
202
- help="Noise multiplier for DP",
259
+ help="Noise multiplier pour DP",
203
260
  )
204
261
  parser.add_argument(
205
262
  "--max_grad_norm",
206
263
  type=float,
207
264
  default=1.0,
208
- help="Clip norm for DP",
265
+ help="Norme max pour le clipping",
209
266
  )
210
267
  parser.add_argument(
211
268
  "--batch_size",
212
269
  type=int,
213
270
  default=32,
214
- help="Batch size for training",
271
+ help="Taille du batch",
215
272
  )
216
273
  args = parser.parse_args()
217
274
 
@@ -228,4 +285,4 @@ if __name__ == "__main__":
228
285
  data_path=args.data_path,
229
286
  dp_config=dp_config,
230
287
  )
231
- fl.client.start_numpy_client(server_address=client.server_address, client=client)
288
+ client.start()
@@ -96,29 +96,29 @@ class Strategy:
96
96
  return agg_params, metrics
97
97
  strat.aggregate_fit = logged_agg_fit
98
98
 
99
- original_handle_fit = strat.handle_fit
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
99
+ # original_handle_fit = strat.handle_fit
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
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
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
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'}")
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
118
 
119
- return original_handle_fit(server_round, results, failures)
119
+ # return original_handle_fit(server_round, results, failures)
120
120
 
121
- strat.handle_fit = realtime_handle_fit
121
+ # strat.handle_fit = realtime_handle_fit
122
122
 
123
123
  # Wrap aggregate_evaluate to log metrics
124
124
  original_agg_eval = strat.aggregate_evaluate
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: MEDfl
3
- Version: 2.0.4.dev7
3
+ Version: 2.0.4.dev8
4
4
  Summary: Python Open-source package for simulating federated learning and differential privacy
5
5
  Home-page: https://github.com/MEDomics-UdeS/MEDfl
6
6
  Author: MEDomics consortium
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: MEDfl
3
- Version: 2.0.4.dev7
3
+ Version: 2.0.4.dev8
4
4
  Summary: Python Open-source package for simulating federated learning and differential privacy
5
5
  Home-page: https://github.com/MEDomics-UdeS/MEDfl
6
6
  Author: MEDomics consortium
@@ -14,7 +14,7 @@ with open('requirements.txt') as f:
14
14
 
15
15
  setup(
16
16
  name="MEDfl",
17
- version="2.0.4.dev7",
17
+ version="2.0.4.dev8",
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