@@ -1148,17 +1148,17 @@ def _end_of_round_check(self):
1148
1148
# Once all of the task results have been processed
1149
1149
self ._end_of_round_check_done [self .round_number ] = True
1150
1150
1151
- # End of round callbacks.
1152
- # todo handle case when aggregator restarted before callback was successful
1153
- self .callbacks .on_round_end (self .round_number , logs )
1154
-
1155
1151
# Save the latest model
1156
1152
if not self .assigner .is_task_group_evaluation ():
1157
1153
logger .info ("Saving round %s model..." , self .round_number )
1158
1154
self ._save_model (self .round_number , self .last_state_path )
1159
1155
else :
1160
1156
logger .info ("Skipping model save for round %s in evaluation mode." , self .round_number )
1161
1157
1158
+ # End of round callbacks.
1159
+ # todo handle case when aggregator restarted before callback was successful
1160
+ self .callbacks .on_round_end (self .round_number , logs )
1161
+
1162
1162
self .round_number += 1
1163
1163
1164
1164
# resetting stragglers for task for a new round
@@ -1171,6 +1171,8 @@ def _end_of_round_check(self):
1171
1171
# TODO This needs to be fixed!
1172
1172
if self ._time_to_quit ():
1173
1173
logger .info ("Experiment Completed. Cleaning up..." )
1174
+ # End of experiment callbacks.
1175
+ self .callbacks .on_experiment_end ()
1174
1176
else :
1175
1177
logger .info ("Starting round %s..." , self .round_number )
1176
1178
# https://github.com/securefederatedai/openfl/pull/1195#discussion_r1879479537
0 commit comments