Update app.py
Browse files
app.py
CHANGED
@@ -93,7 +93,6 @@ class CustomClient(fl.client.NumPyClient):
|
|
93 |
loss, accuracy = test(self.net, self.testloader)
|
94 |
self.losses.append(loss)
|
95 |
self.accuracies.append(accuracy)
|
96 |
-
self.plot_metrics()
|
97 |
return self.get_parameters(config={}), len(self.trainloader.dataset), {}
|
98 |
|
99 |
def evaluate(self, parameters, config):
|
@@ -101,7 +100,11 @@ class CustomClient(fl.client.NumPyClient):
|
|
101 |
loss, accuracy = test(self.net, self.testloader)
|
102 |
return float(loss), len(self.testloader.dataset), {"accuracy": float(accuracy)}
|
103 |
|
104 |
-
def plot_metrics(self):
|
|
|
|
|
|
|
|
|
105 |
fig, ax1 = plt.subplots()
|
106 |
|
107 |
ax2 = ax1.twinx()
|
@@ -182,8 +185,7 @@ def main():
|
|
182 |
)
|
183 |
|
184 |
for client in clients:
|
185 |
-
|
186 |
-
client.plot_metrics()
|
187 |
|
188 |
st.success(f"Training completed successfully!")
|
189 |
|
@@ -194,6 +196,7 @@ if __name__ == "__main__":
|
|
194 |
main()
|
195 |
|
196 |
|
|
|
197 |
# # %%writefile app.py
|
198 |
|
199 |
# import streamlit as st
|
|
|
93 |
loss, accuracy = test(self.net, self.testloader)
|
94 |
self.losses.append(loss)
|
95 |
self.accuracies.append(accuracy)
|
|
|
96 |
return self.get_parameters(config={}), len(self.trainloader.dataset), {}
|
97 |
|
98 |
def evaluate(self, parameters, config):
|
|
|
100 |
loss, accuracy = test(self.net, self.testloader)
|
101 |
return float(loss), len(self.testloader.dataset), {"accuracy": float(accuracy)}
|
102 |
|
103 |
+
def plot_metrics(self, round_num):
|
104 |
+
st.write(f"#### Client {self.client_id} Metrics for Round {round_num}")
|
105 |
+
st.write(f"Loss: {self.losses[-1]:.4f}")
|
106 |
+
st.write(f"Accuracy: {self.accuracies[-1]:.4f}")
|
107 |
+
|
108 |
fig, ax1 = plt.subplots()
|
109 |
|
110 |
ax2 = ax1.twinx()
|
|
|
185 |
)
|
186 |
|
187 |
for client in clients:
|
188 |
+
client.plot_metrics(round_num + 1)
|
|
|
189 |
|
190 |
st.success(f"Training completed successfully!")
|
191 |
|
|
|
196 |
main()
|
197 |
|
198 |
|
199 |
+
|
200 |
# # %%writefile app.py
|
201 |
|
202 |
# import streamlit as st
|