MEDfl 0.1.31__py3-none-any.whl → 0.1.33__py3-none-any.whl
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-0.1.31.dist-info → MEDfl-0.1.33.dist-info}/METADATA +127 -128
- MEDfl-0.1.33.dist-info/RECORD +34 -0
- {MEDfl-0.1.31.dist-info → MEDfl-0.1.33.dist-info}/WHEEL +1 -1
- {MEDfl-0.1.31.dist-info → MEDfl-0.1.33.dist-info}/top_level.txt +0 -1
- Medfl/LearningManager/__init__.py +13 -13
- Medfl/LearningManager/client.py +150 -150
- Medfl/LearningManager/dynamicModal.py +287 -287
- Medfl/LearningManager/federated_dataset.py +60 -60
- Medfl/LearningManager/flpipeline.py +192 -192
- Medfl/LearningManager/model.py +223 -223
- Medfl/LearningManager/params.yaml +14 -14
- Medfl/LearningManager/params_optimiser.py +442 -442
- Medfl/LearningManager/plot.py +229 -229
- Medfl/LearningManager/server.py +181 -181
- Medfl/LearningManager/strategy.py +82 -82
- Medfl/LearningManager/utils.py +331 -308
- Medfl/NetManager/__init__.py +10 -9
- Medfl/NetManager/database_connector.py +43 -48
- Medfl/NetManager/dataset.py +92 -92
- Medfl/NetManager/flsetup.py +320 -320
- Medfl/NetManager/net_helper.py +254 -248
- Medfl/NetManager/net_manager_queries.py +142 -137
- Medfl/NetManager/network.py +194 -174
- Medfl/NetManager/node.py +184 -178
- Medfl/__init__.py +3 -2
- Medfl/scripts/__init__.py +2 -0
- Medfl/scripts/base.py +30 -0
- Medfl/scripts/create_db.py +126 -0
- alembic/env.py +61 -61
- scripts/base.py +29 -29
- scripts/config.ini +5 -5
- scripts/create_db.py +133 -133
- MEDfl/LearningManager/__init__.py +0 -13
- MEDfl/LearningManager/client.py +0 -150
- MEDfl/LearningManager/dynamicModal.py +0 -287
- MEDfl/LearningManager/federated_dataset.py +0 -60
- MEDfl/LearningManager/flpipeline.py +0 -192
- MEDfl/LearningManager/model.py +0 -223
- MEDfl/LearningManager/params.yaml +0 -14
- MEDfl/LearningManager/params_optimiser.py +0 -442
- MEDfl/LearningManager/plot.py +0 -229
- MEDfl/LearningManager/server.py +0 -181
- MEDfl/LearningManager/strategy.py +0 -82
- MEDfl/LearningManager/utils.py +0 -333
- MEDfl/NetManager/__init__.py +0 -9
- MEDfl/NetManager/database_connector.py +0 -48
- MEDfl/NetManager/dataset.py +0 -92
- MEDfl/NetManager/flsetup.py +0 -320
- MEDfl/NetManager/net_helper.py +0 -248
- MEDfl/NetManager/net_manager_queries.py +0 -137
- MEDfl/NetManager/network.py +0 -174
- MEDfl/NetManager/node.py +0 -178
- MEDfl/__init__.py +0 -2
- MEDfl-0.1.31.data/scripts/setup_mysql.sh +0 -22
- MEDfl-0.1.31.dist-info/RECORD +0 -54
- scripts/db_config.ini +0 -6
MEDfl/NetManager/network.py
DELETED
@@ -1,174 +0,0 @@
|
|
1
|
-
# src/MEDfl/NetManager/network.py
|
2
|
-
|
3
|
-
from MEDfl.LearningManager.utils import *
|
4
|
-
|
5
|
-
from .net_helper import *
|
6
|
-
from .net_manager_queries import (CREATE_MASTER_DATASET_TABLE_QUERY,
|
7
|
-
CREATE_DATASETS_TABLE_QUERY,
|
8
|
-
DELETE_NETWORK_QUERY,
|
9
|
-
INSERT_NETWORK_QUERY, LIST_ALL_NODES_QUERY,
|
10
|
-
UPDATE_NETWORK_QUERY, GET_NETWORK_QUERY)
|
11
|
-
from .node import Node
|
12
|
-
import pandas as pd
|
13
|
-
from MEDfl.LearningManager.utils import params
|
14
|
-
|
15
|
-
from sqlalchemy import text
|
16
|
-
|
17
|
-
|
18
|
-
class Network:
|
19
|
-
"""
|
20
|
-
A class representing a network.
|
21
|
-
|
22
|
-
Attributes:
|
23
|
-
name (str): The name of the network.
|
24
|
-
mtable_exists (int): An integer flag indicating whether the MasterDataset table exists (1) or not (0).
|
25
|
-
"""
|
26
|
-
|
27
|
-
def __init__(self, name: str = ""):
|
28
|
-
"""
|
29
|
-
Initialize a Network instance.
|
30
|
-
|
31
|
-
Parameters:
|
32
|
-
name (str): The name of the network.
|
33
|
-
"""
|
34
|
-
self.name = name
|
35
|
-
self.mtable_exists = int(master_table_exists())
|
36
|
-
self.validate()
|
37
|
-
|
38
|
-
db_manager = DatabaseManager() ;
|
39
|
-
db_manager.connect() ;
|
40
|
-
self.eng = db_manager.get_connection()
|
41
|
-
|
42
|
-
def validate(self):
|
43
|
-
"""Validate name"""
|
44
|
-
|
45
|
-
if not isinstance(self.name, str):
|
46
|
-
raise TypeError("name argument must be a string")
|
47
|
-
|
48
|
-
def create_network(self):
|
49
|
-
"""Create a new network in the database."""
|
50
|
-
self.eng.execute(text(INSERT_NETWORK_QUERY.format(name=self.name)))
|
51
|
-
self.id = get_netid_from_name(self.name)
|
52
|
-
|
53
|
-
def use_network(self, network_name: str):
|
54
|
-
"""Use a network in the database.
|
55
|
-
|
56
|
-
Parameters:
|
57
|
-
network_name (str): The name of the network to use.
|
58
|
-
|
59
|
-
Returns:
|
60
|
-
Network or None: An instance of the Network class if the network exists, else None.
|
61
|
-
|
62
|
-
"""
|
63
|
-
network = pd.read_sql(
|
64
|
-
text(GET_NETWORK_QUERY.format(name=network_name)),
|
65
|
-
self.eng,
|
66
|
-
)
|
67
|
-
|
68
|
-
if (network.NetId[0]):
|
69
|
-
self.name = network.NetName[0]
|
70
|
-
self.id = network.NetId[0]
|
71
|
-
self.mtable_exists = int(master_table_exists())
|
72
|
-
self.validate()
|
73
|
-
return self
|
74
|
-
else:
|
75
|
-
return None
|
76
|
-
|
77
|
-
def delete_network(self):
|
78
|
-
"""Delete the network from the database."""
|
79
|
-
self.eng.execute(text(DELETE_NETWORK_QUERY.format(name=self.name)))
|
80
|
-
|
81
|
-
def update_network(self, FLsetupId: int):
|
82
|
-
"""Update the network's FLsetupId in the database.
|
83
|
-
|
84
|
-
Parameters:
|
85
|
-
FLsetupId (int): The FLsetupId to update.
|
86
|
-
"""
|
87
|
-
self.eng.execute(
|
88
|
-
text(UPDATE_NETWORK_QUERY.format(FLsetupId=FLsetupId, id=self.id))
|
89
|
-
)
|
90
|
-
|
91
|
-
def add_node(self, node: Node):
|
92
|
-
"""Add a node to the network.
|
93
|
-
|
94
|
-
Parameters:
|
95
|
-
node (Node): The node to add.
|
96
|
-
"""
|
97
|
-
node.create_node(self.id)
|
98
|
-
|
99
|
-
def list_allnodes(self):
|
100
|
-
"""List all nodes in the network.
|
101
|
-
|
102
|
-
Parameters:
|
103
|
-
None
|
104
|
-
|
105
|
-
Returns:
|
106
|
-
DataFrame: A DataFrame containing information about all nodes in the network.
|
107
|
-
|
108
|
-
"""
|
109
|
-
query = text(LIST_ALL_NODES_QUERY.format(name=self.name))
|
110
|
-
result_proxy = self.eng.execute(query)
|
111
|
-
result_df = pd.DataFrame(result_proxy.fetchall(), columns=result_proxy.keys())
|
112
|
-
return result_df
|
113
|
-
|
114
|
-
def create_master_dataset(self, path_to_csv: str = params['path_to_master_csv']):
|
115
|
-
"""
|
116
|
-
Create the MasterDataset table and insert dataset values.
|
117
|
-
|
118
|
-
:param path_to_csv: Path to the CSV file containing the dataset.
|
119
|
-
"""
|
120
|
-
print(path_to_csv)
|
121
|
-
# Read the CSV file into a Pandas DataFrame
|
122
|
-
data_df = pd.read_csv(path_to_csv)
|
123
|
-
|
124
|
-
# Process the data if needed (e.g., handle missing values, encode categorical variables)
|
125
|
-
# ...
|
126
|
-
|
127
|
-
# Check if the MasterDataset table exists
|
128
|
-
|
129
|
-
if self.mtable_exists != 1:
|
130
|
-
columns = data_df.columns.tolist()
|
131
|
-
columns_str = ",\n".join(
|
132
|
-
[
|
133
|
-
f"{col} {column_map[str(data_df[col].dtype)]}"
|
134
|
-
for col in columns
|
135
|
-
]
|
136
|
-
)
|
137
|
-
self.eng.execute(
|
138
|
-
text(CREATE_MASTER_DATASET_TABLE_QUERY.format(columns_str))
|
139
|
-
)
|
140
|
-
self.eng.execute(text(CREATE_DATASETS_TABLE_QUERY.format(columns_str)))
|
141
|
-
|
142
|
-
# Get the list of columns in the DataFrame
|
143
|
-
|
144
|
-
data_df = process_eicu(data_df)
|
145
|
-
# Insert the dataset values into the MasterDataset table
|
146
|
-
|
147
|
-
for index, row in data_df.iterrows():
|
148
|
-
query_1 = "INSERT INTO MasterDataset(" + "".join(
|
149
|
-
f"{x}," for x in columns
|
150
|
-
)
|
151
|
-
query_2 = f"VALUES (" + "".join(
|
152
|
-
f"{is_str(data_df, row, x)}," for x in columns
|
153
|
-
)
|
154
|
-
query = query_1[:-1] + ")" + query_2[:-1] + ")"
|
155
|
-
self.eng.execute(text(query))
|
156
|
-
|
157
|
-
# Set mtable_exists flag to True
|
158
|
-
self.mtable_exists = 1
|
159
|
-
|
160
|
-
@staticmethod
|
161
|
-
def list_allnetworks():
|
162
|
-
"""List all networks in the database.
|
163
|
-
Returns:
|
164
|
-
DataFrame: A DataFrame containing information about all networks in the database.
|
165
|
-
|
166
|
-
"""
|
167
|
-
db_manager = DatabaseManager() ;
|
168
|
-
db_manager.connect() ;
|
169
|
-
my_eng = db_manager.get_connection() ;
|
170
|
-
|
171
|
-
result_proxy = my_eng.execute("SELECT * FROM Networks")
|
172
|
-
result = result_proxy.fetchall()
|
173
|
-
return result
|
174
|
-
|
MEDfl/NetManager/node.py
DELETED
@@ -1,178 +0,0 @@
|
|
1
|
-
import pandas as pd
|
2
|
-
|
3
|
-
from .net_helper import *
|
4
|
-
from .net_manager_queries import *
|
5
|
-
from MEDfl.LearningManager.utils import params
|
6
|
-
from MEDfl.NetManager.database_connector import DatabaseManager
|
7
|
-
|
8
|
-
class Node:
|
9
|
-
"""
|
10
|
-
A class representing a node in the network.
|
11
|
-
|
12
|
-
Attributes:
|
13
|
-
name (str): The name of the node.
|
14
|
-
train (int): An integer flag representing whether the node is used for training (1) or testing (0).
|
15
|
-
test_fraction (float, optional): The fraction of data used for testing when train=1. Default is 0.2.
|
16
|
-
"""
|
17
|
-
|
18
|
-
def __init__(
|
19
|
-
self, name: str, train: int, test_fraction: float = 0.2, engine=None
|
20
|
-
):
|
21
|
-
"""
|
22
|
-
Initialize a Node instance.
|
23
|
-
|
24
|
-
Parameters:
|
25
|
-
name (str): The name of the node.
|
26
|
-
train (int): An integer flag representing whether the node is used for training (1) or testing (0).
|
27
|
-
test_fraction (float, optional): The fraction of data used for testing when train=1. Default is 0.2.
|
28
|
-
"""
|
29
|
-
self.name = name
|
30
|
-
self.train = train
|
31
|
-
self.test_fraction = 1.0 if self.train == 0 else test_fraction
|
32
|
-
|
33
|
-
|
34
|
-
db_manager = DatabaseManager() ;
|
35
|
-
db_manager.connect() ;
|
36
|
-
self.engine = db_manager.get_connection()
|
37
|
-
|
38
|
-
def validate(self):
|
39
|
-
"""Validate name, train, test_fraction"""
|
40
|
-
if not isinstance(self.name, str):
|
41
|
-
raise TypeError("name argument must be a string")
|
42
|
-
|
43
|
-
if not isinstance(self.train, int):
|
44
|
-
raise TypeError("train argument must be an int")
|
45
|
-
|
46
|
-
if not isinstance(self.test_fraction, float):
|
47
|
-
raise TypeError("test_fraction argument must be a float")
|
48
|
-
|
49
|
-
def create_node(self, NetId: int):
|
50
|
-
"""Create a node in the database.
|
51
|
-
Parameters:
|
52
|
-
NetId (int): The ID of the network to which the node belongs.
|
53
|
-
|
54
|
-
Returns:
|
55
|
-
None
|
56
|
-
"""
|
57
|
-
self.engine.execute(
|
58
|
-
text(INSERT_NODE_QUERY.format(self.name, NetId, self.train))
|
59
|
-
)
|
60
|
-
|
61
|
-
def delete_node(self):
|
62
|
-
"""Delete the node from the database."""
|
63
|
-
self.engine.execute(text(DELETE_NODE_QUERY.format(self.name)))
|
64
|
-
|
65
|
-
def check_dataset_compatibility(self, data_df):
|
66
|
-
"""Check if the dataset is compatible with the master dataset.
|
67
|
-
Parameters:
|
68
|
-
data_df (DataFrame): The dataset to check.
|
69
|
-
|
70
|
-
Returns:
|
71
|
-
None
|
72
|
-
"""
|
73
|
-
if master_table_exists() != 1:
|
74
|
-
print("MasterDataset doesn't exist")
|
75
|
-
else:
|
76
|
-
columns = data_df.columns.tolist()
|
77
|
-
|
78
|
-
# get master_dataset columns
|
79
|
-
result_proxy = self.engine.execute(SELECT_MASTER_COLUMNS_QUERY)
|
80
|
-
master_table_columns = result_proxy.keys()
|
81
|
-
|
82
|
-
|
83
|
-
assert [x == y for x, y in zip(master_table_columns, columns)]
|
84
|
-
|
85
|
-
def update_node(self):
|
86
|
-
"""Update the node information (not implemented)."""
|
87
|
-
pass
|
88
|
-
|
89
|
-
def get_dataset(self, column_name: str = None):
|
90
|
-
"""Get the dataset for the node based on the given column name.
|
91
|
-
Parameters:
|
92
|
-
column_name (str, optional): The column name to filter the dataset. Default is None.
|
93
|
-
|
94
|
-
Returns:
|
95
|
-
DataFrame: The dataset associated with the node.
|
96
|
-
"""
|
97
|
-
NodeId = get_nodeid_from_name(self.name)
|
98
|
-
if column_name is not None:
|
99
|
-
query = text(SELECT_DATASET_BY_COLUMN_QUERY.format(column_name, self.name))
|
100
|
-
else:
|
101
|
-
query = text(SELECT_DATASET_BY_NODE_ID_QUERY.format(NodeId))
|
102
|
-
|
103
|
-
result_proxy = self.engine.execute(query)
|
104
|
-
node_dataset = pd.DataFrame(result_proxy.fetchall(), columns=result_proxy.keys())
|
105
|
-
|
106
|
-
return node_dataset
|
107
|
-
|
108
|
-
def upload_dataset(self, dataset_name: str, path_to_csv: str = params['path_to_test_csv']):
|
109
|
-
"""Upload the dataset to the database for the node.
|
110
|
-
Parameters:
|
111
|
-
dataset_name (str): The name of the dataset.
|
112
|
-
path_to_csv (str, optional): Path to the CSV file containing the dataset. Default is the path in params.
|
113
|
-
|
114
|
-
Returns:
|
115
|
-
None
|
116
|
-
"""
|
117
|
-
data_df = pd.read_csv(path_to_csv)
|
118
|
-
|
119
|
-
nodeId = get_nodeid_from_name(self.name)
|
120
|
-
columns = data_df.columns.tolist()
|
121
|
-
self.check_dataset_compatibility(data_df)
|
122
|
-
|
123
|
-
data_df = process_eicu(data_df)
|
124
|
-
for index, row in data_df.iterrows():
|
125
|
-
query_1 = "INSERT INTO DataSets(DataSetName,nodeId," + "".join(
|
126
|
-
f"{x}," for x in columns
|
127
|
-
)
|
128
|
-
query_2 = f" VALUES ('{dataset_name}',{nodeId}, " + "".join(
|
129
|
-
f"{is_str(data_df, row, x)}," for x in columns
|
130
|
-
)
|
131
|
-
query = query_1[:-1] + ")" + query_2[:-1] + ")"
|
132
|
-
self.engine.execute(text(query))
|
133
|
-
|
134
|
-
def assign_dataset(self, dataset_name:str):
|
135
|
-
"""Assigning existing dataSet to node
|
136
|
-
Parameters:
|
137
|
-
dataset_name (str): The name of the dataset to assign.
|
138
|
-
|
139
|
-
Returns:
|
140
|
-
None
|
141
|
-
"""
|
142
|
-
|
143
|
-
nodeId = get_nodeid_from_name(self.name)
|
144
|
-
query = f"UPDATE DataSets SET nodeId = {nodeId} WHERE DataSetName = '{dataset_name}'"
|
145
|
-
self.engine.execute(text(query))
|
146
|
-
|
147
|
-
def unassign_dataset(self, dataset_name:str):
|
148
|
-
"""unssigning existing dataSet to node
|
149
|
-
Parameters:
|
150
|
-
dataset_name (str): The name of the dataset to assign.
|
151
|
-
|
152
|
-
Returns:
|
153
|
-
None
|
154
|
-
"""
|
155
|
-
|
156
|
-
query = f"UPDATE DataSets SET nodeId = {-1} WHERE DataSetName = '{dataset_name}'"
|
157
|
-
self.engine.execute(text(query))
|
158
|
-
|
159
|
-
def list_alldatasets(self):
|
160
|
-
"""List all datasets associated with the node.
|
161
|
-
Returns:
|
162
|
-
DataFrame: A DataFrame containing information about all datasets associated with the node.
|
163
|
-
|
164
|
-
"""
|
165
|
-
return pd.read_sql(
|
166
|
-
text(SELECT_ALL_DATASETS_QUERY.format(self.name)), my_eng
|
167
|
-
)
|
168
|
-
|
169
|
-
@staticmethod
|
170
|
-
def list_allnodes():
|
171
|
-
"""List all nodes in the database.
|
172
|
-
Returns:
|
173
|
-
DataFrame: A DataFrame containing information about all nodes in the database.
|
174
|
-
|
175
|
-
"""
|
176
|
-
query = text(SELECT_ALL_NODES_QUERY)
|
177
|
-
res = pd.read_sql(query, my_eng)
|
178
|
-
return res
|
MEDfl/__init__.py
DELETED
@@ -1,22 +0,0 @@
|
|
1
|
-
echo '#!/bin/bash
|
2
|
-
|
3
|
-
# Update package lists
|
4
|
-
sudo apt update
|
5
|
-
|
6
|
-
# Install MySQL
|
7
|
-
sudo apt install mysql-server
|
8
|
-
|
9
|
-
# Secure MySQL installation
|
10
|
-
sudo mysql_secure_installation
|
11
|
-
|
12
|
-
# Install phpMyAdmin
|
13
|
-
sudo apt install phpmyadmin
|
14
|
-
|
15
|
-
# Create symbolic link for Apache
|
16
|
-
sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf
|
17
|
-
sudo a2enconf phpmyadmin
|
18
|
-
sudo systemctl reload apache2
|
19
|
-
|
20
|
-
# Print completion message
|
21
|
-
echo "MySQL and phpMyAdmin setup complete."
|
22
|
-
' > setup_mysql.sh && chmod +x setup_mysql.sh && python3 scripts/create_db.py
|
MEDfl-0.1.31.dist-info/RECORD
DELETED
@@ -1,54 +0,0 @@
|
|
1
|
-
MEDfl/__init__.py,sha256=iJB4XxXxnyh_pnLFKAz3USENmFuMIuEwbLTKDiZqL3M,56
|
2
|
-
MEDfl/LearningManager/__init__.py,sha256=XlcCT33Pcfziz6Nz7uamD3tX4thnOAgbVpz454ijUik,345
|
3
|
-
MEDfl/LearningManager/client.py,sha256=9Y_Zb0yxvCxx3dVCPQ1bXS5mCKasylSBnoVj-RDN270,5933
|
4
|
-
MEDfl/LearningManager/dynamicModal.py,sha256=q8u7xPpj_TdZnSr8kYj0Xx7Sdz-diXsKBAfVce8-qSU,10534
|
5
|
-
MEDfl/LearningManager/federated_dataset.py,sha256=InsZ5Rys2dgqaPxVyP5G3TrJMwiCNHOoTd3tCpUwUVM,2081
|
6
|
-
MEDfl/LearningManager/flpipeline.py,sha256=5lT2uod5EqnkRQ04cgm0gYyZz0djumfIYipCrzX1fdo,7111
|
7
|
-
MEDfl/LearningManager/model.py,sha256=vp8FIMxBdz3FTF5wJaea2IO_WGeANLZgBxTKVe3gW3Q,7456
|
8
|
-
MEDfl/LearningManager/params.yaml,sha256=_yAdYBtxNqKRWIhs_XebG_w1NGyq4-3NzVwWb8xiU5o,436
|
9
|
-
MEDfl/LearningManager/params_optimiser.py,sha256=8e0gCt4imwQHlNSJ3A2EAuc3wSr6yfSI6JDghohfmZQ,17618
|
10
|
-
MEDfl/LearningManager/plot.py,sha256=A6Z8wC8J-H-OmWBPKqwK5eiTB9vzOBGMaFv1SaNA9Js,7698
|
11
|
-
MEDfl/LearningManager/server.py,sha256=oTgW3K1UT6m4SQBk23FIf23km_BDq9vvjeC6OgY8DNw,7077
|
12
|
-
MEDfl/LearningManager/strategy.py,sha256=BHXpwmt7jx07y45YLUs8FZry2gYQbpiV4vNbHhsksQ4,3435
|
13
|
-
MEDfl/LearningManager/utils.py,sha256=1rk6hzU9JpViLAYa3wp14fp4BL_d8SGdDfKPApzOstc,9763
|
14
|
-
MEDfl/NetManager/__init__.py,sha256=ZUtjKJURK67GDfy8RyujSzRpe_WT_DdYVoH4QEWHmOM,237
|
15
|
-
MEDfl/NetManager/database_connector.py,sha256=636eRFnTgFKUmX1hmCCvbkmROloBCFOqzKexqK7HSds,1495
|
16
|
-
MEDfl/NetManager/dataset.py,sha256=HTV0jrJ4Qlhl2aSJzdFU1lkxGBKtmJ390eBpwfKf_4o,2777
|
17
|
-
MEDfl/NetManager/flsetup.py,sha256=CVu_TIU7l3G6DDnwtY6JURbhIZk7gKC3unqWnU-YtlM,11434
|
18
|
-
MEDfl/NetManager/net_helper.py,sha256=LyM965Jy6ctpzjFf87lVT_5Pcuz88jSoeQo4EKR5CHA,6612
|
19
|
-
MEDfl/NetManager/net_manager_queries.py,sha256=2jEIJ6qWLJv8AgusqTnRjJwq_keU6M3V0v09Azwf9fs,4190
|
20
|
-
MEDfl/NetManager/network.py,sha256=tXMD7qbk0lOqwAptND12e3iRFiV9149FGuxUZVuM6ps,5556
|
21
|
-
MEDfl/NetManager/node.py,sha256=Vn-Gjx28cUVG_T3PUHbCP8hTQQzf1mkykP7lqOZzULE,6166
|
22
|
-
MEDfl-0.1.31.data/scripts/setup_mysql.sh,sha256=r4ygRl7zdasUSZT-ccC1Tjtt6GKDS5Puza9hCec2Cns,538
|
23
|
-
Medfl/__init__.py,sha256=iJB4XxXxnyh_pnLFKAz3USENmFuMIuEwbLTKDiZqL3M,56
|
24
|
-
Medfl/LearningManager/__init__.py,sha256=XlcCT33Pcfziz6Nz7uamD3tX4thnOAgbVpz454ijUik,345
|
25
|
-
Medfl/LearningManager/client.py,sha256=9Y_Zb0yxvCxx3dVCPQ1bXS5mCKasylSBnoVj-RDN270,5933
|
26
|
-
Medfl/LearningManager/dynamicModal.py,sha256=q8u7xPpj_TdZnSr8kYj0Xx7Sdz-diXsKBAfVce8-qSU,10534
|
27
|
-
Medfl/LearningManager/federated_dataset.py,sha256=InsZ5Rys2dgqaPxVyP5G3TrJMwiCNHOoTd3tCpUwUVM,2081
|
28
|
-
Medfl/LearningManager/flpipeline.py,sha256=5lT2uod5EqnkRQ04cgm0gYyZz0djumfIYipCrzX1fdo,7111
|
29
|
-
Medfl/LearningManager/model.py,sha256=vp8FIMxBdz3FTF5wJaea2IO_WGeANLZgBxTKVe3gW3Q,7456
|
30
|
-
Medfl/LearningManager/params.yaml,sha256=_yAdYBtxNqKRWIhs_XebG_w1NGyq4-3NzVwWb8xiU5o,436
|
31
|
-
Medfl/LearningManager/params_optimiser.py,sha256=8e0gCt4imwQHlNSJ3A2EAuc3wSr6yfSI6JDghohfmZQ,17618
|
32
|
-
Medfl/LearningManager/plot.py,sha256=A6Z8wC8J-H-OmWBPKqwK5eiTB9vzOBGMaFv1SaNA9Js,7698
|
33
|
-
Medfl/LearningManager/server.py,sha256=oTgW3K1UT6m4SQBk23FIf23km_BDq9vvjeC6OgY8DNw,7077
|
34
|
-
Medfl/LearningManager/strategy.py,sha256=BHXpwmt7jx07y45YLUs8FZry2gYQbpiV4vNbHhsksQ4,3435
|
35
|
-
Medfl/LearningManager/utils.py,sha256=GehQ2j77Y5Wwyi2_lOPNq6sMI_2IwlRo1daRdf7d1Dw,9034
|
36
|
-
Medfl/NetManager/__init__.py,sha256=ZUtjKJURK67GDfy8RyujSzRpe_WT_DdYVoH4QEWHmOM,237
|
37
|
-
Medfl/NetManager/database_connector.py,sha256=BszwLTGp-gPDOamwjfErmWslilunYaEGRye5UE5pJvk,1490
|
38
|
-
Medfl/NetManager/dataset.py,sha256=HTV0jrJ4Qlhl2aSJzdFU1lkxGBKtmJ390eBpwfKf_4o,2777
|
39
|
-
Medfl/NetManager/flsetup.py,sha256=CVu_TIU7l3G6DDnwtY6JURbhIZk7gKC3unqWnU-YtlM,11434
|
40
|
-
Medfl/NetManager/net_helper.py,sha256=LyM965Jy6ctpzjFf87lVT_5Pcuz88jSoeQo4EKR5CHA,6612
|
41
|
-
Medfl/NetManager/net_manager_queries.py,sha256=2jEIJ6qWLJv8AgusqTnRjJwq_keU6M3V0v09Azwf9fs,4190
|
42
|
-
Medfl/NetManager/network.py,sha256=tXMD7qbk0lOqwAptND12e3iRFiV9149FGuxUZVuM6ps,5556
|
43
|
-
Medfl/NetManager/node.py,sha256=Vn-Gjx28cUVG_T3PUHbCP8hTQQzf1mkykP7lqOZzULE,6166
|
44
|
-
alembic/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
45
|
-
alembic/env.py,sha256=-aSZ6SlJeK1ZeqHgM-54hOi9LhJRFP0SZGjut-JnY-4,1588
|
46
|
-
scripts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
47
|
-
scripts/base.py,sha256=QrmG7gkiPYkAy-5tXxJgJmOSLGAKeIVH6i0jq7G9xnA,752
|
48
|
-
scripts/config.ini,sha256=70E8mssLQ9TvecxcYAOdtpuhHpuYWEEIa1iWyjaZjh8,77
|
49
|
-
scripts/create_db.py,sha256=VR9m0dWHBz66w_JaOZe00TiNG2hg7784phHLj9D0ovA,4361
|
50
|
-
scripts/db_config.ini,sha256=Z1pR9RpY9_Na1evca3eUMn-hCfwZbsGWNBlekyuaChY,83
|
51
|
-
MEDfl-0.1.31.dist-info/METADATA,sha256=xr4XBwTkxEqoaOkqeCtdSqEDsH0t-4zVGAXmcche0E4,5524
|
52
|
-
MEDfl-0.1.31.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92
|
53
|
-
MEDfl-0.1.31.dist-info/top_level.txt,sha256=hMAmSbfVxxQBmDx0uaQeXYlSrdC42iD58FyzJGl2lAs,22
|
54
|
-
MEDfl-0.1.31.dist-info/RECORD,,
|