From a2a95629fa12dd4dd42fb7c29e3d0ff13a55a6c8 Mon Sep 17 00:00:00 2001 From: Tim Tobias Bauerle <tim.bauerle@rwth-aachen.de> Date: Thu, 2 May 2024 15:01:16 +0200 Subject: [PATCH] Integrate latest changes from thesis --- README.md | 42 +++- diagrams/Basic_CD.png | Bin 30825 -> 0 bytes diagrams/Basic_SL_Interaction.png | Bin 25916 -> 0 bytes diagrams/Device_SL_CD.png | Bin 44674 -> 0 bytes diagrams/Device_SL_interaction.png | Bin 50064 -> 0 bytes edml/controllers/strategy_optimization.py | 103 +++++++++ edml/tests/controllers/optimization_test.py | 228 ++++++++++++++++++++ environment.yml | 1 + results/result_generation.ipynb | 2 +- results/result_generation.py | 107 ++++++--- 10 files changed, 451 insertions(+), 32 deletions(-) delete mode 100644 diagrams/Basic_CD.png delete mode 100644 diagrams/Basic_SL_Interaction.png delete mode 100644 diagrams/Device_SL_CD.png delete mode 100644 diagrams/Device_SL_interaction.png diff --git a/README.md b/README.md index 1ee0753..e61b906 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,43 @@ # SwarmSplitLearning -We introduce in this repository our own developed fully distributed variant of the well known split learning algorithm +In this repository, we introduce our own fully distributed variant of the well-known split learning algorithm. + + +## Installation + +For a faster installation, install the libmamba-solver first before creating the conda environment: + +```bash +conda install -n base conda-libmamba-solver +conda config --set solver libmamba +``` + +Otherwise, the default conda solver will be used, which may take forever. + +Update the file path to your desired directory for the environment by changing the value of `prefix:` at the end of +the [environment.yml](environment.yml) file. +Then run: + +```bash +conda env create -f environment.yml +conda activate [ENV_NAME] +``` + +For tracking experiments using Weights and Biases, place your API key without any spaces in +the [wandb_key.txt](wandb_key.txt) file and make sure that `wandb: True` is set in +the [wandb config](edml/config/wandb.yaml). +Otherwise, metrics etc. will be printed to the console. + +If you plan to commit to this repository, please install **pre-commit** for a consistent code formatting upon committing. +Therefore, run the following command in the repo: + +```bash + pre-commit install +``` + +Optionally, for formatting without committing, you may run: +```bash +pre-commit run --all-files +``` + + diff --git a/diagrams/Basic_CD.png b/diagrams/Basic_CD.png deleted file mode 100644 index 7b432dbbdecc7cbfd7292f5276a4ec76027231d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30825 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 AY5)KL diff --git a/diagrams/Basic_SL_Interaction.png b/diagrams/Basic_SL_Interaction.png deleted file mode 100644 index f1d6a5be49745cc070fe26a52555deffd4801370..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25916 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 diff --git a/diagrams/Device_SL_CD.png b/diagrams/Device_SL_CD.png deleted file mode 100644 index 98ef8d653e079d98a2a2a557d2d8828082c93243..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44674 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 diff --git a/diagrams/Device_SL_interaction.png b/diagrams/Device_SL_interaction.png deleted file mode 100644 index 96c0fb6f31948ef5c25f8123e9abd33d4bdf64a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 50064 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 diff --git a/edml/controllers/strategy_optimization.py b/edml/controllers/strategy_optimization.py index 81570cb..76572e9 100644 --- a/edml/controllers/strategy_optimization.py +++ b/edml/controllers/strategy_optimization.py @@ -581,3 +581,106 @@ def run_grid_search( } ) return results + + +def run_grid_search_with_variable_devices( + num_devices_list, + global_params, + battery_per_device, + total_train_samples, + total_val_samples, + max_latencies=None, + max_split=None, + cost_per_sec=None, + cost_per_byte_sent=None, + cost_per_byte_received=None, + cost_per_flop=None, +): + """ + Runs a grid search for the given device parameters and global parameters. + Params: + num_devices: list(number of devices) + global_params: GlobalParams object + battery_per_device: list(battery per device) + total_train_samples: total number of train samples + total_val_samples: total number of validation samples + max_latencies: optional list(max latency per device) Sets all devices except the last one to the max latency if provided + max_split: optional list(max split per device) Sets the largest split for last device if provided and distributes the rest equally among the other devices + **kwargs: optional parameters for the grid search: should be a list of lists for device params and a list for costs + If e.g. cost_per_second is provided, the grid search will be run for all values in the list overriding existing values in the global params object. + If no cost_per_second is provided, the grid search will use the value from the global params object. + Returns: + list of dicts containing the results for each combination of parameters + """ + if max_latencies is None: + max_latencies = [1.0] + if cost_per_sec is None: + cost_per_sec = [global_params.cost_per_sec] + if cost_per_byte_sent is None: + cost_per_byte_sent = [global_params.cost_per_byte_sent] + if cost_per_byte_received is None: + cost_per_byte_received = [global_params.cost_per_byte_received] + if cost_per_flop is None: + cost_per_flop = [global_params.cost_per_flop] + results = [] + for num_devices in num_devices_list: + if max_split is None: + max_split = [1 / num_devices] + for battery in battery_per_device: + for latency in max_latencies: + for partition in max_split: + device_params_list = [ + DeviceParams( + device_id=f"d{i}", + initial_battery=0, + current_battery=battery, + train_samples=( + partition * total_train_samples + if i == num_devices - 1 + else total_train_samples // num_devices + ), + validation_samples=( + partition * total_val_samples + if i == num_devices - 1 + else total_val_samples // num_devices + ), + comp_latency_factor=latency if i < num_devices - 1 else 1.0, + ) + for i in range(num_devices) + ] + for cost_sec in cost_per_sec: + for cost_sent in cost_per_byte_sent: + for cost_received in cost_per_byte_received: + for cost_flop in cost_per_flop: + global_params.cost_per_sec = cost_sec + global_params.cost_per_byte_sent = cost_sent + global_params.cost_per_byte_received = cost_received + global_params.cost_per_flop = cost_flop + energy_simulator = EnergySimulator( + device_params_list, global_params + ) + num_rounds_smart, _, _ = ( + energy_simulator.simulate_smart_selection() + ) + num_rounds_greedy, _, _ = ( + energy_simulator.simulate_greedy_selection() + ) + num_rounds_fl, _ = ( + energy_simulator.simulate_federated_learning() + ) + results.append( + { + "num_devices": num_devices, + "battery": battery, + "latency": latency, + "partition": partition, + "cost_per_sec": cost_sec, + "cost_per_byte_sent": cost_sent, + "cost_per_byte_received": cost_received, + "cost_per_flop": cost_flop, + "num_rounds_smart": num_rounds_smart, + "num_rounds_greedy": num_rounds_greedy, + "num_rounds_fl": num_rounds_fl, + } + ) + return results diff --git a/edml/tests/controllers/optimization_test.py b/edml/tests/controllers/optimization_test.py index ce4e5bd..614c4e7 100644 --- a/edml/tests/controllers/optimization_test.py +++ b/edml/tests/controllers/optimization_test.py @@ -204,3 +204,231 @@ class EnergySimulatorTest(unittest.TestCase): num_rounds, remaining_batteries = self.simulator.simulate_federated_learning() self.assertEqual(num_rounds, 20) self.assertEqual(remaining_batteries, [3800, 2000, 200]) + + +class TestWithRealData(unittest.TestCase): + """Case studies for estimating the number of rounds of each strategy with given energy constratins.""" + + def setUp(self): + self.train_samples = [9600, 9600, 9600, 9600, 9600] + self.validation_samples = [2400, 2400, 2400, 2400, 2400] + self.current_batteries = [3750, 3750, 3750, 3750, 3750] + self.comp_latency = [1, 1, 1, 1, 1] + self.cost_per_sec = 1 + self.cost_per_mbyte_sent = 1 + self.cost_per_mbyte_received = 1 + self.cost_per_mflop = 1 + + def _init_params_and_optimizer(self): + self.device_params_list = [ + DeviceParams( + device_id="d0", + initial_battery=3750, + current_battery=self.current_batteries[0], + train_samples=self.train_samples[0], + validation_samples=self.validation_samples[0], + comp_latency_factor=self.comp_latency[0], + ), + DeviceParams( + device_id="d1", + initial_battery=3750, + current_battery=self.current_batteries[1], + train_samples=self.train_samples[1], + validation_samples=self.validation_samples[1], + comp_latency_factor=self.comp_latency[1], + ), + DeviceParams( + device_id="d2", + initial_battery=3750, + current_battery=self.current_batteries[2], + train_samples=self.train_samples[2], + validation_samples=self.validation_samples[2], + comp_latency_factor=self.comp_latency[2], + ), + DeviceParams( + device_id="d3", + initial_battery=3750, + current_battery=self.current_batteries[3], + train_samples=self.train_samples[3], + validation_samples=self.validation_samples[3], + comp_latency_factor=self.comp_latency[3], + ), + DeviceParams( + device_id="d4", + initial_battery=3750, + current_battery=self.current_batteries[4], + train_samples=self.train_samples[4], + validation_samples=self.validation_samples[4], + comp_latency_factor=self.comp_latency[4], + ), + ] + self.global_params = GlobalParams( + cost_per_sec=self.cost_per_sec, + cost_per_byte_sent=self.cost_per_mbyte_sent / 1000000, + cost_per_byte_received=self.cost_per_mbyte_received / 1000000, + cost_per_flop=self.cost_per_mflop / 1000000, + client_model_flops=5405760, + server_model_flops=11215800, + smashed_data_size=36871, + label_size=14, + gradient_size=36871, + batch_size=64, + client_norm_fw_time=0.0001318198063394479, + client_norm_bw_time=1.503657614975644e-05, + server_norm_fw_time=2.1353501238321005e-05, + server_norm_bw_time=3.1509113154913254e-05, + client_weights_size=71678, + # train global response size 15878758 + server_weights_size=15807080, + ) + self.optimizer = ServerChoiceOptimizer( + self.device_params_list, self.global_params + ) + self.simulator = EnergySimulator(self.device_params_list, self.global_params) + + def test_with_actual_data(self): + self.current_batteries = [3719.654, 3717.608, 3711.923, 3708.051, 3704.294] + self.cost_per_sec = 1 # 0.1 + self.cost_per_mbyte_sent = 0.05 # 0.002 + self.cost_per_mbyte_received = 0.05 # 0.0005 + self.cost_per_mflop = 0.00025 # 0.0005 + self._init_params_and_optimizer() + solution, status = self.optimizer.optimize() + self.assertEqual( + solution, {"d0": 4.0, "d1": 4.0, "d2": 4.0, "d3": 3.0, "d4": 0.0} + ) + + def test_simulate_greedy_selection_with_actual_data(self): + self.current_batteries = [3719.654, 3717.608, 3711.923, 3708.051, 3704.294] + self.cost_per_sec = 1 # 0.1 + self.cost_per_mbyte_sent = 0.05 # 0.002 + self.cost_per_mbyte_received = 0.05 # 0.0005 + self.cost_per_mflop = 0.00025 # 0.0005 + self._init_params_and_optimizer() + num_rounds, schedule, remaining_batteries = ( + self.simulator.simulate_greedy_selection() + ) + self.assertEqual(num_rounds, 15) + self.assertEqual( + schedule, + [ + "d0", + "d1", + "d2", + "d3", + "d4", + "d0", + "d1", + "d2", + "d3", + "d4", + "d0", + "d1", + "d2", + "d3", + "d4", + ], + ) + + def test_unequal_split(self): + self.current_batteries = [5750, 4750, 3750, 2750, 1750] + self.train_samples = [4800, 9600, 19200, 7200, 7200] + self.validation_samples = [1200, 2400, 4800, 1800, 1800] + self.cost_per_sec = 1 + self.cost_per_mbyte_sent = 0.05 + self.cost_per_mbyte_received = 0.05 + self.cost_per_mflop = 0.00025 + self._init_params_and_optimizer() + solution, status = self.optimizer.optimize() + self.assertEqual( + solution, {"d0": 8.0, "d1": 5.0, "d2": 1.0, "d3": 2.0, "d4": 0.0} + ) + + def test_unequal_split_and_batteries_with_high_communication_cost(self): + self.current_batteries = [3750, 3750, 3750, 3750, 3750] + data_partitions = [0.1, 0.1, 0.6, 0.1, 0.1] + self.train_samples = [partition * 48000 for partition in data_partitions] + self.validation_samples = [partition * 12000 for partition in data_partitions] + self.cost_per_sec = 0.1 + self.cost_per_mbyte_sent = 0.1 + self.cost_per_mbyte_received = 0.1 + self.cost_per_mflop = 0.00001 + self._init_params_and_optimizer() + solution, status = self.optimizer.optimize() + num_rounds, schedule, remaining_batteries = ( + self.simulator.simulate_greedy_selection() + ) + print(solution, sum(solution.values()), num_rounds, remaining_batteries) + self.assertGreater(sum(solution.values()), num_rounds) + + def test_unequal_battery_unequal_processing_high_time_cost(self): + self.current_batteries = [5750, 4750, 3750, 2750, 1750] + data_partitions = [0.2, 0.1, 0.1, 0.1, 0.5] + self.comp_latency = [5, 5, 5, 5, 1] + self.train_samples = [partition * 48000 for partition in data_partitions] + self.validation_samples = [partition * 12000 for partition in data_partitions] + self.cost_per_sec = 10 + self.cost_per_mbyte_sent = 0.0 # 1 + self.cost_per_mbyte_received = 0.0 # 1 + self.cost_per_mflop = 0.0000 # 5 + self._init_params_and_optimizer() + solution, status = self.optimizer.optimize() + num_rounds, schedule, remaining_batteries = ( + self.simulator.simulate_greedy_selection() + ) + print(solution, sum(solution.values()), num_rounds) + self.assertGreater(sum(solution.values()), num_rounds) + + def test_unequal_battery_unequal_processing_high_time_cost2(self): + self.current_batteries = [3750, 3750, 3750, 3750, 3750] + data_partitions = [0.05, 0.1, 0.1, 0.1, 0.65] + self.comp_latency = [10, 10, 10, 10, 1] + self.train_samples = [partition * 48000 for partition in data_partitions] + self.validation_samples = [partition * 12000 for partition in data_partitions] + self.cost_per_sec = 3 + self.cost_per_mbyte_sent = 0.05 + self.cost_per_mbyte_received = 0.05 + self.cost_per_mflop = 0.000005 + self._init_params_and_optimizer() + solution, status = self.optimizer.optimize() + num_rounds, schedule, remaining_batteries = ( + self.simulator.simulate_greedy_selection() + ) + print(solution, sum(solution.values()), num_rounds, remaining_batteries) + self.assertGreater(sum(solution.values()), num_rounds) + + def test_unequal_battery_unequal_processing_high_time_cost3(self): + self.current_batteries = [3750, 3750, 3750, 3750, 3750] + data_partitions = [0.01, 0.01, 0.01, 0.01, 0.96] + self.comp_latency = [100, 100, 100, 100, 1] + self.train_samples = [partition * 48000 for partition in data_partitions] + self.validation_samples = [partition * 12000 for partition in data_partitions] + self.cost_per_sec = 3 + self.cost_per_mbyte_sent = 0.05 # 375 + self.cost_per_mbyte_received = 0.05 + self.cost_per_mflop = 0.000005 + self._init_params_and_optimizer() + solution, status = self.optimizer.optimize() + num_rounds, schedule, remaining_batteries = ( + self.simulator.simulate_greedy_selection() + ) + print(solution, sum(solution.values()), num_rounds, remaining_batteries) + self.assertGreater(sum(solution.values()), num_rounds) + + def test_unequal_battery_unequal_processing_high_time_cost4(self): + self.current_batteries = [3750, 3750, 3750, 3750, 3750] + data_partitions = [0.1, 0.1, 0.1, 0.1, 0.6] + self.comp_latency = [10, 10, 10, 10, 1] + self.train_samples = [partition * 48000 for partition in data_partitions] + self.validation_samples = [partition * 12000 for partition in data_partitions] + self.cost_per_sec = 4 + self.cost_per_mbyte_sent = 0.01 + self.cost_per_mbyte_received = 0.01 + self.cost_per_mflop = 0.00001 + self._init_params_and_optimizer() + solution, status = self.optimizer.optimize() + num_rounds, schedule, remaining_batteries = ( + self.simulator.simulate_greedy_selection() + ) + print(solution, sum(solution.values()), num_rounds, remaining_batteries) + self.assertGreater(sum(solution.values()), num_rounds) diff --git a/environment.yml b/environment.yml index b7c4e6c..1de0f15 100644 --- a/environment.yml +++ b/environment.yml @@ -15,6 +15,7 @@ dependencies: - numpy=1.24.3 - pandas=1.4.2 - pip=21.2.4 + - pre-commit=3.7.0 - protobuf=3.19.1 - pydantic - pytest=7.4.2 diff --git a/results/result_generation.ipynb b/results/result_generation.ipynb index 3553026..85b37dd 100644 --- a/results/result_generation.ipynb +++ b/results/result_generation.ipynb @@ -9,7 +9,7 @@ }, "outputs": [], "source": [ - "from results.result_generation import save_dataframes, load_dataframes, generate_metric_files, generate_plots" + "from result_generation import save_dataframes, load_dataframes, generate_metric_files, generate_plots" ] }, { diff --git a/results/result_generation.py b/results/result_generation.py index 4895b87..b95183e 100644 --- a/results/result_generation.py +++ b/results/result_generation.py @@ -9,10 +9,10 @@ import wandb # For plotting STRATEGY_MAPPING = { "split": "Vanilla SL", - "swarm_smart": "SwarmSL (Smart)", - "swarm_seq": "SwarmSL (Seq)", - "swarm_rand": "SwarmSL (Rand)", - "swarm_max": "SwarmSL (Greedy)", + "swarm_smart": "Swarm SL (Smart)", + "swarm_seq": "Swarm SL (Seq)", + "swarm_rand": "Swarm SL (Rand)", + "swarm_max": "Swarm SL (Greedy)", "fed": "Vanilla FL", } @@ -318,18 +318,26 @@ def accuracy_over_epoch(history_groups, phase="train"): round_cols.append(list(run_df[f"{phase}_accuracy.round"].dropna())) value_cols.append(list(run_df[f"{phase}_accuracy.value"].dropna())) # if multiple columns exist (i.e. multiple runs) average in each round and if one run was shorter, use last value - max_rounds = max([len(col) for col in round_cols]) - round = range(0, max_rounds) - acc = [] - for i in round: + max_rounds = max([int(col[-1]) for col in round_cols]) + 1 + mean_acc, round_no = [], [] + for i in range(max_rounds): single_run_accs = [] - for j in range(len(value_cols)): - if len(value_cols[j]) > i: - single_run_accs.append(value_cols[j][i]) - else: - single_run_accs.append(value_cols[j][-1]) - acc.append(sum(single_run_accs) / len(single_run_accs)) - results[(strategy, job)] = (round, acc) + for run_idx, value_col in enumerate( + value_cols + ): # round_cols should have same length + if ( + round_cols[run_idx].count(i) > 0 + ): # check if values were logged in this round + round_idx = round_cols[run_idx].index( + i + ) # get the index of the round (could be less than the round number due to missing values) + single_run_accs.append(value_col[round_idx]) + # print(i, single_run_accs) + if len(single_run_accs) > 0: + mean_acc.append(sum(single_run_accs) / len(single_run_accs)) + round_no.append(i) + + results[(strategy, job)] = (round_no, mean_acc) return results @@ -515,6 +523,7 @@ def plot_batteries_over_time( """ if aggregated: plt.figure() + plt.rcParams.update({"font.size": 13}) for (strategy, job), series in batteries_over_time.items(): runtime = max_runtimes[(strategy, job)] x_values = [ @@ -535,6 +544,7 @@ def plot_batteries_over_time( else: for (strategy, job), series_dict in batteries_over_time.items(): plt.figure() + plt.rcParams.update({"font.size": 13}) for device_id, series in series_dict.items(): runtime = max_runtimes[(strategy, job)] x_values = [ @@ -564,6 +574,7 @@ def plot_batteries_over_epoch(batteries_over_epoch, save_path=None, aggregated=T """ if aggregated: plt.figure() + plt.rcParams.update({"font.size": 13}) num_rounds = [0] for (strategy, job), series in batteries_over_epoch.items(): x_values = series.index @@ -584,6 +595,7 @@ def plot_batteries_over_epoch(batteries_over_epoch, save_path=None, aggregated=T else: for (strategy, job), series_dict in batteries_over_epoch.items(): plt.figure() + plt.rcParams.update({"font.size": 13}) num_rounds = [0] for device_id, series in series_dict.items(): x_values = series.index @@ -643,23 +655,40 @@ def get_train_times(run_groups): run_df["client_train_epoch_time.start"] > 0 ) valid_eval_times = run_df["client_evaluate_time.end"] > 0 - train_epoch_times = run_df[valid_train_epoch_times][ + train_epoch_start_times = run_df[valid_train_epoch_times][ ["client_train_epoch_time.start"] ].reset_index(drop=True) - eval_times = run_df[valid_eval_times][ + train_epoch_end_times = run_df[valid_train_epoch_times][ + ["client_train_epoch_time.end"] + ].reset_index(drop=True) + eval_start_times = run_df[valid_eval_times][ + ["client_evaluate_time.start"] + ].reset_index(drop=True) + eval_end_times = run_df[valid_eval_times][ ["client_evaluate_time.end"] ].reset_index(drop=True) - client_train_times[device_id] = ( - pd.concat( - [train_epoch_times[: len(eval_times)], eval_times], axis=1 - ).rename( - columns={ - "client_train_epoch_time.start": "start", - "client_evaluate_time.end": "end", - } - ) - - min_start_time - ) + client_train_times[device_id] = pd.concat( + [ + pd.concat( + [train_epoch_start_times, train_epoch_end_times], axis=1 + ).rename( + columns={ + "client_train_epoch_time.start": "start", + "client_train_epoch_time.end": "end", + } + ) + - min_start_time, + pd.concat( + [eval_start_times, eval_end_times], axis=1 + ).rename( + columns={ + "client_evaluate_time.start": "start", + "client_evaluate_time.end": "end", + } + ) + - min_start_time, + ] + ).reset_index(drop=True) if "fed_train_time.start" in run_df.columns: valid_fed_train_times = run_df["fed_train_time.start"] > 0 @@ -681,6 +710,17 @@ def get_train_times(run_groups): return results +def train_time_end(server_train_times, client_train_times): + max_timestamp = 0 + for idx, (device_id, df) in enumerate(server_train_times.items()): + if df["end"].max() > max_timestamp: + max_timestamp = df["end"].max() + for idx, (device_id, df) in enumerate(client_train_times.items()): + if df["end"].max() > max_timestamp: + max_timestamp = df["end"].max() + return max_timestamp + + def plot_batteries_over_time_with_activity( batteries_over_time, max_runtimes, training_times, save_path=None ): @@ -689,7 +729,12 @@ def plot_batteries_over_time_with_activity( y_offset = 10 for (strategy, job), series_dict in batteries_over_time.items(): server_train_times, client_train_times = training_times[(strategy, job)] + xlim = ( + 0, + train_time_end(server_train_times, client_train_times) * 1.05, + ) # set end 5% after last activity timestamp plt.figure() + plt.rcParams.update({"font.size": 13}) # battery_plot plt.subplot(2, 1, 1) for device_id, series in series_dict.items(): @@ -702,7 +747,7 @@ def plot_batteries_over_time_with_activity( plt.ylabel(LABEL_MAPPING["device battery"]) plt.legend() plt.tight_layout() - # plt.xlim(xlim) + plt.xlim(xlim) # plt.ylim(3000, 3800) # activity plot plt.subplot(2, 1, 2) @@ -729,7 +774,7 @@ def plot_batteries_over_time_with_activity( plt.ylabel(LABEL_MAPPING["device"]) plt.legend(loc="upper left") plt.tight_layout() - # plt.xlim(xlim) + plt.xlim(xlim) plt.yticks( [(device_space * x + 2 * bar_height + y_offset) for x in range(0, 5)], labels=["d0", "d1", "d2", "d3", "d4"][:5], @@ -766,6 +811,7 @@ def plot_batteries_over_epoch_with_activity_at_time_scale( [str(i) for i in range(0, len(start_times), max(1, len(start_times) // 8))], ) plt.figure() + plt.rcParams.update({"font.size": 13}) # battery_plot plt.subplot(2, 1, 1) for device_id, series in series_dict.items(): @@ -837,6 +883,7 @@ def plot_batteries_over_epoch_with_activity_at_epoch_scale( # battery plot plt.figure() + plt.rcParams.update({"font.size": 13}) plt.subplot(2, 1, 1) num_rounds = [] for device_id, series in series_dict.items(): -- GitLab