diff --git a/jetson/power_logging/Dockerfile.jetson b/jetson/power_logging/Dockerfile.jetson index b0c87bfb..bf0c383e 100644 --- a/jetson/power_logging/Dockerfile.jetson +++ b/jetson/power_logging/Dockerfile.jetson @@ -6,13 +6,13 @@ RUN apt update && apt install --no-install-recommends -y libgl1-mesa-glx RUN groupadd --gid 1000 appuser \ && useradd --uid 1000 --gid 1000 -ms /bin/bash appuser +# modelopt dependency comes pre-packaged as part of the image +RUN pip install ultralytics + USER appuser WORKDIR /app COPY --chown=appuser:appuser . ./ -# modelopt dependency comes pre-packaged as part of the image -RUN pip install ultralytics - CMD ["/bin/bash", "./run_experiment.sh"] \ No newline at end of file diff --git a/jetson/power_logging/measure_inference_power.py b/jetson/power_logging/measure_inference_power.py index ed48ad0f..4b218d62 100644 --- a/jetson/power_logging/measure_inference_power.py +++ b/jetson/power_logging/measure_inference_power.py @@ -7,7 +7,7 @@ from multiprocessing.synchronize import Event as EventClass from pathlib import Path -from model.benchmark import benchmark +from model.benchmark import benchmark_classify, benchmark_detection, benchmark_trt multiprocessing.set_start_method("spawn", force=True) @@ -54,7 +54,11 @@ def inference(event: EventClass, args: argparse.Namespace) -> None: event: An object that manages a flag for communication among processes. args: Arguments from CLI. """ - benchmark(args) + if args.command == "detect": + benchmark_detection(args) + elif args.command == "classify": + # benchmark_classify(args) # For Pytorch + benchmark_trt(args) # For TensorRT event.set() @@ -64,28 +68,89 @@ def inference(event: EventClass, args: argparse.Namespace) -> None: description="Collect power usage data during inference cycles for ImageNet pretrained CNN models.", ) parser.add_argument( + "--result-dir", + type=str, + default="results", + help="The directory to save the log result.", + ) + parser.add_argument( + "--disable-power-measurement", + action="store_true", + help="Disable power measurement during benchmark execution.", + ) + subparsers = parser.add_subparsers(help="Types of arguments", dest="command") + detection_parser = subparsers.add_parser( + "detect", help="Run benchmarking for object detection models" + ) + detection_parser.add_argument( "--model", type=str, default="yolov5n", help="Specify name of pretrained CNN model from ultralytics.", ) - parser.add_argument( + detection_parser.add_argument( "--dataset-name", type=str, default="coco.yaml", help="Specify name of dataset from ultralytics.", ) - parser.add_argument( - "--result-dir", + classify_parser = subparsers.add_parser( + "classify", help="Run benchmarking for image classification models" + ) + classify_parser.add_argument( + "--model", type=str, - default="results", - help="The directory to save the log result.", + default="mobilenet_v2", + help="Specify name of pretrained CNN model from PyTorch Hub." + "For more information on PyTorch Hub visit: " + "https://pytorch.org/hub/research-models", ) - parser.add_argument( - "--disable-power-measurement", - action="store_true", - help="Disable power measurement during benchmark execution.", + classify_parser.add_argument( + "--model-repo", + type=str, + default="pytorch/vision:v0.16.0", # This version should have all the models we want + help="Specify path and version to model repository from PyTorch Hub.", ) + classify_parser.add_argument( + "--dtype", + type=str, + default="float16", + choices=["float16", "bfloat16", "float32"], + help="Data type for model weights and activations.\n\n" + '* "float16" is the same as "half".\n' + '* "bfloat16" for a balance between precision and range.\n' + '* "float32" for FP32 precision.', + ) + classify_parser.add_argument( + "--input-shape", + type=int, + nargs="+", + default=[1, 3, 224, 224], + help="Input shape BCHW", + ) + classify_parser.add_argument( + "--warmup", + type=int, + default=50, + help="Number of iterations to perform warmup before benchmarking", + ) + classify_parser.add_argument( + "--runs", type=int, default=30000, help="Number of inference cycle to run" + ) + classify_parser.add_argument( + "--optimization-level", + type=int, + default=5, + help="Builder optimization 0-5, higher levels imply longer build time, " + "searching for more optimization options.", + ) + classify_parser.add_argument( + "--min-block-size", + type=int, + default=5, + help="Minimum number of operators per TRT-Engine Block", + ) + args = parser.parse_args() event = Event() diff --git a/jetson/power_logging/model/benchmark.py b/jetson/power_logging/model/benchmark.py index 6fc969f7..2f77580f 100644 --- a/jetson/power_logging/model/benchmark.py +++ b/jetson/power_logging/model/benchmark.py @@ -13,10 +13,14 @@ from pathlib import Path from typing import Any +import numpy as np import torch +import torch_tensorrt from pydantic import BaseModel +from tqdm import tqdm from model.model_utils import get_layers, load_model +from model.trt_utils import CustomProfiler, save_engine_info, save_layer_wise_profiling """ Wrapper class for Torch.cuda.event for non-CUDA supported devices @@ -60,7 +64,7 @@ def get_time_stamp(self): DEVICE = "cuda" if IS_GPU else "cpu" -class BenchmarkMetrics(BaseModel): +class DetectionBenchmarkMetrics(BaseModel): config: dict[str, Any] total_time: float # in seconds timestamp: str @@ -68,6 +72,15 @@ class BenchmarkMetrics(BaseModel): end_time: float +class ClassifyBenchmarkMetrics(BaseModel): + config: dict[str, Any] + total_time: float # in seconds + timestamp: str + latencies: list[float] # in seconds + avg_latency: float # in seconds + avg_throughput: float + + def define_and_register_hooks(model, device) -> dict: """ Define and register hooks with CUDA or CPU timing. @@ -136,8 +149,8 @@ def layer_time_hook( layer_time_dict[layer_name]["start_time"] = start_event.get_time_stamp() -def benchmark(args: argparse.Namespace) -> None: - """Benchmark latency and throughput across all backends. +def benchmark_detection(args: argparse.Namespace) -> None: + """Benchmark latency and throughput for object detection models. Args: args: Arguments from CLI. @@ -180,7 +193,7 @@ def benchmark(args: argparse.Namespace) -> None: print("Benchmarking complete ...") total_time = start_event.elapsed_time(end_event) - results = BenchmarkMetrics( + results = DetectionBenchmarkMetrics( config=vars(args), total_time=total_time, # in seconds timestamp=timestamp, @@ -208,3 +221,196 @@ def benchmark(args: argparse.Namespace) -> None: except Exception as e: print(f"An error has occurred during benchmarking: {e}") raise e + + +def benchmark_classify(args: argparse.Namespace) -> None: + """Benchmark latency and throughput across all backends. + + Args: + args: Arguments from CLI. + """ + print("Starting benchmark...") + + timestamp = datetime.now().strftime("%Y%m%d-%H%M%S") + + try: + input_data = torch.randn(args.input_shape, device=DEVICE) + model = load_model(args.model) + model.eval().to(DEVICE) + + if args.dtype == "float16": + dtype = torch.float16 + if args.dtype == "bfloat16": + dtype = torch.bfloat16 + if args.dtype == "float32": + dtype = torch.float32 + + input_data = input_data.to(dtype) + model = model.to(dtype) + print(f"Using {DEVICE=} for benchmarking") + if DEVICE == "cpu": + print("Warning: Running on CPU.") + + st = time.perf_counter() + print("Warm up ...") + with torch.no_grad(): + for _ in range(args.warmup): + _ = model(input_data) + print(f"Warm complete in {time.perf_counter() - st:.2f} sec ...") + + layer_profiles = [] + layer_profile = define_and_register_hooks(model, DEVICE) + + print("Starting timing inference ...") + latencies = [] + start_events = [CudaEvent(enable_timing=True) for _ in range(args.runs)] + end_events = [CudaEvent(enable_timing=True) for _ in range(args.runs)] + + with torch.no_grad(): + for i in tqdm(range(args.runs)): + start_events[i].record() + _ = model(input_data) + end_events[i].record() + + if IS_GPU: + torch.cuda.synchronize() + + latency = start_events[i].elapsed_time(end_events[i]) + latencies.append(latency * 1.0e-3) + layer_profiles.append(layer_profile.copy()) + + print("Benchmarking complete ...") + + total_time = sum(latencies) + avg_latency = total_time / len(latencies) + avg_throughput = args.input_shape[0] / avg_latency + + results = ClassifyBenchmarkMetrics( + config=vars(args), + total_time=total_time, # in seconds + timestamp=timestamp, + latencies=latencies, # in seconds + avg_throughput=avg_throughput, + avg_latency=avg_latency, # in seconds + ) + + model_dir = f"{args.result_dir}/{args.model}" + Path(model_dir).mkdir(exist_ok=True, parents=True) + file_name = f"{args.model}_pytorch.json" + file_path = f"{model_dir}/{file_name}" + with open(file_path, "w", encoding="utf-8") as outfile: + json.dump(results.model_dump(), outfile, indent=4) + with open( + f"{model_dir}/{args.model}_layerwise_latency.json", "w" + ) as layer_profiles_file: + json.dump(layer_profiles, layer_profiles_file) + except Exception as e: + print(f"An error has occurred during benchmarking: {e}") + return + + +def benchmark_trt(args: argparse.Namespace) -> None: + """Benchmark latency and throughput across all backends. + + Additionally for tensorrt backend, we calculate layer-wise + latency. + + Args: + args: Arguments from CLI. + """ + start = torch.cuda.Event(enable_timing=True) + end = torch.cuda.Event(enable_timing=True) + start.record() + + timestamp = datetime.now().strftime("%Y%m%d-%H%M%S") + input_data = torch.randn(args.input_shape, device=DEVICE) + model = load_model(args.model) + model.eval().to(DEVICE) + + if args.dtype == "float16": + dtype = torch.float16 + if args.dtype == "bfloat16": + dtype = torch.bfloat16 + if args.dtype == "float32": + dtype = torch.float32 + + input_data = input_data.to(dtype) + model = model.to(dtype) + print(f"Using {DEVICE=} for benchmarking") + + exp_program = torch.export.export(model, tuple([input_data])) + model = torch_tensorrt.dynamo.compile( + exported_program=exp_program, + inputs=[input_data], + min_block_size=args.min_block_size, + optimization_level=args.optimization_level, + enabled_precisions={dtype}, + # Set to True for verbose output + # NOTE: Performance Regression when rich library is available + # https://github.com/pytorch/TensorRT/issues/3215 + debug=True, + # Setting it to True returns PythonTorchTensorRTModule which has different profiling approach + use_python_runtime=True, + ) + + print("Sleeping for 5 seconds to cool down...") + time.sleep(5) + + st = time.perf_counter() + print("Warm up ...") + with torch.no_grad(): + for _ in range(args.warmup): + _ = model(input_data) + print(f"Warm complete in {time.perf_counter() - st:.2f} sec ...") + + print("Start timing using tensorrt backend ...") + torch.cuda.synchronize() + # Recorded in milliseconds + start_events = [torch.cuda.Event(enable_timing=True) for _ in range(args.runs)] + end_events = [torch.cuda.Event(enable_timing=True) for _ in range(args.runs)] + + with torch.no_grad(): + for i in tqdm(range(args.runs)): + # Hack for enabling profiling + # https://github.com/pytorch/TensorRT/issues/1467 + profiling_dir = f"{args.result_dir}/{args.model}/trt_profiling" + Path(profiling_dir).mkdir(exist_ok=True, parents=True) + + # Records traces in milliseconds + # https://docs.nvidia.com/deeplearning/tensorrt/api/python_api/infer/Core/Profiler.html#tensorrt.Profiler + mod = list(model.named_children())[0][1] + mod.enable_profiling(profiler=CustomProfiler()) + + start_events[i].record() + _ = model(input_data) + end_events[i].record() + + end.record() + torch.cuda.synchronize() + + save_layer_wise_profiling(mod, profiling_dir) + save_engine_info(mod, profiling_dir) + + # Convert milliseconds to seconds + timings = [s.elapsed_time(e) * 1.0e-3 for s, e in zip(start_events, end_events)] + avg_throughput = args.input_shape[0] / np.mean(timings) + print("Benchmarking complete ...") + # Convert milliseconds to seconds + total_exp_time = start.elapsed_time(end) * 1.0e-3 + print(f"Total time for experiment: {total_exp_time} sec") + + results = ClassifyBenchmarkMetrics( + config=vars(args), + total_time=total_exp_time, # in seconds + timestamp=timestamp, + latencies=timings, # in seconds + avg_throughput=avg_throughput, + avg_latency=np.mean(timings), # in seconds + ) + + model_dir = f"{args.result_dir}/{args.model}" + Path(model_dir).mkdir(exist_ok=True, parents=True) + file_name = f"{args.model}_tensorrt.json" + file_path = f"{model_dir}/{file_name}" + with open(file_path, "w", encoding="utf-8") as outfile: + json.dump(results.model_dump(), outfile, indent=4) diff --git a/jetson/power_logging/model/model_utils.py b/jetson/power_logging/model/model_utils.py index 7e58acdd..959d39bf 100644 --- a/jetson/power_logging/model/model_utils.py +++ b/jetson/power_logging/model/model_utils.py @@ -1,11 +1,32 @@ from typing import Any import torch -from ultralytics import YOLO from model.lenet import LeNet +def extract_params(model_name: str) -> tuple[int, int, int]: + """Extract kernel, stride and output channels from model name. + + Args: + model_name: Name of the model. + E.g. "conv_k1_s1_o1" + + Returns: + A tuple of integers corresponding to kernel, stride and output channels + """ + params = model_name.split("_") + kernel, stride, out_channel = None, None, None + for part in params: + if part.startswith("k"): + kernel = int(part[1:]) + elif part.startswith("s"): + stride = int(part[1:]) + elif part.startswith("o"): + out_channel = int(part[1:]) + return kernel, stride, out_channel + + def load_model(model_name: str) -> Any: """Load model using ultralytics library. @@ -19,7 +40,19 @@ def load_model(model_name: str) -> Any: from model.pytorch_quantize import quantized_pt_model return quantized_pt_model(model_name, "coco.yaml", "datasets/coco/val2017.txt") + elif "conv_" in model_name: + kernel_size, stride_size, out_channels = extract_params(model_name) + if None in [kernel_size, stride_size, out_channels]: + raise ValueError(f"Something went wrong parsing model name: {model_name}") + return torch.nn.Conv2d( + in_channels=3, + out_channels=out_channels, + kernel_size=kernel_size, + stride=stride_size, + ) else: + from ultralytics import YOLO + return YOLO(f"{model_name}") diff --git a/jetson/power_logging/notebooks/Compare_mobilenetv2.ipynb b/jetson/power_logging/notebooks/Compare_mobilenetv2.ipynb new file mode 100644 index 00000000..6ea8c6cf --- /dev/null +++ b/jetson/power_logging/notebooks/Compare_mobilenetv2.ipynb @@ -0,0 +1,313 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 2, + "id": "bd858512-3cf4-4333-839a-6c39d0ee00f4", + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "\n", + "DATA_PATH = '../raw_data/mobilenet_v2_data'\n", + "avg_cols = ['average_power', 'average_run_time']" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4cc0271f-d379-4421-98b6-686af04f7ba2", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "9721e786-6bcf-4b6b-b8b9-bebb1548800c", + "metadata": {}, + "outputs": [], + "source": [ + "trt_df = pd.read_csv(f'{DATA_PATH}/trt_mobilenet_v2_average_power_stats.csv')" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "75145bc8-129d-462c-bf56-d0e6681f6311", + "metadata": {}, + "outputs": [], + "source": [ + "trt_df['layer_name'] = trt_df['layer_name'].apply(lambda x : x.split(' + ')[0].split('-')[-1].replace('[', '').replace(']', ''))" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "7b418002-960d-4494-9cd2-dba5e6d4c888", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/tmp/ipykernel_349448/2915600730.py:2: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame.\n", + "Try using .loc[row_indexer,col_indexer] = value instead\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " subset_df['average_power'] = subset_df['average_power'] * 1e-3\n" + ] + }, + { + "data": { + "image/png": "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kCFDWtxnyJAhUVdXF5s3b47evXu3uK2+vj7q6+ubL9fV1UVERENDQzQ0NOzyc2y67+6soyPJU5g8heWUJ6csEfnl2bJlS/PvHDLltn3kKUyewnLKk1OWCMeenZGnMHkKyylPTlki8svjWFhYbnmMV2E55ckpS4R9Z2dyy5PbeOWWJ7fxkqdtOWWJkGdnzPXCcsuT23jllCe3sZKnMHkK66g8xd6/rPHtbynvRJ/+9Kfjpz/9aSxdujQOPPDAiIj48Y9/HJ/97Gfjsccei7333jsiIsrKyuKuu+5q8Z3x27v88stj3rx58cILL0RExDvf+c74+Mc/HpdddlnzMgsXLozp06fHpk2bdijlr7jiirjyyit3WO9tt90WVVVVu/tUAfaoFzZEXPt4eVx8xJYYtndnpwG6C8ceAMfCUmO82FX2ndKS23jllgdIw1wvLbmNV255gJaaPvV9/fr10a9fvzaXy+Kd8hdccEHce++98eCDDzYX8hERS5YsiWeffTYGDBjQYvkzzjgjjj/++KitrW11fccdd1xcddVVUV9fH5WVlTF06NBYt25di2XWrVsX/fr126GQj4i47LLL4qKLLmq+XFdXF8OGDYspU6YU3Jg709DQEDU1NXHKKadERUXFLq+no8gjT1fJk1OWHPP8Zs1rEY8/EmPHjo0jhw/a+R0Sy237yCNPV8mTU5YIxx555OkueXLKkmMex8LSymO8SidPTlki7Dullie38cotT27jJU9pZJFn58z10sqT23jllCe3sZJHnhzyNH3i+s50ainf2NgYn/nMZ+Kuu+6K2traqK6ubnH75z73uTj33HNbXHfEEUfE9ddfH//rf/2vNte7cuXKGDhwYFRWVkZExLhx42LhwoUtlqmpqYlx48a1ev/Kysrm+75dRUVFh+wkHbWejiJPYfIUllOenLJE5JOnvLy8+XcOeZrksn2ayFOYPIXllCeXLI49xZGnMHkKyylPTlki8snjWFicXPIYr+LklCeXLPad4uSSJ7fxyi1Pk1zGq4k8bcspS4Q8bTHXi5NLntzGK7c8EfmMVRN5CpOnsN3NU+x9O7WUnzlzZtx2221xzz33RN++fWPt2rUREdG/f//o3bt3DB06NIYOHbrD/YYPH95c4P/kJz+JdevWxdixY6NXr15RU1MTX/3qV+Piiy9uXv7888+Pm266KS655JI4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AgAAAAAAAEApKrqUnzhxYkRErF69OoYPHx5lZWU7LLNmzZoYPnx4x6UDAAAAAAAAgBLWo713OOSQQ+KPf/zjDtf/6U9/iurq6g4JBQAAAAAAAABdQbtL+cbGxlav37BhQ/Tq1Wu3AwEAAAAAAABAV1H0x9dfdNFFERFRVlYWl19+eVRVVTXftnXr1nj44YfjqKOO6vCAAAAAAAAAAFCqii7lH3vssYj4yzvlH3/88ejZs2fzbT179owjjzwyLr744o5PCAAAAAAAAAAlquhS/v7774+IiI9//ONx4403Rr9+/ZKFAgAAAAAAAICuoOhSvsm8efNS5AAAAAAAAACALqfdpXxExCOPPBJ33HFHrFmzJt56660Wt915550dEgwAAAAAAAAASl2P9t7h9ttvj/e+973x1FNPxV133RUNDQ3xu9/9LpYsWRL9+/dPkREAAAAAAAAASlK7S/mvfvWrcf3118dPfvKT6NmzZ9x4442xatWq+NCHPhTDhw9PkREAAAAAAAAASlK7S/lnn302pk+fHhERPXv2jI0bN0ZZWVnMnj07vvOd73R4QAAAAAAAAAAoVe0u5QcOHBhvvPFGREQccMAB8cQTT0RExOuvvx6bNm3q2HQAAAAAAAAAUMLK23uHE044IWpqauKII46ID37wg/G///f/jiVLlkRNTU2cdNJJKTICAAAAAAAAQElqdyl/0003xZtvvhkREV/4wheioqIiHnrooTjjjDPii1/8YocHBAAAAAAAAIBSVXQp/7GPfSxOOumkmDRpUgwfPjwiInr06BGf+9znkoUDAAAAAAAAgFJW9HfKP//88/GpT30qqqurY8SIEXHuuefGv/3bv8XLL7+8yw8+Z86cOPbYY6Nv374xePDgmDFjRjz99NMtlvnUpz4VI0aMiN69e8e+++4bp59+eqxatarFMmVlZTv83H777S2Wqa2tjTFjxkRlZWWMHDky5s+fv8u5AQAAAAAAAKAYRZfytbW18frrr8fPfvazOOuss+I///M/4xOf+EQceOCBMWrUqPj0pz8d//Ef/9GuB3/ggQdi5syZsXz58qipqYmGhoaYMmVKbNy4sXmZY445JubNmxdPPfVULFq0KBobG2PKlCmxdevWFuuaN29evPzyy80/M2bMaL5t9erVMX369Jg8eXKsXLkyZs2aFeeee24sWrSoXXkBAAAA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o+NHP/pRhwUEAAAAAAAAgFJV1MfXP/nkk3H11VfHKaecEr169Ypjjjkm9t9//+jVq1f8+c9/jieffDJ+97vfxZgxY+Kaa66JadOmpc6dnc0NWyMi4okX17e5zMbN9fHIHyOGPv/n6NO7stVlnnllgzzydHqe3G3atClWrVrVfPnpl1+P+rXPxFNP9I5tfxrQYtlRo0ZFVVVVhz12KYyV7SOPPF0vT2tZNm/eFKuf+X3z5a1bt8bKx5+NTeW/iL322qvF/atHvjN6967qkttGntLLQ2E5jVdOWUqF12H5ym37bJ9n+/N6RNvn9qbzeso8rcnp3NWd92UKy21f3t7254mIts8VHX2eiMhv++SWh7blNla55WmN14Xy7KrOPlfsLI992f+fk2fXFVXKv+Md74jrrrsurr766liwYEEsXbo0nn/++di8eXPss88+8dGPfjSmTp0ao0eP7rBgpebZ/x6Uz935+E6WLI9/fabtTxxo0qeyqKGRR54keXK3atWqOOaYY3a4/iPf3XHZFStWxJgxYzrssUthrGwfeeTpenlay1K/9plY+91ZRd1/6MduiMqhIzskS1t5Wtf9xkoedldO45VTllLhdVi+cts+2+fZnfN6ijxty+nc1T33ZQrLbV/eXlvniYgdzxUdfZ6IyG/75JaHtuU2VrnlaY3XhfLsqs4+VxSbx778F/7/nDzt0a419O7dO84888w488wzd/uBu5op7xoaEREjBu8dvSv2anWZp19eH5/94eMx98wj4tD9+re5rj6V5VG9Tx955Om0PLkbNWpUrFixovnyhs31seD+ZTF98rjYe7u/Zho1alSHPnYpjJXtI488XS9Pa1k2bx4Tq//2qOZltm7dGisfWxlHHX1Um3+J2xFZ2sqzve46VvKwu3Iar5yylAqvw/KV2/bZPs/25/WIts/tbz+vp8rTmpzOXd15X6aw3Pbl7W1/noho+1zR0eeJiPy2T255aFtuY5VbntZ4XSjPrursc8XO8tiX/f85eXadPx/sIIP69Iy/fc/wgsts2bIlIiJG7NsnRh/Q9uDKI09n58ldVVVVi7+4a2hoiD+/+kqMe89fR0VFRdLHLoWxsn3kkafr5Wk9S/84duR+zZcaGhqiassbMW3K8ea6PFnnobCcxiunLKXC67B85bZ9dszT8rwe4dxeKE933pcpLLd9eXvbnyci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xciRI+Nv/uZvom/fvvHQQw81vyt+r732invvvTf22muvGDduXJx11lnx93//9/HlL3+5+XGqq6tjwYIFUVNTE0ceeWTMnTs3br311pg6dWqnPG8AAAAAAAAAuodO//j6Qvbff/8dPna+NQcddNBOl5s0aVI89thj7coHAAAAAAAAALujU98pDwAAAAAAAABdmVIeAAAAAAAAABJRygMAAAAAAABAIkp5AAAAAAAAAEhEKQ8AAAAAAAAAiZR3doCubNOmTbFq1army0+//HrUr30mnnqid2z704AWy44aNSqqqqq6TZ7tsxTK0xnbRh7aI6e5laPctk+xebrjXJentPJQWKkee/ZEHvtyacltvHLal9k548WucuwprTywq3Kf652dh8JyOxbmlicnuc2t3PJQWsz1wnLaPrnN9SzyNLJT69evb4yIxvXr17frfitWrGiMiKJ+VqxYkSh9nnlyyiLPrnnrrbca77777sa33nqrUx4/pyy5j5fts2t5csoijzzF6Oy5vr3Hnnu18aBL72187LlXO+XxcxuvnPLklKUtue3PnZknt/HKLc/27DstGa/26exz1/Yce+TZVbnNrdzymOv/I7d9Obc8rclpf+7sLLmNV255tmeu55unNc4V+WbJff+xffLMkjpPsT2yd8onNGrUqFixYkXz5Q2b62PB/cti+uRxsXfvyh2W7U55ts9SKE9nbBt5aI+c5laOcts+xebpjnNdntLKQ2GleuzZE3nsy6Ult/HKaV9m54wXu8qxp7TywK7Kfa53dh4Ky+1YmFuenOQ2t3LLQ2kx1wvLafvkNtdzyKOUT6iqqirGjBnTfLmhoSH+/OorMe49fx0VFRXdOs/2WeTJOw+F5TS3cpTb9skpT25zXZ7SykNhOc313PLYl0tLbuOV077MzhkvdpVjT2nlgV2V+1zv7DwUltuxMLc8OcltbuWWh9JirheW0/bJba7nkKdH8kcAAAAAAAAAgG5KKQ8AAAAAAAAAiSjlAQAAAAAAACARpTwAAAAAAAAAJKKUBwAAAAAAAIBElPIAAAAAAAAAkIhSHgAAAAAAAAASUcoDAAAAAAAAQCJKeQAAAAAAAABIRCkPAAAAAAAAAIko5QEAAAAAAAAgEaU8AAAAAAAAACSilAcAAAAAAACARJTyAAAAAAAAAJCIUh4AAAAAAAAAElHKAwAAAAAAAEAiSnkAAAAAAAAASEQpDwAAAAAAAACJKOUBAAAAAAAAIBGlPAAAAAAAAAAkopQHAAAAAAAAgESU8gAAAAAAAACQiFIeAAAAAAAAABJRygMAAAAAAABAIkp5AAAAAAAAAEhEKQ8AAAAAAAAAiSjlAQAAAAAAACARpTwAAAAAAAAAJKKUBwAAAAAAAIBElPIAAAAAAAAAkIhSHgAAAAAAAAASUcoDAAAAAAAAQCJKeQAAAAAAAABIRCkPAAAAAAAAAIko5QEAAAAAAAAgEaU8AAAAAAAAACSilAcAAAAAAACARJTyAAAAAAAAAJCIUh4AAAAAAAAAElHKAwAAAAAAAEAiSnkAAAAAAAAASEQpDwAAAAAAAACJKOUBAAAAAAAAIBGlPAAAAAAAAAAkopQHAAAAAAAAgESU8gAAAAAAAACQiFIeAAAAAAAAABJRygMAAAAAAABAIkp5AAAAAAAAAEhEKQ8AAAAAAAAAiSjlAQAAAAAAACARpTwAAAAAAAAAJKKUBwAAAAAAAIBElPIAAAAAAAAAkIhSHgAAAAAAAAASUcoDAAAAAAAAQCJKeQAAAAAAAABIRCkPAAAAAAAAAIko5QEAAAAAAAAgEaU8AAAAAAAAACSilAcAAAAAAACARJTyAAAAAAAAAJCIUh4AAAAAAAAAElHKAwAAAAAAAEAiSnkAAAAAAAAASEQpDwAAAAAAAACJKOUBAAAAAAAAIBGlPAAAAAAAAAAkopQHAAAAAAAAgESU8gAAAAAAAACQiFIeAAAAAAAAABJRygMAAAAAAABAIkp5AAAAAAAAAEhEKQ8AAAAAAAAAiSjlAQAAAAAAACARpTwAAAAAAAAAJKKUBwAAAAAAAIBElPIAAAAAAAAAkIhSHgAAAAAAAAASUcoDAAAAAAAAQCJKeQAAAAAAAABIRCkPAAAAAAAAAIko5QEAAAAAAAAgEaU8AAAAAAAAACSilAcAAAAAAACARJTyAAAAAAAAAJCIUh4AAAAAAAAAElHKAwAAAAAAAEAiSnkAAAAAAAAASEQpDwAAAAAAAACJKOUBAAAAAAAAIBGlPAAAAAAAAAAkopQHAAAAAAAAgESU8gAAAAAAAACQiFIeAAAAAAAAABJRygMAAAAAAABAIkp5AAAAAAAAAEhEKQ8AAAAAAAAAiSjlAQAAAAAAACARpTwAAAAAAAAAJKKUBwAA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a0ydOjXtEwQAAAAAAACgW+vUUr6xsbHg7ZMmTdrpMqeeemqceuqpO32sSZMmxWOPPdaufAAAAAAAAACwOzr1O+UBAAAAAAAAoCtTygMAAAAAAABAIkp5AAAAAAAAAEhEKQ8AAAAAAAAAiSjlAQAAAAAAACARpTwAAAAAAAAAJKKUBwAAAAAAAIBElPIAAAAAAAAAkIhSHgAAAAAAAAASUcoDAAAAAAAAQCJKeQAAAAAAAABIRCkPAAAAAAAAAIko5QEAAAAAAAAgEaU8AAAAAAAAACSilAcAAAAAAACARJTyAAAAAAAAAJCIUh4AAAAAAAAAElHKAwAAAAAAAEAiSnkAAAAAAAAASEQpDwAAAAAAAACJKOUBAAAAAAAAIBGlPAAAAAAAAAAkopQHAAAAAAAAgESU8gAAAAAAAACQiFIeAAAAAAAAABJRygMAAAAAAABAIkp5AAAAAAAAAEhEKQ8AAAAAAAAAiSjlAQAAAAAAACARpTwAAAAAAAAAJKKUBwAAAAAAAIBElPIAAAAAAAAAkIhSHgAAAAAAAAASUcoDAAAAAAAAQCJKeQAAAAD+P3t3Hmdz3f+P/3HO7PsMxjIYe4yQsZR9LyWUurSikkoRUdIiRZSroj0q5SKkUulqU2RXJPu+DBprQpYhzPL8/eE759M0vKff53Od9/vR5XG/3dxulzNueVzP5XXGvM6cERERERERkSDRpbyIiIiIiIiIiIiIiIiIiEiQ6FJeREREREREREREREREREQkSHQpLyIiIiIiIiIiIiIiIiIiEiS6lBcREREREREREREREREREQkSXcqLiIiIiIiIiIiIiIiIiIgEiS7lRUREREREREREREREREREgkSX8iIiIiIiIiIiIiIiIiIiIkGiS3kREREREREREREREREREZEg0aW8iIiIiIiIiIiIiIiIiIhIkOhSXkREREREREREREREREREJEh0KS8iIiIiIiIiIiIiIiIiIhIkupQXEREREREREREREREREREJEl3Ki4iIiIiIiIiIiIiIiIiIBIku5UVERERERERERERERERERIJEl/IiIiIiIiIiIiIiIiIiIiJBokt5ERERERERERERERERERGRINGlvIiIiIiIiIiIiIiIiIiISJDoUl5ERERERERERERERERERCRIdCkvIiIiIiIiIiIiIiIiIiISJLqUFxERERERERERERERERERCRJdyouIiIiIiIiIiIiIiIiIiASJLuVFRERERERERERERERERESCRJfyIiIiIiIiIiIiIiIiIiIiQaJLeRERERERERERERERERERkSDRpbyIiIiIiIiIiIiIiIiIiEiQ6FJeREREREREREREREREREQkSHQpLyIiIiIiIiIiIiIiIiIiEiS6lBcREREREREREREREREREQkSXcqLiIiIiIiIiIiIiIiIiIgEiS7lRUREREREREREREREREREgkSX8iIiIiIiIiIiIiIiIiIiIkGiS3kREREREREREREREREREZEg0aW8iIiIiIiIiIiIiIiIiIhIkOhSXkREREREREREREREREREJEh0KS8iIiIiIiIiIiIiIiIiIhIkupQXEREREREREREREREREREJEl3Ki4iIiIiIiIiIiIiIiIiIBIku5UVERERERERERERERERERIJEl/IiIiIiIiIiIiIiIiIiIiJBokt5ERERERERERERERERERGRINGlvIiIiIiIiIiIiIiIiIiISJDoUl5ERERERERERERERERERCRIdCkvIiIiIiIiIiIiIiIiIiISJLqUFxERERERERERERERERERCRJdyouIiIiIiIiIiIiIiIiIiASJLuVFRERERERERERERERERESCRJfyIiIiIiIiIiIiIiIiIiIiQaJLeRERERERERERERERERERkSDRpbyIiIiIiIiIiIiIiIiIiEiQ6FJeREREREREREREREREREQkSHQpLyIiIiIiIiIiIiIiIiIiEiS6lBcREREREREREREREREREQkSXcqLiIiIiIiIiIiIiIiIiIgEiS7lRUREREREREREREREREREgkSX8iIiIiIiIiIiIiIiIiIiIkGiS3kREREREREREREREREREZEg0aW8iIiIiIiIiIiIiIiIiIhIkIR6HUBERERE/v5OnjyJTZs2BX6/ed8RnN6/DRvXRSHvUGKBP1ujRg1ER0e7nFBEROR//Pl5Czj/c5eet0RERET+e+nzQhFxiy7lRUREROT/bNOmTahfv36hx2+ZWPjPLl++HPXq1XMhlYiIyLmd73kLKPzcpectERERkf9e+rxQRNyiS3kRERER+T+rUaMGli9fHvh91u+n8eXcH3B168aIjYoo9GdFRES89OfnLeD8z1163hIRERH576XPC0XELbqUFxEREZH/s+jo6AKvFs/OzsZvBw+g8aUNEBYW5mEyERGRwv78vAXouUtERETkQqTPC0XELX6vA4iIiIiIiIiIiIiIiIiIiPy30qW8iIiIiIiIiIiIiIiIiIhIkOhSXkREREREREREREREREREJEh0KS8iIiIiIiIiIiIiIiIiIhIkupQXEREREREREREREREREREJEl3Ki4iIiIiIiIiIiIiIiIiIBIku5UVERERERERERERERERERIJEl/IiIiIiIiIiIiIiIiIiIiJBokt5ERERERERERERERERERGRINGlvIiIiIiIiIiIiIiIiIiISJDoUl5ERERERERERERERERERCRIdCkvIiIiIiIiIiIiIiIiIiISJLqUFxERERERERERERERERERCRJdyouIiIiIiIiIiIiIiIiIiASJLuVFRERERERERERERERERESCRJfyIiIiIiIiIiIiIiIiIiIiQaJLeRERERERERERERERERERkSDRpbyIiIiIiIiIiIiIiIiIiEiQ6FJeREREREREREREREREREQkSHQpLyIiIiIiIiIiIiIiIiIiEiS6lBcREREREREREREREREREQkSXcqLiIiIiIiIiIiIiIiIiIgEiS7lRUREREREREREREREREREgkSX8iIiIiIiIiIiIiIiIiIiIkGiS3kREREREREREREREREREZEg0aW8iIiIiIiIiIiIiIiIiIhIkOhSXkREREREREREREREREREJEh0KS8iIiIiIiIiIiIiIiIiIhIkupQXEREREREREREREREREREJEl3Ki4iIiIiIiIiIiIiIiIiIBIku5UVERERERERERERERERERIIk1OsAfwdmBgA4duzY/+m/k52djZMnT+LYsWMICwv7T0RTHuVRHrIsyqM8yqM8yqI8yqM8F1IepizKozzKc+HkYcqiPMqjPMqjLMqjPMpzIeVhyqI8ysOSJ//+OP8++Xx0Kf8XHD9+HABQvnx5j5OIiIiIiIiIiIiIiIiIiAiT48ePIyEh4bwf91lR1/aCvLw87N27F3FxcfD5fP/r/86xY8dQvnx57Nq1C/Hx8f/BhMqjPBd2HqYsyqM8yqM8yqI8yqM8F1IepizKozzKc+HkYcqiPMqjPMqjLMqjPMpzIeVhyqI8ysOSx8xw/PhxpKSkwO8//0+O13fK/wV+vx/l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OnLkiIWFhdnSpUsDj7nln//8p508edLMzHJycuzBBx+08PBw8/v9FhoaanfccYedOXPGtTzPPPOMzZ4928zMDh8+bG3btjWfzxfYqyuvvNJ+++03V7L4/X5r06aNTZkyxU6dOuXK3+lk7ty5FhMTYz6fz0qXLm2rVq2ycuXKWbVq1ax69eoWERFh33zzjauZXn/9dUtNTS10DjZt2tR++uknV7OYmb399tuWlpZWKE9aWpqNHz/e9TxOvDibV61aZU8//bS9/vrr9uuvvxb42NGjR+2OO+5wLYvO5vNbunSp5eTkBH7/+eefW4sWLSwlJcXq169vEydOdCVHvr59+9rnn39uZmef22vUqGEhISFWqlQpCwkJsdq1a9vu3btdy+Pz+axKlSo2cuRI27Nnj2t/7/kcOnTIrr/+eitfvrz17t3bcnJy7M477ww8bzVu3Nj27t3raiadzf97GzZssEqVKrn6d3755Zd255132qBBg2zjxo0FPnb48GFr3bq1a1mOHTtmt956q6WmpgbO4fvuuy8wzy1atHD189RzCQsLsw0bNrj+9+psLjrPggULXPv7inLq1Cl78MEHrXnz5jZq1CgzM3v66actJibGYmJi7Oabb3Z9lr/44gtr3ry5RUREBM7BhIQE69atm/3888+uZjEzW79+vd17771Wt25dK126tJUuXdrq1q1r9957r61fv971PE7cPpuZzmWzs///33333UCWjRs3Wu/eve2OO+6w7777ztUs5+PV2fzLL78U+P3KlSutR48e1qRJE7v++utt7ty5ruZZvny5bd++PfD7SZMmWZMmTaxcuXLWtGlTe//9913N07FjR5s0aVLgaz5eY/y8ee/evfbEE09Y69atrUaNGlazZk3r2LGjjR8/vsDzvht0Ljs7efKkLVy48Jy1+P33313/XOzbb7+1oUOHBs7h+fPn25VXXmmtW7e2d99919Us5+PV2fxne/bssaFDh9ott9xiDz74YKHn1mCbMGGCff/992Z2dlZ69uxpISEhga9933PPPa5+3Tc2NtZ69uxpixcvdu3vLMqrr75q3bt3DzxPTZo0ydLS0qx69er26KOPWnZ2tmtZVq1aZd27d7dKlSpZZGSkRUdHW61atWzIkCGe/Fv022+/tauuusoSExMDn8MnJibaVVddZbNmzXI9j5PMzExXv7ab79///rfFxcWZz+ezhIQES0xMDPxKSkpyPc/vv/9uzz33nF111VVWv359S09PL/Ar2HQpH0RNmjSxFi1a2FdffWUrV660VatWFfjFwu2Ln71791rDhg3N7/dbSEiIde/evcDl/P79+13NM2TIECtVqpQNHDjQatasab1797by5cvb5MmTbeLEiVa2bFn75z//6VqeP39B+s8v5nD7RR1+vz/wD9nnn3/ekpKS7N1337X169fb5MmTrWTJkq7Wp1y5crZixQozM+vVq5elp6fbihUr7Pfff7dVq1ZZo0aN7M4773Qli8/nsyuvvNLCw8MtKSnJ+vbtaytXrnTl7z6XZs2aWZ8+fez48eP2/PPPW9myZa1Pnz6Bjz/00EPWpEkT1/I8//zzlpKSYq+++mrgwmX48OH29ddfW/fu3S06OtqWLVvmWp78C91HHnnE5s6daxs2bLANGzbY3Llz7dFHH7WYmBh7/vnnXctTFLfP5m+++cbCw8Pt4osvttTUVCtevLjNmTMn8HGdzTxn8x/P5X//+9/m9/utR48e9vrrr1uvXr0sNDTUPvnkE1eymJmVKlXK1q5da2ZmN9xwg7Vr1y7woo5Dhw5Zx44d7R//+IdreXw+n911111WsmRJCw0Ntauvvto+/fRT179olq9nz55Wq1Yte/XVV61ly5Z2zTXXWJ06dWzRokX2/fffW8OGDa1Hjx6u5dHZ/H/j9tk8ZcoUCwkJsauvvtqaNWtmkZGRNnny5MDH3T6b+/btazVq1LBXXnnFWrVqZddcc43VqlXLFi1aZPPnz7eaNWvaY4895kqWP//DOf+Xz+eztLQ01/5BnU9ns7P858lq1arZqFGjbN++fa793ecyYMAAS0lJsQcffNDS0tLsvvvus9TUVJs8ebJNnTrVqlatavfff79reSZNmmRxcXH24IMP2uOPP26lS5e2Rx55xMaOHWstW7a0EiVK2JYtW1zL89VXX1l4eLg1atTInnzySXvjjTfsjTfesCeffNKaNGliERERNnPmTNfyFMXNs5ntXP76668tPDzcihUrZpGRkfb1119bcnKytWvXztq0aWMhISGuXsx36dLlnL/8fr+1a9cu8Hu3/PFsXrx4sYWFhVnLli1t0KBBdvnll1toaKir3xRSp06dwBfo3377bYuKirJ+/frZ2LFj7YEHHrDY2Fh75513XMvj8/ksNDTUEhISrHfv3p68OPOP2D5vXrZsmSUkJFj9+vWtWbNmga9h3njjjZaYmGhNmjSxY8eOuZJF57KzzZs3W4UKFQq8UPSPL+Bw+2x+7733LDQ01OrVq2exsbE2YcIES0xMtF69elnPnj0tPDzcPvroI9fysH3eHBUVZQcOHDCzsy82SUhIsKpVq1rXrl2tRo0aFh0dbatXr3YtT6VKlWzJkiVmdvZrpxUrVrRPPvnENm7caDNmzLCLLrrIBg0a5Foen89nF198sfl8PqtRo4a98MILgXp54emnn7a4uDi7/vrrrXTp0jZq1CgrXry4jRgxwp555hlLTk4OfDNNsM2cOdOioqLs+uuvt27dull0dLT17dvXBg8ebFWrVrUqVaq4+u+Mf/3rXxYaGmo33XSTTZgwwb766iv76quvbMKECXbzzTdbWFiYTZo0ybU8RfHqm3OrVatm/fv3txMnTrj+d5/LLbfcYiVKlLDevXvbk08+aU899VSBX8GmS/kgio6Odv2VXedyvife/F81atRwdRl79Ohhl112mS1btsxmzZpl9evXtwYNGtjhw4fN7OwnSj6fz7U8lStXDnwXydatW83v99u0adMCH//ggw+sVq1aruUpW7asXX311TZnzhybN2+ezZs3z+bOnWshISE2YcKEwGNu8fl8gX/Epqen25tvvlng45MnT7aLL77YtTwRERG2c+dOMzOrWLFioX9A//TTT1amTBlXsuTX5tdff7UXXnjBatasaX6/3+rVq2dvvPGG66/Oi4+Pt23btpnZ2e8yDg0NLfAigS1btlhCQoJreSpWrGhfffVV4PebN2+24sWLB1492a9fP7v88stdy5OammoffPDBeT8+bdo0K1++vGt52M7mxo0bBy5S8vLy7J///KfFxsba119/bWbu/yNWZ/P5/fFcbtasmT3yyCMFPj5y5Ehr1KiRK1nMzCIjIwPf8VOuXDlbunRpgY+vXbvWSpQo4Vqe/PpkZ2fb9OnTrUOHDoHvDn344Ydt8+bNrmUxMytTpkzgFe75n+N8++23gY8vWrTIypYt61oenc3OBgwY4PirW7durp6FdevWtZdffjnw+w8++MBiYmIC7yDg9tlcvnz5wAu29uzZYz6fL3BWm539Tt/q1au7kiU0NNSuvPLKAv94fvLJJ83v99t9993n2j+o8+lsdubz+Wz27NnW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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "subset_df = trt_df[['layer_name', 'average_power']]\n", + "subset_df['average_power'] = subset_df['average_power'] * 1e-3\n", + "subset_df.groupby(by=['layer_name'], sort=False).boxplot(subplots=False, figsize=(25, 10), rot=90, showfliers=False).set_ylabel('Power mW (milliWatts)')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "b75b1aa3-bb22-4635-938b-6a9060b41802", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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t25dVqxY0WvtrLPOyt13393v/PPPP5977rknq1evHjBHZ2dnOjs7ex63tLQkSbq6utLV1bWvL6eP1567P+cokjzlHcg8p7/90PzF7x+ftx1Wn8m1E/oc//dtu/PJf3o6N7z/uLx95kEDnqe+bkJ+46CJw555PL9X+0Ke8uQpT56BVVKWRJ7ByFOePOVVUp5KypLIMxh5ypOnvErKU0lZEnkGI0958pQnz8AqKUsiz2DkKU+e8iopTyVlSeQZjDzlyVNeUXn29flVe/fu3btf32k/bNmyJbNnz87atWuzdOnSnvVPfvKTeeihh/LYY4/1ec7EiROzevXqXHjhhT1rt956a6677ro8//zzfeZvuOGG/OVf/mW2bNmSSZMm9Zvjc5/7XK677ro+67fffntKpdKbeWmwX37emnx5fU2uXNCdOX1vGQ8AAAAAAAAcYO3t7Vm+fHl2796dqVMHvm30mL+O9Te+8Y384R/+4YAFfJJcc801vXbXt7S0ZM6cOTnzzDPL/vAG09XVlfvvvz/vec97Ultb+6bPUxR5Rk+eJ599MVn/RH7rt34rC488ZESzJJX1s5FHHnnGT55KyiKPPPKMnzyVlEUeeeQZP3kqKYs88sgjjyzyyCPPeMpTSVnkkUee0ZHntSuqD2ZES/jp06dnwoQJfXawP//8833u6/6amTNn7vP8ww8/nA0bNuSOO+4om6Ouri51dXV91mtrawv5TVHUeYoiT3mVkKempqbn60hneb1K+Nm8njzlyVOePOVVUp5KypLIMxh5ypOnvErKU0lZEnkGI0958pRXSXkqKUsiz2DkKU+e8uQZWCVlSeQZjDzlyVNeJeWppCyJPIORpzx5ytvfPPv63Oo3/R0KMHHixDQ2NuaBBx7oWduzZ08eeOCBXpenf72lS5f2mk+S+++/v9/5r3/962lsbMzChQuLDQ4AAAAAAAAA/Rjxy9GvWLEiF198cU488cQsWbIkq1atSltbWy655JIkyUUXXZTZs2fni1/8YpLk4x//eN71rndl5cqVOffcc/Ptb387TzzxRL761a/2Om9LS0vuvPPOrFy58oC/JgAAAAAAAADGpxEv4c8///zs2LEjn/nMZ7Jt27YsWrQo9913Xw4//PAkybPPPpvq6l9v2D/55JNz++2351Of+lSuvfbaHHPMMbn77rszf/78Xuf99re/nb17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vvGNb/Q7f9NNN+Xss8/OVVddleOOOy7XX399Fi9enJtvvrln5s/+7M9yzjnn5IYbbsg73vGOzJ07N+973/syY8aMA/WyAAAAAAAAABinakbqG7/88stpamrKNddc07NWXV2dd7/73Vm3bl2/z1m3bl1WrFjRa+2ss87K3XffnSTZs2dP7rnnnnzyk5/MWWedlR//+Mc5+uijc8011+S8884bMEtnZ2c6Ozt7Hre0tCRJurq60tXV9SZfYXqeuz/nKJI85XV3d/d8HelMlfazkac8ecqTpzx5BlZJWRJ5BiNPefKUV0l5KilLIs9g5ClPnvIqKU8lZUnkGYw85clTnjwDq6QsiTyDkac8ecqrpDyVlCWRZzDylCdPeUXl2dfnV+3du3fvfn2nN2nLli2ZPXt21q5dm6VLl/asf/KTn8xDDz2Uxx57rM9zJk6cmNWrV+fCCy/sWbv11ltz3XXX5fnnn8+2bdsya9aslEqlfP7zn8/pp5+e++67L9dee20efPDBvOtd7+o3y+c+97lcd911fdZvv/32lEqlAl4to8HPW5Mvr6/JlQu6M2fKSKcBAAAAAAAAKkl7e3uWL1+e3bt3Z+rUqQPOjdhO+OGwZ8+eJMnv//7v5xOf+ESSZNGiRVm7dm1uu+22AUv4a665ptcO+5aWlsyZMydnnnlm2R/eYLq6unL//ffnPe95T2pra9/0eYoiT3lPPvtisv6J/NZv/VYWHnnIiGaptJ+NPPLII894zyKPPPKMnzyVlEUeeeQZP3kqKYs88sgjjyzyyCPPeMpTSVnkkUee0ZHntSuqD2bESvjp06dnwoQJef7553utP//885k5c2a/z5k5c2bZ+enTp6empibHH398r5njjjsujzzyyIBZ6urqUldX12e9tra2kN8URZ2nKPL0r6ampudrJeRJKudn8xp5ypOnPHnKk2dglZQlkWcw8pQnT3mVlKeSsiTyDEae8uQpr5LyVFKWRJ7ByFOePOXJM7BKypLIMxh5ypOnvErKU0lZEnkGI0958pS3v3n29bnVb/o77KeJEyemsbExDzzwQM/anj178sADD/S6PP3rLV26tNd8ktx///098xMnTsw73/nObNiwodfMv//7v+eoo44q+BUAAAAAAAAAQG8jejn6FStW5OKLL86JJ56YJUuWZNWqVWlra8sll1ySJLnooosye/bs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zt95551paGjIpEmTsmDBgvzLv/xLr+N/9Ed/lKqqql6/zj777OF8CQAAAAAAAAAw8iX8HXfckRUrVuSzn/1sfvSjH2XhwoU566yzsn379n7n165dmwsvvDAf+chH8uMf/zjnnXdezjvvvDz11FO95s4+++xs3bq159c//uM/HoiXAwAAAAAAAMA4VjPSAW688cZceumlueSSS5Ikt912W+6555584xvfyNVXX91n/qabbsrZZ5+dq666Kkly/fXX5/7778/NN9+c2267rWeurq4uM2fO3KcMnZ2d6ezs7Hnc0tKSJOnq6kpXV9ebfm2vPXd/zlEkecqrpDyVlCWRZzDylCdPefIMrJKyJPIMRp7y5CmvkvJUUpZEnsHIU5485VVSnkrKksgzGHnKk6c8eQZWSVkSeQYjT3nylFdJeSopSyLPYOQpT57yisqzr8+v2rt37979+k774eWXX06pVMpdd92V8847r2f94osvzq5du/K9732vz3OOPPLIrFixIpdffnnP2mc/+9ncfffdefLJJ5O8ejn6u+++OxMnTszBBx+c3/3d383nP//5HHroof3m+NznPpfrrruuz/rtt9+eUqm0fy8SAAAAAAAAgFGvvb09y5cvz+7duzN16tQB50Z0J/zOnTvzyiuv5PDDD++1fvjhh6e5ubnf52zbtq3f+W3btvU8Pvvss/OBD3wgRx99dDZt2pRrr702v/d7v5d169ZlwoQJfc55zTXXZMWKFT2PW1paMmfOnJx55pllf3iD6erqyv3335/3vOc9qa2tfdPnKYo8oydPJWWRRx555JFFHnnkGU95KimLPPLIM37yVFIWeeSRRx5Z5JFHnvGUp5KyyCOPPKMjz2tXVB/MiF+OfjhccMEFPf97wYIF+c3f/M3MnTs3a9asyRlnnNFnvq6uLnV1dX3Wa2trC/lNUdR5iiJPeZWUp5KyJPIMRp7y5ClPnoFVUpZEnsHIU5485VVSnkrKksgzGHnKk6e8SspTSVkSeQYjT3nylCfPwCopSyLPYOQpT57yKilPJWVJ5BmMPOXJU97+5tnX51a/6e9QgOnTp2fChAl5/vnne60///zzA97PfebMmUOaT5K3ve1tmT59ejZu3Lj/oQEAAAAAAABgACNawk+cODGNjY154IEHetb27NmTBx54IEuXLu33OUuXLu01nyT333//gPNJ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OeXUUwa8J/ym7a352Lc2DWdMfqUiSvhbbrklX/rSl7Jt27YsXLgwf/M3f5MlS5YMOH/nnXfm05/+dH72s5/lmGOOyV/91V/lnHN+/YmNz33uc/n2t7+dn//855k4cWIaGxvzF3/xFznppJMOxMsBOKCam5vT2NjYZ3356t6Pm5qasnjx4gOUCgAAAAAAKMre7qk5euqxOf7Qg/o93tXVlc01m3PcIceltra235k9v9ydvd07hjMmvzLiJfwdd9yRFStW5LbbbstJJ52UVatW5ayzzsqGDRsyY8aMPvNr167NhRdemC9+8Yt573vfm9tvvz3nnXdefvSjH2X+/PlJkre//e25+eab87a3vS0dHR3567/+65x55pnZuHFjDjvssAP9EgGGVUNDQ5qamnoet3Z05p4H1+Xc05dmyuS6XnMAAAAAAAAMrxEv4W+88cZceumlueSSS5Ikt912W+6555584xvfyNVXX91n/qabbsrZZ5+dq666Kkly/fXX5/7778/NN9+c2267LUmyfPnyPt/j61//en7605/mjDPOGOZXBHBglUqlXjvcu7q68tLO7Vm65MQBP+0GAAAAAADA8BjREv7ll19OU1NTrrnmmp616urqvPvd7866dev6fc66deuyYsWKXmtnnXVW7r777gG/x1e/+tUcdNBBWbhwYb8znZ2d6ezs7Hnc0tKS5NUiq6uraygvqZfXnrs/5yiSPOVVUp5KypLIMxh5ypOnPHkGVklZEnkGI0958pRXSXkqKUsiz2DkKU+e8iopTyVlSeQZjDzlyVOePAOrpCyJPIORpzx5yqukPJWUJZFnMOM5zy86Xu0xn3z2xXR3d/c70/bLzjyxI5n+HztSP6mu35mNO9qSvHr/+OHOPVbfr319ftXevXv37td32g9btmzJ7Nmzs3bt2ixdurRn/ZOf/GQeeuihPPbYY32eM3HixKxevToXXnhhz9qtt96a6667Ls8//3zP2ve///1ccMEFaW9vz6xZs3L33Xfnne98Z785Pve5z+W6667rs3777benVCrtz0sEAAAAAAAAeNPWPV+Vb//HhMLO92eLujNjcmGnG1fa29uzfPny7N69O1OnTh1wbsQvRz9cTj/99PzkJz/Jzp0787WvfS1/8Ad/kMcee6zf+8xfc801vXbXt7S0ZM6cOTnzzDPL/vAG09XVlfvvvz/v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C3cZS6D2pSx1GUsREREREREREZEfT5vwIiIiIiL1WM3LWALhL2Wpy1iKiIiIiIiIiIj8eNqEFxERERGpx2pexhLQpSxFRERERERERESiKc7rACIiIiIiIiIiIiIiIiIiIvWFNuFFREREREREREREREREREQiRJvwIiIiIiIiIiIiIiIiIiIiEaJNeBERERERERERERERERERkQjRJryIiIiIiIiIiIiIiIiIiEiEaBNeREREREREREREREREREQkQrQJLyIiIiIiIiIiIiIiIiIiEiHahBcREREREREREREREREREYkQbcKLiIiIiIiIiIiIiIiIiIhEiDbhRUREREREREREREREREREIkSb8CIiIiIiIiIiIiIiIiIiIhGiTXgREREREREREREREREREZEI0Sa8iIiIiIiIiIiIiIiIiIhIhGgTXkREREREREREREREREREJEK0CS8iIiIiIiIiIiIiIiIiIhIh2oQXERERERERERERERERERGJEG3Ci4iIiIiIiIiIiIiIiIiIRIg24UVERERERERERERERERERCJEm/AiIiIiIiIiIiIiIiIiIiIRok14ERERERERERERERERERGRCNEmvIiIiIiIiIiIiIiIiIiISITEex1ARERERERERERERERERERiU2lpKTZu3FjtseKycnyam48mzVYhPSUp+Hi3bt2QmprqdkTXaRNeRERERERERERERERERESO2effbMXOQ98CAL7O+wp3/Pq6kMc98Vz1rx9+8s/o1OWE4NetM1rglOPaRy2nV7QJLyIiIiIiIiIiIiIiIiIix+TLnUX4xdzHkJSzMPhYl2ldjum/fe7A74DP/vN1+d7heO+aB9CxWVqkY3pKm/AiIiIiIiIiIiIiIiIiInJM1n1TCH/hAASKewAAjuzbjv1v//6Y/tum592KxGZtg19bICMqGb2mTXgRERERERERERERERERETkmI3u2BDAYnZunIyWhEcrKSlFw3ohqx1RUVGDNF2vQp28fNGrUKPh4xy4nICXlP/eET0uKr3efgge0CS8iIiIiIiIiIiIiIiIiIscoOy0Rl/Vv971HGuPULq2qHeP3+5EaOIRRI09HQkKCuwEJxHkdQEREREREREREREREREREpL7QJryIiIiIiIiIiIiIiIiIiEiEaBNeREREREREREREREREREQkQrQJLyIiIiIiIiIiIiIiIiIiEiHahBcREREREREREREREREREYkQbcKLiIiIiIiIiIiIiIiIiIhEiDbhRUREREREREREREREREREIkSb8CIiIiIiIiIiIiIiIiIiIhGiTXgREREREREREREREREREZEI0Sa8iIiIiIiIiIiIiIiIiIhIhGgTXkREREREREREREREREREJEK0CS8iIiIiIiIiIiIiIiIiIhIh2oQXERERERERERERERERERGJEG3Ci4iIiIiIiIiIiIiIiIiIRIg24UVERERERERERERERERERCJEm/AiIiIiIiIiIiIiIiIiIiIRok14ERERERERERERERERERGRCNEmvIiIiIiIiIiIiIiIiIiISIRoE15ERERERERERERERERERCRCtAkvIiIiIiIiIiIiIiIiIiISIdqEFxERERERERERERERERERiRBtwouIiIiIiIiIiIiIiIiIiESINuFFREREREREREREREREREQiRJvwIiIiIiIiIiIiIiIiIiIiEaJNeBERERERERERERERERERkQjRJryIiIiIiIiIiIiIiIiIiEiEaBNeREREREREREREREREREQkQrQJLyIiIiIiIiIiIiIiIiIiEiHahBcREREREREREREREREREYkQbcKLiIiIiIiIiIiIiIiIiIhEiDbhRUREREREREREREREREREIiTe6wCMzAwAUFRU9KO+j9/vR2lpKYqKipCQkBCJaMrTQPIwZVEe5VEe5VEW5VEe5WlIeZiyKI/yKE/DycOURXmUR3mUR1mUR3mUpyHlYcqiPMqjPLGRp2r/uGo/ORxtwodw6NAhAEDbtm09TiIiIiIiIiIiIiIiIiIiIkwOHTqExo0bh33eZ3Vt0zdAlZWV2LlzJzIyMuDz+f7r71NUVIS2bdti+/btyMzMjGBC5anveZiyKI/yKI/yKIvyKI/yNKQ8TFmUR3mUp+HkYcqiPMqjPMqjLMqjPMrTkPIwZVEe5VGe2MhjZjh06BBat26NuLjwd37XJ+FDiIuLw3HHHRex75eZmUnRXFWUxxlTHqYsgPLURXmcKY8z5QmPKQugPHVRHmfK44wpD1MWQHnqojzOlMcZUx6mLIDy1EV5nCmPM+UJjykLoDx1UR5nyuOMKQ9TFkB56qI8zpTHWSTyOH0Cvkr47XkRERERERERERERERERERH5QbQJLyIiIiIiIiIiIiIiIiIiEiHahI+ipKQk3HPPPUhKSvI6CgDlqQtTHqYsgPLURXmcKY8z5YmNLIDy1EV5nCmPM6Y8TFkA5amL8jhTHmdMeZiyAMpTF+VxpjzOlCc2sgDKUxflcaY8zpjyMGUBlKcuyuNMeZy5ncdnZubKTxIREREREREREREREREREann9El4ERERERERERERERERERGRCNEmvIiIiIiIiIiIiIiIiIiISIRoE15ERERERERERERERERERCRCtAkvIiIiIiIiIiIiIiIiIiISIdqEFxERERERERERERERERERiZB4rwOIO8rLy5GUlOR1DGzbtg1bt25FaWkpcnJy0LNnT4pcEh5L74gzv9+P3bt3B+dWdna215HkGGh+SX3B1stseUREvMCwFpaXl2PFihXV/gbs27cvOnbs6Gkuqa2goABLliypVatBgwYhOTnZ63hSA9vcUv84YxsftjxM2MaGLQ8brYWxReMTO1Sr2MJYL+1V/Ic24SNkw4YNmDt3bshmP/vss3HRRRe5+gbIu+++G8yzfft2VFZWIi0tDX379sXIkSMxduxYtG7d2pUsW7ZswdNPP425c+fim2++gZkFn0tMTMTpp5+OX/7yl7jooosQF+fOxRkKCwvx+uuvh63XT37yE1dyVGHqH6beAbjGhi3PoUOHMGfOHMydOxefffYZjhw5AjODz+fDcccdh5EjR+KXv/wlTj31VFfyAFzjA/DNdbb5VVlZiY8//jjk+IwYMQJt27Z1LQtbrdTLzth6mS0PW73Uz7GThykLwNc7TK9bAF+9mNbCZcuW4fHHH8dbb70Fv9+Pxo0bIyUlBQcOHEB5eTk6deqEX/7yl7jhhhuQkZHhSib1T2gvv/wyHn/8caxatQotWrRA69atg7XKz89HcnIyrrjiCtx+++1o3769K5lYxoYxD9vcYuwfprnONj5seZjmFtvYsOUBuOqltbBuWgudMfUzUxbGWjH1Mlsetnox7lUw1Mtn398RlR9s9erVuO2227B06VIMHjwY/fv3r9bs69evx5IlS1BUVITbbrsNN998c1TfqHr99ddx++2349ChQxg1alTYPMuXL8c111yD+++/Hzk5OVHLM2HCBLz44os4++yz8bOf/Sxsnrlz56JRo0Z44YUXojoJd+7cialTp+Lll19G69atQ+b5/PPP0b59e9xzzz249NJLo5YF4Ooftt5hGhvGPDNnzsQDDzyAzp07O86tN954AwMGDMCTTz6J448/Pmp52MaHba6zza+ysjLMmDEDTz/9NA4cOIA+ffrUyrNz506MHDkSU6dOxcCBA6OWha1W6mVnbL3MloetXurn2MnDlAXg6x2m1y2Ar15sa+Ho0aOxevVqXH755fjZz36Gfv36ISUlJfj8119/jSVLluBvf/sb1q5di9mzZ+Oss86KWh71T3h9+/ZFYmIirr76avzsZz+r9SZUeXk5li9fjrlz5+K1117DU089hUsuuSRqeZjGhjEP29xi6x+2uc42Pkx52OYW09gw5mGrl9ZCZ1oLnTH1M1MWgK9WbL3MloetXmx7FVT1MvlROnToYH/84x/tu+++czzu008/tUsvvdQeeOCBqOYZOHCgvf3221ZRUeF43DfffGO33367zZw5M6p57rjjDtu3b98xHfvuu+/aa6+9FtU8zZs3tylTpti///3vsMeUlpbaK6+8YgMHDrRHH300qnmY+oetd5jGhjHPZZddZuvXr6/zuMOHD9vTTz9tzz//fFTzsI0P21xnm1/HHXecXXLJJfbOO+/YkSNHQh6zZcsWe/DBB619+/b2pz/9KWpZ2GqlXnbG1stsedjqpX6OnTxMWcz4eofpdcuMr15sa+EzzzwTtk41/fvf/7YPP/wwqnnUP+EtWLDgmI/dt2+frVq1KmpZzLjGhjEP29xi6x+2uc42Pkx52OYW09iY8eVhq5fWQmdaC50x9TNTFjO+WrH1Mlsetnqx7VUw1UufhP+R/H4/EhISona8RNb+/fvRtGnTqB3/Q6l/wmMbG7Y8bNjGh22us9mwYQO6d+9+TMf6/X5s27YNnTt3jkoWtlqpl+XHYKuX+jl28jBlAfh6h+l1C+CrlzhT/8QOtrFhyyPO2Oa6hKe5FVtUr9iitdAZUz8zZWHE1stsecQZU720CR8lhw8fRnJystcxAABHjhxBQUEBOnfujPj4eE+zBAIBLF68GPn5+bj88suRkZGBnTt3IjMzE+np6Z5mY8LSP0y9U4VlbKow5cnLy0N+fj6GDBmClJSU4D1XvMQ0PmwY55eEp14Oj62X2fIwUj/Lf0u9EzuY1sLCwkLMmzcP+fn5mDJlCrKzs7F69Wq0aNECbdq08TSbVJefn48XXngB+fn5ePzxx9G8eXO8++67aNeuHXr27Ol1PKmBbW6pf5yxjQ9bHiZsY8OWh43Wwtii8YkdqlVsYawX416FF+K8DlCfVFZW4v7770ebNm2Qnp6Or7/+GgBw99134/nnn3c9T2lpKcaNG4fU1FT07NkT27ZtAwD8+te/xsMPP+x6nq1bt6J37944//zz8atf/Qp79+4FAPzud7/Drbfe6noeAHjppZcwePBgtG7dGlu3bgUAzJo1C//85z9dz8LUP2y9wzQ2jHn279+PESNG4IQTTsCoUaOwa9cuAMC4ceMwefJk1/OwjQ/ANdfZ5hcALFmyBGPGjMGgQYOwY8cOAEfHbOnSpa5nYaqVetkZWy+z5QG46qV+jq08TFkYe4fpdavqZ7PUi20tXLduHU444QT87ne/w+9//3sUFhYCAObPn48777zT9TyA+iecjz/+GL1798aKFSswf/58FBcXAwDWrl2Le+65x9UsVVjGhjEP29xi7B+muc42Pmx5mOYW29iw5QG46qW1sG5aC50x9TNTFsZaMfUyWx62erHtVQDe1kub8BE0ffp0/PWvf8UjjzyCxMTE4OO9evXCc88953qeO++8E2vXrsXixYurfWJlxIgRePXVV13PM3HiRPTr1w/fffcdUlJSgo9fcMEFWLhwoet5nn76aUyaNAmjRo1CYWEhKioqAABZWVmYNWuW63mY+oetd5jGhjHPLbfcgvj4eGzbtg2pqanBxy+99FIsWLDA9Txs48M219nm12uvvYazzz4bKSkp+OKLL1BeXg4AOHjwIB588EFXs7DVSr3sjK2X2fKw1Uv9HDt5mLIAfL3D9LoF8NWLbS2cNGkSrrnmGmzevLlanlGjRuGTTz5xPY/6J7w77rgD06dPxwcffFBtrg8bNgz/+te/XM0CcI0NYx62ucXWP2xznW18mPKwzS2msWHMw1YvrYXOtBY6Y+pnpiwAX63YepktD1u92PYqPK9X1O423wB17tzZPvzwQzMzS09Pt/z8fDMz27Bhg2VlZbmep127drZ8+fJaeTZv3mwZGRmu58nOzraNGzfWylNQUGApKSmu5+nevbu9/vrrtfLk5uZa06ZNXc/D1D9svcM0Nox5WrRoYWvWrKmVJz8/39LS0lzPwzY+bHOdbX716dPHXnzxxVp5Vq9ebS1atHA1C1ut1MvO2HqZLQ9bvdTPsZOHKYsZX+8wvW6Z8dWLbS3MzMy0vLy8Wnm2bNliSUlJrudR/4SXlpZmX3/9da0sBQUFntSKaWwY87DNLbb+YZvrbOPDlIdtbjGNDWMetnppLXSmtdAZUz8zZTHjqxVbL7PlYasX216F1/XSJ+EjaMeOHejSpUutxysrK+H3+13Ps3fvXjRv3rzW4yUlJZ7ce6GysjJ4Ftf3ffPNN8jIyHA9T0FBAfr27Vvr8aSkJJSUlLieh6l/2HqHaWwY85SUlFQ7q6zKgQMHkJSU5HoetvFhm+ts82vTpk0YMmRIrccbN24cvJSbW9hqpV52xtbLbHnY6qV+jp08TFkAvt5het0C+OrFthYmJSWhqKio1uNfffUVcnJyXM+j/gkvKysreKnI7/viiy88uacu09gw5mGbW2z9wzbX2caHKQ/b3GIaG8Y8bPXSWuhMa6Ezpn5mygLw1Yqtl9nysNWLba/C63ppEz6CevTogSVLltR6fN68eSEX0Wjr168f3nnnneDXVW+6PPfccxg0aJDreUaOHFnt8ik+nw/FxcW45557MGrUKNfzdOzYEWvWrKn1+IIFC9C9e3fX8zD1D1vvMI0NY57TTz8ds2fPDn7t8/lQWVmJRx55BEOHDnU9D9v4sM11tvnVsmVL5OXl1Xp86dKl6NSpk6tZ2GqlXnbG1stsedjqpX6OnTxMWQC+3mF63QL46sW2Fo4ePRr33Xdf8IQNn8+Hbdu24fbbb8dFF13keh71T3iXXXYZbr/9duzevTv498SyZctw66234qqrrnI1C8A1Nox52OYWW/+wzXW28WHKwza3mMaGMQ9bvbQWOtNa6Iypn5myAHy1Yutltjxs9WLbq/C8XlH/rH0D8sYbb1jjxo3t4YcfttTUVHv00Udt/PjxlpiYaO+//77reZYsWWLp6el2ww03WHJysk2cONHOOussS0tLs1WrVrmeZ/v27dajRw/r3r27xcfH28CBA61p06bWtWtX+/bbb13P8+c//9natGljc+fOtbS0NPvb3/5m06dPD/6725j6h613mMaGMU9ubq41b97cfvrTn1piYqJdfPHF1r17d2vRokXwslxuYhsftrnONr8efPBB69Gjh/3rX/+yjIwMW7Jkic2ZM8dycnLsiSeecDULW63Uy87YepktD1u91M+xk4cpixlf7zC9bpnx1YttLSwsLLQRI0ZYVlaWNWrUyNq2bWsJCQk2ZMgQKy4udj2P+ie88vJyGz9+vMXHx5vP57OEhASLi4uzMWPGWCAQcDWLGdfYMOZhm1ts/cM219nGhykP29xiGhvGPGz10lroTGuhM6Z+Zspixlcrtl5my8NWL7a9Cq/rpU34CPvkk09sxIgRlpOTYykpKTZ48GB77733PMuTl5dn48ePt1NPPdW6d+9uV1xxha1bt86zPH6/31566SWbMmWK3XjjjfbnP//ZSktLPcszZ84c69Kli/l8PvP5fNamTRt77rnnPMvD1D9svcM0Nox5CgsLbfr06XbJJZfYOeecY7/97W9t586dnuVhGx+2uc40vyorK4O/2FeNT3Jyst11112e5GGrlXrZGVMvM+Zhq5f6OXbyMGUx4+odttctM756sa2FZkdPDvjjH/9ov/vd7+yDDz7wLIf6p25bt261d955x1599VX76quvPMthxjc2bHnMeOZWFZb+YZzrZjzjw5aHcW6xjA1jHsZ6aS0MTWth3Zj6mSlLFZZasfUyW54qLPUy49qr8LpePjOz6H/eXoRbaWkpiouLQ94/UUTqD8318I4cOYK8vDwUFxejR48eSE9P9zSPauVM4xNbVC9nbOPDlIcpCxu21y1A9Yol6p/YwjY2bHkkPMa5LuFpbsUW1St2aC2sG1M/M2Vhw9bLbHnEmVf10iZ8lBQXF6OysrLaY5mZmZ5k2bNnD/bs2VMrz4knnuh6lp07d2Lp0qUh80yYMMH1PKxY+oepd6qwjE0VljyHDx/GunXrQtZr9OjRruepwjI+jBjnl4SnXg6PrZfZ8jBSP8t/S70TO5jWwpUrV2LRokUh88ycOdP1PBKamWHevHlhazV//nyPkkk4THNL/eOMbXzY8jBhGxu2PIy0FsYOjU/sUK1iC2O9WPcqvBDvdYD6pKCgADfddBMWL16Mw4cPBx83M/h8PlRUVLia5/PPP8fVV1+NDRs2oOa5Fl7k+etf/4rrr78eiYmJaNq0KXw+X7U8bm/C79+/H1OnTg27OB04cMDVPEz9w9Y7TGPDmGfBggW46qqrsG/fvlrPaXz45jrb/Dp8+DCefPLJsOOzevVq17Kw1Uq97Iytl9nysNVL/Rw7eZiyAHy9w/S6BfDVi20tfPDBB3HXXXeha9euaNGiRa2/Ad2m/gnv5ptvxrPPPouhQ4fWqpUXmMaGMQ/b3GLrH7a5zjY+THnY5hbT2DDmYauX1kJnWgudMfUzUxaAr1ZsvcyWh61ebHsVXtdLm/ARNGbMGJgZ/vKXv1A0+7XXXosTTjgBzz//PEWeu+++G1OnTsWdd96JuLg4T7MAwJVXXom8vDyMGzeOYnyY+oetd5jGhjHPr3/9a1xyySWYOnUqWrRo4WkWgG982OY62/waN24c3n//fVx88cXo37+/p3nYaqVedsbWy2x52Oqlfo6dPExZAL7eYXrdAvjqxbYWPv744/jLX/6Ca665xtMcVdQ/4b300kuYP38+Ro0a5VmG72MaG8Y8bHOLrX/Y5jrb+DDlYZtbTGMD8OVhq5fWQmdaC50x9TNTFoCvVmy9zJaHrV5sexWe1yu6t5xvWNLS0mzjxo1exwhKT0+3zZs3ex0jKDs72/Ly8ryOEZSenm5r1qzxOkYQU/+w9Q7T2Jjx5cnIyKCaW2zjwzbX2eZXZmamLV261OsYZsZXK/WyM7ZeZszDVC/1szOmPExZzPh6h+l1y4yvXmxrYcuWLe2rr77yOkaQ+ie8Dh062IYNG7yOEcQ0NmZ8edjmFlv/sM11tvFhysM2t5jGxowvD1u9tBY601rojKmfmbKY8dWKrZfZ8rDVi22vwut6ef9x5Hrk1FNPxfbt272OETR8+HCsXbvW6xhB48aNwz/+8Q+vYwR169YNZWVlXscIYuoftt5hGhuAL8/FF1+MxYsXex0jiG182OY62/xq06YNMjIyvI4BgK9W6mVnbL3MloetXupnZ0x5mLIAfL3D9LoF8NWLbS285ZZb8Mc//tHrGEHqn/DuvfdeTJs2jSYP09gAfHnY5hZb/7DNdbbxYcrDNreYxgbgy8NWL62FzrQWOmPqZ6YsAF+t2HqZLQ9bvdj2Kryul8+sxo3i5L+Wn5+PG264AWPGjEGvXr2QkJBQ7fkTTzzR1Tz79u3D1Vdfjf79+4fMM3r0aFfzVFRU4LzzzkNZWRl69+5dK8/MmTNdzbNy5UrccccdmDp1asjxyczMdDUPU/+w9Q7T2DDmKS0txSWXXIKcnJyQc2vChAmu5mEbH7a5zja/3n33XTzxxBN45pln0L59e1d/dk1stVIvO2PrZbY8bPVSP8dOHqYsAF/vML1uAXz1YlsLKysrce655+Krr75Cjx49auWZP3++q3nUP+GVlZXhggsuwLJly9ChQ4daWdy+tyXT2DDmYZtbbP3DNtfZxocpD9vcYhobxjxs9dJa6ExroTOmfmbKAvDViq2X2fKw1Yttr8Lreume8BG0d+9e5OfnY+zYscHHfD4fzAw+nw8VFRWu5lm+fDmWLVuGd999t9ZzXuR56KGH8N5776Fr167BDN/P47asrCwUFRVh2LBh1R73ql5M/cPWO0xjw5jnb3/7G95//30kJydj8eLFteaW2y9sbOPDNtfZ5le/fv1w+PBhdOrUCampqbV+MTpw4IBrWdhqpV52xtbLbHnY6qV+jp08TFkAvt5het0C+OrFthZOmDABixYtwtChQ9G0aVPP75eo/gnv6quvxueff44xY8ZQ3IuUaWwY87DNLbb+YZvrbOPDlIdtbjGNDWMetnppLXSmtdAZUz8zZQH4asXWy2x52OrFtlfhdb30SfgI6tGjB7p3747bbrstZLO7fZZFhw4dcN555+Huu+9GixYtXP3ZoTRp0gSPPfYYrrnmGq+jAAD69++P+Ph4TJw4MWS9zjjjDFfzMPUPW+8wjQ1jnpYtW2LChAm44447EBfn/V1G2MaHba6zza8RI0Zg27ZtGDduXMjxufrqq13LwlYr9bIztl5my8NWL/Vz7ORhygLw9Q7T6xbAVy+2tTAjIwNz587Fueee63UUAOofJ2lpaXjvvfdw2mmnufYznTCNDWMetrnF1j9sc51tfJjysM0tprEB+PKw1UtroTOthc6Y+pkpC8BXK7ZeZsvDVi+2vQrP6+XOrecbhtTUVNu8ebPXMYLS09MtLy/P6xhBLVq0sK+++srrGEEpKSm2ceNGr2MEMfUPW+8wjY0ZX54mTZqoXg7Y5jrb/EpJSbE1a9Z4HcPM+GqlXnbG1stsedjqpX52xpSHKYsZZ++wvG6Z8dWLbS1s166dbdiwwesYQeqf8Lp27Wpr1671OkYQ09iY8eVhm1uM/cM019nGhykP29xiGhszvjxs9dJa6ExroTOmfmbKYsZZK6ZeZsvDVi+2vQqv6+X9aQj1yLBhw7B27VqvYwRdeOGFWLRokdcxgiZOnIgnn3zS6xhB/fr1w/bt272OEcTUP2y9wzQ2AF+eq6++Gq+++qrXMYLYxodtrrPNr27duqGsrMzrGAD4aqVedsbWy2x52OqlfnbGlIcpC8DXO0yvWwBfvdjWwnvvvRf33HMPSktLvY4CQP3jZMaMGbjtttuwZcsWr6MA4BobgC8P29xi6x+2uc42Pkx52OYW09gAfHnY6qW10JnWQmdM/cyUBeCrFVsvs+VhqxfbXoXX9dLl6CPoT3/6E6ZPn45rr70WvXv3rnVvgdGjR7ua54EHHsCsWbNw7rnnhszj9r0XLrjgAnz00Udo2rQpevbsWSvP/PnzXc3zj3/8A/feey+mTJkScnxOPPFEV/Mw9Q9b7zCNDWOeCRMmYPbs2TjppJNw4okn1sozc+ZMV/OwjQ/bXGebX++//z6mTZuGBx54IGSezMxM17Kw1Uq97Iytl9nysNVL/Rw7eZiyAHy9w/S6BfDVi20t7Nu3L/Lz82Fm6NChQ608q1evdjWP+ie8Jk2aoLS0FIFAgOLelkxjw5iHbW6x9Q/bXGcbH6Y8bHOLaWwY87DVS2uhM62Fzpj6mSkLwFcrtl5my8NWL7a9Cq/rpU34CHK6v4HP50NFRYWLaYCOHTuGfc7n8+Hrr792MQ0wduxYx+dfeOEFl5IcFapePp8PZuZJvZj6h613mMYG4MszdOjQsM/5fD589NFHLqbhGx+2uc46v2reD8eL8WGrlXrZGVsvs+Vhq5f6OXbyMGUJl6eKl3kYXre+n+f7tDb/x7Rp0xyfv+eee1xKcpT6J7wXX3zR8Xm3723JNDaMedjmFmv/sMx1tvFhysM2t5jGBuDLw1YvrYXOtBY6Y+pnpiwAb61YepktD1u9WPcqvKqXNuGlwdq6davj8+3bt3cpiYhEk+a6s48//tjx+TPOOMOlJKpVXTQ+sUX1csY2Pkx5mLIwYnrdAlSvWKP+iR1sY8OWR5yxzXUJT3MrtqhesUVroTOmfmbKwoitl9nyiDOv66VNeBERERERERGRBqaoqCh4+cWioiLHY92+rKbwU/84YxsftjxM2MaGLY84U72caXxih2oVW1Sv2KFN+B/piSeewC9/+UskJyfjiSeecDzWjfvvTZo0Cffffz/S0tIwadIkx2PduPfCySefjIULF6JJkybo27dvrUs+fJ8b9+l58803cc455yAhIQFvvvmm47Fu3N+SqX/YeodpbBjzXHjhhfjrX/+KzMxMXHjhhY7Hzp8/P+p52MaHba6zza9169ahV69eiIuLw7p16xyPjfZ9p9hqpV52xtbLbHnY6qV+jp08TFkAvt5het0C+OrFthZmZ2fjq6++QrNmzdCkSRPHvwHduD+h+ie8Ro0aYdeuXWjevDni4uJC1srNy2oyjQ1jHra5xdY/bHOdbXyY8rDNLaaxYczDVi+thc60Fjpj6memLABfrdh6mS0PW73Y9iqY6qVN+B+pY8eOWLVqFZo2bUpx/72hQ4fi9ddfR1ZWluO9FwBg0aJFUc8zbdo0TJkyBampqbj33nsdfzFy4z49cXFx2L17d3BxCsetxYmpf9h6h2lsGPOMHTsWTzzxBDIyMnDNNdc4zq0XXngh6nnYxodtrrPNr5rjU3WfqZrcGB+2WqmXnbH1Mlsetnqpn2MnD1MWgL93vHzdCpUnnIa6Nr/44ou47LLLkJSUhL/+9a+Ov6e6cX9C9U94H3/8MQYPHoz4+HjPL9MIcI0NYx62ucXeP17PdbbxYcrDNreYxoYxD1u9tBY601rojKmfmbIA/LXyupfZ8rDVi22vgqle2oQXERFpYLZu3Yp27drB5/PpvlMiIkJPr1vyY6h/js22bdvQtm3bWm+YmRm2b9+Odu3aeZRMYgFD/zDPdYbxYc7DhG1s2PKIM4Z6aS2USGCoFVsvs+X5PoZ6sWGqV/hTbOQHu++++1BaWlrr8bKyMtx3332u57n22mtx6NChWo+XlJTg2muvdT1Pp06dsH///lqPFxYWolOnTq7nmT17NsrLy2s9fuTIEcyePdv1PEz9w9Y7TGPDmGfYsGEoLCys9XhRURGGDRvmeh628WGb6wzzq3379sFfzLZu3Yo2bdqgffv21f7Xpk2bOn9JiTS2WqmXnTH0MnMetnqpn2MnD1MWgKN3WF+3AL56sa2FjRo1wp49e2o9vn//fjRq1MiVDOqfY9OxY0fs3bu31uMHDhxwvCJGtDCNDWMehrn1fQz9wzzXGcaHNQ/b3GIaG8Y8bPXSWlib1sJjx9TPTFkAjlqx9TJbnu9jqNf3MexVUNXLJGLi4uLs22+/rfX4vn37LC4ujibP3r17rVGjRq7n8fl8IfPs3r3bEhISXM8TK/XyIg9b7zCNDWOecHPr22+/tfj4eNfzsI1PrOTR/OLKojz/fR62XmbLw1Yv5eHLw5RFeepPHra/AXfs2GHJycmu54mVenmRx+fz2Z49e2o9vmXLFktNTXU1ixnX2DDmYZtb6h9nbOPDlEe1iq08jPXSWhgeY700PvxZzFSrWMvDVi/tVVQXH/1t/obDzELe62Dt2rXIzs52LUdRURHMDGaGQ4cOITk5OfhcRUUF/u///g/Nmzd3Lc+bb74Z/Pf33nsPjRs3rpZn4cKFnpyRE65e33zzTbWMXudxs3/YeqcKw9gw5lm3bl3w37/88kvs3r07+HVFRQUWLFiANm3auJanCsv41JXH7bkea/Nr//79SEtLo8jSkNflY8nT0HuZLU8VlnrVlaeh9zNjHqYsTnnYeseL1y2nPA19bX7iiScAHL3H3nPPPYf09PRqeT755BN069bNtTxV1D+1TZo0CcDRWt19991ITU0NPldRUYEVK1agT58+rmT5PoaxYczDNrdirX/cnuts48OWB+CZW2xjw5anCku9tBYeG62Fzlj6mSlLrNWK7Xf4hj63Ym2vwq16aRM+Apo0aQKfzwefz4cTTjihWkErKipQXFyMG264wbU8WVlZ1fLU5PP5MG3aNNfy/PznPw/+3KuvvrracwkJCejQoQNmzJjhWp6+ffsGx2f48OGIj//PNKioqEBBQQF++tOfupaHqX/YeodpbBjz9OnTJ5gn1KVcUlJS8OSTT7qWh2182OY62/y68MILgz/3mmuuQVJSUvC5iooKrFu3Dj/5yU9cycJWK/WyM7ZeZsvDVi/1c+zkYcoC8PUO0+sWwFcvtrXwscceA3D0DY9nnnmm2iVhExMT0aFDBzzzzDOu5VH/hPfFF18AOFqr3NxcJCYmBp9LTEzESSedhFtvvdWVLADX2DDmYZtbbP3DNtfZxocpD9vcYhobxjxs9dJa6ExroTOmfmbKAvDViq2X2fKw1Yttr4KlXtqEj4BZs2bBzHDttddi2rRp1c5OqnrhHzRokGt5Fi1aBDPDsGHD8Nprr1X7hEpiYiLat2+P1q1bu5ansrISwNF7U6xcuRLNmjVz7WeHUnVSwJo1a3D22WdXO1uyql4XXXSRa3mY+oetd5jGhjFPQUEBzAydOnXCZ599hpycnGp5mjdv7uo9sNjGh22us82vqvqYGTIyMpCSklItz8CBA3Hddde5koWtVuplZ2y9zJaHrV7q59jJw5QF4OsdptctgK9ebGthQUEBAGDo0KGYP38+mjRp4trPDkX9E96iRYsAAGPHjsXjjz+OzMxMx+O/+eYbtG7dGnFxcVHJwzQ2jHnY5hZb/7DNdbbxYcrDNreYxoYxD1u9tBY601rojKmfmbIAfLVi62W2PGz1YturoKnXD76AvYS1ePFi8/v9dR730EMP2XfffRf1PFu2bLHKyso6j7vxxhtt7969Uc9zrHr16mXbtm2L+s/561//amVlZXUe98orr1hxcXHU8zD1D1vvMI0NY55jNWrUKNu5c2fUfw7b+LDNdbb5de+99x7T/++lS5fa4cOHo5qFrVbqZWdsvcyWh61e6ufYycOUxYyvd5het8z46sW2Fh6rjIwMy8/Pj/rPUf/8eG7Vim1s2PIcK7fqdawa6lw/Vg2xXppbkdFQ1+Zj1VDrpbXQGVM/M2X5IRpqL7PlOVZsa6FbexVe18tnZhb9rX75vszMTKxZswadOnXyOgoAvjwZGRlYu3YtTR628WHKw5QFUJ66aG45Ux5nTHmYsgDKUxflcaY8zpQnNrIAylMX5XGm31OdMeVRrZyx5WGrF1se1csZUx7VyhlbHtXLGVse1csZ0/gwZQFUq7qw5WGrF1ueaNUrOtcdEEds5z2w5WHDNj5MeZiyAMoTa9jGR3mcMeVhygIoT12Ux5nyOFOe8JiyAMpTF+WJLWzjw5aHCdvYsOURZ6pX7FCtYovqFVtUL2dM48OUhRHb+LDlEWfRqpc24UVERERERERERERERERERCJEm/AiIiIiIiIiIiIiIiIiIiIRok14EREREREREfGMz+fzOoIcI9UqtrDViy0PG7bxYcvDhG1s2PKwYRsftjxsND6xQ7WKLaqXN7QJLyIiInXSL2oiIhJL9LoVW9jul6j+CY+tVuKMrV5sedjmOtv4sOVhwjY2bHnYsI0PWx6thfLfYqsVWy+z5WGrF5to1Ss+Kt9VHJ1++ulISUnxOkbQmDFjkJmZ6XWMoGeffRYtWrTwOkZQ+/btkZCQ4HWMIKb+YesdprEB+PL85je/QXZ2ttcxgtjGh22us80vpl/U2GqlXnbG1stsedjqpX52xpSHKQvA1ztMr1sAX73Y1sJ3330Xbdq08TpGkPonvC+//BKtW7f2OkYQ09gAfHnY5hZb/7DNdbbxYcrDNreYxgbgy8NWL62FzrQWOmPqZ6YsAF+t2HqZLQ9bvdj2KqJVL5+xdUKMq6ysRF5eHvbs2YPKyspqzw0ZMsT1PIWFhfjss89C5rnqqqtcz7Nw4UIsXLgwZJ6//OUvrucBgCNHjoTM065dO9ezMPUPW+8wjQ1jns2bN2PRokUh80ydOtX1PGzjA3DNdbb5xYapVuplZ2y9zJYH4KqX+jm28jBlYewdNkz1YloLKyoq8Ne//jXs34AfffSRq3lYMfRPSUkJHn744bC1+vrrr13L8n0MY8OYh21usfYPC7bxYcsD8MwttrFhy1OFpV5aC2ML6/iw9DNTFtZaSWiM9WLbq/CSPgkfQf/6179w+eWXY+vWrbXOmvD5fKioqHA1z1tvvYUrrrgCxcXFyMzMrHY5BZ/P5/obMNOmTcN9992Hfv36oVWrVp5fjmPz5s249tpr8emnn1Z73Mw8qRdT/7D1DtPYMOb585//jBtvvBHNmjVDy5Yta9XL7Rc2tvFhm+ts8+vbb7/FrbfeGvxFrWbN3Bwftlqpl52x9TJbHrZ6qZ9jJw9TFoCvd5hetwC+erGthRMnTsRf//pXnHvuuejVq5fnfwOqf8IbP348Pv74Y1x55ZX6ez0G8rDNLbb+YZvrbOPDlIdtbjGNDWMetnppLXSmtdAZUz8zZQH4asXWy2x52OrFtlfhdb30SfgI6tOnD0444QRMmzYtZLM3btzY1TwnnHACRo0ahQcffBCpqamu/uxQWrVqhUceeQRXXnml11EAAIMHD0Z8fDzuuOOOkPU66aSTXM3D1D9svcM0Nox52rdvj//93//F7bff7urPDYdtfNjmOtv8Ouecc7Bt2zbcdNNNIcfn/PPPdy0LW63Uy87YepktD1u91M+xk4cpC8DXO0yvWwBfvdjWwmbNmmH27NkYNWqU11EAqH+cZGVl4Z133sHgwYNd+5lOmMaGMQ/b3GLrH7a5zjY+THnY5hbT2AB8edjqpbXQmdZCZ0z9zJQF4KsVWy+z5WGrF9tehef1MomY1NRU27x5s9cxglJTUy0/P9/rGEHZ2dmWl5fndYyg1NRU27Bhg9cxgpj6h613mMbGjC9PRkaG6uWAca4z1Ss9Pd2++OILr2OYGWet1MvhsfUyYx62eqmfw2PKw5TFjK93mF63zDjrxbQWtmrVyjZt2uR1jCD1T3gdOnSwL7/80usYQUxjY8aXh21usfUP21xnGx+mPGxzi2lszPjysNVLa6EzrYXOmPqZKYsZX63YepktD1u92PYqvK5XXHS3+BuWAQMGIC8vz+sYQWeffTZWrVrldYyg8ePH45VXXvE6RlCPHj2wb98+r2MEMfUPW+8wjQ3Al+eSSy7B+++/73WMILbxYZvrbPOrbdu2tS7D4xW2WqmXnbH1Mlsetnqpn50x5WHKAvD1DtPrFsBXL7a1cPLkyXj88cdpaqb+Ce/+++/H1KlTUVpa6nUUAFxjA/DlYZtbbP3DNtfZxocpD9vcYhobgC8PW720FjrTWuiMqZ+ZsgB8tWLrZbY8bPVi26vwul66HH0Evf7667jrrrswZcoU9O7dGwkJCdWeP/HEE13N8/zzz+O+++7D2LFjQ+YZPXq0q3kmTpyI2bNn48QTT8SJJ55YK8/MmTNdzfPRRx/hrrvuwoMPPhhyfDIzM13Nw9Q/bL3DNDaMeR566CHMnDkT5557bsg8EyZMcDUP2/iwzXW2+fX+++9jxowZePbZZ9GhQwdXf3ZNbLVSLztj62W2PGz1Uj/HTh6mLABf7zC9bgF89WJbCy+44AIsWrQI2dnZ6NmzZ6088+fPdzWP+ie8vn37Ij8/H2aGDh061MqyevVq17IAXGPDmIdtbrH1D9tcZxsfpjxsc4tpbBjzsNVLa6EzrYXOmPqZKQvAVyu2XmbLw1Yvtr0Kr+ulTfgIiourfWEBn88HM4PP50NFRYXneap4kWfo0KFhn/P5fPjoo49cTPOf8al5DwimennVP2y9wzQ2jHk6duwY9jmfz4evv/7axTR84xMLc72KF3maNGmC0tJSBAIBpKam1vrF6MCBA65liYVaqZdr5wlFeWKjXupnzjxMWb6f5/u87B2m1y0gNupVxYs8Y8eOdXz+hRdecCnJUeqf8KZNm+b4/D333ONSkqOYxoYxD9vcYusftrnONj5MedjmFtPYAHx52OqltdCZ1kJnTP3MlAXgqxVbL7PlYasX216F1/WKj+p3b2AKCgq8jlBNZWWl1xGqWbRokdcRqmHLw9Q/bL3DNDaA8tSFLQ/bXGebX7NmzfI6QhBbrdTLzth6mS0PW73Uz86Y8jBlAfh6h+l1C+CrF9ta6Pab33VR/4Tn9ptzdWEaG4AvD9vcYusftrnONj5MedjmFtPYAHx52OqltdCZ1kJnTP3MlAXgqxVbL7PlYauX3kOoTp+EFxERERERERERERERERERiRB9Ej6CZs+e7fj8VVdd5VKSo+677z7H56dOnepSkqOGDh1a65Iq3+f25eg/+eQTx+eHDBniUpKjmPqHrXeYxgbgy3Pttdc6Pv+Xv/zFpSRHsY0P21xnm1/btm1zfL5du3YuJeGrlXrZGVsvs+Vhq5f62RlTHqYsAF/vML1uAXz1YlsLO3bs6Pg3oNuXIlT/hBcXF+dYK7cvg8o0NgBfHra5xdY/bHOdbXyY8rDNLaaxAfjysNVLa6EzrYXOmPqZKQvAVyu2XmbLw1Yvtr0Kr+ulT8JHUJMmTap97ff7UVpaisTERKSmprp+L4i+ffvWylNQUID4+Hh07twZq1evdjXPLbfcUivPmjVrsH79elx99dV4/PHHXc0T7v6WVby4v+X3edk/bL3DNDaMeS644IJaedavX4/CwkIMGzYM8+fPdzUP2/iwzXW2+cX0ixpbrdTLzth6mS0PW73Uz86Y8jBlATh7h+V1C+CrF9taWPNvPL/fjy+++AILFizAlClTcMcdd7iaR/0T3j//+c9qX1fV6sUXX8S0adMwbtw417IAXGMD8OVhm1uM/cM019nGhykP29xiGhvGPGz10lroTGuhM6Z+ZsoCcNaKqZfZ8rDVi22vwvN6mUTVV199ZcOHD7cFCxZ4HcXMzA4ePGgXXHCBzZ492+soQffcc49NnjzZ9Z9bWFhY7X979+61999/3wYMGGAffvih63lCYeoftt5hGhszvjwVFRX2y1/+0n73u995HcXMvB2fWJjrXs6vNWvWVPvfypUr7U9/+pN169bNXnvtNVezxEKt1MvO2F4rvMwTC/VSP3PmYcoSjpe9w/S6ZRYb9WJbm83M/vCHP9g111zj+s9V//xwL7/8so0ePdr1n8s2Nmx5wvFqboXjVf+wzfVwvBqfcLzIEytzS7U6KlbqpbXwKK2Fzpj6mSmLE/UyZ55wmF67vNyr8Lpe2oR3wcqVK61r165exwhat26dtW/f3usYQZs3b7YmTZp4HSNo8eLFdvLJJ3sdI4ipf9h6h2lszPjybNy40Vq2bOl1jCC28WGb62zz6+2337YzzjjD6xhmxlcr9bIztl5my8NWL/WzM6Y8TFnM+HqH6XXLjK9ebGthfn6+ZWRkeB0jSP0TXn5+vqWlpXkdI4hpbMz48rDNLbb+YZvrbOPDlIdxbrGMjRlfHsZ6aS0MT2uhM6Z+Zspixlcrtl5my8NWL7a9CrfqVfs6FxJx8fHx2Llzp9cxgg4ePIiDBw96HSNo+fLlSE5O9jpGUIsWLbBp0yavYwQx9Q9b7zCNDcCXJz8/H4FAwOsYQWzjwzbX2eZX165dsXLlSq9jAOCrlXrZGVsvs+Vhq5f62RlTHqYsAF/vML1uAXz1YlsL582bh+zsbK9jBKl/QisrK8MTTzyBNm3aeB0liGVsqrDlYZpbjP3DNNfZxoctD9PcYhsbtjwAV70ArYV10VrojKmfmbIw1oqplwGuPIz1YturcKte8VH/CQ3Im2++We1rM8OuXbvwhz/8AYMHD3Y9zxNPPBEyz0svvYRzzjnH9TwXXnhhyDyrVq3C3Xff7XqedevWhczz8MMPo0+fPq7nYeoftt5hGhvGPJMmTQqZ55133sHVV1/teh628WGb62zzq6ioKGSee++9F8cff7yrWdhqpV52xtbLbHnY6qV+jp08TFkAvt5het0C+OrFthb27du32v33zAy7d+/G3r178dRTT7meR/0TXpMmTWrV6tChQ0hNTcWcOXNczQJwjQ1jHra5xdY/bHOdbXyY8rDNLaaxYczDVi+thc60Fjpj6memLABfrdh6mS0PW73Y9iq8rpfPzCzqP6WBiIurfmEBn8+HnJwcDBs2DDNmzECrVq1czdOxY8dqX8fFxQXz3HnnncjIyHA1z9ixY8PmGTlypKtZqn6+z+dDzSkwcOBA/OUvf0G3bt1cz/N9XvYPW+8wjQ1jnqFDh1b7+vv1uvbaaxEf7+75VmzjwzbXGefX939RA47+MtK2bVvMnTsXgwYNcj0LS63Uy87YepktD1u91M+xk4cpS1We72Ppne/z6nXr+3lY6sW2Fk6bNi1knjPPPNP1san6+eqf0F588cVa2XJycjBgwAA0adLEtRzf//ksY8OYh21usfbP93k519nGhykP29xiGhvGPGz10lroTGuhM6Z+ZsoC8Nbq+xh+h2fJw1Yvxr0KL+ulT8JHUGVlpdcRqikoKPA6QlBFRQXGjh2L3r17ezLxQ6k5PlWLgVeXxmfqH6beAbjGBuDKY2Z48cUXkZOTg5SUFK/jAOAaH4BvrrPNr0WLFlX7ump8unTp4vovRWy1Ui//sDxeY8/jdb3Uz7GThykLwNc7TK9bAF+9mNbCQCCAjh074uyzz0aLFi28jgNA/RNOIBDA1q1bce211+K4445z9WeHwzI2jHnY5hZj/zDNdbbxYcvDNreYxoYtD8BXL62FzrQWOmPqZ6YsjLVi6mW2PGz1Ytyr8LxeP/Qm8hLakSNHrFOnTvbll196HcXMjuZp1KiR5ebmeh0lKCkpyb7++muvY5jZ0fEZNmyYffXVV15HMTOu/mHrHaaxMePLU1FRYQkJCerlMBjnOtv8Gjt2LMXazFgr9XJ4jL3MloetXurn8JjyMGUx4+wdltctM856Ma2FZmYpKSm2ZcsWr2OYmfqnLunp6VZQUOB1DDPjGxu2PGZcc8uMr3+Y5roZ1/iY8eRhnFssY1OFKQ9jvbQWhqe10BlTPzNlqcJWK6ZeZstjxlUvxr0Kr+sVV/c2vRyLhIQEHD582OsYQQkJCWjXrh0qKiq8jhLUq1cvfP31117HAHB0fGrea8VLTP3D1jtMYwPw5YmLi8Pxxx+P/fv3ex0FAN/4MM51tvn12muveR0DAGet1MvhMfYyWx62eqmfw2PKw5QF4OwdltctgLNeTGshAPTv3x9ffPGF1zEAqH/qMmzYMHz88cdexwDANzZseQCuuQXw9Q/TXAe4xgfgycM4t1jGpgpTHsZ6aS0MT2uhM6Z+ZspSha1WTL3MlgfgqhfjXoXX9dI94SPowQcfxFdffYXnnnvOk8tg1PT8889j/vz5eOmll5Cdne11HCxYsAB33nkn7r//fpxyyilIS0ur9nxmZqareW655RYkJSXh4YcfdvXnhsPUP2y9wzQ2jHneeustPPLII3j66afRq1cvr+PQjQ/bXGebX1dffTX69OmDW265xesodLVSLztj62W2PGz1Uj87Y8rDlAXg6x2m1y2Ar15sa+Hf//533HnnnbjllltC/g144oknuppH/RPeM888g2nTpuGKK64IWavRo0e7modpbAC+PGxzi61/2OY62/gw5WGbW0xjw5iHrV5aC51pLXTG1M9MWQC+WrH1Mlsetnqx7VV4XS9twkfQBRdcgIULFyI9PR29e/eu1ezz5893NU/fvn2Rl5cHv9+P9u3b18qzevVqV/PExf3nwgs+ny/472YGn8/n+ic2fv3rX2P27Nk4/vjjQy5OM2fOdDUPU/+w9Q7T2DDmadKkCUpLSxEIBJCYmFjrfisHDhxwNQ/b+LDNdbb5NX36dMyYMQPDhw8POT4TJkxwLQtbrdTLzth6mS0PW73Uz7GThykLwNc7TK9bAF+92NbC7/8NWMXn83n2N6D6J7xQtaqiv9f58rDNLbb+YZvrbOPDlCcW5laVhl4rIDbqpbXwP7QWOmPqZ6YsAF+t2HqZLQ9bvdj2KryulzbhI2js2LGOz7/wwgsuJTlq2rRpjs/fc889LiU5qq5LYpxxxhkuJTlq6NChYZ/z+Xz46KOPXEzD1T9svcM0NgBfnhdffNHx+auvvtqlJEexjQ/bXGebXx07dgz7nM/nc/U2Imy1Ui87Y+tltjxs9VI/O2PKw5QF4OsdptctgK9ebGvh1q1bHZ9v3769S0mOUv/EDraxYcvDNrfYsM11CY9tbokztnppLXSmtdAZUz8zZWHE1stsediw7VV4Xi+vbkbfkC1dutQOHz7sdYygV155xYqLi72OEXTjjTfa3r17vY4RtH37dquoqPA6RhBT/7D1DtPYmPHleeihh+y7777zOkYQ2/iwzXW2+cWErVbqZWdsvcyWh61e6mdnTHmYspjx9Q4btnqxrYWjRo2ynTt3eh2DFlP/9OrVy7Zt2+Z1jCCmsTHjy8M2t9j6hw3b+DDlYZtbTGNjxpeHrV5aC2ML2/gw9TNTFjO+Wokztnqx7VVES/jrFEjUnHPOOdixY4fXMYKuv/56fPvtt17HCJozZw6Kioq8jhHUo0cPbNmyxesYQUz9w9Y7TGMD8OV58MEHXb/cixO28WGb62zzKzMzk+ZMTrZaqZedsfUyWx62eqmfnTHlYcoC8PUO0+sWwFcvtrXwk08+QVlZmdcxgtQ/4W3ZsgV+v9/rGEFMYwPw5WGbW2z9wzbX2caHKQ/b3GIaG4AvD1u9tBY601rojKmfmbIAfLVi62W2PGz1YturiFa9tAnvASO7A4DyOFOe8JiyAMpTF+VxpjzOmPIwZQGUpy7K40x5nClPeExZAOWpi/LEFrbxYcvDhG1s2PKIM9UrdqhWsUX1ii2qlzOm8WHKwohtfNjysGEbn2jl0Sa8iIiIiIiIiIiIiIiIiIhIhGgTXkREREREREREREREREREJEK0CS8iIiIiIiIiIiIiIiIiIhIh2oT3gM/n8zqC/ABs9WLLw4RtbNjysGEbH7Y8bJjGhykLoDzy47DVS3mcMeVhygIoT13Y8ogztnqx5WHCNjZsecSZ6hU7VKvYonrFFtXLGdP4MGVhxDY+bHnEWbTqpU14D5iZ1xGqad++PRISEryOETRmzBhkZmZ6HSOIrV5Medh6h2lsAL48p59+OlJSUryOEcQ2Pmx5NL/CY8oCKE9d2HqZLQ9bvZTHGVMepiyA8tSFLQ/bWvib3/wG2dnZXscIYquX23kOHz4c9rlnn30WLVq0cDGNs4Zeq7p4MbfUP87YxoctTziqFV8eJ1oLVa+6aHz+O6qVM6ZaAapXXRrMXoVJRPn9fvvggw/smWeesaKiIjMz27Fjhx06dMiTPN999539+c9/tjvuuMP2799vZmaff/65ffPNN57k+eSTT+yKK66wgQMHBjPMnj3blixZ4kkeM7PNmzfbggULrLS01MzMKisrqz2/bds2CwQCrmRh6h+23mEaG8Y8eXl59tvf/tYuu+wy+/bbb83M7P/+7/9s/fr1nuRhGx8zrrnONr/MzMrLy23jxo3m9/tDPr9kyRI7fPiwK1mYaqVedsbWy2x5zLjqpX6OrTxMWRh7h+l1y4yrXmxr4ezZs+0nP/mJtWrVyrZs2WJmZo899pi98cYbnuQxU/+EUlFRYffdd5+1bt3aGjVqZPn5+WZmdtddd9lzzz0X1Z/thGFsWPMwzS3W/mGZ62zjw5bHjGdusY0NW54qLPUy01p4LLQWOmPqZ5YsrLVi6WW2PIz1YturMPOuXtqEj6AtW7ZYt27dLDU1tVqzT5gwwa6//nrX86xdu9ZycnKsS5cuFh8fH8zz29/+1q688krX88ybN89SUlJs/PjxlpSUFMzz5JNP2jnnnON6nn379tnw4cPN5/NZXFxcMM/YsWNt0qRJrudh6h+23mEaG8Y8ixcvtpSUFBsxYoQlJiYG8zz00EN20UUXuZ6HbXzY5jrb/CopKbFrr73WGjVqVK1eN910kz300EOuZmGrlXrZGVsvs+Vhq5f6OXbyMGUx4+sdptctM756sa2FTz31lDVr1symT59uKSkpwTwvvPCCnXnmma7nUf+EN23aNOvUqZPNmTOnWq3mzp1rAwcOdDWLGdfYMOZhm1ts/cM219nGhykP29xiGhvGPGz10lroTGuhM6Z+Zspixlcrtl5my8NWL7a9Cq/rpU34CDr//PNtzJgxVl5ebunp6cFiLlq0yLp06eJ6nuHDh9uUKVPMzKrlWbZsmbVv3971PH369LEXX3yxVp7Vq1dbixYtXM9z5ZVX2tlnn23bt2+vlmfBggXWo0cP1/Mw9Q9b7zCNDWOegQMH2owZM8yser1WrFhhbdq0cT0P2/iwzXW2+TVhwgQ75ZRTbMmSJZaWlhbM88Ybb1ifPn1czcJWK/WyM7ZeZsvDVi/1c+zkYcpixtc7TK9bZnz1YlsLu3fvbq+//nqtPLm5uda0aVPX86h/wuvcubN9+OGHZla9Vhs2bLCsrCxXs5hxjQ1jHra5xdY/bHOdbXyY8rDNLaaxYczDVi+thc60Fjpj6memLGZ8tWLrZbY8bPVi26vwul7x0bnIfcO0ZMkSfPrpp0hMTKz2eIcOHbBjxw7X86xcuRLPPvtsrcfbtGmD3bt3u55n06ZNGDJkSK3HGzdujMLCQtfzvP/++3jvvfdw3HHHVXv8+OOPx9atW13Pw9Q/bL3DNDaMeXJzc/HKK6/Uerx58+bYt2+f63nYxodtrrPNrzfeeAOvvvoqBg4cCJ/PF3y8Z8+eyM/PdzULW63Uy87YepktD1u91M+xk4cpC8DXO0yvWwBfvdjWwoKCAvTt27fW40lJSSgpKXE9j/onvB07dqBLly61Hq+srITf73c1C8A1Nox52OYWW/+wzXW28WHKwza3mMaGMQ9bvbQWOtNa6Iypn5myAHy1Yutltjxs9WLbq/C6XnFR/wkNSGVlJSoqKmo9/s033yAjI8P1PElJSSgqKqr1+FdffYWcnBzX87Rs2RJ5eXm1Hl+6dCk6derkep6SkhKkpqbWevzAgQNISkpyPQ9T/7D1DtPYMObJysrCrl27aj3+xRdfoE2bNq7nYRsftrnONr/27t2L5s2b13q8pKSk2i8mbmCrlXrZGVsvs+Vhq5f6OXbyMGUB+HqH6XWr6ucy1YttLezYsSPWrFlT6/EFCxage/furudR/4TXo0cPLFmypNbj8+bNC7nBEW1MY8OYh21usfUP21xnGx+mPGxzi2lsGPOw1UtroTOthc6Y+pkpC8BXK7ZeZsvDVi+2vQqv66VN+AgaOXIkZs2aFfza5/OhuLgY99xzD0aNGuV6ntGjR+O+++4Lnu3i8/mwbds23H777bjoootcz3Pddddh4sSJWLFiBXw+H3bu3ImXX34Zt956K2688UbX85x++umYPXt28Gufz4fKyko88sgjGDp0qOt5mPqHrXeYxoYxz2WXXYbbb78du3fvDvbxsmXLcOutt+Kqq65yPQ/b+LDNdbb51a9fP7zzzjvBr6t++XjuuecwaNAgV7Ow1Uq97Iytl9nysNVL/Rw7eZiyAHy9w/S6BfDVi20tnDRpEn71q1/h1VdfhZnhs88+wwMPPIA777wTt912m+t51D/hTZ06FTfddBN+97vfobKyEvPnz8d1112HBx54AFOnTnU1C8A1Nox52OYWW/+wzXW28WHKwza3mMaGMQ9bvbQWOtNa6Iypn5myAHy1Yutltjxs9WLbq/C8XlG/4H0Dsn37duvRo4d1797d4uPjbeDAgda0aVPr2rWrffvtt67nKSwstBEjRlhWVpY1atTI2rZtawkJCTZkyBArLi52PU9lZaVNnz7d0tLSzOfzmc/ns+TkZLvrrrtcz2J29P5AzZs3t5/+9KeWmJhoF198sXXv3t1atGhheXl5rudh6h+23mEaG8Y85eXlNn78eIuPjzefz2cJCQkWFxdnY8aMsUAg4HoetvFhm+ts82vJkiWWnp5uN9xwgyUnJ9vEiRPtrLPOsrS0NFu1apWrWdhqpV52xtbLbHnY6qV+jp08TFnM+HqH6XXLjK9ebGuhmdmcOXOsS5cuwb8B27RpY88995wnWdQ/zj755BMbMWKE5eTkWEpKig0ePNjee+8913OY8Y0NWx4zrrllxtU/bHPdjGt8mPIwzi2WsWHMw1gvrYXhaS10xtTPTFmqMNWKrZfZ8phx1Yttr8LrevnMzKK/1d9wBAIBzJ07F+vWrUNxcTFOPvlkXHHFFUhJSfEs09KlS6vlGTFihGdZAODIkSPIy8tDcXExevTogfT0dM+yHDx4EH/4wx+wdu3a4Pj86le/QqtWrTzJw9Y/TL3DNjZseQBg27ZtWL9+PYqLi9G3b18cf/zxnmVhGx+2uQ5wza/8/Hw8/PDD1cbn9ttvR+/evV3PwlYr9XLdmHqZLQ9bvdTPsZOHKQvA1ztMr1sAX70ArrWwSmlpKYqLi0NeCtBN6p/YwTY2bHmqsMwtNmxzXcJjnVsSGmu9tBaGprXQGVM/M2VhxNbLbHkYMe1VeFkvbcKLiIiIiIiIiIiIiIiIiIhESLzXAeqTN998M+TjPp8PycnJ6NKlCzp27OhanieeeKLOPEOGDEGjRo1cyXPBBRcE77cQLs/ll1+Orl27upJn3bp1IR+vytOuXTskJSW5kgXg6h+23mEaG8Y8kyZNqjPP+eefj+zsbFfysI0P21xnm19FRUVh8yQlJSExMdGVHABfrdTLzth6mS0PW73Uz7GThykLwNc7TK9bAF+92NbCvn371vk34DXXXOPavS7VP+E1adLkmGo1duxYV/IwjQ1jHra5xdY/bHOdbXyY8rDNLaaxYczDVi+thc60Fjpj6memLABfrdh6mS0PW73Y9io8r1fUL3jfgPh8PouLiwveg6bqf1WPxcXF2ZAhQ+zAgQOu5OnQoUPw/uvZ2dmWnZ1tPp/P0tLSrEWLFubz+axz5862bds2V/JcffXV1rhxY2vfvr1deOGFduGFF1qHDh0sKyvL/ud//se6du1qSUlJtnTpUlfyVNXk+zWr+jouLs6SkpLsqquusrKyMlfzMPQPW+8wjQ1jnjPPPNMyMzMtLS3NTj75ZDv55JMtPT3dGjdubAMGDLCsrCxr0qSJ/fvf/3YlD9v4sM111vkV7n/t2rWzqVOnWkVFhatZGGqlXnbG1stsedjqpX6OnTxMWb6fh7F3vH7dqpmHoV5sa+Edd9xhjRs3ttNOO80mTZpkkyZNstNPP90aN24cvBdfXFycvfHGG67kUf+EN3PmTGvatKmNGTPGnnjiCXviiSdszJgx1qxZM3vggQds/PjxlpSUZH/605+insWMa2wY87DNLeb+YZjrbOPDlIdtbjGNDWMetnppLXSmtdAZUz8zZTHjrhVDL7PlYasX616FV/XSJnwEffjhhzZgwAD78MMPraioyIqKiuzDDz+0QYMG2TvvvGNLly61nj172rXXXutKnldeecXOPPNMy8vLCz62efNmGzZsmM2dO9e2b99ugwcPtosuusiVPLfffrvdeOON1Zq5oqLCbrrpJrvzzjutsrLSfvnLX9rgwYNdyfPGG29Y165d7bnnnrN169bZunXr7LnnnrPu3bvb3Llzbc6cOXbcccfZ5MmTXcnD1D9svcM0Nox5HnvsMbvwwgvt4MGDwccKCwvt4osvtlmzZllJSYmdf/75NnLkSFfysI0P21xnm18vvviiHXfccXbXXXfZm2++aW+++abddddd1rZtW3v22Wdt+vTplpWVZQ888EDUs7DVSr3sjK2X2fKw1Uv9HDt5mLKY8fUO0+uWGV+92NbC8ePH23333Vfr8fvvv9/Gjx9vZmZTp061U045xZU86p/wLrzwQnv66adrPf7MM8/YhRdeaGZmTzzxhPXq1SvqWcy4xoYxD9vcYusftrnONj5MedjmFtPYMOZhq5fWQmdaC50x9TNTFjO+WrH1Mlsetnqx7VV4XS9twkdQz549bdmyZbUeX7p0qfXo0cPMzD744ANr27atK3k6depkX3zxRa3HV69ebR07djQzs2XLllnLli1dydOsWTPbtGlTrcc3bdpkTZs2NTOzdevWWePGjV3Jc+qpp9qCBQtqPb5gwQI79dRTzczs9ddft06dOrmSh6l/2HqHaWwY87Ru3TrkmWPr16+31q1bm5nZ559/Hpxn0cY2PmxznW1+DRs2zF599dVaj7/66qs2bNgwMzObPXu2de3aNepZ2GqlXnbG1stsedjqpX6OnTxMWcz4eofpdcuMr15sa2FmZqZt3ry51uObN2+2zMxMMzPbsGGDpaenu5JH/RNeWlpa2FqlpaWZmVleXp6lpqZGPYsZ19gw5mGbW2z9wzbX2caHKQ/b3GIaG8Y8bPXSWuhMa6Ezpn5mymLGVyu2XmbLw1Yvtr0Kr+sVF92L3Tcs+fn5yMzMrPV4ZmYmvv76awDA8ccfj3379rmSZ9euXQgEArUeDwQC2L17NwCgdevWOHTokCt5AoEANm7cWOvxjRs3oqKiAgCQnJwc8v4V0ZCbm4v27dvXerx9+/bIzc0FAPTp0we7du1yJQ9T/7D1DtPYMOY5ePAg9uzZU+vxvXv3Bu95kpWVhSNHjriSh2182OY62/z69NNP0bdv31qP9+3bF8uXLwcAnHbaadi2bVvUs7DVSr3sjK2X2fKw1Uv9HDt5mLIAfL3D9LoF8NWLbS1MTk7Gp59+WuvxTz/9FMnJyQCAysrK4L9Hm/onvOzsbLz11lu1Hn/rrbeC92ssKSlBRkZG1LMAXGPDmIdtbrH1D9tcZxsfpjxsc4tpbBjzsNVLa6EzrYXOmPqZKQvAVyu2XmbLw1Yvtr0Kr+ulTfgIOuWUUzBlyhTs3bs3+NjevXtx22234dRTTwUAbN68GW3btnUlz9ChQ3H99dfjiy++CD72xRdf4MYbb8SwYcMAHF3gO3bs6EqeK6+8EuPGjcNjjz2GpUuXYunSpXjssccwbtw4XHXVVQCAjz/+GD179nQlT7du3fDwww9Xm+x+vx8PP/wwunXrBgDYsWMHWrRo4Uoepv5h6x2msWHMc/755+Paa6/F66+/jm+++QbffPMNXn/9dYwbNw4///nPAQCfffYZTjjhBFfysI0P21xnm19t27bF888/X+vx559/Plij/fv3o0mTJlHPwlYr9bIztl5my8NWL/Vz7ORhygLw9Q7T6xbAVy+2tfDXv/41brjhBkycOBFz5szBnDlzMHHiRNx4442YMGECAOC9995Dnz59XMmj/gnv7rvvxpQpUzB69GhMnz4d06dPx/nnn4/bbrsN99xzDwDggw8+wBlnnBH1LADX2DDmYZtbbP3DNtfZxocpD9vcYhobxjxs9dJa6ExroTOmfmbKAvDViq2X2fKw1Yttr8LzekXl8/UN1MaNG61r166WmJhonTt3ts6dO1tiYqJ169YteBn2119/3WbPnu1Knl27dtmIESPM5/NZYmKiJSYmWlxcnJ111lm2e/duMzP76KOP7L333nMlTyAQsOnTp1vLli3N5/OZz+ezli1b2gMPPGCBQMDMzLZu3Wrbt293Jc+yZcusadOmlpOTY8OHD7fhw4db8+bNrWnTprZ8+XIzO3oZikceecSVPEz9w9Y7TGPDmOfQoUM2fvz4YJ3i4uIsMTHRrrvuOisuLjYzsy+++CLkpUmjgW182OY62/z65z//aYmJiXbiiSfauHHjbNy4cXbSSSdZUlKSvfXWW2Zm9tRTT9ktt9wS9SxstVIvO2PrZbY8bPVSP8dOHqYsZny9w/S6ZcZXL7a10Mxszpw5NnDgQGvSpIk1adLEBg4caC+//HLw+dLSUisrK3Mli/rH2dKlS+2yyy6zvn37Wt++fe2yyy4LeTsKN7CNDVseM665ZcbVP2xz3YxrfJjyMM4tlrFhzMNYL62F4WktdMbUz0xZqjDViq2X2fKYcdWLba/C63r5zMyis73fMFVWVuL999/HV199BQDo2rUrzjrrLMTFeXfRgY0bN1bL07VrV8+yVKm67ESoS1u66dChQ3j55Zerjc/ll1/u2qU5amLrH6beYRsbtjwAUFxcHLwsbKdOnZCenu5ZFrbxYZvrANf82rJlC5599lls2rQpmOf6669Hhw4dXM/CViv1ct2YepktD1u91M+xk4cpC8DXO0yvWwBfvQCutZCN+id2sI0NWx5xxjbXJTzNrdiiesUWrYXOmPqZKQsjtl5my8OIaa/Cy3ppE15ERERERERERAAAhw8frnWPRq9PoJfYof5xxjY+bHmYsI0NWx5xpno50/jEDtUqtqhefOK9DlDflJSU4OOPP8a2bdtqNXvVvWjc9M033+DNN98MmWfmzJmu55k3bx7+/ve/h8yzevVq1/MAwJdffhkyz+jRo13PwtQ/bL3DNDaMeVatWhV2bs2fP9/1PGzjA3DNdbb5BQClpaUh85x44omuZ2GqlXrZGVsvs+UBuOqlfo6tPExZGHuH6XUL4KoX01pYUVGBxx57LOzvqQcOHHA1TxX1T22lpaW47bbb8Pe//x379++v9XxFRYVrWb6PYWwY87DNLdb+YZnrbOPDlgfgmVtsY8OWpwpLvbQWHhuthc5Y+pkpC2utWHqZLQ9jvdj2KgAP6xWVi9w3UKtXr7aWLVtaZmamNWrUyHJycszn81laWpp17NjR9TwffvihpaamWq9evSw+Pt769OljWVlZ1rhxYxs6dKjreR5//HFLT0+3m266yRITE+3666+3ESNGWOPGje03v/mN63ny8/PtxBNPNJ/PZ3FxccH71Ffdp8JtTP3D1jtMY8OY529/+5slJCTYeeedZ4mJiXbeeefZCSecYI0bN7ZrrrnG9Txs48M219nm1549e+zcc88NjkfN/7mJrVbqZWdsvcyWh61e6ufYycOUxYyvd5het8z46sW2Ft59993WqlUr+/3vf2/Jycl2//3327hx46xp06b2+OOPu55H/RPe//7v/1r37t1t3rx5lpKSYn/5y1/s/vvvt+OOO87mzJnjahYzrrFhzMM2t9j6h22us40PUx62ucU0Nox52OqltdCZ1kJnTP3MlMWMr1ZsvcyWh61ebHsVXtdLm/ARdMYZZ9h1111nFRUVlp6ebvn5+bZt2zYbMmSIvfbaa67nOfXUU23q1KlmZsE8hw4dstGjR9tTTz3lep6uXbvaK6+8Ui2P2dFfmH71q1+5nue8886z888/3/bu3Wvp6en25Zdf2pIlS6x///72ySefuJ6HqX/YeodpbBjz9O7d2/7whz+Y2X/qVVlZadddd12wjm5iGx+2uc42vy6//HIbPHiwrVy50tLS0uz999+3l156ybp27Wpvv/22q1nYaqVedsbWy2x52Oqlfo6dPExZzPh6h+l1y4yvXmxrYadOnYJ1SU9Pt7y8PDM7eoL2L37xC9fzqH/Ca9u2rS1atMjMzDIyMmzz5s1mZjZ79mw755xzXM1ixjU2jHnY5hZb/7DNdbbxYcrDNreYxoYxD1u9tBY601rojKmfmbKY8dWKrZfZ8rDVi22vwut6aRM+gho3bmwbN24M/vuXX35pZmb/+te/rGvXrq7n+f4vH1lZWbZ+/XozM1uzZo21b9/e9TwpKSm2ZcsWMzPLycmxNWvWmJnZV199ZdnZ2a7nadq0qa1du9bMzDIzM4O1W7hwofXp08f1PEz9w9Y7TGPDmCc1NdUKCgrMzCw7O9vWrVtnZmZffvmltWzZ0vU8bOPDNtfZ5lfLli1txYoVZnb0F7VNmzaZmdk///lPGzx4sKtZ2GqlXnbG1stsedjqpX6OnTxMWcz4eofpdcuMr15sa2Fqaqpt3brVzI7W7vPPPzezo5/2yczMdD2P+ie8tLS0YK3atGkTHKevv/7a0tLSXM1ixjU2jHnY5hZb/7DNdbbxYcrDNreYxoYxD1u9tBY601rojKmfmbKY8dWKrZfZ8rDVi22vwut6xUX3YvcNS0JCAuLijg5p8+bNsW3bNgBA48aNsX37dtfzpKWlBe9v0KpVK+Tn5wef27dvn+t5WrZsGbwXT7t27fCvf/0LAFBQUAAzcz1PRUUFMjIyAADNmjXDzp07AQDt27fHpk2bXM/D1D9svcM0Nox5mjRpgkOHDgEA2rRpg/Xr1wMACgsLUVpa6noetvFhm+ts86ukpATNmzcHcLSX9u7dCwDo3bs3Vq9e7WoWtlqpl52x9TJbHrZ6qZ9jJw9TFoCvd5hetwC+erGthccddxx27doFAOjcuTPef/99AMDKlSuRlJTkeh71T3idOnVCQUEBAKBbt274+9//DgB46623kJWV5WoWgGtsGPOwzS22/mGb62zjw5SHbW4xjQ1jHrZ6aS10prXQGVM/M2UB+GrF1stsedjqxbZX4XW94qP+ExqQvn37YuXKlTj++ONxxhlnYOrUqdi3bx9eeukl9OrVy/U8AwcOxNKlS9G9e3eMGjUKkydPRm5uLubPn4+BAwe6nmfYsGF488030bdvX4wdOxa33HIL5s2bh1WrVuHCCy90PU+vXr2wdu1adOzYEQMGDMAjjzyCxMRE/OlPf0KnTp1cz8PUP2y9wzQ2jHmGDBmCDz74AL1798Yll1yCiRMn4qOPPsIHH3yA4cOHu56HbXzY5jrb/OratSs2bdqEDh064KSTTsKzzz6LDh064JlnnkGrVq1czcJWK/WyM7ZeZsvDVi/1c+zkYcoC8PUO0+sWwFcvtrXwggsuwMKFCzFgwAD8+te/xpgxY/D8889j27ZtuOWWW1zPo/4Jb+zYsVi7di3OOOMM3HHHHfjZz36GP/zhD/D7/Zg5c6arWQCusWHMwza32PqHba6zjQ9THra5xTQ2jHnY6qW10JnWQmdM/cyUBeCrFVsvs+VhqxfbXoXn9Yr6Z+0bkJUrV9pHH31kZmbffvutnX322ZaRkWEnn3xy8NLrbsrPzw9exqS4uNiuv/566927t1144YXBy8K7qaKiwvx+f/Drv/3tb/brX//annjiCSsvL3c9z4IFC4L3sdy8ebN17drVfD6fNWvWzBYuXOh6Hqb+YesdprFhzLN//37bsWOHmR2dZw899JD97Gc/s0mTJtmBAwdcz8M2PmxznW1+vfTSS/bCCy+YmdmqVausWbNmFhcXZ8nJyTZ37lxXs7DVSr3sjK2X2fKw1Uv9HDt5mLKY8fUO0+uWGV+92NbCmpYvX24zZsywN99805Ofr/45dlu2bLHXXnst2E9uYxsbtjw1eT23avK6f9jmek1ej09NXuZhn1uqVXXs9dJaWJ3WQmdM/cyUJRSva8XWy2x5avK6Xmx7FV7Xy2fmwXXA6yEzw/bt29G8eXMkJyd7HQcVFRVYtmwZTjzxRE8uOVFTIBDAgw8+iGuvvRbHHXec13HCOnDgAJo0aQKfz+fqz2XqH7beYRobxjyBQACvvPIKzj77bLRo0cLrOHTjE45Xc51tfoVSWlqKjRs3ol27dmjWrJnXcbQu10G9zJknHPWzM6/GJxymPOqd8NhetwCtzVX8fj+uv/563H333ejYsaPXcUJS/xzl9/vx05/+FM888wyOP/54137uD8W0LgPe5WGbW7HQP17OdbbxYcsTipdzi2ls2PKEo7XwP3nY66W1sG5Mv2toLQyP7Xd4za3/YNurCMXteume8BFiZujSpYsn90UMpVGjRhg5ciS+++47r6MAAOLj4/HII48gEAh4HQXA0cUpPj4+eD+KKtnZ2Z68yDL1D1vvMI0NwJcnPj4eN9xwAw4fPux1FAB848M219nml9/vR+fOnbFhw4bgY6mpqTj55JM9+aWRqVbqZWdsvcyWh61e6ufYycOUBeDsHZbXrao8TPViWwsTEhLw2muveR0jSP0TXkJCAtatW+fqz3TCNDaMedjmFmP/MM11tvFhysM4t1jGBuDLw1gvrYXhaS10xtTPTFkAzlox9TJbHrZ6se1VMNRLm/AREhcXh+OPPx779+/3OkpQr1698PXXX3sdI2j48OH4+OOPvY4B4Oji1K5dO1RUVHgdBQBf/zD1DtvYsOUBgP79+2PNmjVexwDANz5scx3gml8JCQk0vxSx1Uq9XDemXga48rDVS/3sjCkPUxaAs3dYXrcAvnoBXGshAPz85z/HG2+84XUMAOqfulTdR5cB29iw5QG45hbA1z9Mcx3gGh+AJw/j3GIZmypMeRjrpbUwPK2Fzpj6mSlLFbZaMfUyWx6Aq14A114FQ710OfoIeuutt/DII4/g6aefRq9evbyOgwULFuDOO+/E/fffj1NOOQVpaWnVns/MzHQ1zzPPPINp06bhiiuuCJln9OjRruZ5/vnnMX/+fLz00kvIzs529WeHwtQ/bL3DNDaMef7+97/jzjvvxC233BKyXieeeKKredjGh22us82vBx98EF999RWee+45xMfHu/qza2KrlXrZGVsvs+Vhq5f6OXbyMGUB+HqH6XUL4KsX21o4ffp0zJgxA8OHDw+ZZ8KECa7mUf+E9+tf/xqzZ8/G8ccfH7JWM2fOdDUP09gw5mGbW2z9wzbX2caHKQ/b3GIaG8Y8bPXSWuhMa6Ezpn5mygLw1Yqtl9nysNWLba/C63ppEz6CmjRpgtLSUgQCASQmJiIlJaXa8wcOHHA1T1zcfy508P1Ll5gZfD6f62dXfT9PTV7k6du3L/Ly8uD3+9G+fftai8Hq1atdzcPUP2y9wzQ2jHlCzS2fz6d6/X9sc51tfl1wwQVYuHAh0tPT0bt371rjM3/+fNeysNVKveyMrZfZ8rDVS/0cO3mYsgB8vcP0ugXw1YttLXS6R6vP53P9U/vqn/CGDh0a9jmfz4ePPvrItSwA19gw5mGbW2z9wzbX2caHKQ/b3GIaG4AvD1u9tBY601rojKmfmbIAfLVi62W2PGz1Ytur8Lpe3p+mUY/MmjXL6wjVLFq0yOsI1VRWVnodoZqf//znXkeohql/2HqHaWwAvjwFBQVeR6iGbXzY5jrb/MrKysJFF13kdQwAfLVSLztj62W2PGz1Uj87Y8rDlAXg6x2m1y2Ar15sayHb76nqn/DYeodpbAC+PGxzi61/2OY62/gw5WGbW0xjA/DlYauX1kJnWgudMfUzUxaAr1ZsvcyWh61ebGuz1/XSJ+HFE4cPH0ZycrLXMURERERERCTKjhw5goKCAnTu3Jniko0SXl5eHvLz8zFkyBCkpKQEP7EinNjmlvrHGdv4sOVhwjY2bHnYaC2MLRqf2KFaxRbVi1P464PLfyU/Px933XUXfvGLX2DPnj0AgHfffRf//ve/PcmzZMkSjBkzBj/5yU+wY8cOAMBLL72EpUuXup6loqIC999/P9q0aYP09PTgJYHuvvtuPP/8867nAYDCwkI899xzuPPOO4OX0ly9enVwrNzG1D9MvQNwjQ1jnpdeegmDBw9G69atsXXrVgBHP7n2z3/+05M8bOPDNtfZ5lcgEMCHH36IZ599FocOHQIA7Ny5E8XFxa5nYauVetkZWy+z5WGrl/o5dvIwZQH4eofpdQvgqxfTWlhaWopx48YhNTUVPXv2xLZt2wAcvW/hww8/7HoeQP0Tzv79+zF8+HCccMIJGDVqFHbt2gUAGDduHCZPnuxqliosY8OYh21uMfYP01xnGx+2PExzi21s2PIAXPXSWlg3rYXOmPqZKQtjrZh6mS0PY73Y9io8rZdJxCxevNhSUlJsxIgRlpiYaPn5+WZm9tBDD9lFF13kep558+ZZSkqKjR8/3pKSkoJ5nnzySTvnnHNczzNt2jTr1KmTzZkzx1JSUoJ55s6dawMHDnQ9z9q1ay0nJ8e6dOli8fHxwTy//e1v7corr3Q9D1P/sPUO09gw5nnqqaesWbNmNn369Gpz64UXXrAzzzzT9Txs48M219nm15YtW6xbt26WmppqjRo1CuaZMGGCXX/99a5mYauVetkZWy+z5WGrl/o5dvIwZTHj6x2m1y0zvnqxrYUTJkywU045xZYsWWJpaWnBPG+88Yb16dPH9Tzqn/CuvPJKO/vss2379u2Wnp4ezLJgwQLr0aOHq1nMuMaGMQ/b3GLrH7a5zjY+THnY5hbT2DDmYauX1kJnWgudMfUzUxYzvlqx9TJbHrZ6se1VeF0vbcJH0MCBA23GjBlmZtWafcWKFdamTRvX8/Tp08defPHFWnlWr15tLVq0cD1P586d7cMPP6yVZ8OGDZaVleV6nuHDh9uUKVNq5Vm2bJm1b9/e9TxM/cPWO0xjw5ine/fu9vrrr9fKk5uba02bNnU9D9v4sM11tvl1/vnn25gxY6y8vLxankWLFlmXLl1czcJWK/WyM7ZeZsvDVi/1c+zkYcpixtc7TK9bZnz1YlsL27VrZ8uXL6+VZ/PmzZaRkeF6HvVPeC1atLA1a9bUypKfn29paWmuZjHjGhvGPGxzi61/2OY62/gw5WGbW0xjw5iHrV5aC51pLXTG1M9MWcz4asXWy2x52OrFtlfhdb28v0lKPZKbm4tXXnml1uPNmzfHvn37XM+zadMmDBkypNbjjRs3RmFhoet5duzYgS5dutR6vLKyEn6/3/U8K1euxLPPPlvr8TZt2mD37t2u52HqH7beYRobxjwFBQXo27dvrceTkpJQUlLieh628WGb62zza8mSJfj000+RmJhY7fEOHTq4fskrtlqpl52x9TJbHrZ6qZ9jJw9TFoCvd5hetwC+erGthXv37kXz5s1rPV5SUuLJ/QnVP+GVlJQgNTW11uMHDhxAUlKSq1kArrFhzMM2t9j6h22us40PUx62ucU0Nox52OqltdCZ1kJnTP3MlAXgqxVbL7PlYasX216F1/XSPeEjKCsrK3i/he/74osv0KZNG9fztGzZEnl5ebUeX7p0KTp16uR6nh49emDJkiW1Hp83b17ISRltSUlJKCoqqvX4V199hZycHNfzMPUPW+8wjQ1jno4dO2LNmjW1Hl+wYAG6d+/ueh628WGb62zzq7KyEhUVFbUe/+abb5CRkeFqFrZaqZedsfUyWx62eqmfYycPUxaAr3eYXrcAvnqxrYX9+vXDO++8E/y66g3x5557DoMGDXI9j/onvNNPPx2zZ88Ofu3z+VBZWYlHHnkEQ4cOdTULwDU2jHnY5hZb/7DNdbbxYcrDNreYxoYxD1u9tBY601rojKmfmbIAfLVi62W2PGz1Ytur8LxeUf+sfQMyefJkO+2002zXrl2WkZFhmzdvtqVLl1qnTp3s3nvvdT3Pgw8+aD169LB//etflpGRYUuWLLE5c+ZYTk6OPfHEE67neeONN6xx48b28MMPW2pqqj366KM2fvx4S0xMtPfff9/1POPGjbOf//znduTIEUtPT7evv/7atm7dan379rWJEye6noepf9h6h2lsGPP8+c9/tjZt2tjcuXMtLS3N/va3v9n06dOD/+42tvFhm+ts8+t//ud/7LrrrjMzC47PoUOHbNiwYXbNNde4moWtVuplZ2y9zJaHrV7q59jJw5TFjK93mF63zPjqxbYWLlmyxNLT0+2GG26w5ORkmzhxop111lmWlpZmq1atcj2P+ie83Nxca968uf30pz+1xMREu/jii6179+7WokULy8vLczWLGdfYMOZhm1ts/cM219nGhykP29xiGhvGPGz10lroTGuhM6Z+Zspixlcrtl5my8NWL7a9Cq/rpU34CCovL7fx48dbfHy8+Xw+S0hIsLi4OBszZowFAgHX81RWVgab2+fzmc/ns+TkZLvrrrtcz1Llk08+sREjRlhOTo6lpKTY4MGD7b333vMkS2FhoY0YMcKysrKsUaNG1rZtW0tISLAhQ4ZYcXGx63mY+oetd5jGhjGPmdmcOXOsS5cuwXq1adPGnnvuOU+ysI0P21xnm1/bt2+3Hj16WPfu3S0+Pt4GDhxoTZs2ta5du9q3337raha2WqmXnbH1Mlsetnqpn2MnD1MWM77eYXrdMuOrF9taaGaWl5dn48ePt1NPPdW6d+9uV1xxha1bt86TLOqfuvNMnz7dLrnkEjvnnHPst7/9re3cudP1HFVZ2MaGKY8Z19wy4+oftrluxjU+THkY5xbL2DDmYayX1sLwtBbWnYWln5myfD8TS63YepktjxlXvcy49iq8rpfPzCz6n7dvWLZt24b169ejuLgYffv2xfHHH+9pniNHjiAvLw/FxcXo0aMH0tPTPc3DZunSpVi3bh2Ki4tx8sknY8SIEZ7mYeoftt5hGhvGPABQWlqK4uLikPfEchvb+LDNdab5FQgEMHfu3Grjc8UVVyAlJcWTPGy1Ui87Y+plxjxs9VI/x04epiwAV++wvW4BfPViWwuZqH9iC9vYsOWR8BjnuoSnuRVbVK/YobWwbkz9zJSFDVsvs+VhxbJX4WW9tAkfQUuXLsVpp53mdYygOXPm4MILL0RqaqrXUQAA48ePx5gxY3DmmWd6HQUAsH37drRt29brGEFM/cPWO0xjA/DlmT59Oq644gp07NjR6ygA+MaHba6zza/Dhw8jOTnZ6xgA+GqlXnbG1stsedjqpX52xpSHKQvA1ztMr1sAX73Y1sIRI0ZgzJgxuPDCC5GZmel1HPWPgy5dumDMmDG44oorPD9BC+AaG4AvD9vcYusftrnONj5MedjmFtPYMOZhq5fWQmdaC50x9TNTFoCvVmy9zJaHrV5sexWe1yvqn7VvQBISEqxDhw5255132r///W+v41izZs0sLS3NfvGLX9g777zj2WWyq4wePdqSkpLsuOOOs1tvvdW++OILT/PExcXZkCFD7E9/+pMdOHDA0yxmXP3D1jtMY8OY58QTT7S4uDgbNGiQ/fGPf7S9e/d6modtfNjmOtv8ysjIsKuuusref/99q6io8DQLW63Uy87YepktD1u91M+xk4cpixlf7zC9bpnx1YttLZwwYYK1bNnSUlJS7OKLL7Y33njDjhw54lke9U94M2fOtH79+pnP57N+/frZrFmzbNeuXZ7lYRobxjxsc4utf9jmOtv4MOVhm1tMY8OYh61eWgudaS10xtTPTFnM+GrF1stsedjqxbZX4XW9tAkfQXv37rUnn3zSfvKTn5jP57OTTjrJHnnkEdu+fbsnefx+v7311lt2+eWXW1pamuXk5Nj//u//2rJlyzzJY2Z24MABe/bZZ+2MM86wuLg469Gjhz3wwANWUFDgepbVq1fbrbfeav+PvTePr+n6/v9f92a+mWQyhJCQEFMSQykxD1VUDC1qaBClhoqqd0q1aFQVNRbl3cE8tx+U1pzEPA+hxBAxT6WIeYhk/f7wy/26knuuvt+yz8q76/l4nEdz9/HoeT3Wa6199zn73L2LFStGTk5O1LJlS/r555/p0aNHyrUQ8cofbrnDKTYc9RARHTlyhD799FMKCgoiBwcHatasGS1YsIDu37+vXAu3+HCrdW71tWzZMnrnnXfIxcWFChcuTP3796e9e/fqooWbV5LL2nDLZW56uPkl+Zx/9HDSQsQvdzh9bxHx84tbX0hElJmZSevWraMuXbqQh4cHeXl5UY8ePWjTpk3KtUj+2ObEiRM0bNgwCgkJIXt7e2rcuDHNmTNHuQ5useGmh4hXbWXDJX+41Xo2XOLDSQ/H2iLiERuOejj6JX2hdaQv1IZTPnPS8jxcvOKWy9z0ZMPFLyJecxV6+yWT8HnE6dOnaeTIkVS+fHmys7Oj+vXr66rn/v37NH/+fGrWrBk5OjpSyZIlddVDRHThwgUaO3YshYaGkp2dnW46srKyKDExkd5//33y8vIiT09P6tatm256iHjlD7fc4RQbjnqIiLZt20Z9+vQhPz8/cnd311ULp/hwrHVO9XXnzh2aOXMmNW7cmOzs7CgkJITi4+N10cLRK8llbTjlMjc9HP2SfM4fejhpyYZT7nD63iLi6RenvjCbhw8f0tKlSyk8PJyMRqNuOiR/Xo6dO3dSRESErl5xiw03Pdlwqa3n4ZA/3Gr9eTjE53n01sO1toj0j82LcNDD1S/pC3NH+kJtOOUzJy0vwsErbrnMTc/zcPArGy5zFXr5JZPwecjTp09p1apVbJI9+1cs5cuX113PkydPaPny5fT222+Ts7Mz+fv766onm/3797Pxi1P+cModIl6x4ajn4MGDNHDgQCpatCg5OzvrLYddfIh41Tq3+iIiOnr0KJv4cPJKclkbbrnMTQ8RL78kn23DSQ8nLRxzh9P3FhEvvzj1hVeuXKGJEydSlSpVyGAwUPXq1XXVk43kT052795N/fv3p8KFC5PJZKL27dvrpuV5OMTmebjo4VZbXPOHS61ziw83PUR8aotbbLjpyYaLX9IXvhzSF2rDJZ85aeHqFZdczoaLHo5+cZurIFLrl0zC5wHbtm2j3r17m9/s6Ny5M61Zs0YXLdm/fmjatCk5OjpSqVKl6PPPP6djx47poie3N7k2btxIWVlZuughevaL/DFjxlB4eDjZ2dlRrVq1aPr06brp4ZI/3HKHiE9sOOrJ/mVauXLlyM7Ojho0aEA//vgjpaen66KHiFd8iHjVOsf6evjwIS1ZsoRatmxJTk5OVLx4cRo0aJAuWjh5RSS5rAW3XOamh4iXX0SSz/lJDyctRPxyh9P3FhEvvzj1hbdv36aZM2dSo0aNyN7enkqXLk3x8fF06tQp5VqeR/InJy8uX/nGG2/QnDlz6O7du0p1vAiH2HDUw622uOYPl1rnFh9ueoj41Ba32HDTkw0Xv6QvfDmkL9SGSz5z0sLVKy65zE0PR784zlXo5ZdMwr9CBg8eTIGBgeTo6EjNmzenhQsX6rLHQTbt27c37wPYt29f2rFjh25aiIj8/f3J2dmZWrVqxWJPkxkzZlCdOnXIzs6OypcvT6NGjaKzZ8/qpodT/nDLHU6x4ainevXqZDQaKSIigr755hu6ePGiblqI+MWHW61zq6+1a9dSdHQ0eXh4kLe3N/Xs2ZM2b96sixZuXkkua8Mtl7np4eaX5HP+0cNJCxG/3OH0vUXEzy9ufaGzszMVKVKEPvroIxb7JEr+WMdgMFC1atVo0qRJdPXqVV00PA+n2HDUw622uOUPt1rnFh9OerjVFqfYcNTDzS/pC7WRvlAbTvnMSQsRP6+45TI3Pdz84jZXobdfMgn/CqlZsyZNmzaNrl+/rrcUIiLq2LEj/f777/T06VO9pRAR0ffff0+3bt3SW4aZYsWKUVxcHCUnJ+sthYh45Q+33OEUGyJ+eoYMGUJHjx7VW4YZbvHhVgfbnfwAAQAASURBVOvc6svFxYXatm1LK1asoCdPnuiqhZtXksvacMtlbnq4+SX5rA0nPZy0EPHLHU7fW0T8/OLWF65fv54yMzP1lmFG8sc6J0+e1FuCBZxiQ8RPD7fa4pY/3GqdW3w46eFWW5xiQ8RPDze/pC/URvpCbTjlMyctRPy84pbL3PRw84vbXIXefhmIiCAI/0CICAaDQW8ZgiDkMVLr2ty9exfu7u56ywAgXtlC4pO/EL+04RYfTno4aeEIp+8tQPzKb0j+5B+4xYabHkEbbrUuWEdqK38hfuUvpC/UhlM+c9LCEW65zE2PoI3efskkfB6QkpKC8+fP48mTJxbtUVFRyrXcv38fmzdvzlVPbGyscj379u3D0qVLc9WzbNky5XoA4MGDB7nqCQsL00UPl/zhljsAn9hw1HPx4kWsXLkyVz0TJkxQrgfgFR+AV61zrC8AePToUQ49Hh4eynVw8gqQXNaCWy5z0wPw8guQfM5PejhpAfjlDsDnewvg5Re3vvCXX36xeg944MAB5XqykfyxJDMzExMnTrTq1c2bN5VpeR4OseGqh1Ntcc0fgEetc4sPNz0An9riFhtuerLh4hcgfeHLIn2hdTjlMxctXL0CeOTy83DQw9EvjnMVgE5+qf3h/f82aWlpFBYWRgaDgYxGIxkMBvPfRqNRuZ4DBw5Q4cKFycPDg+zs7MjPz48MBgO5urpSUFCQcj2LFi0iBwcHeuutt8jR0ZHeeustKl26NHl6elLXrl2V67l27Ro1a9bM7M+Lh2o45Q+33OEUG456Nm7cSCaTiSpUqED29vYUERFBBQoUIE9PT6pfv75yPdziw63WudXXvXv3qG/fvuTn56d7fLh5JbmsDbdc5qaHm1+Sz/lHDyctRPxyh9P3FhE/v7j1hZMnTyY3Nzf68MMPydHRkT744ANq1KgReXp60pAhQ5TrkfyxztChQ6lIkSI0btw4cnZ2pi+//JK6d+9OPj4+NHnyZKVaiHjFhqMebrXFLX+41Tq3+HDSw622OMWGox5ufklfqI30hdpwymdOWoj4ecUtl7np4eYXt7kKvf2SSfhXyFtvvUUtW7ak69evk5ubG6WkpNDWrVupWrVqtGXLFuV66tatSz169KDMzExyc3OjtLQ0On/+PNWpU4f+7//+T7meihUr0tSpU4mIzHqysrKoR48eNGzYMOV6OnbsSJGRkbR3715ydXWl9evX07x586hMmTL022+/KdfDKX+45Q6n2HDU89prr5lrKNuvu3fvUlRUFH333XfK9XCLD7da51Zfffr0obJly9Ivv/xCLi4uNHPmTPryyy+pWLFiNH/+fKVauHkluawNt1zmpoebX5LP+UcPJy1E/HKH0/cWET+/uPWFZcqUoYULFxLR/xunEj17UNS3b1/leiR/rFOyZEnzNd3c3OjUqVNE9GyCo0OHDkq1EPGKDUc93GqLW/5wq3Vu8eGkh1ttcYoNRz3c/JK+UBvpC7XhlM+ctBDx84pbLnPTw80vbnMVevslk/CvEB8fHzp06BAREXl4eNDx48eJiCghIYEiIiKU6/H09DRr8PT0pJSUFCIi2rVrF5UpU0a5HpPJRGfOnCEiIm9vbzp8+DAREaWkpFDhwoWV6ylcuDDt3r2biIjc3d3pxIkTRET066+/UmRkpHI9nPKHW+5wig1HPc9/uRYoUICOHDlCRETJyclUokQJ5Xq4xYdbrXOrr4CAAEpKSiKiZ/FJTU0lIqK5c+dS06ZNlWrh5pXksjbccpmbHm5+ST7nHz2ctBDxyx1O31tE/Pzi1he6uLjQ2bNniYjIz8+PkpOTiYjo5MmT5O3trVyP5I91TCYTnTt3zqxr//79RPRsNQwPDw+lWrI1cIkNRz3caotb/nCrdW7x4aSHW21xig1HPdz8kr5QG+kLteGUz5y0EPHzilsuc9PDzS9ucxV6+2XM28Xu/1lkZmbC3d0dAODr64vLly8DAEqUKIETJ04o1+Pg4ACj8ZnFBQsWxPnz5wEAnp6euHDhgnI9Xl5euHv3LgCgaNGiOHLkCAAgPT0dDx48UK7n/v37KFiwoFnb9evXAQAVK1bUZW9CTvnDLXc4xYajHldXV/NeJkWKFEFaWpr53F9//aVcD7f4cKt1bvV18+ZNlCxZEsCzPXCy9wmqVasWtmzZolQLN68kl7Xhlsvc9HDzS/I5/+jhpAXglzucvrcAfn5x6wsLFy5s9qh48eLYtWsXAODMmTMgIuV6JH+sU6xYMVy5cgUAUKpUKaxfvx4AsHfvXjg5OSnVAvCKDUc93GqLW/5wq3Vu8eGkh1ttcYoNRz3c/JK+UBvpC7XhlM+ctAD8vOKWy9z0cPOL21yF3n7JJPwrpEKFCjh06BAAoHr16hg7diy2b9+OESNGmE1WSaVKlbB3714AQN26dTFs2DAsWLAAH330ESpUqKBcT506dbBhwwYAQNu2bdG/f3/06NEDHTp0QMOGDZXrKVOmjPnBYXh4OP7973/j0qVLmDFjBooUKaJcD6f84ZY7nGLDUc/rr7+Obdu2AQCaNWuGgQMH4quvvkJMTAxef/115Xq4xYdbrXOrr5IlS+LMmTMAgNDQUCxduhQAsGrVKhQoUECpFm5eSS5rwy2Xuenh5pfkc/7Rw0kLwC93OH1vAfz84tYXNmjQACtXrgQAdOvWDQMGDEDjxo3Rvn17tG7dWrkeyR/rtG7dGgkJCQCAfv36YejQoQgJCUF0dDRiYmKUagF4xYajHm61xS1/uNU6t/hw0sOttjjFhqMebn5JX6iN9IXacMpnTloAfl5xy2Vuerj5xW2uQne/8vy39v8g1q5da95nLzU1lcqUKUMGg4F8fX0pISFBuZ69e/dSYmIiERH9+eef1KRJE3J3d6fKlSubl+dRyY0bN+jSpUtERJSZmUlff/01tWjRgj7++GO6efOmcj3z5s2jWbNmERHRvn37yNfXl4xGIzk7O9PixYuV6+GUP9xyh1NsOOpJS0szLxN77949+uCDD6hixYrUpk0b87JcKuEWH261zq2+JkyYQJMnTyYiog0bNpCzszM5OTmR0WikSZMmKdXCzSvJZW245TI3Pdz8knzOP3o4aSHilzucvreI+PnFrS/MzMykjIwM8+dFixZRv3796Ntvv6XHjx8r1yP58/Ls3LmTxo8fTytXrtTl+txiw00Pt9p6Eb3zh1utv4je8XkRPfVwq60XEa8s4eaX9IXaSF+oDad85qQlN/T2ilsuc9PzInr7xW2uQm+/DEQ6rM3yD+LmzZvw8vKCwWDQW4pggwcPHuD48eMoXrw4fH199ZYDQPJHC26x4aaHG5ziw7HWOXHu3Dns378fwcHBCAsL01ULR68kl4X/FI5+ST7nDz2ctGTDKXc4fW8BPP0SrCP5k3/gFhtuegRtuNW6YB2prfyF+JW/kL5QG075zEkLR7jlMjc9gjaq/ZJJeEEQBEEQBEEQBEEQBEEQBEEQBEEQBEF4Rcie8IIgCIIgCIIgCIIgCIIgCIIgCIIgCILwipBJeEEQBEEQBEEQBEEQBEEQBEEQBEEQBEF4RcgkvCAIgiAIgiAIgiAIgiAIgiAIgiAIgiC8ImQSXhAEQRAEQRAEQRAEQRAEQRAEQRAEQRBeETIJr4gtW7bg9u3besswM3fuXKSlpektw0xMTAzmzZuntwwz58+fR2Zmpt4yzHDKH265wyk2AD89I0aMwNatW/WWYYZbfLjVOrf64gQ3rySXteGWy9z0cPNL8lkbTno4aQH45Q43uPnFrS9s0KABvvzySzx48EBvKSzhlD9BQUHo3r07Ll++rLcUALxiA/DTw622uOUPN7jFh5MebrXFKTYAPz3c/JK+MH/BLT6c8pmTFoCfV4I23PziNlehApmEV0S9evVQsmRJjB8/Xm8pAICuXbuiXLly6Nevn95SAACnT5/G0KFDERERobcUAEBgYCDKlSuHZcuW6S0FAK/84ZY7nGID8NMza9YsNGnSBC1atNBbCgB+8eFW69zqy2g0okGDBti/f7/eUth5JbmsDbdc5qaHm1+Sz9pw0sNJC8Avdzh9bwH8/OLWFxYvXhwJCQkIDQ3VWwoAyR8tunTpgszMTERGRuotBQCv2AD89HCrLW75w63WucWHkx5utcUpNgA/Pdz8kr5QG+kLteGUz5y0APy84pbL3PRw84vbXIUKvwxERHn2fxfMnDt3DqdPn8aaNWswduxYveUAAM6cOYM1a9agT58+eksxk5KSgnLlyuktA5s3b8bp06exdu1aLFmyRG857PKHU+5wiw03PQDw8OFDJCUloVmzZnpLYRcfbrUO8Kqv2bNn4+zZs1i7di127dqlqxZuXkku24ZTLgO89HDzS/I5/+jhpAXglzucvrcAfn4BvPrCbO7cuQMPDw+9ZUj+5CO4xYabnmy41BY3uNW6YB2utSXkDle/pC/MHekLteGUz5y0cIRbLnPTwxFOcxUq/JJJeEEQBEEQBEEQBEEQBEEQXglnzpxBQEAA7O3t9ZYiCIIgCIIgCLohy9HnAU+ePMHFixdx/vx5i4MLT58+1UXPxYsXce/evRztGRkZ2LJli3I9L0JErPZXiY+Px19//aW3DGRkZCA1NZXNfp+pqalISEjAqVOnlF+bgx8vcu3aNSQmJpr9+fPPPzF27FiMHj0af/zxh266zp8/j927d2Pv3r24ceOGbjqyuX37Nk6cOIETJ06wyeUX0atv5oz0y/mDp0+fYsOGDfjpp5+wceNG5Z5xWeLLFn/++SeuXr2qqwbpm4VXwZ9//snq+2rTpk14+PCh3jLYoXff3K9fv3yz15/ev0vIzMzEn3/+ievXr+umISUlBX369EGlSpVQpEgRFClSBJUqVUKfPn2QkpKimy4hd44dO4ZZs2bh+PHjAIDjx4+jd+/eiImJQWJios7qnlGmTBmkpqbqLUN3Dhw4gDNnzpg/z5s3D5GRkQgICECtWrWwePFipXpatGiBefPmsf7e1HPMfOXKFQwbNgwNGjRA2bJlUb58ebRo0QI//fSTLvel0jdr8/DhQ2zbti3XWDx69Ahz585VqmfDhg0YPny4uR/esmULmjZtigYNGmDWrFlKtViDy7j58uXLGD58ODp16oR//etf5u8zPXn8+DHS0tLw+PFjvaXoztSpUxEdHW3+jpo3bx7KlSuH0NBQDBkyBE+fPtVZIR8eP37MOmcuXLiAmJgYXa6dnp6O9evXY/78+Zg7d67F8Y+DhFfGyZMnqVatWmQ0Gi0Og8FARqNRb3lmkpOTleq5fPkyvfbaa2Q0GsnOzo7ee+89unv3rvn81atXlerJyMigzz77jOrUqUPDhg0jIqKxY8eSyWQiR0dHio6OpsePHyvTc/v27RxHeno6OTg40O7du81tKhgzZgw9ePCAiIiePn1KAwcOJEdHRzIajWRvb0/dunWjJ0+eKNFCRDRq1CjauHEjERHdvHmTGjZsSAaDwVxTb775Jt26dUuZHqPRSA0aNKAFCxbQo0ePlF3XGklJSeTq6koGg4EKFy5MycnJVKxYMQoJCaEyZcqQk5MTrVu3TqmmadOmUfHixXP0g5GRkbRv3z6lWoiIfvjhBypbtmwOPWXLlqUff/xRuR4tVPfN2df88ssvadq0aXT9+nWLc7dv36Zu3bop0SH9sja7d++mp0+fmj+vWrWK6tSpQ/7+/lSlShWaM2eOMi1ERB9++CGtWrWKiIguXLhAoaGhZGdnR4UKFSI7OzuqWLEiXbx4UZkeg8FApUqVoq+++oouXbqk7LrWuHHjBr399tsUEBBAvXr1oqdPn1L37t3N3101atSgy5cvK9UkffN/TkpKCgUFBSm73u+//07du3enuLg4OnbsmMW5mzdvUv369ZVpuXPnDnXq1ImKFy9u7of79OljzuU6deoo7Qut4eDgQCkpKcqvK32zNtl5EhISQqNHj6YrV64ou3ZuPHr0iAYOHEi1a9em0aNHExHRl19+Sa6uruTq6kodOnRQns+//fYb1a5dm5ycnMz9oKenJ3Xu3JnOnTunTMfq1avJ0dGRXn/9dRo+fDh999139N1339Hw4cOpZs2a5OTkRGvXrlWmxxaq+2UiXn3zmjVryNHRkby9vcnZ2ZnWrFlDfn5+1KhRI2rQoAHZ2dlRQkKCMj2tW7fO9TAajdSoUSPzZ1X8+eefFp8PHjxI0dHRVLNmTXr77bcpKSlJmRYiorCwMNqwYQMRPRv/uLi4UGxsLE2fPp0++ugjcnNzo59++kmZHoPBQPb29uTp6Um9evXSZRyYDbcx8969e8nT05OqVKlCtWrVMj+/bN++PRUoUIBq1qxJd+7cUaZH+mZtTpw4QSVKlLAYlz6fL6qfNc+bN4/s7e2pcuXK5ObmRrNmzaICBQrQ+++/TzExMeTo6Eg///yzMj3W0Gvc7OLiQteuXSMioqNHj5KnpycFBwdT27ZtKTQ0lEwmEx06dEiZnlmzZtGOHTuIiOjhw4cUExNDdnZ25uffH3zwgbLnvm5ubhQTE0Pbt29Xcj1bfPnll+Tu7k5vv/02FS5cmEaPHk0+Pj40cuRIGjVqFPn5+Zmf26kiOTmZ3nvvPQoKCiJnZ2cymUxUoUIF+vzzz3W5H12/fj01bdqUChQoYB7DFyhQgJo2bWr+zueCHs+aiYhWrlxJ7u7uZDAYyNPTkwoUKGA+vLy8lOt5+PAhjR07lpo2bUpVqlShSpUqWRx5jUzCv0Jq1qxJderUodWrV9PBgwcpOTnZ4uCC6uKLjo6m6tWr0969e2nDhg1UpUoVqlq1Kt28eZOIng2MDAaDMj2ff/45FSpUiD7++GMqV64c9erViwICAmj+/Pk0Z84cKlq0KI0ZM0aZnhcfQL/48obKlziMRqP5pvWbb74hLy8vmjlzJh09epTmz59PBQsWVBqbYsWK0YEDB4iI6P3336dKlSrRgQMH6OHDh5ScnEyvv/46de/eXZkeg8FAb775Jjk6OpKXlxd9+OGHdPDgQWXXf5FatWpR37596e7du/TNN99Q0aJFqW/fvubz//rXv6hmzZrK9HzzzTfk7+9PU6ZMMU+wjBgxgtasWUPvvfcemUwm2rt3rzI92ZO4gwcPpqSkJEpJSaGUlBRKSkqiTz/9lFxdXembb75RpscWqvvmdevWkaOjI5UvX56KFy9OPj4+lJiYaD6v8qZV+mXberL75pUrV5LRaKTo6GiaNm0avf/++2Rvb0/Lli1TpqdQoUL0xx9/EBFRu3btqFGjRuaXOG7cuEFvvfUWvfPOO8r0GAwG6tGjBxUsWJDs7e2pefPmtHz5covJMZXExMRQhQoVaMqUKVS3bl1q2bIlhYWF0bZt22jHjh302muvUXR0tDI90jf/d6jsmxcsWEB2dnbUvHlzqlWrFjk7O9P8+fPN51U/TPzwww8pNDSUvv32W6pXrx61bNmSKlSoQNu2baPNmzdTuXLlaMiQIcr0vHijnH0YDAYqW7asshvobKRv1sZgMNDGjRupf//+5OvrSw4ODhQVFUWrVq2izMxMZTqyGTBgAPn7+9PAgQOpbNmy1KdPHypevDjNnz+fFi5cSMHBwdSvXz9leubOnUvu7u40cOBA+uyzz6hw4cI0ePBgmj59OtWtW5d8fX3p5MmTSrSEhYXR0KFDrZ4fPnw4VaxYUYmWl0H1mJlb31yjRg367LPPiIho0aJF5OXlZdEXDx48mBo3bqxMj8FgoLp161LXrl0tDqPRSK1atTJ/VsXzffP27dvJwcGB6tatS3FxcdS4cWOyt7enzZs3K9Pj4uJCZ8+eJaJn32Pff/+9xfkFCxZQuXLllOkxGAx09OhRmjhxIlWsWJGMRiOFh4fTlClTzM/oVMFtzBwZGUlffPGF+fO8efOoevXqRPTsZZuIiAiKjY1Vpkf6Zm1atWpFzZs3p+vXr1Nqaio1b96cgoKCzC+xqe6bIyIiaPLkyUREtHHjRnJxcaEJEyaYz48bN44iIyOV6eE2bjYYDOa+uWXLltSiRQvKyMggIqLMzEx699136a233lKmJygoiHbt2kVEz56dBgYG0rJly+jYsWO0YsUKKl26NMXFxSnRYjAYqHz58mQwGCg0NJTGjRtnfmFBD0qVKkX/93//R0TP6trOzs5i3LNs2TIKDg5Wpmft2rXk4uJCb7/9NnXu3JlMJhN9+OGHNGjQIAoODqZSpUopfdl39uzZZG9vT++++y7NmjWLVq9eTatXr6ZZs2ZRhw4dyMHBgebOnatMz6+//qp5TJw4UZdJ+JCQEOrfvz/dv39f+bVzo2PHjuTr60u9evWi4cOH0xdffGFx5DUyCf8KMZlMOd6K1gNrX7TZR2hoqNLi8/f3p927d5s/P3r0iFq0aEERERF048YN5QOjkiVLmn8lkpqaSkajkRYvXmw+v2TJEqpQoYIyPUWLFqXmzZtTYmIibdq0iTZt2kRJSUlkZ2dHs2bNMrep4PlBUaVKlejf//63xfn58+dT+fLllWghInJycjLfsAYGBua4Wd63bx8VKVJEmZ7s+Fy/fp3GjRtH5cqVI6PRSJUrV6bvvvtO+dt3Hh4edOrUKSJ69ktie3t7i5cCTp48SZ6ensr0BAYG0urVq82fT5w4QT4+PuaBdWxsrNIHQsWLF6clS5ZYPb948WIKCAhQpodb31yjRg3zA7usrCwaM2YMubm50Zo1a4hI7U2r9MvaPN8316pViwYPHmxx/quvvqLXX39dmR5nZ2c6ffo0ET17Wer573gioj/++IN8fX2V6cmOT0ZGBv3yyy/UrFkz868/P/nkEzpx4oQyLURERYoUMb/Fnv2i4fr1683nt23bRkWLFlWmR/pmbQYMGKB5dO7cWVlf+PzDO6JnfZ+rq6t5dQDVY+aAgADzy1mXLl0ig8Fg7quJnv2Kt0yZMsr02Nvb05tvvmlxszx8+HAyGo3Up08fZTfQ2UjfrM3z8Xny5AktWbKEmjRpQnZ2duTv709Dhgyh1NRUZXoCAgLMv0xJS0sjo9FIK1asMJ9fv349lShRQpme0NBQi7HO3r17qVixYpSVlUVERO3bt1f262FnZ2c6fvy41fPHjx8nZ2dnJVqIePXLRPz6Zg8PD3PtZGZmkr29vfnFdaJntV6oUCFlehYtWkTFihWjmTNnWrTb29vT0aNHlenI5vm+p3HjxhQTE2Nxvn///tSgQQNlenx8fMy/Ni9YsGCOH+icOnWKXFxclOl5Pj5Ez1Z16dmzJ3l6epKLiwt16NBB2UoK3MbMLi4ulJaWZv6cmZlJDg4OdPXqVSJ69j3h7++vTI/0zdoULFiQDh8+bP6clZVFvXr1ouLFi1NaWpryvtnV1dU8DiN69ovz53/ZfezYMfLx8VGmh/O4OSAggLZs2WJx/sCBA0qf7zo5OZlf2ChdurT5OVg2mzdvpuLFiyvRkh2b5ORk+vDDD8nb25scHR2pTZs2tHr1avPYUBUuLi4WKzI5ODjQkSNHzJ/Pnj1LJpNJmZ6IiAiaPn26+fP69espNDSUiJ7dYzRs2FDpy34hISE0depUq+enTZum9CWF538sZO3QYxLeZDJZfKfqjYeHB23btk2368sk/CukatWqtHXrVr1lkJOTE3Xp0iXHGx3ZxwcffKB8IPLiW/wZGRnUqlUrCgsLo8OHDyvV4+zsTOfPn7f4/PzLE6dPnyZ3d3dlem7cuEGtWrWi+vXrWywRqcdNq8FgML9t5+PjY/41TTanT59W+kVbunRp+u2334jo2VuKLy7Nc/DgQfLw8FCm58UbViKiHTt2UExMDLm7u5PJZKL33ntPmR5fX1/zQOj+/ftkNBpp586d5vOHDh1S+rDVZDLRmTNnzJ+zsrLI3t7evCRYcnIyubm5KdPj7OysuczW0aNHlT7w4NY3P/8SRzYLFiwgV1dXWrVqldKbVumXtXm+7ylYsGCOZSOPHz9OBQoUUKYnLCzMPHFQtmzZHMtt7dixg7y9vZXpya1vvnjxIo0YMYJKlixJRqORateurUyPyWQyv0BG9Oym9fnv09OnT5Orq6tSPdI3Wyf7Zbp69erlelStWlVZX/jiwzsiosTERHJzc6Pp06crf5jo5ORk0TebTCaLl1pUP4DZtm0blSpVioYNG2bxS2rpm5+RH/pmIqJz587R8OHDqUSJEkrz2dYDxTNnzijNZxcXF4u+mehZLmdvq7J7925l+RMaGkrjx4+3en78+PFKX7jh1C8T8eubXxzDu7m5WTzkPHv2rNKJOaJn9RMZGUlt2rQx/5qaQ99cpEgRi/tjIqIjR44ovUfu3LmzefW+tm3b0ueff25xftSoUUp/zWytb75//z7NmjXLvMWmCriNmUuUKGHxgP7y5ctkMBjMWzaeOXNGaW1J36yNu7t7rvcUffv2pWLFitGWLVuU6ilQoIDFSxMv9s2qn6dyGzcbjUbz8+YSJUrkWHr+9OnTSuurRIkS5peNixYtmmNluJSUFGX9z4v98qNHj2jhwoXUsGFDMhqNVKxYMc1VMV41QUFB5pcSTp48SUajkZYuXWo+//vvv1NgYKAyPc7OzjmeZzg4OJifZ2zZsoX8/PyU6XFycmL1gpS/v7/Fi8UvcvDgQV0m4Vu3bq354wvVlC1bVumWFy8ik/CvkISEBKpRowYlJSXRX3/9lWM/WVVUqVKFvvvuO6vnVRdfxYoV6ZdffsnRnj0Rn71HqSoKFSpk8bZkzZo1LSZZjh07pnRiN5vvvvuO/P39aeHChUSk3yT8V199RZMnT6YiRYrk+OX5oUOHlO7b8c0331DZsmUpNTWVxo8fTzVq1DA/cDh9+jTVq1dP6bKazy9t9yL37t2jH3/8Ueny7y1btqS33nqLtm3bRj179qSqVatS8+bN6d69e3T//n1655136M0331SmJyIiwmJ5vYSEBDKZTOa3No8fP650IrV27doUHR1t/rXn8zx9+pSio6OpTp06yvRw65v9/Pxy3QNw0aJFZDKZaPr06cr0SL+sjcFgoKSkJDp06BCVKFGC9uzZY3H++PHjSidRZ82aRcWKFaOkpCSaO3culS1bljZu3EiXLl2ixMREqlixIr3//vvK9Gj1zUTPlgPs2LGjMj3h4eHmN6NXr15N7u7uFg/Qpk+frnRlB+mbtSldujTNmzfP6nmVfXNukwVERJs2bSI3Nzf67LPPlK9mtX//fvPnDh06WNTakSNHlO/nlp6eTu+++y5Vr17dPCaUvvkZ3PpmaxM92WRlZVn84jGvKVOmjPklhT179pCjo6PFL3cXL15MISEhyvSULVvWYm/Y/fv3k6Ojo3krldTUVGUPf5cuXUr29vbUokULmjx5Mi1evJgWL15MkydPpqioKHJ0dMz1fj6v4NQvE/Hrm8PCwix+sffHH39YfKdu2bJF6b7M2WRmZtKwYcMoICCA1q5dSw4ODrr1zadOnaLbt29TUFCQxSoBRM9+ea5yIuzSpUsUGBhIderUoY8//phcXFyoVq1a1KNHD6pTpw45OjrS77//rkyPrb6ZiJStIsVtzNy/f3+qUKECrVmzhhITE6l+/fpUr1498/m1a9dSqVKllOmRvlmb1157zeqSz3379jXv1ayKqlWrWkyE3b592+IXzBs2bKDSpUsr00PEb9ycvRe0g4NDjlxav3690ondIUOGUI0aNejWrVs0ePBgatGiBd29e5eInr2U1K5dO3rjjTeUaNF6nnHmzBn6/PPPla4U9/nnn5Ofnx+9//77FBQURIMHD6bixYvT9OnTacaMGRQQEEADBgxQpqdUqVK0du1a8+fU1FSys7Ojx48fE9Gz+QGVL/FXrlxZc6uCTz75hCpXrqxMT4sWLTRf0khOTla6DXQ2P/74IxUvXpyGDx9Ov/zyS45l8lWzevVqevPNNy1e/lOJTMK/Qp5f4iG3PWRVERsbS/3797d6/tSpUxYDybzmk08+sfrFlZGRQVFRUUrjU79+fZo9e7bV80uXLqUqVaoo0/M8R48epfDwcOrQoYMuA6MSJUpQYGCg+Zg4caLF+UmTJildVpOIqF+/fuTg4EChoaHk7OxMRqORHB0dyWg0UtWqVZXu+/IyN6wqOXnyJIWEhJj3dLp48SJFRUWRvb092dvbk5+fn8XD87xmyZIl5ODgQO3ataPo6Ghyc3OzWJp1xowZVKNGDWV6Dh06RIULFyYfHx9q3bo19erVi3r16kWtW7cmHx8fKlKkSI7VHvISbn1z48aNre67vHDhQnJwcFDWN0u/rM2Ly0u92DcvWrRI6V6SRM9+eWEymcjFxcXcJ2cfrVq1Mt/AqoBb3zx//nyys7Oj4OBgcnJyop9//pn8/f2pXbt29O6775Kjo6Pm8mWvGumbtenYsSN99NFHVs+rvGlt2bIlDRs2LNdzSUlJ5OrqqnTM/Oabb9KMGTOsnp81a5bSlw+fZ+bMmVS4cGH697//retEj/TN1gkMDKS//vpL2fVsMXHiRHJ2dqZGjRqRl5cXffvtt1S4cGH65JNPaPDgweTp6UkjRoxQpmfq1Knk6elJn3zyCQ0bNoz8/f3Nv5YlevZdonKv1u3bt1P79u2pePHi5OjoSI6OjlS8eHFq37497dixQ5kOIl79MhG/vnn69Onm1eJy49NPP7XIJdVs3bqVgoKCyGg06to3Z/fPL+7B/uuvvypdJpaI6NatWzRo0CAqV64cOTs7k6OjI5UoUYI6duyY49eXeU29evXo1q1bSq9pDW5j5rt371K7du3I3t6eDAYD1axZ02IVjHXr1ln8GlQF0jdbZ9SoUdS0aVOr53v37q1Uz7Jly3L8kOl5vv766xwrYaiCw7h59uzZFseLL7eNGDFC6cTu48ePKSoqiry8vKhx48bk7OxMJpOJQkJCyNXVlYoXL67shaSXeZ6hckn6zMxM+uqrr+itt96iUaNGUVZWFi1atIgCAgLIx8eHunbtSvfu3VOmJz4+nooVK0bTp0+nmTNnUoUKFSy2bFq2bJnSe67ssV/FihVpwIABNHr0aBo9ejQNGDCAwsLCyM3NTbMveNVs2bIlx3YKz3Pv3j2l22lmw215/GvXrlG9evXIaDSSm5sbeXl5WRx5jYGICMIrYfPmzZrn69atq0gJL54+fYoHDx7Aw8PD6vlLly6hRIkSSvScPHkSDg4OCAoKyvX8woULYW9vj3bt2inR8yJPnjzB4MGDkZSUhGXLllnVqQe7du2Ck5MTKlWqpPS6x44dw2+//YbTp08jKysLRYoUQWRkJBo1agSDwaBMx5w5c/Duu+/CyclJ2TVfhhs3bsDHx8f8OSEhAQ8fPkSNGjUs2lWwZs0azJ8/H48fP0aTJk3Qo0cPC50AlGq6e/cu5s+fj127duHq1asAgMKFC6NGjRro2LGj1X7pn8Dy5cuxZcsWTJw4MdfzCxcuxA8//ICkpKQ81yL9sjbnzp2z+Ozm5mZRR3PnzgUAREdHK9WVnp6ODRs25OibQ0JClOrYvHkzIiMjYW9vr/S6Wmzfvh27du1CjRo1ULNmTaSkpGD06NF48OABWrRogS5duijVI32zda5evYrHjx8rG4dqsXnzZuzYsQOffvpprueTkpIwd+5czJo1S4memzdvwmg0okCBArmeX7NmDVxcXFCvXj0lel4kNTUVnTp1wr59+3DkyBGUK1dO6fWlb85/LFy4EDt37kTNmjXRoUMHbNq0CcOGDTP3zUOHDoXRaFSmZ/r06RZ989ChQ+Hs7AzgWX5nZmYiNDRUmR4ucOqXAX59c37g3r17SEtLQ2hoqPJ75xefyxUpUgSlS5c2f548eTKePHmCuLg4pbqE3OE2ZgaAR48e4enTp3Bzc1N+bc5w65uFv4fe42aurF27FqtWrcoxbu7YsSNcXV2VaIiPj0dcXBxMJpOS6+U3nj59is8++8xizDx58mT4+voCAPbs2YNHjx6hTp06yjSdPXsW06dPz/V5Rq9evRAYGKhMi/ByNGrUCOfPn0f37t1RqFChHPNJeT3ekEl4AX369MGIESPMnZfeeHh4IDk5GSVLltRbCgBg9OjR6NWrl9UHkKrh5Ffz5s3x448/okiRInpLASBe2UL8EgRBEAThf4msrCzcvXsXHh4eSl/MFIR/AkSErKws2NnZ6S1FyIdI/uQvxK/8w+zZs9G6dWt4enrqLYUlmzZtQvXq1eHi4qK3FAC8/OI4buYUH0EbbrUlCH8Hk8mEnTt3Ijw8XJfrq3vN+x9Ceno6xo8fj/fffx/vv/8+Jk6ciNu3b+stS5P58+fjzp07essww+29kFGjRuHmzZt6yzDDya8tW7bg4cOHesswI15pI35ZkpGRgfPnz+t2/Re5f/8+tmzZorcMljx9+lS80kDio82tW7fMv0gVcsItfwR+ZGVl5dpORLrnjtFohKenJ5sHiRyw5ldWVpZyvw4dOoSRI0fiu+++w19//WVx7s6dO4iJiVGqR8idp0+f4vPPP0fdunUxfPhwAMA333wDNzc3mEwmdOnSBU+ePNFZJfDnn3/q2udkZmZafN69eze2bNmCjIwM5Vp+/PFHdOnSxfzr+yVLlqBs2bIoWbKk2UNVSP7YRvz6e4hX2vTs2ROXL1/WW4aZ+Pj4HN/xevLGG2/g7Nmzessww8kvo9GISZMmmVdC4wCn+AC88rlbt26sYsOttmbPns1qzk2P8SAAXLt2zeJzcnIyunTpgsjISLzzzjvYtGmTLrqAZ88GV69ejRkzZuDbb7+1OFQTGhqq75xIni94/w9i79695O3tTUWLFqXWrVtT69atqVixYuTj46N0X+a/i5ubG6Wlpektw4zo0YaTHk5aiESPLUSPJcnJybrsQ2MN0WMdTlqIRI8tRI82/3Q9T548obi4OCpVqhS99tpr9NNPP1mcv3r1qvL4TJs2jRo2bEht27aljRs3Wpy7fv06BQUFKdHBLTa3b9+mtm3bkrOzMxUsWJCGDh1KT58+1U0PER+viMQvW6xbt44cHR2pfPnyVLx4cfLx8aHExETd9BAR/f7779S9e3eKi4ujY8eOWZy7efMm1a9fX6keLvn8+eefU6FChejjjz+mcuXKUa9evSggIIDmz59Pc+bMoaJFi9KYMWOUaCEiunPnDnXq1ImKFy9O0dHR9PjxY+rTp495D8k6derQ7du3lem5fPky1axZk+zs7KhOnTp08+ZNat68uXlfy9KlS9Ply5eV6Zk4cSK5urpSmzZtqEiRIjRy5Ejy8fGhkSNHUnx8PHl4eNC///1vZXokf7QRv6wjXmnz4n612YfBYCBPT09l+9hmc/v27RxHeno6OTg40O7du81tqqhUqVKuh8FgoLJly5o/q0L80kbiY51Dhw7lejg4ONDy5cvNn1XBrbas4eDgQCkpKcqvu2TJEnr8+LH585QpU6h48eJkNBrJx8eH4uPjleoxGo30559/EhHR9u3bycHBgerWrUtxcXHUuHFjsre3V7pHfTYHDhygwoULk4eHB9nZ2ZGfnx8ZDAZydXVVes+ezbp166hmzZqUlJREf/31V476z2tkEv4VUqtWLeratStlZGSY2zIyMqhLly5Uu3ZtHZVpo/dE2IuIHm046eGkhUj02EL0WPJPnwizRXJyMhkMBr1lEBHP2Ige66jWk9sN9PPH1q1b2cWHS20Rqfdr+PDhVKhQIfrmm2/os88+I09PT+rZs6f5/NWrV5XGZ/LkyWQymahv377UuXNncnR0pFGjRlnoURUfbrGJjY2l0qVL088//0w//PADlShRgpo3b25+6PBP9opI/LJFjRo1aMiQIURElJWVRWPGjCE3Nzdas2aNWY9KvxYsWEB2dnbUvHlzqlWrFjk7O9P8+fPN51Xr4ZTPJUuWpFWrVhERUWpqKhmNRlq8eLH5/JIlS6hChQpKtBARffjhhxQaGkrffvst1atXj1q2bEkVKlSgbdu20ebNm6lcuXLm3FLBe++9RzVr1qSVK1dS+/btqWbNmlS7dm26ePEinTt3jiIjI6lv377K9ISGhtKCBQuI6NkDTnt7e/rxxx/N53/88UeqUqWKMj2SP9qIX9YRr7Rxc3Oj5s2b0+zZs83HrFmzyM7Ojr766itzmyqMRmOuR/ZLE9n/VYW9vT29+eab9MUXX5iP4cOHk9FopD59+pjbVCF+aSPxsc7z13zxkNri9wLH85PeM2fOJGdnZxo2bBj9/vvvNHLkSHJ1daUffvhBmR6DwWDW07hxY4qJibE4379/f2rQoIEyPdnUrVuXevToQZmZmebn/+fPn6c6derQ//3f/ynX83xN5VbzeY1Mwr9CnJ2dc7xRT0R09OhRcnFx0UHRy6H3RNiLiB5tOOnhpIVI9Njin6bH2tub2UdoaKjSgay1gWP24eHhoVRP9oot1o4GDRoo0yNeaSPx0Sa3gbQeg+psONUWEb/8CQ4ONj/8JXr2ADg4OJi6du1KWVlZyifCypUrZ37gSvTs7XE/Pz8aOnQoEamdCOMWm+LFi1NSUpL58/Xr16latWr0xhtv0KNHj/7RXhGJX7bw8PCgU6dOWbQtWLCAXF1dadWqVcr1RERE0OTJk82flyxZQq6uruYJln9yPjs7O9P58+ctPj//XOP06dPk7u6uRAsRUUBAgHnVhEuXLpHBYLCotd9++43KlCmjTE+RIkVo586dRER048YNMhgMFisXJCQkUMmSJZXpcXFxoXPnzpk/Ozk50ZEjR8yfU1NTqUCBAsr0SP5oI35ZR7zSJjU1lV577TWKjo6mu3fvmtvt7e3p6NGjynRkU7RoUWrevDklJibSpk2baNOmTZSUlER2dnY0a9Ysc5sqtm3bRqVKlaJhw4ZRZmamuV2v+Ihf2kh8rBMeHk7NmzenY8eO0dmzZ+ns2bN05swZsre3pw0bNpjbVMGttri9wPH8pHe1atVo7NixFue/++47pSsFPK/n+TFrNkeOHCFfX19lerLx9PSk48ePm//OXrVg165dSr/bs8muaWtHXmOv30L4/3t4eHjg/PnzCA0NtWi/cOEC3N3ddVKV/5A9HQVBeBWkpKTg3XffRVBQUK7nr1y5gpMnTyrT8/jxY/Tu3RsVK1bM9fy5c+cQHx+vTM+qVavQuHFjFCpUKNfzL+57mZeIV9pIfLRxd3fHZ599hurVq+d6PjU1FR988IEyPZxqC+CXP5cuXUKFChXMn4ODg7Fp0yY0aNAA7733HsaOHatMCwCcOXMGNWvWNH+uWbMmEhMT0ahRI2RkZOCjjz5SpoVbbK5fv44SJUqYP/v6+mLjxo1o0qQJmjVrhh9//FGpHk5eAeKXLZycnJCenm7R1rFjRxiNRrRv3x7jx49Xqic1NRUtWrQwf27Xrh38/PwQFRWFjIwMtG7dWqkeTvns6emJ9PR0BAQEAAAqV65s8fzi8ePHSu/Rr127huDgYACAv78/XFxcULp0afP5ChUq4MKFC8r03Lp1C0WLFgUAeHt7w2QyWdRacHAwrly5okyPyWTC/fv3zZ/9/Pzg5uZm8W+ePn2qTI/kjzbil3XEK22Cg4OxY8cOfPbZZ4iIiMCcOXMQGRmp7PovcvjwYXTv3h1ffvkl5s2bZ+4XDQYDqlWrhnLlyinVExkZif3796NXr16oWbMmFixYgFKlSinV8DzilzYSH+vs2bMHn3zyCd5++23Mnz8flSpVMp/z9/e3GHOogFttHTx4EB07dkRiYiKmTZtm7pd79OiBVq1aKc9l4P/NXZ0+fRpvvPGGxbk33ngDgwYNUqrn7t27cHZ2hrOzM5ycnCzOOTs748GDB0r1AICDgwOMRiMAoGDBgjh//jzKli0LT09Ppd/t2dStW1f5NZ9HJuFfIe3bt0f37t0xbtw48w319u3bERcXhw4dOuisLv9ARHpLEAThf4AKFSqgevXq6N27d67nk5OT8cMPPyjTExERgYCAAHTp0iXX84cOHVI6cVm2bFm8/fbb6N69e67nk5OT8dtvvynRIl5pI/HRpnLlygCsD6oLFCigdGzBqbYAfvlTuHBhpKWlITAw0NxWtGhRJCUloX79+ujatasyLcCzicoLFy5Y6KlQoQISExPRoEEDXL58WZkWbrEpXrw4jh07ZvECh7u7O9avX4833nhD+aQlJ68A8csWERERSEpKQpUqVSza3333XRCR1e+QvMLDwwN//vmnRXzq16+P3377DW+99RYuXryoVA+nfC5XrhwOHDhgfrlu+/btFuf/+OMPhISEKNPj4+OD69evmycJW7ZsiQIFCpjP37t3L8cDxrykYMGCuHLlilnPhx9+CG9vb/P5W7duwdXVVZme0NBQHD58GGXLlgWAHA8yjx8/bpFXeY3kjzbil3XEK9vY29tjzJgxaNKkCTp27IhOnTrp9sMlb29vLF++HNOnT0e1atUwbtw43Z91e3p6YtGiRZg1axZq1aqF+Ph4XX/YJX5pI/HJHUdHR0yaNAlr1qxBVFQU+vTpo3wS90U41Ra3FzgAYO3atfD09Mx1gvvRo0fKY5X9AhsRYd++fRYvchw9ehT+/v5K9QBApUqVsHfvXoSEhKBu3boYNmwY/vrrL8ybN8/iRXaVPHr0CIcPH8a1a9eQlZVlcS4qKipPr23M0//7P4xx48ahTZs2iI6ORmBgIAIDA9G1a1e88847GDNmjN7yrNK5c2d4eHjoLcPMmjVrzG+gcaB27dpwcXHRW4YZTn4NGTLE4gGE3ohX2vzT/IqMjMSJEyesnnd3d0edOnXy7Pov0rx58xy/CHseb29vREdHK9NTpUoVHDhwwOp5JycnFC9eXIkW8UobiY82HTt2hLOzs9XzhQsXxvDhw5Xp4VRbAL/8adCgARYuXJij3d/fH4mJiThz5owyLQBQq1YtLFu2LEd7uXLlkJCQgDVr1ijTwi02b7zxBmbNmpWj3c3NDevWrdOsu7yAk1eA+GWL3r1749KlS7me69ChA2bPnq2076lWrVquOVK3bl2sWrUKkyZNUqYF4JXPM2bM0PQiIyMDn3zyiTI9YWFh2Lt3r/nzwoULUbBgQfPnvXv3mifJVBAREYGdO3eaP48ePdrinmrbtm0ICwtTpmfMmDEoU6aM1fPnz59XugKQ5I824pd1xKuXp0GDBjhw4ACOHz8OV1dX2NnZ6aIDePb9vmHDBowZMwYdO3bUTcfzdOvWDVu2bMGPP/6odLUCa4hf2kh8cqdp06bYt28ftm7dinr16umqJRsutZX9Asf333+Pjh07YsiQIbq+cNOlSxe0atUKly5dQmJiosW5Xbt2KV05ICkpCYmJiUhMTERSUlKOH6ecOXMGPXv2VKYnm1GjRqFIkSIAgK+++gpeXl7o3bs3rl+/ju+//165nrVr16J48eJ4/fXXERUVhVatWpkPFS+rG0h+dvzKefDgAdLS0gAApUqVgslk0k1Leno69uzZk+sbHiofkAPPll+dPXs2EhISctXzYqelgqysLJw6dSpXPSofCmXDya/U1FQkJSXlqmXYsGFKtQDilS3EL+Hv8vjxY2RmZur6HSUI/4tIbWlz7tw5HD9+HE2aNMn1/OXLl7FhwwZlv5I9fPgw9u/fj27duuV6/siRI/i///s/JS9ycIvNrVu3cPnyZZQvXz7X83fv3sWBAweULe3GyStA/HrVLFq0CFFRUXn2i+LNmzdjx44d+PTTT3M9n5SUhLlz5+b6IkNewC2f/w6jR49Gr169LH6x+iq5efMmjEaj1f//mjVr4OLiwuYB9Z49e2AymXT7VY8t8rq2/i6SP9r8k/wSr14teV1bL/LkyRMMHjwYSUlJWLZsmdWtr1SSlZWFu3fvwsPDI8cEnfjFzy8t/unx+fbbb5GUlIQpU6agWLFiumoBeNXWjRs30KNHDyQlJWHXrl2aL0/pwW+//QYHBwer94h6w60vVEVISAjeeOMNDBs2zOrWkXlKnu86L+jGypUryd3dnQwGA3l6elKBAgXMh5eXl3I9ffv2JVdXV2rXrh3179+fPvroI4tDNTt37qSgoCAyGo1kMBgsDqPRqFwPJ7++//57srOzo0KFClF4eDhFRESYj0qVKinVQiRe2UL8ejX07t2brl+/rrcMM82aNaPLly/rLcPM119/Tbdu3dJbBhGJV7aQ+GhToUIFOn/+vN4yzHCqLSLJH1twig+32HCrLU5eEYlftnB3d6e0tDS9ZZiRvtk63LziFBsifrXOzS9uerjlD7f4cNIjXmnDTY/4pQ03PeKXNpziI+MMbWQMr41KvzIyMmjDhg00Y8YMunPnDhERXbp0ie7evavk+s/j7u5Op06dUn7dbOSX8P8lbdq0wezZs+Hh4YE2bdpo/tvclpvLS0qXLo1mzZph1KhRLH6N5evri7lz56JZs2Z6SwHwbFm50qVLIz4+HkWKFMnxJpenp6dSPZz8KlGiBIs9aLIRr7QRv14NHh4eSE5ORsmSJfWWAuDZEtGHDh1io4dTfDhpAcQrW3CLDzc93Pzipkf8sg632HDTw8krgF98RI823PKHkx7xShtu8RE92kj+aMNJj3ilDTc94pc23PSIX9pwig+32HDTw8krgJ8eVX6dO3cOb775Js6fP4/Hjx/j5MmTKFmyJPr374/Hjx9jxowZeXr9F4mJiUFkZCS6d++u9LrZ2Oty1f8hPD09zRNMuS3JoSeXLl1CbGwsi0lCAHB0dERwcLDeMsykpqbil19+YaOJk1+3bt1C27Zt9ZZhRrzSRvx6Ncg7adpwig8nLRyR+OQvuPnFTQ83JD75B/FK+G/glj/c9HBCYiP8N0j+5B/Eq/yF+JW/EL+0kfjkH7h5xU2PKvr374+qVavi0KFD8PHxMbe3bt0aPXr0UK5n6tSpaNu2LbZu3YqKFSvCwcHB4nxsbGyeXl8m4f9Lnt8zbvbs2foJyYUmTZpg3759bN60GThwICZPnoypU6eyeFmhevXqOHXqFJuJQk5+tW3bFuvXr0evXr30lgJAvLKF+CUIgiAIgiAIgiAIgiAIgiAIgp5s3boVO3bsgKOjo0V7YGAgLl26pFzPokWLsH79ejg7O2PTpk0Wc5MGg0Em4fMTDRo0wLJly1CgQAGL9jt37qBVq1ZITExUqqd58+aIi4tDSkpKrm94REVFKdWzbds2JCUlYc2aNShfvnwOPaqX6+/Xrx8GDhyIq1ev5hqfsLAwpXo4+RUcHIyhQ4di165durwd9CLilTbilyAIgiAIgiAIgiAIgiAIgiAIepKVlYXMzMwc7RcvXoS7u7tyPZ999hni4+MxePBgGI1G5deXSfhXyKZNm/DkyZMc7Y8ePcLWrVuV68le2mHEiBE5zhkMhlwLIS8pUKAAWrdurfSaWrz99tsAnu0JkY3BYAAR6RIfTn59//33cHNzw+bNm7F58+YcWlRP6opX2ohfgiAIgiAIgiAIgiAIgiAIgiDoyRtvvIFJkybh+++/B/BsXuDevXsYPnw4mjVrplzPkydP0L59e10m4AGZhH8lHD582Px3SkoKrl69av6cmZmJtWvXomjRosp1ZWVlKb+mFs8v3c+BM2fO6C3BAk5+cYsNNz2cvAL4xYebHkEQBEEQBIE3JUqUyLF6ksCT2rVrw8XFRW8ZwkvCrbYkf7QRv/IP4lX+QvzKX0h88g/cakvQRpVf48ePR5MmTVCuXDk8evQIHTt2RGpqKnx9fbFo0aI8v/6LdOnSBUuWLMGQIUOUXxuQSfhXQkREBAwGAwwGAxo0aJDjvIuLC6ZMmaKDMp5cv34dJ06cAACUKVMGfn5+uugoUaKELtfNbxARAFjslaEa8erlEb/+czp37gwPDw+9ZZgZMmQIvL299ZZhhtNNkHiljcRHm3//+98oVKiQ3jLMcKotQPLHFpziwy023GqLk1eA+PXkyRNcu3Ytx8usxYsXBwAcOXJEmZaX4Z/aN2dlZeHUqVO5elWnTh0AwOrVq/Ncx9/hn17rnGpL8sc24td/jniVf7wCxC/xyzoSn/+Of/I442X4p47hs+HiV7FixXDo0CEsXrwYhw8fxr1799C9e3d06tRJF38yMzMxduxYrFu3DmFhYTleRJgwYUKeXt9A2TM2wn/MuXPnQEQoWbIk9uzZYzGp7OjoiIIFC8LOzk4XbZs3b8a4ceNw7NgxAEC5cuUQFxeH2rVrK9dy//599OvXD3PnzjV3BHZ2doiOjsaUKVNgMpmUa0pLS8OkSZMs4tO/f3+UKlVKuRaAl19z587FN998g9TUVABA6dKlERcXh/fee0+5FkC8soX4pU16ejr27NmT60AkOjpauZ7U1FQkJSXlqmfYsGHK9bzMTZAqxCttJD7aJCQkICEhIVc9M2fOVK6HU20Bkj+24BQfbrHhVlucvALELy1SU1MRExODHTt2WLTruU2R9M25s2vXLnTs2NH8fON59PKKS2yy4VTr3GpL8kcb8Usb8co63LwCxC8txC9tJD7ayDhDGxnDW4ejX5yoX7++1XMGgwGJiYl5en2ZhP8fZv78+ejWrRvatGmDyMhIAMD27duxfPlyzJ49Gx07dlSq54MPPsDGjRsxdepUs55t27YhNjYWjRs3xvTp05XqWbduHaKiohAREWERn0OHDmHVqlVo3LixUj2c/JowYQKGDh2KDz/80MKradOmYeTIkRgwYIAyLYB4ZQvxS5tVq1ahU6dOuHfvHjw8PCxWCTAYDLh586ZSPT/88AN69+4NX19fFC5cOIeeAwcOKNXD6SZIvNJG4qNNfHw8RowYgapVq6JIkSI5VgRZvny5Uj2caguQ/LEFp/hwiw232uLkFSB+2SIyMhL29vYYPHhwrnrCw8OV6pG+2ToREREoXbo04uPjc/XK09NTmRaAV2wAfrXOrbYkf7QRv6wjXmnDyStA/LKF+KWNxMc6Ms7QRsbw2nDzCwAuX76Mbdu25fqSQmxsrHI9L8PFixfh7+//6veOJ+GVMWfOHM1DNaGhoTRhwoQc7ePHj6fQ0FDlenx8fCgpKSlHe2JiIvn6+irXExERQYMGDcrRPmjQIKpUqZJyPZz8CgwMzDVnZ8+eTYGBgUq1EIlXthC/tAkJCaH+/fvT/fv3lV87N4oXL06jR4/WW4aZ8PBwatu2LaWkpNCtW7coPT3d4lCJeKWNxEebwoUL09y5c/WWYYZTbRFJ/tiCU3y4xYZbbXHyikj8soXJZKJjx47pLcOM9M3WMZlMlJqaqrcMM5xiQ8Sv1rnVluSPNuKXdcQrbTh5RSR+2UL80kbiYx0ZZ2gjY3htuPk1a9YscnR0JDc3NypRogQFBgaaj6CgIL3lWcXd3Z3S0tJe+f9XJuFfIQUKFLA4XF1dyWAwkJOTE3l5eSnX4+jomOsXW2pqKjk5OSnX4+LiQikpKTnajxw5QiaTSbkeJycnOnnyZI72EydO6BIfTn45OTnlquXkyZO6xEa80kb80sZkMuXJF+h/Sl59of+ncLoJEq+0kfho4+3tTadOndJbhhlOtUUk+WMLTvHhFhuOtcUpPuKXNlWrVqWtW7fqLcOM9M3WqV+/Pq1Zs0ZvGWY4xYaIX61zqy3JH23EL+uIV9pw8opI/LKF+KWNxMc6Ms7QRsbw2nDzq1ixYjRy5EjKzMzUW8rfws3NLU98fcW/q/9nc+vWLYvj3r17OHHiBGrVqoVFixYp1xMQEICEhIQc7Rs3bkRAQIByPTVq1MDw4cPx6NEjc9vDhw8RHx+PGjVqKNfj5+eH5OTkHO3JyckoWLCgcj2c/AoODsbSpUtztC9ZsgQhISFKtQDilS3EL22aNGmCffv2Kb+uNdq2bYv169frLcNM9erVcerUKb1lABCvbCHx0eb999/HwoUL9ZZhhlNtAZI/tuAUH26x4VZbnLwCxC9bjBkzBp988gk2bdqEGzdu4M6dOxaHaqRvtk6/fv0wcOBAzJ49G/v378fhw4ctDtVwig3Ar9a51Zbkjzbil3XEK204eQWIX7YQv7SR+FhHxhnayBheG25+PXjwAO++++6rX9Y9n2Kvt4D/dUJCQjB69Gh07twZx48fV3rtgQMHIjY2FsnJyahZsyaAZ/syz549G5MnT1aqBQAmT56MJk2aoFixYuZ9KA4dOgRnZ2esW7dOuZ4ePXqgZ8+eOH36tEV8xowZg48//li5Hk5+xcfHo3379tiyZYvFnt4JCQm5TvbmNeKVNuKXNs2bN0dcXBxSUlJQsWJFODg4WJyPiopSqic4OBhDhw7Frl27ctWjel+c7Jugq1ev5qonLCxMmRbxShuJjzaPHj3C999/j40bNyIsLCyHngkTJijVw6m2AMkfW3CKD7fYcKstTl4B4pctGjVqBABo2LChRTsR6bJ/o/TN1nn77bcBADExMeY2g8Ggm1ecYgPwq3VutSX5o434ZR3xShtOXgHily3EL20kPtaRcYY2MobXhptf3bt3x88//4zBgwcrvS5XDEREeov4Xyc5ORl16tTR5a2T5cuXY/z48Th27BgAoGzZsoiLi0PLli2VawGevQWzYMEC8wsJZcuWRadOneDi4qJcCxFh0qRJGD9+PC5fvgwA8Pf3R1xcHGJjY2EwGJRr4uTX/v37MXHiRAstAwcORKVKlZRrEa9sI35ZR+utOz0GIkFBQVbPGQwGnD59WqGa3OOj102QeKWNxEeb+vXrWz1nMBiQmJioUA2v2rKmJxvJH17x4Rab/FBb2Ugu8/Nr8+bNmufr1q2rSMkzpG+2zrlz5zTPlyhRQpGSZ3CKDcCv1rnVluSPNuKXdcQrbTh5BYhfthC/tJH4WEfGGdrIGF4bbn5lZmbirbfewsOHD3N9SUH1i+Evi7u7Ow4dOoSSJUu+0v+vTMK/QlauXGnxmYhw5coVTJ06FQEBAVizZo1OygRb3L17F8CzQhN4I17lL8Qv/nC7CRKE/xWktgRBEPghfbMgCIIgCIIg5C9kDJ+/GDlyJIYNG4YyZcqgUKFCFj/I0+PF8JfFw8MDycnJMgnPmRffgDEYDPDz80ODBg0wfvx4FClSRCdl+rFy5Uo0bdoUDg4OOV5SeBHVy3QIlty5cwceHh7mv7XI/neCfohf/xtkfwXrsZqD8PcQr7ThFp+LFy8CAIoVK6azEuFl4JY/nOAWG6ktbcSv3ElPT8dPP/1kXrGpfPnyiImJgaenp666hJykpaVh0qRJZq/KlSuH/v37o1SpUjor4wWXWudWW5I/2ohf+QfxKn8hfuUvJD62kXGG8J/AyS8vLy9MnDgRXbt2VX7t/4a8+iW89XUThL9NVlaWxZGZmYmrV69i4cKFyibgvb298ddffwF4luze3t5WDxW0atUKt27dMv9t7WjdurUSPZUrVzbrqVSpEipXrmz1UAEnv7y8vHDt2jUAQIECBeDl5ZXjyG5XgXiljfj199i8eTNatGiB4OBgBAcHIyoqClu3btVFCwDMnTsXFStWhIuLC1xcXBAWFoZ58+bppictLQ39+vVDo0aN0KhRI8TGxiItLU0XLeKVNhIf62RlZWHEiBHw9PREiRIlUKJECRQoUABffvklsrKydNHEqbYAyR9bcIoPp9hwrC1OXgHilxb79u1DqVKlMHHiRNy8eRM3b97EhAkTUKpUKRw4cEC5HkD6ZmusW7cO5cqVw549exAWFoawsDDs3r0b5cuXx4YNG5TrAfjEJhtOtc6ttiR/tBG/tBGvrMPNK0D80kL80kbio42MM7SRMbx1uPnl5OSEyMhI5df9b0lJScmTVRXkl/D/Y8yZMwfvvvsunJycMHv2bM03prp06aJQGQ/i4+MRFxcHk8mEL774QjM+w4cPz3M9nPzavHkzIiMjYW9vz2IfEfFKG/Hr5Zk/fz66deuGNm3amAcA27dvx/LlyzF79mx07NhRqZ4JEyZg6NCh+PDDD816tm3bhmnTpmHkyJEYMGCAUj3r1q1DVFQUIiIiLOJz6NAhrFq1Co0bN1amRbzSRuKjzaeffoqffvoJ8fHxFnq++OIL9OjRA1999ZVSPZxqC5D8sQWn+HCLDbfa4uQVIH7Zonbt2ggODsYPP/wAe3t7AMDTp0/x/vvv4/Tp09iyZYtSPdI3W6dSpUpo0qQJRo8ebdE+ePBgrF+/XvkDPE6xAfjVOrfakvzRRvyyjnilDSevAPHLFuKXNhIf68g4QxsZw2vDza+vv/4aV65cwbfffqv0utZ49OgRpkyZgqSkJFy7di3Hy+l53veQ8F8xYMCAlz7+6cyZM4cePXqUo/3x48c0Z84cHRQJ1jh37hxlZWXlaM/KyqJz587poEjQQvzSJjQ0lCZMmJCjffz48RQaGqpcT2BgYK593uzZsykwMFC5noiICBo0aFCO9kGDBlGlSpWUahGvtJH4aFOkSBH69ddfc7SvWLGC/P39levhVFtEkj+24BQfbrHhVlucvCISv2zh7OxMx44dy9F+9OhRcnFxUa5H+mbrODk50cmTJ3O0nzhxgpycnJRqIeIVGyJ+tc6ttiR/tBG/rCNeacPJKyLxyxbilzYSH+vIOEMbGcNrw82vVq1akYeHBwUFBdFbb71FrVu3tjhU07FjR/L19aVevXrR8OHD6YsvvrA48hqZhP8vqVev3ksd9evXV67NaDTSn3/+maP9r7/+IqPR+I/XExQURH/99VeO9lu3blFQUJByPZziw0kLkXiV3/Rw88vR0ZFSU1NztKempuoyyHdycspVz8mTJ3XTw+UmSLzSRuJjW8+JEydytB8/fpycnZ110cOltogkf2zBKT7cYsOttjh5RSR+2aJgwYK0bt26HO1r166lggULKtcjfbN1ihUrRkuXLs3RvmTJEgoICFCqhYhXbIj41Tq32pL80Ub8so54pQ0nr4jEL1uIX9pIfKwj4wxtZAyvDTe/unbtqnmoxsPDg7Zt26b8utnY5+3v7P/3SUpK0luCVcjKTgOPHz+Go6OjYjXP9OS2RPXFixfh6empXM/Zs2eRmZmZo/3x48e4ePGicj2c/LLm1b179+Ds7KxUCyBe2UL80iYgIAAJCQkIDg62aN+4cSMCAgKU6wkODsbSpUsxZMgQi/YlS5YgJCREuR4/Pz8kJyfnuHZycjIKFiyoVIt4pY3ER5vw8HBMnTo1x3JXU6dORXh4uHI9nGoLkPyxBaf4cIsNt9ri5BUgftmiffv26N69O8aNG4eaNWsCeLZUY1xcHDp06KBcj/TN1unRowd69uyJ06dPW3g1ZswYfPzxx0q1ALxiA/CrdW61JfmjjfhlHfFKG05eAeKXLcQvbSQ+1pFxhjYyhteGi18PHjyAyWTCrFmzlF3zZShatCjc3d11u75MwucR2RNNxYoVU37t7AcuBoMBP/74I9zc3MznMjMzsWXLFoSGhirTU6lSJRgMBhgMBjRs2NC8L0W2njNnzuDNN99UpmflypXmv9etW2fxAkBmZiYSEhIQFBSkTA8nv7IHPAaDAUOHDoXJZLLQsnv3bkRERCjRAohXthC/Xo6BAwciNjYWycnJFgOR2bNnY/Lkycr1xMfHo3379tiyZYvFvkEJCQlYunSpcj2cboLEK20kPtqMHTsWzZs3x8aNG1GjRg0AwM6dO3HhwgWsXr1auR5OtQVI/tiCU3y4xYZbbXHyChC/bDFu3DgYDAZER0fj6dOnAAAHBwf07t07x36gKpC+2TpDhw6Fu7s7xo8fj08//RQA4O/vjy+++AKxsbFKtQC8YgPwq3VutSX5o434ZR3xShtOXgHily3EL20kPtaRcYY2MobXhotfvr6+aNCgAaKiotCyZUsUKlRI2bW1GD9+PAYNGoQZM2agRIkS6gXo9hv8/0EyMzMpPj6ePDw8yGg0ktFoJE9PTxoxYgRlZmYq0xEYGEiBgYFkMBgoICDA/DkwMJBKly5Nb7zxBu3atUuZnuy9FQwGA/3rX/+y2G9h1KhRtHDhQnr8+LEyPQaDgQwGAxmNRvPf2YejoyOVLl2aVq1apUwPJ7+yt08wGAxUs2ZNiy0V3njjDerZs2euS7/kFeKVNuLXy7Ns2TKKjIwkb29v8vb2psjISFqxYoUuWoiI9u3bR506daLKlStT5cqVqVOnTnTgwAFdtGRlZdGECROoaNGiZr+KFi1KkyZNoqysLOV6xCttJD7aXLp0iYYMGUJt2rShNm3a0GeffUaXLl3SRQu32iKS/LEFp/hwiw2n2iLi5RWR+PUy3L9/nw4fPkyHDx+m+/fv66ZD+uaX486dO3Tnzh1dNRDxiw23WifiU1vPI/ljHfErd8Srl4ODV0Ti18sifmkj8cmJjDOsI2P4l0Nvv86dO0fffvstNWzYkJycnKhatWo0cuRIOnz4sHItz3Pt2jWqV68eGY1GcnNzIy8vL4sjrzEQWVlXWfjbfPrpp/jpp58QHx9vfmNp27Zt+OKLL9CjRw989dVXSvXUr18fy5Ytg5eXl9LrWmPOnDlo3769Lstj50ZQUBD27t0LX19fvaUA4OVXt27dMHnyZHh4eOgtBYB4ZQvxS3hV3L17FwB0XaJHEP4XkdoSBEHgh/TNgiAIgiAIgpC/kDF8/uD27dtYvXo1fv31V6xduxbe3t6IiopCVFQU6tatCzs7O2VaGjVqhPPnz6N79+4oVKhQjm19u3TpkqfXl0n4V4i/vz9mzJiBqKgoi/Zff/0Vffr0waVLl3RSJgiCIOjJnTt3zC9J3LlzR/PfcnmZ4p+KeKUNt/gcPnwYFSpUgNFoxOHDhzX/bVhYWJ7rEbThlj+c4BYbqS1txC9t2rRpg9mzZ8PDwwNt2rTR/LfLli3Lcz2CdSpXroyEhAR4eXmZt5GzxoEDBxQq4wG3WudWW5I/2ohf+QfxKn8hfuUvJD7WkXGG8N+Qn/zKyMjApk2bsHLlSqxcuRJ3797FlClT0KlTJyXXN5lM2LlzJ8LDw5Vc70VkT/hXyM2bN3PdDzo0NBQ3b95UricmJkbz/MyZMxUpeYbRaNT8os3MzFSoBhgxYoTm+WHDhilS8gxOfjVo0EDzfGJioiIlzxCvtBG/cuLt7Y2TJ0/C19cXXl5emn2Piv7Zy8sLV65cQcGCBVGgQIFc9RARDAaDkr6Q002QeKWNxEebiIgIXL16FQULFkRERAQMBgNye7/0n1hbgOSPLTjFh1tsuNUWJ68A8csWnp6e5ph4eHho+qUC6Zut07JlSzg5OZn/1tsrTrEB+NU6t9qS/NFG/LKOeKUNJ68A8csW4pc2Eh/ryDhDGxnDa8PNLy0cHBzQuHFjNG7cGFOmTMHBgwfx9OlT9OnTByNGjMjz1XRDQ0Px8OHDPL2GFjIJ/woJDw/H1KlT8e2331q0T506VZe3LG7dumXxOSMjA0eOHEF6errNSbu8YNmyZRadQUZGBg4ePIg5c+YgPj5euZ7ly5dbfM7IyMCZM2dgb2+PUqVKKZ/Y5eTXi/makZGB5ORkHDlyJM+X58gN8Uob8SsnEydONC9LNHHiRN0HIomJifD29gYAJCUl6aoF4HUTJF5pI/HR5syZM/Dz8zP/rTecaguQ/LEFp/hwiw232uLkFSB+2WLWrFnmv2fPnq2fkP8f6ZutM3z4cPPfX3zxhW46suEUG4BfrXOrLckfbcQv64hX2nDyChC/bCF+aSPxsY6MM7SRMbw23Pz6O1SqVAkA0LBhQ/zrX//K80n40aNHY+DAgfjqq69QsWJFODg4WJzP85Um8nzX+X8QmzZtIldXVypbtizFxMRQTEwMlS1bltzc3GjLli16yyMioszMTOrZsyeNGTNGbylmFixYQFFRUXrLICKi27dvU+vWrWnu3Ll6SyEifn4NHz6cBg4cqLcMIhKvXgbxiyfnzp2jrKysHO1ZWVl07tw5HRQJ1hCvtOEWn82bN1NGRkaO9oyMDNq8ebNyPYI23PKHE9xiI7WljfilTf369enWrVs52m/fvk3169dXrkewTlBQEP3111852m/dukVBQUE6KOIFt1rnVluSP9qIX/kH8Sp/IX7lLyQ+1pFxhvDfkF/9cnNzo7S0tDy/jsFgIIPBQEaj0eLIbsvz6xPJnvCvkkuXLuG7777D8ePHAQBly5ZFnz594O/vr7Oy/8eJEydQr149XLlyRW8pAIDTp08jLCwM9+7d01sKAOCPP/5AixYtcPbsWb2lAODl16lTp1CtWjVdtlfIDfFKG/HrGXZ2dublnZ7nxo0bKFiwoPKtMLjpKVmyJPbu3QsfHx+L9vT0dFSuXBmnT59WpoVbbESP6Plv4FRbAL/4iJ78oUX0iJ7/FqPRaF4q/3muXbuGokWLIiMjQ6ke6ZutY82rP//8EwEBAXjy5IkyLQCv2HDUw622JH+0Eb+sI179Z3qktp4hfmmTX/yS+PDSAvCrLRnDa8PNr5fF3d0dhw4dQsmSJfP0Ops3b9Y8X7du3Ty9vixH/4opWrQovvrqK71laJKWloanT5/qLQMA8PDhQ3z77bcoWrSo3lLM3L59G7dv39ZbhhlOfu3cuRPOzs56yzAjXmkjfj3D2rtmjx8/hqOjo2I1/28/pxe5d++eLn6dPXs218Hh48ePcfHiRaVaxCvbenJD4qOt58aNG3B1dVWuh1NtAZI/L6MnN/SID8fYcKotTl4B4pc1Dh8+bP47JSUFV69eNX/OzMzE2rVrdbkHlL45JytXrjT/vW7dOnh6epo/Z2ZmIiEhAUFBQUq0PA+H2DwPl1rnVluSP9qIX7YRr3KHo1eA+GUN8Usbic/LaZFxhnVkDJ87XP3iRl5PsttCJuFfIcHBwejcuTM6deqEkJAQveXg448/tvhMRLhy5Qp+//13XfaJ9vLysvgyISLcvXsXJpMJ8+fPV67n22+/tficHZ958+ahadOmyvVw8qtNmza5atm3bx+GDh2qVAsgXtlC/NLWYTAY8OOPP8LNzc18LjMzE1u2bEFoaKgyPdl5YzAYMHToUJhMJgs9u3fvRkREhDI9nG6CxCttJD7aZPeBBoMBXbt2Ne8Zlq3n8OHDqFmzpjI9nGoLkPyxBaf4cIsNt9ri5BUgftkiIiICBoMBBoMBDRo0yHHexcUFU6ZMUaZH+mbrtGrVyqzlxXsZBwcHBAYGYvz48Uq0ALxiA/CrdW61JfmjjfhlHfFKG05eAeKXLcQvbSQ+1pFxhjYyhteGm1+cefToEQ4fPoxr164hKyvL4lxUVFSeXlsm4V8hffv2xcKFCzFixAhUqVIFnTt3Rvv27VG4cGFd9Bw8eNDis9FohJ+fH8aPH4+YmBjleiZOnGgxCZ+tp3r16vDy8tJFz/Nk6+nSpQs+/fRT5Xo4+fX8F1q2ljJlymDEiBF44403lGoBxCtbiF/aOogIM2bMgJ2dnfmco6MjAgMDMWPGDGV6svOGiPDHH39YvBnp6OiI8PBw/Otf/1Kmh9NNkHiljcRHm+w+kIjg7u4OFxcXCz2vv/46evTooUwPp9oCJH9swSk+3GLDrbY4eQWIX7Y4c+YMiAglS5bEnj174OfnZ6GnYMGCFh7mNdI3Wyf7IVRQUBD27t0LX19fJde1BqfYAPxqnVttSf5oI35ZR7zShpNXgPhlC/FLG4mPdWScoY2M4bXh5hdX1q5di+joaPz11185zhkMhrzfPuC/21JeyI0TJ07QsGHDKCQkhOzt7alx48Y0Z84cvWUJgiD8I6lXrx7dvHlTbxlmunbtSrdv39ZbhpnAwEC6fv263jKISLyyhcRHmy+++ILu3buntwwznGqLSPLHFpziwy023GqLk1dE4ld+Q/rm/AO32HCrdUEbbvkjWEe8yl+IX/kL8UsbTvGRcYY2Mob/36RXr15KfA0ODqY+ffrQ1atX8/xauWEgsrKBgfBK2LVrF3r37o3Dhw/n/RsVDHl+XwpbhIWF5aESQRAEQRAEQRAEQSVz587VPB8dHa1IiWCLESNGaJ4fNmyYIiXCy8CttiR/tBG/8g/iVf5C/MpfSHzyD9xqS9Amv/rl4eGB5ORklCxZMs+vc/DgQZQqVSpPr2MNmYTPI/bs2YOFCxdiyZIluHPnDlq0aIHFixfn+XUrVapkseS7FgcOHMhjNc+WoTYYDLCVZkqWfUDOvbO1WLZsWR4qeQYnv7y8vF5ay82bN/NUCyBe2UL8enlsbREwc+ZMRUqekdsePc+TmJioSMkzON0EiVfaSHy0CQoK0uwXT58+rVANr9oCJH9swSk+3GLDrbY4eQWIX7Z4cduxjIwMPHjwAI6OjjCZTErGqc8jfbN1KlWqZPE5IyMDZ86cgb29PUqVKqXkHud5OMUG4Ffr3GpL8kcb8cs64pU2nLwCxC9biF/aSHysI+MMbWQMrw03v14Wd3d3HDp0KM8n4WNiYhAZGYnu3bvn6XWsIXvCv0JOnjyJBQsWYNGiRThz5gwaNGiAMWPGoE2bNnBzc1OiIXufDC6cOXNGbwkWvLh3tt5w8mvSpEl6S7BAvNJG/Hp5bt26ZfE5IyMDR44cQXp6us1Bbl4QHh6eQ09ycjKOHDmSY38jFSxfvjyHnudvglQOZMUrbSQ+2nz00Uc59Bw8eBBr165FXFyccj2caguQ/LEFp/hwiw232uLkFSB+2eJFvwAgNTUVvXv3lr4ZvPI5e0/S57lz5w66du2K1q1bK9UC8IoNwK/WudWW5M/f0wOIX9mIV9pw8goQv2whfmkj8bGOjDO0kTH839MD6OsXN6ZOnYq2bdti69atqFixIhwcHCzOx8bG5un15ZfwrxCj0YjXXnsNHTt2xLvvvotChQrpLUkQBEHIhaysLPTu3RulSpXCJ598orccAMAXX3yBe/fuYdy4cXpLsbgJeu+993TVIl5pI/GxzbRp07Bv3z7MmjVLbymsaguQ/LEFt/hwig3Aq7a4eQWIX7bYt28fOnfujOPHj+stRfpmG/zxxx9o0aIFzp49q7cUdrEB+NU6p9oCJH9sIX7ljnhlGy5eAeLXyyB+aSPxsY6MM6wjY3jbcPIrN1T9Ev6nn35Cr1694OzsDB8fH4uV4wwGQ56vFieT8K+Q1NRUhISE6C0jB/v378exY8cAAOXLl8+x9ItK0tLSMGnSJLOecuXKoX///rrtxwAA169fx4kTJwAAZcqUgZ+fn25aAD5+ZWZmYsWKFRZaoqKiYGdnp4seQLzSQvz6+5w4cQL16tXDlStX9JYCADh16hSqVavGZokgTjdB4pU2Eh9tTp8+jYiICNy5c0dvKQB41RYg+WMLTvHhFhtutcXJK0D8skVycjLq1KnDRo/0zdbZtm0bWrRokesvbPSAU2wAfrXOrbYkf7QRv6wjXmnDyStA/LKF+KWNxMc6Ms7QRsbw2nDz60VUTcIXLlwYsbGxGDx4MIxGY55eKzdkOfpXSPYE/JMnT3Dt2jVkZWVZnC9evLhSPdeuXcO7776LTZs2oUCBAgCA9PR01K9fH4sXL1Y+IbZu3TpERUUhIiICkZGRAIDt27ejfPnyWLVqFRo3bqxUz/3799GvXz/MnTvX7JWdnR2io6MxZcoUmEwmpXo4+XXq1Ck0a9YMly5dQpkyZQAAX3/9NQICAvD7778rf2lCvNJG/PrPSEtLw9OnT/WWYWbnzp1wdnbWW4aZ27dv4/bt23rLACBe2ULio80vv/wCb29vvWWY4VRbgOSPLTjFh1tsuNUWJ68A8SublStXWnwmIly5cgVTp0413xNyQPpm4Ntvv7X4nO3VvHnz0LRpU6VatJBafwa32pL80Ub8+vuIV8/ID14B4lc24pc2Ep+/j4wztJEx/DPyi1968eTJE7Rv316XCXhAJuFfKampqYiJicGOHTss2okIBoMBmZmZSvX069cPd+/exdGjR1G2bFkAQEpKCrp06YLY2FgsWrRIqZ7BgwdjwIABGD16dI72QYMGKZ+E//jjj7F582asWrXK3Blt27YNsbGxGDhwIKZPn65UDye/YmNjUapUKezatcv8sO7GjRvo3LkzYmNj8fvvvyvTAohXthC/bOt5nuyByO+//67Lvkpt2rTJVc++ffswdOhQ5Xo43QSJV9pIfLSpVKmSxZJSRISrV6/i+vXr+O6775Tr4VRbgOSPLTjFh1tsuNUWJ68A8csWrVq1svhsMBjg5+eHBg0aYPz48cr1SN9snYkTJ1p8NhqN8PPzQ5cuXfDpp58q1QLwig3Ar9a51Zbkjzbil3XEK204eQWIX7YQv7SR+FhHxhnayBheG25+vSydO3eGh4dHnl+nS5cuWLJkCYYMGZLn18oNWY7+FRIZGQl7e3sMHjwYRYoUsXj4AQDh4eFK9Xh6emLjxo147bXXLNr37NmDN954A+np6Ur1ODs7448//sixZP/JkycRFhaGR48eKdXj6+uLX375BfXq1bNoT0pKQrt27XD9+nWlejj55erqil27dqFixYoW7YcOHUJkZCTu3bunTAsgXtlC/NKmfv36Fp+zB/kNGjRATEwM7O3Vvo/WrVs3q3reeOMNpVoAICgoyKqeTz/9FO7u7sq0iFfaSHy0iY+Pz1VPvXr1EBoaqlwPp9oCJH9swSk+3GLDrbY4eQWIX/kN6ZvzD9xiw63WBW245Y9gHfEqfyF+5S/EL204xUfGGdrIGJ4/58+f/1srgV+6dAlFixbNQ0X/j9jYWMydOxfh4eEICwuDg4ODxfkJEybk6fVlEv4V4urqiv3797N5uOHu7o6tW7ciIiLCov3gwYOoW7eu8r0gAgICMGHCBLRt29aifenSpfjXv/6F8+fPK9VjMpmwf/9+8y+Zszl69CiqVauG+/fvK9XDyS9vb2/89ttvqFmzpkX79u3b0aJFC+X70IhX2ohfgiAIgiAIgiAIgiAIgiAIgiCoplChQmjVqhXef//9HD9czOb27dtYunQpJk+ejJ49eyI2NlaJthdfmngeg8GAxMTEPL2+TMK/Ql577TVMnDgRtWrV0lsKAKBly5ZIT0/HokWL4O/vD+DZGyadOnWCl5cXli9frlTPiBEjMHHiRAwePNg8Wbh9+3aMGTMGH3/8sfKlVRo2bAgfHx/MnTvXvLfKw4cP0aVLF9y8eRMbN25UqoeTX9HR0Thw4AB++uknVKtWDQCwe/du9OjRA1WqVMHs2bOVaQHEK1uIX4Ig/FP5Oy89qVjiShD+V5Dayl9w8+vF5Rm1yOtfHQjavLj0qRbLli3LQyXCy8CttiR/tBG/8g/iVf5C/MpfSHzyD9xqS9CGm183btzAV199hZkzZ8LZ2RlVqlSBv78/nJ2dcevWLaSkpODo0aOoXLkyhg4dimbNmuW5Ji7889ZFyEPGjBmDTz75BKNGjULFihVzLGug+gHV1KlTERUVhcDAQAQEBAAALly4gAoVKmD+/PlKtQDA0KFD4e7ujvHjx5v3efH398cXX3yh7K2X55k8eTKaNGmCYsWKmbcKOHToEJydnbFu3Trlejj59e2336JLly6oUaOGOY+fPn2KqKgoTJ48WakWQLyyhfiVkxf3Q9XiwIEDeawG8PLyemk9KlYu4HQTJF5pI/HRpkCBAjb1EBEMBgMyMzPzXA+n2gIkf2zBKT7cYsOttjh5BYhftjh48OBL/buXjeF/i/TN1vH09MzT///fhVNsAH61zq22JH+0Eb+sI15pw8krQPyyhfiljcTHOjLO0EbG8Npw88vHxwcTJkzAV199hd9//x3btm3DuXPn8PDhQ/j6+qJTp05o0qQJKlSooEQPJ2QS/hXSqFEjAM9+Bfo8Kh94PE9AQAAOHDiAjRs34vjx4wCAsmXLmnWqxmAwYMCAARgwYADu3r0LAMr363ieChUqIDU1FQsWLDDHp0OHDujUqRNcXFyU6+HkV4ECBfDrr78iNTXVQktwcLByLYB4ZQvxKyetWrVScp2XZdKkSXpLsIDTTZB4pY3ER5ukpCS9JVjAqbYAyR9bcIoPt9hwqy1OXgHily246ZG+2TqzZs3SW4IFnGIDSK3bQvJHG/HLOuKVNpy8AsQvW4hf2kh8rCPjDG1kDK8NN7+ycXFxwTvvvIN33nlHVx2cXuKQ5ehfIZs3b9Y8X7duXUVKnnHhwgXzr3Q5MHLkSHTq1AlBQUF6SwEAPHr0yLxUNgc4+bVt2zY22yoA4pUtxC9BEARBEASBOxcvXgQAFCtWTGclghbXr1/HiRMnAABlypSBn5+fzooEW3CqLckf24hf+QfxKn8hfuUfJD75C061JdhG/HpGt27dzH8TEZYvXw5PT09UrVoVALB//36kp6ejTZs2ef6ykEzC/w9jZ2eHWrVqoXPnznjnnXfg5eWlq57w8HAcOXIE1atXR+fOndGuXTv4+vrqpsfDwwOtW7dG586d0bBhQxiNRt20ALz8cnR0RNGiRdGhQwd07twZ5cqV000LIF7ZQvx6Ofbv349jx44BAMqXL49KlSrppiUzMxMrVqyw0BMVFQU7OzvdNHG6CRKvtJH4WCc9PR0//fSThZ6YmBhd36DmVFuA5I8tuMSHW2w41hYXrwDxS4usrCyMHDkS48ePx7179wA8Ww1t4MCB+Oyzz3QbJ0rfnJP79++jX79+mDt3LrKysgA8u++Jjo7GlClTYDKZlGsCeMQmG061zq22JH+0Eb9sI17lDkevAPHLGuKXNhIfbWScYRsZw+cOV7+4MGjQINy8eRMzZsww11NmZib69OkDDw8PfPPNN3krgIRXyq1bt2jcuHHUvXt36t69O02YMIHS09N10XLgwAH617/+RcWKFSMnJydq2bIl/fzzz/To0SNd9BARHTlyhD799FMKCgoiBwcHatasGS1YsIDu37+vXMuyZcvonXfeIRcXFypcuDD179+f9u7dq1xHNpz8un79Ok2ZMoVq1qxJBoOBwsPDaezYsXThwgXlWojEK1uIX9r8+eefVL9+fTIYDOTl5UVeXl5kMBioQYMGdO3aNeV6UlNTKSQkhEwmE1WqVIkqVapEJpOJypQpQ6dOnVKu5969e9StWzeys7Mjg8FABoOB7O3tKSYmRnnfLF5pI/HRZu/eveTt7U1Fixal1q1bU+vWralYsWLk4+ND+/fvV66HU20RSf7YglN8uMWGW21x8opI/LLF4MGDyc/Pj7777js6dOgQHTp0iKZNm0Z+fn40ZMgQ5Xqkb7ZOz549qWTJkrR69Wq6ffs23b59m37//XcqVaoU9erVS6kWIl6xIeJX69xqS/JHG/HLOuKVNpy8IhK/bCF+aSPxsY6MM7SRMbw23Pzihq+vLx0/fjxH+/Hjx8nb2zvPry+T8K8Qbg88ssnKyqLExER6//33ycvLizw9Palbt2666clm27Zt1KdPH/Lz8yN3d3fddNy5c4dmzpxJjRs3Jjs7OwoJCaH4+Hjd9HDz6/Tp0zRy5EgqX7482dnZUf369XXTIl7ZRvzKSbt27ahq1aqUkpJibjt69ChVrVqV3n33XeV6mjZtSm+++SbduHHD3PbXX3/Rm2++Sc2aNVOuh9NNkHiljcRHm1q1alHXrl0pIyPD3JaRkUFdunSh2rVrK9fDqbaIJH9swSk+3GLDrbY4eUUkftmiSJEi9Ouvv+ZoX7FiBfn7+yvXI32zdXx8fCgpKSlHe2JiIvn6+irVQsQrNkT8ap1bbUn+aCN+WUe80oaTV0Tily3EL20kPtaRcYY2MobXhptf3ChQoACtWLEiR/uKFSuoQIECeX59mYR/hXB74JEb+/fvp4iICDIajXpLoYMHD9LAgQOpaNGi5OzsrLccInrWWXKJDxEfv54+fUqrVq1ioSUb8co64pclHh4etGfPnhztu3fvJk9PT+V6TCYTHT58OEd7cnIyubq6KtfD6SZIvNJG4qONs7MzHTt2LEf70aNHycXFRbkeTrVFJPljC07x4RYbbrXFySsi8csWTk5OdOLEiRztx48f1+UeUPpm67i4uFg8SMzmyJEjZDKZlGoh4hUbIn61zq22JH+0Eb+sI15pw8krIvHLFuKXNhIf68g4QxsZw2vDzS9uDBgwgHx8fGj8+PG0detW2rp1K40bN458fX1pwIABeX79f/ZmAK+Yffv2YdCgQbC3tze32dvb45NPPsG+fft003Xx4kWMHTsWERERqFatGtzc3DBt2jRdtJw5cwZfffUVypcvj6pVq+LgwYOIj4/H1atXddEDAI8ePcLSpUvRqlUrVK5cGTdv3kRcXJxuejj5tX37dvTp0wdFihRBx44dUaFCBfz++++6aAHEK1uIX7mTlZUFBweHHO0ODg7mPahU4uTkhLt37+Zov3fvHhwdHZXrefDgAQoVKpSjvWDBgnjw4IFSLeKVNhIfbTw8PHD+/Pkc7RcuXIC7u7tyPZxqC5D8sQWn+HCLDbfa4uQVIH7ZIjw8HFOnTs3RPnXqVISHhyvXI32zdWrUqIHhw4fj0aNH5raHDx8iPj4eNWrUUKoF4BUbgF+tc6styR9txC/riFfacPIKEL9sIX5pI/GxjowztJExvDbc/OLGuHHj8Mknn2D8+PGoU6cO6tSpgwkTJiAuLi7v94MHZE/4V0nBggVp3bp1OdrXrl1LBQsWVK5nxowZVKdOHbKzs6Py5cvTqFGj6OzZs8p1ZFO9enUyGo0UERFB33zzDV28eFE3LUTPfImOjiYPDw/y9vamnj170ubNm3XTw8mvwYMHU2BgIDk6OlLz5s1p4cKFuuyvko14pY34pU1UVBTVqVOHLl26ZG67ePEi1a1bl1q1aqVcz3vvvUfly5enXbt2UVZWFmVlZdHOnTupQoUK1KVLF+V6GjRoQG3btqWHDx+a2x48eEBt27alhg0bKtUiXmkj8dGmX79+VKxYMVq8eDGdP3+ezp8/T4sWLaJixYpR//79levhVFtEkj+24BQfbrHhVlucvCISv2yxadMmcnV1pbJly1JMTAzFxMRQ2bJlyc3NjbZs2aJcj/TN1vnjjz/I39+ffHx8qEGDBtSgQQPy8fGhokWL0pEjR5RqIeIVGyJ+tc6ttiR/tBG/rCNeacPJKyLxyxbilzYSH+vIOEMbGcNrw80vzmRvZ6ASmYR/hXB74FGsWDGKi4uj5ORk5dfOjSFDhtDRo0f1lmHGxcWF2rZtSytWrKAnT57oLYeVXzVr1qRp06bR9evX9ZZCROKVLcQvbc6fP08RERHk4OBAJUuWpJIlS5KDgwNVqlSJLly4oFzPrVu3KCoqigwGAzk6OpKjoyMZjUZq1aoVpaenK9fD6SZIvNJG4qPN48ePKTY21qzDaDSSk5MTffTRR/To0SPlejjVFpHkjy04xYdbbLjVFieviMSvl+HixYs0ZMgQatOmDbVp04Y+++wziwdWKpG+WZv79+/T999/Tx9//DF9/PHH9MMPP9CDBw+U6yDiFxtutU7Eq7aIJH9sIX7ljnhlGy5eEYlfL4P4pY3EJ3dknKGNjOFtw8kvwRIDEVHe/97+n8GTJ08QFxeHGTNm4OnTpwCeLUHRu3dvjB49Gk5OTkr1EBEMBoPSa+Yn7t69q8uSjNYQv6wjXuUvuPkFPPNs48aNOH78OACgbNmyaNSoka6aUlNTLfQEBwfrpuXBgwdYsGCBhZ5OnTrBxcVFuRbxShuJj20ePHiAtLQ0AECpUqVgMpl01cKltgDJH1twiw+n2AC8aoubV4D4lZ+Qvjl3Hj16BGdnZ+XX1YJLbJ6HW61zQfInf8HNL/HKOty8AsQvLcQvbSQ+tpFxhnVkDC/8HSpVqvTS8zcHDhzIUy0yCZ8HcHrgkZ6ejj179uDatWs59qOIjo5WqiUzMxOzZ89GQkJCrnoSExOV6gGe7d9x6tSpXPXUqVNHuR5OfqWmpiIpKSlXLcOGDVOqBRCvbCF+WefChQsICAhQek0ttm3bhlq1auktwwynmyDxShuJjzbz589HmzZt2Ew0caotQPLHFpziwy023GqLk1eA+GWL4OBgdO7cGZ06dUJISIjecqRv1sDDwwOtW7dG586d0bBhQxiNRl31cIoNwK/WudWW5I824pd1xCttOHkFiF+2EL+0kfhYR8YZ2sgYXhtufnEgPj7e/PejR4/w3XffoVy5cqhRowYAYNeuXTh69Cj69OmDr7/+Om/FKP3d/f846enpdOPGjRztN27cUL7PABHRypUryd3dnQwGA3l6elKBAgXMh5eXl3I9ffv2JVdXV2rXrh3179+fPvroI4tDNTt37qSgoCAyGo1kMBgsDqPRqFwPJ7++//57srOzo0KFClF4eDhFRESYj0qVKinVQiRe2UL80sZoNFKdOnXo+++/p5s3byq//os4ODhQYGAgffrppyy26HB3d6fo6Ghav349ZWZm6qpFvNJG4qONr68vubq6UocOHej333+np0+f6qqHU20RSf7YglN8uMWGW21x8opI/LLFhAkTqGrVqmQwGKhq1ao0adIkunLlim56pG+2zrJly+idd94hFxcXKly4MPXv35/27t2rmx5OsSHiV+vcakvyRxvxyzrilTacvCISv2whfmkj8bGOjDO0kTG8Ntz84kb37t3p888/z9E+bNgw6tatW55fXybhXyFvvvkmTZs2LUf79OnTqWnTpsr1hISEUP/+/en+/fvKr50bPj4+9Pvvv+stw0x4eDi1bduWUlJS6NatW5Senm5xqIaTX8WLF6fRo0frLcOMeKWN+KXNgQMH6F//+hcVK1aMnJycqGXLlvTzzz/rti/q9evXacqUKVSzZk0yGAwUHh5OY8eO1W3PIE43QeKVNhIfbTIyMmjVqlXUsWNHcnV1JT8/P+rTpw9t375dFz2caotI8scWnOLDLTbcaouTV0Ti18ty4sQJGjZsGIWEhJC9vT01btyY5syZo1yH9M22uXPnDs2cOZMaN25MdnZ2FBISQvHx8cp1cIsNt1rPhkttZSP5o434lRPx6uXg4BWR+PWyiF/aSHxyIuMMbWQM/3Jw8YsbHh4edPLkyRztJ0+eJA8Pjzy/vkzCv0K8vLwoJSUlR/uxY8fI29tbuR6TyURpaWnKr2uNIkWK0IkTJ/SWYcZkMlFqaqreMsxw8svd3Z2NFiLxyhbi18uRlZVFiYmJ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HjRo90HrQYJ2G7QeNGj3QetBY/J97rfHGtyKqHs47Q4gIiIiIiIiop5h5MiR8qc//UkOHTrk8e9cuHBB8vPzZdiwYfLZZ591a099fb3Pfzc5OVmio6O7sQYLtzIL2l5oPWjQ7oPWgwTtNmg9aNDug9aDBu0+fKzhGbci6h697A4gIiIiIiIiop6hsrJScnNzZfz48eJyuSQlJUWio6PF5XLJ+fPnpbKyUo4dOybJycny7rvvysSJE7u1Z+TIkZKeni4zZszw+NMxFy5ckC1btkheXp7MnDlTZs+e3a1NKLiVWdD2QutBg3YftB4kaLdB60GDdh+0HjRo9+FjDc+4FVH34NvRExEREREREdE91dzcLDt37pTS0lKpq6uT5uZmCQ8Pl6SkJElNTZVhw4ZZ0nHu3DnJzc2VdevWdfmEYlZW1n335LgItzINyl6oPWjQ7oPWgwTtNmg9aNDug9aDBuU+fKzRNW5FdG/xRXgiIiIiIiIi6tFQnlCkrnErIiIi6k58rGEObkWm44vwRERERERERERERERERERE94jT7gAiIiIiIiIiIiIiIiIiIqKegi/CExERERERERERERERERER3SN8EZ6IiIiIiIiIiIiIiIiIiOge4YvwRERERERERERERERERERE9whfhCciIiIiIiIiIiIiIiIiIrpH+CI8ERERERERERERERERERHRPcIX4YmIiIiIiIiIiIiIiIiIiO4RvghPRERERERERERERERERER0j/w/eCTpp5naT+QAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "subset_df = trt_df[['layer_name', 'average_run_time']]\n", + "subset_df.groupby(by=['layer_name'], sort=False).boxplot(subplots=False, figsize=(25, 10), rot=90, showfliers=False).set_ylabel('Latency (ms)')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "27271ebd-d1a6-4e05-a940-977843fbc161", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/tmp/ipykernel_349448/304811235.py:2: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame.\n", + "Try using .loc[row_indexer,col_indexer] = value instead\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " subset_df['average_power'] = subset_df['average_power'] * 1e-3 # microwatts to millwats\n", + "/tmp/ipykernel_349448/304811235.py:3: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame.\n", + "Try using .loc[row_indexer,col_indexer] = value instead\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " subset_df['average_run_time'] = subset_df['average_run_time'] * 1e-3 # milliseconds to seconds\n", + "/tmp/ipykernel_349448/304811235.py:4: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame.\n", + "Try using .loc[row_indexer,col_indexer] = value instead\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " subset_df['average_energy'] = subset_df['average_power'] * subset_df['average_run_time']\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAB+EAAASpCAYAAAAAzGvrAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs3X901vV9//9HQmIkoSCKCFIERGtQrAiKpboJ/uyqdZ5Vq7M9Kvbj1lm+jmLrR+xmdVu1tUjZWq3tzrT2h9XVT9d17WbrLNAK+IO0bPgjODlUOxHBH5ASaEgg3z9a0iLJlQSukCvhdjunJ17v9+t6c08u/FGfvt7vstbW1tYAAAAAAAAAAHutvLcDAAAAAAAAAKC/MIQHAAAAAAAAgCIxhAcAAAAAAACAIjGEBwAAAAAAAIAiMYQHAAAAAAAAgCIxhAcAAAAAAACAIjGEBwAAAAAAAIAiMYQHAAAAAAAAgCKp6O2AUrRjx46sXbs2b3vb21JWVtbbOQAAAAAAAAD0stbW1vzqV7/K4YcfnvLyjve7G8K3Y+3atRk9enRvZwAAAAAAAABQYn75y1/m7W9/e4fne30If+edd+Zzn/tc1q1blxNOOCFf+MIXMnXq1HbXPvPMM7nppptSV1eXF198MZ///Ocze/bsXdZs3749N998c77xjW9k3bp1Ofzww3PllVfmr/7qr7q8q/1tb3tbkt/88AYPHrzH31tzc3N+9KMf5ZxzzkllZeUeX6dY9OjpDy169OjRo0WPHj37U08ptejRo2f/6SmlFj169OjRokePnv2pp5Ra9OjR076GhoaMHj26bZ7ckV4dwj/44IOZM2dO7r777pxyyilZsGBBzj333KxatSrDhw/fbf2WLVty5JFH5uKLL87HPvaxdq/52c9+Nl/60pdy33335bjjjsvy5cszc+bMDBkyJNdee22XunYO6wcPHrzXQ/jq6uoMHjy4ZH5z6dHT11v06NGjR4sePXr2p55SatGjR8/+01NKLXr06NGjRY8ePftTTym16NGjp7DONn93fKP6fWD+/Pm5+uqrM3PmzBx77LG5++67U11dnXvuuafd9SeffHI+97nP5dJLL01VVVW7a5YuXZo//uM/znnnnZexY8fmoosuyjnnnJMnn3yyJ78VAAAAAAAAAOi9nfDbtm1LXV1d5s6d23asvLw8Z511VpYtW7bH1333u9+dr3zlK3n++efzjne8I//1X/+Vxx57LPPnz+/wPU1NTWlqamp73dDQkOQ3/0VEc3PzHrfsfO/eXKOY9BSmp2Ol1JLo6YyewvQUpqdjpdSS6OmMnsL0FFZKPaXUkujpjJ7C9BRWSj2l1JLo6YyewvQUpqdjpdSS6OmMnsL0FFZKPaXUkujpjJ7C+mtPV99f1tra2rpXv9IeWrt2bUaNGpWlS5dm2rRpbcevv/76LF68OE888UTB948dOzazZ8/e7ZnwO3bsyI033pjbb789AwYMyPbt2/PpT396l2H/W91888255ZZbdjt+//33p7q6unvfGAAAAAAAAAD9zpYtW3LZZZdl06ZNBR9r3qvPhO8J//zP/5xvfvObuf/++3PcccdlxYoVmT17dg4//PBcccUV7b5n7ty5mTNnTtvrhoaGjB49Ouecc85ePxP+kUceydlnn10yzzrQo6evt+jRo0ePFj169OxPPaXUokePnv2np5Ra9OjRo0eLHj169qeeUmrRo0dP+3beUb0zvTaEHzZsWAYMGJBXX311l+OvvvpqRowYscfX/cQnPpEbbrghl156aZLk+OOPz4svvpjbbrutwyF8VVVVu8+Yr6ysLMpvimJdp1j0FKanY6XUkujpjJ7C9BSmp2Ol1JLo6YyewvQUVko9pdSS6OmMnsL0FFZKPaXUkujpjJ7C9BSmp2Ol1JLo6YyewvQUVko9pdSS6OmMnsL6W09X31u+x7/CXjrggAMyZcqUPProo23HduzYkUcffXSX29N315YtW1Jevuu3NWDAgOzYsWOPrwkAAAAAAAAAXdGrt6OfM2dOrrjiipx00kmZOnVqFixYkMbGxsycOTNJcvnll2fUqFG57bbbkiTbtm3Ls88+2/bHL7/8clasWJFBgwblqKOOSpK8733vy6c//ekcccQROe644/Lzn/888+fPz1VXXdU73yQAAAAAAAAA+41eHcJfcskl2bBhQ2666aasW7cukyZNysMPP5zDDjssSfLSSy/tsqt97dq1OfHEE9tez5s3L/Pmzcvpp5+eRYsWJUm+8IUv5K//+q9zzTXXZP369Tn88MPz53/+57npppv26fcGAAAAAAAAwP6nV4fwSTJr1qzMmjWr3XM7B+s7jR07Nq2trQWv97a3vS0LFizIggULilQIAAAAAAAAAF3Ta8+EBwAA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AQAAAAAA/cGWLVty2WWXZdOmTRk8eHCH63r9dvQ94Qtf+EIef/zxfO9738uYMWPyk5/8JB/96Edz+OGH56yzztpt/dy5c3fZXd/Q0JDRo0fnnHPOKfjD60xzc3MeeeSRnH322SVxO3o9evpDS5L810tvJCuX513veldOOOLg3s4puZ9PqfX4vPT0l55SatGjR8/+01NKLXr06Nl/ekqpRY8ePXq06NGjZ3/qKaUWPXr0tG/nHdU706tD+GHDhmXAgAFtO9h3evXVVzNixIh23zNixIiC67du3Zobb7wx//Iv/5LzzjsvSfLOd74zK1asyLx589odwldVVaWqqmq345WVlUX5TVGs6xSLnsL0dKxUWioqKtq+lkLPTqXy89mpVHp8Xl2jp7BS6imllkRPZ/QUpqewUuoppZZET2f0FKansFLqKaWWRE9n9BSmpzA9HSullkRPZ/QUpqewUuoppZZET2f0FNbferr63vI9/hWK4IADDsiUKVPy6KOPth3bsWNHHn300V1uT//7pk2btsv6JHnkkUfa1jc3/+Y57uXlu35rAwYMyI4dO4r8HQAAAAAAAADA7/T67ejnzJmTK664IieddFKmTp2aBQsWpLGxMTNnzkySXH755Rk1alRuu+22JMlf/uVf5vTTT88dd9yR8847Lw888ECWL1+er3zlK0mSwYMH5/TTT88nPvGJDBw4MGPGjMnixYvzta99LfPnz++17xPYc1u2bEl9fX3b61WvbEzTuhfy3NMDs+P1g3ZZW1tbm+rq6n1cCAAAAAAAAL/R60P4Sy65JBs2bMhNN92UdevWZdKkSXn44Ydz2GGHJUleeumlXXa1v/vd787999+fv/qrv8qNN96Yo48+Ot/97nczceLEtjUPPPBA5s6dmw9+8IN54403MmbMmHz605/ORz7ykX3+/QF7r76+PlOmTNnt+GX37b62rq4ukydP3gdVAAAAAAAAsLteH8InyaxZszJr1qx2zy1atGi3YxdffHEuvvjiDq83YsSI3HvvvcXKA3pZbW1t6urq2l5v3tqUHyxclvNmTMuggVW7rQUAAAAAAIDeUhJDeIBCqqurd9nd3tzcnDdfW59pU09KZWVlL5aVhrfern/z1qYsXbk6Q4ctb/c/Uujp2/V39fEBHh0AAAAAAAD0R4bwAH1cR7frv72dtfvidv1dfXyARwcA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08MPP6xt27bpuOOO03/9139p5MiREY9/+eWX9bOf/Uyff/65jjnmGD344IM655zwV8lfc801euqpp/TrX/9aN910U4z+CwAAAAAbLC5cBhLL1C51sxJSw+dJSwypZ8ctSmu/TQkRFnvapZYrkFh2xFkaivQoA6nx4wx4lIH/LPcO6uOZ5y3L4V6wxS4TAABEx+8UAIBw4r4I/9JLL2natGl68sknddJJJ2nWrFmaOHGi1q5dq27dujU6funSpfrud7+rBx54QN/61rf04osv6rzzztPKlSs1ZMiQese+9tpr+sc//qGePXv69Z8DAABaiYZXske6il3iSnbYNLBbZsQ7KYPBoLZ1lY7v29GXnQKSspfrzg/uj3rc4/Mfj/J9mn+L6oaPMpAiP86gLTzKoKF4nwst9w7q45nnX0+875irqA4pkFimW87uod6dGn/vquoDWrSiUKeeMFRpKclhv8emLyv18Ftb2WUCANDm8TsFACCcuP9W++ijj+oHP/iBrrzySknSk08+qTfffFP//d//rdtvv73R8b/5zW901lln6ZZbbpEk3XvvvXrnnXf029/+Vk8++WTdcZs3b9b111+vt99+W5MmTfLnPwYAALQaka5kb3gVu8SV7ICXqmCNgqUn6doTz414Z/5hL/as29rs+Ro+ykBq248zaCie50LrvWNNvBd1eeb512Phjrmk7OV6oniBxwHSe59E+x5c4AIAAL9TAADCiesi/IEDB1RQUKA77rij7rWEhASNHz9ey5YtC/vvLFu2TNOmTav32sSJEzVv3ry6P9fW1uryyy/XLbfcosGDB0fNUV1drerq6ro/l5Ud3KowGAwqGAx+nf+keg79u0fyPZoTebyRJzJLWSTyREMeb+TxRp7/M2DAAC1fvrzuz+VV1Xp70YeaeOqJ9a5iP3Ss3xmplbe2nOfQM4VDoVDEv+9w8hzO9zkcn27dKxfK0m/eqpJU5XFkH71RvDfKd8tSSjsX83G01D/xzhLPcyG98/WsXr1aJ510UtivNVzUXb58uYYPH96sf3/75IAuGN7D85j9+/dLkvp2TFFuN++LAPwYQ0s/Z0iR51csfs4IhUIKlp6kh866WP27Nr7gIRQKafk/luukUSdFfCb8Zzsr9JM5nx/x+8ThiPe5sCHyeCOPN/J4s5Qn3lkqKyu1du3auj+XV1VraWGJ2mf/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225T3759fclE/0RmbWys5VmzZk3d3ApXqwsuuMDXN1xL42NxrluaW0uWLNFvfvMbvfHGGwoGg+rQoUPd+FRXV6t///764Q9/qGuuuUbt27ePeR5r9aKXvVnqZWt5LNaLfiZPU1nqHd63orN0Lty3b5+ef/55zZkzRx988IEOHDgg55wCgYCOOuooTZgwQT/84Q914okn+pKH/vH2+eef64knntCcOXP0xRdfyDlX97Xk5GSdeuqp+uEPf6gLLrhACQmx3VDR2thYy2NtblnqHcneXLc2PtbyWJpf1sbGWh5LtZI4F0bDudCbtX62lMdaraz1srU81uol2VqrMFMvhyNSWVnp7r33XtezZ0+XmprqRo0a5c4//3x36aWXurPPPtv17t3btWvXzp199tlu2bJlMc+zefNmd/XVV7vU1FTXv39/d8kll7hp06a5n/70p+7aa691p556qktPT3f5+fluzpw5Mc/z6quvumOOOcbl5OS4q666yj355JPu9ddfd++884576aWX3M9+9jN3+umnu5SUFPejH/3I7dixI6Z5hg0b5kaOHOl+97vfuY0bNzb6+v79+93ChQvdj370I9elSxf3pz/9KaZ56J/IrI2NtTwFBQVu3LhxLiUlxZ1xxhnu9ttvd4899pj7wx/+4B588EF3+eWXu6OPPtp16tTJzZgxw+3fvz+meayNj7W5bmluOefcf/zHf7hevXq5W265xf397393lZWV9b5eUlLi/vjHP7qJEye6nJwc99e//jWmeSzVi172Zq2XreWxVi/6mTxNZa13eN/yZu1cOHPmTNepUyd34oknunvuucfNnz/frVq1yq1bt84tX77cPf300+6KK65w2dnZbuLEie7TTz+NaR76x9v111/vsrKy3EUXXeSeffZZV1RU5MrKylwwGHTbt293CxYscL/85S9dXl6eGzx4sPvggw9ilsXa2FjLY21uWeod5+zNdWvjYy2PpfllbWys5bFUK+c4F0bDudCbtX62lMdaraz1srU81uplba3CUr1YhD9CRx11lLvooovcm2++6Q4cOBD2mM8//9zdf//9rm/fvu73v/99TPN069bN3XLLLe6f//xnxGMqKyvdiy++6EaNGuUefvjhmOYZNWqU+8tf/uJqamo8j/viiy/cbbfd5h599NGY5pk/f/5hH7tr1y63YsWKGKahf7xYGxtreY4++mj3u9/9zu3Zs8fzuKVLl7qLL77Y/epXv4ppHmvjY22uW5pbzjn35JNPRqxTQ//85z/du+++G9M8lupFL3uz1svW8lirF/3sjTyRWesd3re8WTsXXnLJJW716tVRj9u/f7974okn3NNPPx3TPPSPt9tvv93t2rXrsI5966233CuvvBKzLNbGxloea3PLUu84Z2+uWxsfa3kszS9rY2Mtj6VaOce5MBrOhd6s9bOlPNZqZa2XreWxVi9raxWW6hVw7it7FOBrW7NmjfLz8w/r2GAwqI0bN2rAgAExy7N792517tw5ZsejedE/kVkbG2t5gsGgkpKSYnb812VtfKyxNLfgjV72Zq2XreWxhn5GU9E7LQvnQgAAAABAvFhbq7DEnwcBtGKH++GUJCUlJcX8w6mvfphSUVHxtY6PtYULF/r2dx2Ob37zm3r22WdVVVUVtwz0T2TWxsZanq++SX322Wdf6/hYsDY+X2VhrluaWw19//vf19///nff/r5o4l0vetmbtV62luerLNSLfj585KnPcu/wvtWY5XPh//zP/6iystK3vy8a+sfbL37xC23YsCHeMSTZGxtreazNLUu9I9mb69bGx1oeS/PL2thYy2OpVhLnwmg4F3qz1s+W8lirlbVetpbHQr2srVV8VbzrxSJ8Mzr66KN1zz33aOPGjfGOIknq3r27rrrqKi1evDjeUSRJZ511lgYMGKD77rtPmzZtinccDR8+XDfffLNycnL0gx/8QP/4xz/imof+icza2FjLM3DgQI0dO1bPP/+89u/fH+845sbH2ly3NLckae/evRo/fryOOeYY3X///dq8eXNc81iqF73szVovW8tjrV70M3maylrv8L7lzdq58Pbbb1dOTo6uvvpqLV26NN5x6J8o/vznP2vAgAEaN26cXnzxRVVXV8cti7WxsZbH2tyy1DuSvblubXys5bE0v6yNjbU8lmolcS6MhnOhN2v9bCmPtVpZ62VreazVy9paRdzrFbON7tugX//61+64445z7dq1c+PHj3f/+7//6/bv3x+3PK+99pqbPHmyS0pKcsccc4x74IEH3ObNm+OWZ+fOne7RRx91xx13nEtMTHQTJkxwL730kquuro5bpmAw6F555RV37rnnuqSkJJefn+8efvhht23bNt+z0D+RWRsba3k++ugjd8MNN7iuXbu6Dh06uB/+8Idu+fLlcctjbXycszXXLc2tQ3bs2OFmzpzpvvGNb7jExER31llnuZdffvmwn53T3KzUi172Zq2XreVxzla96GfyNJXF3uF9KzJr58JgMOheffXVurHJzc11M2bMcFu3bo1bJvrH28qVK93111/vunTp4rKzs90111zjPvjgg7hksTY2lvJYnFuWesc5e3Pd2vhYy2NpflkbG2t5LNWKc2F0nAu9Wepna3ms1cpaL1vLY6le1tYqnItvvViEj4GCgoK6hu/YsaP78Y9/7AoKCuKW51CDDR061CUmJrpJkya5V155xQWDwbhlKigocNddd53r3Lmz69y5s7v++uvdxx9/HLc8zjm3fft2d++997rU1FSXlJTkJk+e7BYsWOB7DvonMmtjYy3PoR/U/uM//sMlJSW5wYMHu5kzZ7odO3bEJY+18TnEyly3NLe+6tD5OTU11XXp0sXddNNN7tNPP41bHgv1ope9Wetla3kOsVIv+pk8TWW1d3jfCs/iuXDbtm3ukUcecUOHDnVJSUnuP/7jP9y8efNcTU1N3DLRP5EdOHDAvfLKK+5b3/qWS0pKckOHDnWzZs1ypaWlccljaWys5bE2t6z1jnO25rq18bGWxzk788va2FjL45ydWjnHufBwcC70ZqmfLeWxWCtLvWwtj6V6WVurOMTverEIH0MHDhxws2bNcikpKS4hIcEdd9xx7umnn3a1tbVxy/TYY4+5lJQUFwgEXNeuXd3PfvYzV1FREZcsmzdvdr/4xS9cSkqKy8jIcO3atXOnnHKKW716te9Zli9f7q655hqXnZ3t+vTp437+85+7q6++2qWlpbnp06f7nsc5+seLtbGxlmf//v3u0UcfratVSkqKu/zyy92WLVviksfS+Fic687ZmVtbtmxxM2bMcLm5uS4jI8N973vfc+PGjXOJiYnu0Ucf9T2PtXrRy9FZ6WVreSzWi34mT1NZ6h3etw6PlXOhc8794x//cD/84Q9dSkqKO/roo12HDh3c0Ucf7RYuXOh7FvrHW3V1tZszZ46bMGGCS0xMdKeddpobOHCga9++vZszZ46vWayNjbU8ztmaW5Z6xzl7c93a+FjLY2l+WRsba3ks1eoQzoWRcS70Zq2fLeWxVitrvWwtj7V6OWdrrSIe9WIRPgYOHDjgXnrpJXfWWWe5du3auTFjxrj//u//dvfcc4/r3r27++53v+trnm3btrkHH3zQ5efnu/T0dHfppZe6v/3tb+7ZZ591gwcPdmeeeaZvWQ4cOOBefvlld/bZZ7vExEQ3atQo94c//MGVl5e79evXu0svvdTl5+f7kmX79u3ukUcecYMHD3bJycnuggsucG+99Va9DxAXLVrkMjIyfMlzCP0TmbWxsZbnww8/dNdee63r2LGjO+qoo9xPf/pT99lnn7m///3vbty4ce7EE0/0NY+V8bE6163MrQMHDri5c+e6SZMmuaSkJDdixAj3xBNPuL1799Yd8+qrr7rs7Gxf8lisF73szUovW8tjtV70M3maykrv8L51eKycCw9lefjhh92gQYNcamqqu+SSS9w777zjnHOuvLzc3Xrrra5Pnz6+ZKF/oluxYoX78Y9/7Dp16uR69OjhbrvtNrdu3bq6rz/22GOuW7duMc9hbWys5XHO1txyzk7vOGdvrjtna3ys5bE2vyyNjbU81mrlHOdCL5wLvVnrZ2t5LNXKWi9by+OcrXodYmWtIt71YhG+GX11i/WuXbu66dOnuzVr1tQ7prCw0KWmpvqS56vbThx33HHuv/7rv9yePXvqHVNcXOySkpJ8yXNobDp16uRuvPFGV1hY2OiYrVu3ukAg4EuepKQkl5eX5x566KGIW2Ds3bvXnX766b7koX8iszY21vLMnDnTDRkypG5rojfeeKPRdlubNm1y7dq18yWPtfGxNtctzS3nnOvcubPr2LGj+8///E/30UcfhT1mz5497uijj/Ylj6V60cverPWytTzW6kU/k6eprPUO71verJ0LD2UZPHiw+/Wvf+12797d6Jjt27f79jsg/eNtyJAhLjEx0Z1zzjnutddec6FQqNExO3fu9KVe1sbGWh5rc8tS7zhnb65bGx9reSzNL2tjYy2PpVo5x7kwGs6F3qz1s6U81mplrZet5bFWL2trFfGuF4vwzSghIcFNnDjR/elPf3IHDhwIe0x5ebm74oorfMmTlZXlfvjDH7oPPvgg4jGVlZXul7/8pS95zjjjDPfiiy+6/fv3RzwmGAy69957z5c8f//73335ew4X/ROZtbGxlmfgwIHu/vvv99zCpbq62v3xj3/0JY+18bE21y3NLeece/bZZ11VVZUvf9fhsFQvetmbtV62lsdavehnb+SJzFrv8L7lzdq58KqrrnJLly71PKa2ttZ9/vnnvuShf7zdc8897osvvoh3DOecvbGxlsfa3LLUO87Zm+vWxsdaHkvzy9rYWMtjqVbOcS6MhnOhN2v9bCmPtVpZ62VreazVy9paRbzrFXDOOaFZbNiwQX379o13jDqVlZVKT0+PdwwcJvonMmtjYy2PNYyPN0tzC97oZW/WetlaHmvoZzQVvdOycC4EAAAAAMAGFuFbsbKysrCvBwIBpaSkKDk52dc8r7/+esQ8qampGjhwoPr16+dbnuHDhysQCHjmueKKKzR27FjfMllirX8Q2apVq8K+fqiX+/Tpo5SUFJ9T2WFtrlubW+eff37EPIfGZ8qUKcrNzfUlj7V6WWJtbKz1srU81upljbXxIU/LwfuWN2vnwsceeyxinkPjc9ppp6ldu3a+5KF/vE2bNi3s61/NM3nyZHXq1CnmWayNjbU81uaWpd6R7M11a+NjLY+l+WVtbKzlsVQriXNhNJwLvVnrZ0t5rNXKWi9by2OtXtbWKuJdLxbhm1HHjh0P60R55ZVX+pInISEhbJ5DjjrqKF1xxRX6xS9+oYSEBN/yNGy5Q68FAgGdcsopmjdvnjp27BjzPHfccYeeeOIJDR06VCNHjpQkffjhh1q1apWuuOIK/etf/9KCBQv06quvavLkyTHPQ/9EZm1srOWJVqukpCRdfPHFeuqpp5SamhrzPNbGx9pctzS3JOmKK67QvHnzlJ2drREjRkiSVq5cqdLSUk2YMEGffPKJPv/8cy1YsEBjxoyJeR5L9aKXvVnrZWt5rNWLfiZPU1nrHd63vFk7F/br1087d+5UZWVl3e94e/bsUXp6ujIzM7Vjxw71799fCxcuVO/evWOeh/7xNnbsWK1cuVI1NTV1H0J9+umnateunfLy8rR27VoFAgEtXrxYgwYNimkWa2NjLY+1uWWpdyR7c93a+FjLY2l+WRsba3ks1UriXBgN50Jv1vrZUh5rtbLWy9byWKuXtbWKuNcrbhvht0KPPvqo69y5s7vsssvcY4895h577DF32WWXuS5durhf/epXburUqS4lJcX9/ve/9yXPM88844466ih31113uddff929/vrr7q677nK9e/d2Tz31lLvvvvtcdna2+9WvfuVLnnfffdeddNJJ7t1333VlZWWurKzMvfvuu2706NHuzTffdIsXL3aDBw92V111lS95pk6d6u65555Gr997771u6tSpzjnnfv7zn7sRI0b4kof+icza2FjLM2/ePJebm+tmz57tVq1a5VatWuVmz57t8vPz3Zw5c9zzzz/vjjrqKDd9+nRf8lgbH2tz3dLccs652267zV177bWupqam7rWamhp33XXXuTvuuMPV1ta6H/7wh27MmDG+5LFUL3rZm7VetpbHWr3oZ/I0lbXe4X3Lm7Vz4YsvvuhOP/10V1xcXPfaunXr3BlnnOHmzJnjNm3a5MaMGeMuuOACX/LQP95+/etfu/PPP9/t3bu37rXS0lJ34YUXulmzZrmKigo3efJkN2HChJhnsTY21vJYm1uWesc5e3Pd2vhYy2NpflkbG2t5LNXKOc6F0XAu9Gatny3lsVYra71sLY+1ellbq4h3vViEb0bnn3++e+KJJxq9/uSTT7rzzz/fOefcY4895oYMGeJLnjPOOMO99NJLjV5/6aWX3BlnnOGcc+7ZZ591ubm5vuQZPHiwW7JkSaPXFy9e7AYNGuScc+6dd95xvXv39iVPVlaWW7duXaPX161b57Kyspxzzq1Zs8ZlZmb6kof+icza2FjLc+KJJ7r58+c3en3+/PnuxBNPdM4599prr7n+/fv7ksfa+Fib65bmlnPOdenSxa1du7bR62vXrnWdO3d2zjm3atUq16FDB1/yWKoXvezNWi9by2OtXvQzeZrKWu/wvuXN2rmwf//+7qOPPmr0+sqVK12/fv2cc84tWbLE5eTk+JKH/vHWs2dP989//rPR66tXr3Y9e/Z0zjlXUFBQN1axZG1srOWxNrcs9Y5z9ua6tfGxlsfS/LI2NtbyWKqVc5wLo+Fc6M1aP1vKY61W1nrZWh5r9bK2VhHvesV+/7k25O2339b48eMbvT5u3Di9/fbbkqRzzjlHn332mS95li5dquHDhzd6ffjw4Vq2bJkk6ZRTTtHGjRt9yVNSUqKsrKxGr2dlZdWNyTHHHKNdu3b5kic1NVVLly5t9PrSpUvrtsGora31ZUsMif7xYm1srOUpLCxU3759G73et29fFRYWSpKGDRumrVu3+pLH2vhYm+uW5pYkhUIhFRUVNXq9qKhINTU1kg6Oodc2Qs3JUr3oZW/WetlaHmv1op/J01TWeof3LW/WzoVbt25VKBRq9HooFNK2bdskST179tS+fft8yUP/eNu7d6927NjR6PWdO3eqrKxMkpSdna0DBw7EPIu1sbGWx9rcstQ7kr25bm18rOWxNL+sjY21PJZqJXEujIZzoTdr/Wwpj7VaWetla3ms1cvaWkW865UYk+/aRnXq1ElvvPGGfvKTn9R7/Y033lCnTp0kSRUVFWrfvr0veXr37q2nn35aM2bMqPf6008/XfccnN27d/vy/HVJGjFihG655RY9++yz6tq1q6SDJ4Jbb71VJ554oiRp3bp1vjyjR5Kuv/56XXPNNSooKKj7+z/88EPNnj1bd955p6SDHzoOGzbMlzz0T2TWxsZanry8PM2YMUO///3vlZycLEkKBoOaMWOG8vLyJEmbN29W9+7dfcljbXyszXVLc0uSLr/8cl199dW68847643P/fffr+9973uSpPfff1+DBw/2JY+letHL3qz1srU81upFP5Onqaz1Du9b3qydC8eOHasf/ehHmj17dt3FAR999JGuvfZanXHGGZIOfkjTr18/X/LQP94mT56sq666SjNnzqyX5+abb9Z5550nSfrggw907LHHxjyLtbGxlsfa3LLUO5K9uW5tfKzlsTS/rI2NtTyWaiVxLoyGc6E3a/1sKY+1WlnrZWt5rNXL2lpF3OsVk/vr26jf//73rl27du4//uM/3L333uvuvfded+6557rExEQ3e/Zs55xzjzzyiPvOd77jS54///nPLjk52X3jG99wV199tbv66qvdcccd51JSUtwbb7zhnHPu8ccfdz/5yU98ybNmzRqXm5vrkpOT3YABA9yAAQNccnKyy8vLq9sO4rXXXnPPPvusL3mcc+755593o0aNch07dnQdO3Z0o0aNci+88ELd1ysrK11VVZUvWeifyKyNjbU8S5YscZ07d3Zdu3Z148aNc+PGjXPdunVznTt3dsuWLXPOHdx29KGHHvIlj7Xxcc7WXLc0t5xzLhQKufvuu8/l5OS4QCDgAoGAy8nJcb/61a9cKBRyzjm3YcMGt2nTJl/yOGenXvSyN2u9bC2Pc7bqRT+Tp6ms9Q7vW96snQu3bt3qxo8f7wKBgEtOTnbJyckuISHBnXnmmW7btm3OOef+9re/ubffftuXPPSPt3379rmpU6fW1SkhIcElJye7H/zgB668vNw559xHH30UduvfWLA0NtbyWJtb1nrH2ly3Nj7W8jhnZ35ZGxtreZyzUyvnOBdGw7kwOkv9bCmPtVpZ62Vr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gZVfKioqlJ6e3uj1L7/8UikpKb7nSUlJUVlZWaPXP/30U3Xt2tX3PIMGDdKiRYsavT537tywkzLW6J/IrI2NtTy1tbV126h81RdffKH27dv7nsfa+Fib65bmliT169dPH3/8caPX58+fr/z8fN/zWKoXvezNWi9by2OtXvQzeZrKWu/wvuXN2rkwOzu7bkv8r/roo4/Uq1cv3/PQP95ycnJUXFzc6PXFixerf//+vmaxNjbW8libW5Z6R7I3162Nj7U8luaXtbGxlsdSrSTOhdFwLvRmrZ8t5bFWK2u9bC2PtXpZW6uIe71ifq99G3Lqqae6xx57zDl3cFuDzz77zDnn3HXXXecmTpzoe56zzz7b3XXXXfXy1NTUuIsuushdcMEFvue5+uqr3XnnnecOHDhQl2fDhg1u+PDh7sYbb/Q9z7x581yHDh3cjBkzXHp6unv44Yfd1KlTXXJysvvrX//qex76JzJrY2Mtz3e+8x33gx/8oF6effv2uTPOOMNdccUVvuexNj7W5rqlueWcc3/4wx9cr1693Jw5c1xGRob73//9X3fffffV/X+/WaoXvezNWi9by2OtXvQzeZrKWu/wvuXN2rlw+vTp7pRTTnFbt2517du3d+vWrXOLFy92/fv3d7/85S99z0P/eLv//vvdoEGD3D/+8Q/Xvn17t2jRIvf888+7rl271p0H/GJtbKzlsTa3LPWOc/bmurXxsZbH0vyyNjbW8liqlXOcC6PhXOjNWj9bymOtVtZ62Voea/WytlYR73qxCN+MFi1a5DIzM90111zjUlNT3Y033ujOPPNMl5GR4VasWOF7nsLCQtetWzd31llnueTkZHfhhRe6/Px81717d1dcXOx7ntLSUjd+/HiXnZ3t2rVr53r37u2SkpLcaaed5srLy33P45xzf//739348eNd165dXVpamhszZox7++2345KF/onM2thYy7Np0yY3aNAgl5+f7xITE92oUaNc586dXW5urtu+fbvveayNj3O25rqluXXI888/7wYOHOgCgYALBAKuV69ebvbs2XHJ4pydetHL3qz1srU8ztmqF/1Mnqay2Du8b0Vm7VxYXV3tpk6d6hITE10gEHBJSUkuISHBXXbZZS4UCvmexzn6x0ttbW3dB1KHxic1NbXuwg6/WRoba3mszS1rveOcrblubXys5XHOzvyyNjbW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SVq9enWjPH5buHCh73+nF/onMmtjYy3P73//e2VmZur999/X+++/X+9rgUDA9zc2a+Njba5bmlvSwasBLbFUL3rZm7VetpbHWr3oZ2/kicxa7/C+5c3auTA7O1vf/va3ff07vdA/3s4777x4R6hjbWys5bE2tyz1jmRvrlsbH2t5LM0va2NjLY+lWkmcC6PhXOjNWj9bymOtVtZ62Voea/WytlYR73pxJ3wz2rBhg+fX+/bt61MStET0T2TWxsZaHmsYH7QW9DJaE/oZTUXvAAAAAAAAfH08E74Z9e3b1/N/8bR///64/v1fVVxcrLfffltVVVWSFNfn9ixatEiXXXaZTj75ZG3evFmS9Nxzz2nx4sW+Z6F/IrM2NtbyHHLgwAGtXbtWoVAobhkkm+Njaa5/Vbzn1iElJSW666679N3vflc7duyQJL311lv65z//GZc8VupFLx8+K718iJU8lupFP5OnqSz2Du9bh8fKuTAUCundd9/VU089pX379kmStmzZovLy8rjkoX+8lZaWavbs2brjjjvqtmZcuXJlXTY/WRsba3mszS1LvSPZm+vWxsdaHkvzy9rYWMtjqVYS58JoOBd6s9bPlvJYq5W1XraWx1q9JDtrFVJ868UifDN77rnnNGbMGPXs2bPurpFZs2bpz3/+s+9ZampqdO+996pXr17KzMzUZ599Jkn62c9+pqefftr3PLt379a4ceN07LHH6pxzztHWrVslSVdffbWmT5/ue55XXnlFEydOVFpamlauXKnq6mpJ0t69e3X//ff7nkeif7xYGhtreSorK3X11VcrPT1dgwcP1saNGyVJ119/vWbMmOF7HsnW+Fib69bm1vvvv6+hQ4dq+fLlevXVV+t+Uf3kk0/0i1/8wvc81upFL0dmrZet5bFWL4l+Jk/TWeod3re8WTsXbtiwQUOHDtXkyZP14x//WDt37pQkPfjgg7r55pt9z0P/eFu1apWOPfZYPfjgg3rkkUdUWloq6eAzde+44w5fs1gbG2t5rM0tS70j2Zvr1sbHWh5L88va2FjLY6lWEufCaDgXerPWz5byWKuVtV62lsdavaytVcS9Xg7N5vHHH3ddunRx9913n0tLS3MlJSXOOef+53/+x51++um+57n77rtd//793fPPP18vz5w5c9yoUaN8z3P55Ze7iRMnuk2bNrnMzMy6PPPnz3eDBg3yPc+wYcPcM88845xz9fKsXLnSde/e3fc89E9k1sbGWp4bbrjBjRgxwi1atMhlZGTU5Zk3b54bNmyY73msjY+1uW5pbjnn3KhRo9zMmTOdc/XHZ/ny5a5Xr16+57FUL3rZm7VetpbHWr3oZ/I0lbXe4X3Lm7Vz4eTJk91ll13mqqur643PwoUL3cCBA33PQ/94GzdunLvlllsa5VmyZInr27evr1msjY21PNbmlqXecc7eXLc2PtbyWJpf1sbGWh5LtXKOc2E0nAu9WetnS3ms1cpaL1vLY61e1tYq4l0vFuGbUX5+vnvttdecc/WLWVhY6Dp37ux7ngEDBrh33323UZ41a9a47Oxs3/N0797dffzxx43ylJSUuIyMDN/zpKWlufXr14fNk5KS4nse+icya2NjLU+fPn3csmXLGuVZt26da9++ve95rI2PtbluaW4551xGRob77LPPGuVZv359XMbHUr3oZW/WetlaHmv1op/J01TWeof3LW/WzoWdOnVyRUVFjfKsX7/epaWl+Z6H/vGWlZXliouLG+X5/PPPfc9jbWys5bE2tyz1jnP25rq18bGWx9L8sjY21vJYqpVznAuj4VzozVo/W8pjrVbWetlaHmv1srZWEe96sR19M1q/fr2GDx/e6PWUlBRVVFT4nmfz5s0aOHBgo9dra2sVDAZ9z1NRUaH09PRGr3/55ZdKSUnxPU9OTo6Ki4sbvb548WL179/f9zz0T2TWxsZanp07d6pbt26NXq+oqFAgEPA9j7XxsTbXLc0tScrOzq57PMhXffTRR+rVq5fveSzVi172Zq2XreWxVi/6mTxNZa13eN/yZu1cWFtbq5qamkavf/HFF2rfvr3veegfbykpKSorK2v0+qeffqquXbv6msXa2FjLY21uWeodyd5ctzY+1vJYml/WxsZaHku1kjgXRsO50Ju1fraUx1qtrPWytTzW6mVtrSLe9WIRvhn169dPH3/8caPX58+fr/z8fN/zDBo0SIsWLWr0+ty5c8N+kBZrp556qp599tm6PwcCAdXW1uqhhx7S2LFjfc/zgx/8QDfeeKOWL1+uQCCgLVu26IUXXtDNN9+sa6+91vc89E9k1sbGWp4TTjhBb775Zt2fD72ZzZ49W6NHj/Y9j7XxsTbXLc0tSbrkkkt02223adu2bXXn5SVLlujmm2/W9773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9Kc/dZdcconbvn27c865//f//p9bvXp1XPJYGh+Lc93S3KqoqHBXXXWVa9eunWvXrl3d+Fx33XXugQce8D2PtXrRy94s9bK1PBbrRT+Tp6ks9Q7vW9FZOhc6d/D3vZNPPtn16NHDff755845537961+7efPm+Z6F/vFWU1Pj7rnnHtezZ89643PXXXe52bNn+5rF2thYy+OcrbllqXecszfXrY2PtTyW5pe1sbGWx1KtDuFcGBnnQm/W+tlSHmu1stbL1vJYq5dzttYq4l0vFuGb0eeff+7y8vJcenp6vWLecMMN7kc/+pHveT755BPXtWtXN3DgQJeYmFiX56c//am7/PLLfc8zd+5cl5aW5qZOnepSUlLq8vzXf/2XO/vss33Pc/nll7uJEye6TZs2uczMzLo88+fPd4MGDfI9D/0TmbWxsZbnvffec2lpaW78+PEuOTm5Ls8DDzzgLrjgAt/zWBsfa3Pd0txy7mBdRowY4RYtWuQyMjLq8sybN88NGzbM9zyW6kUve7PWy9byWKsX/UyeprLWO7xvebN2Lnz88cddly5d3H333efS0tLq8vzP//yPO/30033PQ/94u/vuu13//v3d888/X69ec+bMcaNGjfI1i7WxsZbH2tyy1DvO2Zvr1sbHWh5L88va2FjLY6lWznEujIZzoTdr/Wwpj7VaWetla3ms1cvaWkW868UifDOaPHmyu+yyy1x1dXW9E+XChQvdwIEDfc8zbtw4d8sttzjnXL08S5YscX379vU9z7Bhw9wzzzzTKM/KlStd9+7dfc/TvXt39/HHHzfKU1JS4jIyMnzPQ/9EZm1srOUZNWqUmzlzpnOufq2WL1/uevXq5Xsea+Njba5bmlvOOdenTx+3bNmyRnnWrVvn2rdv73seS/Wil71Z62VreazVi34mT1NZ6x3et7xZOxfm5+e71157rVGewsJC17lzZ9/z0D/eBgwY4N59991GedasWeOys7N9zWJtbKzlsTa3LPWOc/bmurXxsZbH0vyyNjbW8liqlXOcC6PhXOjNWj9bymOtVtZ62Voea/WytlYR73olNv8G923XokWLtHTpUiUnJ9d7/eijj9bmzZt9z/Phhx/qqaeeavR6r169tG3bNt/zrF27Vqeddlqj1zt06KDS0lLf81RUVCg9Pb3R619++aVSUlJ8z0P/RGZtbKzlKSws1Isvvtjo9W7dumnXrl2+57E2PtbmuqW5JUk7d+5Ut27dGr1eUVGhQCDgex5L9aKXvVnrZWt5rNWLfiZPU1nrHd63vFk7F65fv17Dhw9v9HpKSooqKip8z0P/eNu8ebMGDhzY6PXa2loFg0Ffs1gbG2t5rM0tS70j2Zvr1sbHWh5L88va2FjLY6lWEufCaDgXerPWz5byWKuVtV62lsdavaytVcS7Xgkx/xvakNraWtXU1DR6/YsvvlD79u19z5OSkqKysrJGr3/66afq2rWr73lycnJUXFzc6PXFixerf//+vuc59dRT9eyzz9b9ORAIqLa2Vg899JDGjh3rex76JzJrY2MtT3Z2trZu3dro9Y8++ki9evXyPY+18bE21y3NLUk64YQT9Oabb9b9+dAPH7Nnz9bo0aN9z2OpXvSyN2u9bC2PtXrRz+RpKmu9w/uWN2vnwn79+unjjz9u9Pr8+fOVn5/vex76x9ugQYO0aNGiRq/PnTs37CJHLFkbG2t5rM0tS70j2Zvr1sbHWh5L88va2FjLY6lWEufCaDgXerPWz5byWKuVtV62lsdavaytVcS9XjG/174N+c53vuN+8IMfOOcObmvw2WefuX379rkzzjjDXXHFFb7nufrqq915553nDhw4UJdnw4YNbvjw4e7GG2/0Pc/999/vBg0a5P7xj3+49u3bu0WLFrnnn3/ede3a1T322GO+5yksLHTdunVzZ511lktOTnYXXnihy8/Pd927d3fFxcW+56F/IrM2NtbyTJ8+3Z1yyilu69atrn379m7dunVu8eLFrn///u6Xv/yl73msjY+1uW5pbjnn3KJFi1xmZqa75pprXGpqqrvxxhvdmWee6TIyMtyKFSt8z2OpXvSyN2u9bC2PtXrRz+RpKmu9w/uWN2vnwj/84Q+uV69ebs6cOS4jI8P97//+r7vvvvvq/r/f6B9v8+bNcx06dHAzZsxw6enp7uGHH3ZTp051ycnJ7q9//auvWayNjbU81uaWpd5xzt5ctzY+1vJYml/WxsZaHku1co5zYTScC71Z62dLeazVylovW8tjrV7W1iriXS8W4ZvRpk2b3KBBg1x+fr5LTEx0o0aNcp07d3a5ublu+/btvucpLS1148ePd9nZ2a5du3aud+/eLikpyZ122mmuvLzc9zy1tbV1PwgFAgEXCARcamqqu+uuu3zPckhpaam777773EUXXeTOPvts99Of/tRt2bIlLlnon8isjY21PNXV1W7q1KkuMTHRBQIBl5SU5BISEtxll13mQqGQ73msjY9ztua6pbl1SHFxsZs6dao78cQTXX5+vrv00kvdqlWr4pLFOTv1opejZ7HUy9byHMpkpV70M3maymLv8L7lncXaufD55593AwcOrPsdsFevXm727NlxyeIc/RPN3//+dzd+/HjXtWtXl5aW5saMGePefvvtuGSxNjbW8libW5Z6xzl7c93a+FjLY2l+WRsba3ks1co5zoXRcC70Zq2fLeWxVitrvWwtj6V6WVurcC6+9Qo451zs77dvO0KhkObMmaNVq1apvLxcxx9/vC699FKlpaXFLdPixYvr5Rk/fnzcskjSgQMHVFxcrPLycg0aNEiZmZlxzWMJ/ROZtbGxlkeSNm7cqNWrV6u8vFzDhw/XMcccE7csFsfHGitzC97o5eis9bK1PJbQz2gqeqflsXgurKysVHl5edjn8QFoOuYWAHAuBABrLK1VxBOL8GizVq1aFfb1QCCg1NRU9enTRykpKT6nAtDcmOvewj03Vjo4PikpKUpOTvY1D/WKjLFpWaiXN2vjQ56Wg/ctHAn6p+WwNjbW8sCbtbkOb8yvloNatSycC71Z62dreSyx1svW8sBbvOvFInwzev3118O+fuhEOXDgQPXr18+3PI899ljUPKeddpratWvnS55vf/vbCgQCnnmmTJmi3NxcX/IkJCTU5Tk0Db6aLykpSRdffLGeeuoppaamxjwP/ROZtbGxlmfatGlR80yePFmdOnXyJY+18bE21y3NLan++IRz1FFH6YorrtAvfvELJSQk+Jon3vWil71Z62VreazVi34mT1NZ7p1w2vL7lmTvXDh8+PCovwNeccUVGjt2rC956B9vHTt2PKx6XXnllTHPYm1srOWxNrcs9Y5kb65bGx9reSzNL2tjYy2PpVpJnAuj4VzozVo/W8pjuVbhxPNneAt5rNXL2lpF3Ovly6b3bUQgEHAJCQl1z6A59L9DryUkJLjTTjvNffnll77kOfroo+uev96pUyfXqVMnFwgEXEZGhuvevbsLBAJuwIABbuPGjb7k+f73v+86dOjg+vbt684//3x3/vnnu6OPPtplZ2e773znOy43N9elpKS4xYsX+5Jn3rx5Ljc3182ePdutWrXKrVq1ys2ePdvl5+e7OXPmuOeff94dddRRbvr06b7koX8iszY21vKcfvrpLisry2VkZLjjjz/eHX/88S4zM9N16NDBnXTSSS47O9t17NjR/fOf//Qlj7XxsTbXLc0t55x75pln3FFHHeXuuusu9/rrr7vXX3/d3XXXXa53797uqaeecvfdd5/Lzs52v/rVr3zJY6le9LI3a71sLY+1etHP5Gkqa73D+5Y3a+fC22+/3XXo0MGdcsopbtq0aW7atGnu1FNPdR06dHA33nijO/PMM11CQoKbN2+eL3noH2+PPvqo69y5s7vsssvcY4895h577DF32WWXuS5durhf/epXburUqS4lJcX9/ve/j3kWa2NjLY+1uWWpd5yzN9etjY+1PJbml7WxsZbHUq2c41wYDedCb9b62VIea7Wy1svW8lirl7W1injXi0X4ZvTuu++6k046yb377ruurKzMlZWVuXfffdeNHj3avfnmm27x4sVu8ODB7qqrrvIlz4svvuhOP/10V1xcXPfaunXr3BlnnOHmzJnjNm3a5MaMGeMuuOACX/Lcdttt7tprr3U1NTV1r9XU1LjrrrvO3XHHHa62ttb98Ic/dGPGjPElz4knnujmz5/f6PX58+e7E0880Tnn3Guvveb69+/vSx76JzJrY2Mtz69//Wt3/vnnu71799a9Vlpa6i688EI3a9YsV1FR4SZPnuwmTJjgSx5r42NtrluaW845d8YZZ7iXXnqp0esvvfSSO+OMM5xzzj377LMuNzfXlzyW6kUve7PWy9byWKsX/UyeprLWO7xvebN2Lpw6daq75557Gr1+7733uqlTpzrnnPv5z3/uRowY4Use+sfb+eef75544olGrz/55JPu/PPPd84599hjj7khQ4bEPIu1sbGWx9rcstQ7ztmb69bGx1oeS/PL2thYy2OpVs5xLoyGc6E3a/1sKY+1WlnrZWt5rNXL2lpFvOvFInwzGjx4sFuyZEmj1xcvXuwGDRrknHPunXfecb179/YlT//+/d1HH33U6PWVK1e6fv36OeecW7JkicvJyfElT5cuXdzatWsbvb527VrXuXNn55xzq1atch06dPAlT2pqqluzZk2j19esWeNSU1Odc86tX7/epaWl+ZKH/onM2thYy9OzZ8+wV46tXr3a9ezZ0znnXEFBQd08izVr42NtrluaW84dHJ9PP/200euffvpp3Zh89tlnvo2PpXrRy96s9bK1PNbqRT+Tp6ks9g7vW5FZOxdmZWW5devWNXp93bp1Lisryzl3cKwyMzN9yUP/eMvIyIhYr4yMDOecc8XFxS49PT3mWayNjbU81uaWpd5xzt5ctzY+1vJYml/WxsZaHku1co5zYTScC71Z62dLeSzWylIvW8tjrV7W1iriXa/YP5CgDSkpKVFWVlaj17OysvTZZ59Jko455hjt2rXLlzxbt25VKBRq9HooFNK2bdskST179tS+fft8yRMKhVRUVNTo9aKiItXU1EiSUlNTPZ/P0Jzy8vI0Y8YMHThwoO61YDCoGTNmKC8vT5K0efNmde/e3Zc89E9k1sbGWp69e/dqx44djV7fuXOnysrKJEnZ2dn1ej2WrI2PtbluaW5JUu/evfX00083ev3pp59W7969JUm7d+9Wx44dfcljqV70sjdrvWwtj7V60c/kaSprvcP7ljdr58LU1FQtXbq00etLly6te5ZlbW2tL8/ZlOifaDp16qQ33nij0etvvPFG3TMbKyoq1L59+5hnsTY21vJYm1uWekeyN9etjY+1PJbml7WxsZbHUq0kzoXRcC70Zq2fLeWxVitrvWwtj7V6WVuriHe9EmPyXduoESNG6JZbbtGzzz6rrl27SjrYWLfeeqtOPPFESdK6devqChtrY8eO1Y9+9CPNnj1bw4cPlyR99NFHuvbaa3XGGWdIkgoLC9WvXz9f8lx++eW6+uqrdeedd9aNx4cffqj7779f3/ve9yRJ77//vgYPHuxLnt/97nc699xzddRRR+kb3/iGpIPjUVNTo7/85S+SpM8++0z/+Z//6Use+icya2NjLc/kyZN11VVXaebMmfXm1s0336zzzjtPkvTBBx/o2GOP9SWPtfGxNtctzS1JeuSRR3TRRRfprbfeqqvPihUrVFRUpLlz50o62E8XX3yxL3ks1Yte9matl63lsVYv+pk8TWWtd3jf8mbtXHj99dfrmmuuUUFBQb2fU2fPnq0777xTkvT2229r2LBhvuShf7z97Gc/07XXXquFCxdq5MiRkg6Ox//7f/9PTz75pCTpnXfe0Te/+c2YZ7E2NtbyWJtblnpHsjfXrY2PtTyW5pe1sbGWx1KtJM6F0XAu9Gatny3lsVYra71sLY+1ellbq4h3vQLOOReT79wGrV27VpMn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KysrioyMpP79+1O9evXI0tKSduzYocynfPny9NtvvxER0ffff092dnbUu3dvmjVrFn3yySfk6OhIP/zwgzIfg8FAlpaW5OLiQt26dVO+H/g8nPab9+/fTy4uLvTaa69R9erVTd9ftmzZklxdXalatWp09+5dJS5Er9a6TKR+bT5x4gQVK1bMbL/08uXLpudVr82LFi0iS0tLqlixIjk6OtK8efPI1dWVOnfuTNHR0WRtbU3/+c9/lPlw22+2s7Oj69evExHR0aNHycXFhQIDA6lFixYUHBxM9vb2lJCQoMwnICCA9u7dS0REn332GRUvXpxiY2Pp2LFjtGrVKipVqhT1799fmY/BYKAyZcqQwWCg4OBgmjRpkqleqhk1ahQ5OTnRu+++S97e3jRu3Djy8PCg0aNH09ixY8nLy4uGDRumzGfDhg1kZ2dH7777LrVt25bs7e3p448/poEDB1JgYCCVLFlS6eeM+fPnk6WlJX3wwQc0b948WrduHa1bt47mzZtHrVq1IisrK1q4cKEyn/xQvTZns3r1anJyciKDwUAuLi7k6upqeri5uSn3ad26NXl6elK3bt1o+PDhNGLECLNHQSMH4V8i1apVoxo1atC6devo0KFDFB8fb/bggurha9euHVWpUoX2799Pv/32G7322mtUqVIlSklJIaKsHSODwaDMp0SJEqYvqJKSkshoNNLy5ctNz//4449UtmxZZT7PfyH+/Mkbqk/iePZD68SJE8nNzY3mzp1LR48epcWLF1OhQoWUHQgrUqQIxcXFERFR586dKTw8nOLi4ujRo0cUHx9Pb7zxBnXq1EmJC1HWTtFbb71F1tbW5ObmRh9//DEdOnRI2es/T/Xq1alnz5507949mjhxIvn5+VHPnj1Nz3/22WdUrVo1ZT4TJ04kX19f+vrrr+n777+nkJAQGjlyJK1fv54+/PBDsre3p/379yvz8ff3px9//DHP55cvX05FixZV5pMfqtfmqlWr0pAhQ4iIKDMzk8aPH0+Ojo60fv16IlL/oZXT2sxtXTYYDKZ1uXr16jRo0CCz58eMGUNvvPGGMp/ChQvTX3/9RURE77//PtWtW5du3LhBRES3bt2ixo0b03vvvafMx2AwUJcuXahQoUJkaWlJjRo1op9//pnS09OVOTyLj48P7dmzh4j+bx9n06ZNpud3795Nfn5+ynxkbdamb9++mo+2bdsqnfewsDCaPn266e8ff/yRHBwcaM6cOUSkdm3++OOPKTg4mL766iuqWbMmNWnShMqWLUu7d++mHTt2UGhoqOl9RAWWlpb01ltvmX1YHj58OBmNRurRo4eyD9DZyNqsjcFgoM2bN1OfPn3I09OTrKysKCoqitasWUMZGRnKPLIpWrSo6UBYcnIyGY1GWrVqlen5TZs2UbFixZT5BAcHm+3n7N+/n4oUKUKZmZlERNSyZUulBy7Lly9PQ4cOzfP54cOHU7ly5ZS4yLqsTdWqVenzzz8nIqJly5aRm5ub2Vo8aNAgqlevnjIfg8FAkZGR1KFDB7OH0Wikpk2bmv5W6ZO9NterV4+io6PNnu/Tpw/Vrl1bmY+dnR2dPXuWiLIOin333Xdmzy9ZsoRCQ0OV+RgMBjp69ChNnTqVypUrR0ajkSpUqEBff/216Ts6lXDab46IiDDbj1i0aBFVqVKFiLJ+FBIWFka9e/dW4kLEa10m4rc2N23alBo1akQ3btygpKQkatSoEQUEBNC5c+eISP3a/Ox7xebNm8nOzo6mTJlien7SpEkUERGhzIfzfnOTJk3onXfeobS0NCIiysjIoA8++IAaN26szMfGxsbUK6VKlTJ9D5bNjh07yN/fX5lPdn3i4+Pp448/Jnd3d7K2tqbmzZvTunXrTPuHKihZsiT99NNPRJT1PaWFhYXZyYexsbEUGBiozCcsLIxmzZpl+nvTpk0UHBxMRERPnz6lOnXqKN3PCAoKohkzZuT5/DfffKO0Pr/88ovmY+rUqbochA8KCqI+ffrQgwcPlL92bjg7O9Pu3bt1e305CP8Ssbe3p2PHjumtkefZbtmP4OBgpcPn6+tL+/btM/39+PFjeueddygsLIxu3bqlfMfI1taWzp8/b/b3s7mdPn2anJyclPn4+flRo0aNaOvWrbR9+3bavn07bdu2jSwsLGjevHmmbap4dscoPDycvv32W7PnFy9eTGXKlFHiYmNjY/rAWrx48RxnrB84cIB8fHyUuBD9X21u3LhBkyZNotDQUDIajVSxYkWaOXOm0l+DEWW9gZw6dYqIiNLS0sjS0tLspICTJ0+Si4uLMp/ixYvTunXrTH+fOHGCPDw8TDvWvXv3VvqFkK2tLSUmJub5/NGjR8nOzk6ZD7e1+dn+yWbJkiXk4OBAa9as+VevzZzX5UKFCuX4xcrx48fJ1dVVmY+trS2dPn2aiLJOlnr2PZ6I6K+//iJPT09lPtn1SUtLo5UrV1LDhg1Nv/4cMGAAnThxQpkLUdb+YPZ7FxGRlZWV6cAYUVYvOzg4KPORtVmb7PfxmjVr5vqoVKmS0rXQwcHBNF/ZbN26lRwdHWnWrFlK1+aiRYuarpBy6dIlMhgMppOliIh+/fVXKl26tBIXoqwv4kuWLEnDhg0zO4hraWlJR48eVeaRjazN2jxbn6dPn9KPP/5IDRo0IAsLC/L19aUhQ4ZQUlKSMh87OzvTl61EWWvzkSNHTH+fOXOG7O3tlfqcOXPGbJulpaXpii779u1T3j/Hjx/P8/njx4+Tra2tEhdZl7VxdnY2zU5GRgZZWlqaTlwnypr1woULK/NZtmwZFSlShObOnWu2ncPa7OPjQ3/88YfZ80eOHFG6Fnp4eJjeHwoVKpTjBzqnTp1Sut/zbH2Istaarl27kouLC9nZ2VGrVq2UXkmB036znZ0dJScnm/7OyMggKysrunr1KhFlHfjx9fVV4kLEa10m4rc2FypUiA4fPmz6OzMzk7p160b+/v6UnJysfG1+/r3CysrK7Jfdx44dIw8PD2U+nPebixYtSjt37jR7Pi4uTun3u8WKFTN9zvHz88txUnpiYqLSz+zPr82PHz+mpUuXUp06dchoNFKRIkU0T8p5meS3z3z27Fml+8y2trZm+8yZmZlkZWVluvLFzp07ycvLS5mPjY0Nq7X52R8L5fXQ4yC8vb292Xuq3oSEhCi92sbzyD3hXyKhoaEs7hmdmJiI8uXLo0mTJrk+IiMjlfrcuXMHbm5upr9tbGwQGxuL4sWLo1atWjnu2VXQuLi4IDU11fR3xYoV4eTkZPr7yZMnMBgMynwOHz4MKysrjBo1CoGBgYiMjETNmjVhMBhQuXJlREZGKs8s+///8+fPo1q1ambPVatWzeyeZgVJsWLFcOTIEZOTpaWl2fMWFhZ48OCBEpdn8fT0RL9+/XD06FHs3r0bYWFhGDhwIHx8fNCuXTtlHtbW1nj8+DEA4OnTp8jMzDT9DWTdH8vKykqZz/Xr1xESEmL6OygoCHfu3MGNGzcAANHR0aZ7Lqng9ddfx7hx43K9V1FGRgbGjx+P119/XZkPt7XZxsbGbC0EgNatW2POnDlo2bIlfv75Z6U+nNZmjutyYmIiDh8+DDs7O2RmZuZ4XuU9uUqVKoU///wTQNa9y56/B9e9e/dydSxoLC0t8e6772Lt2rU4d+4cevbsiZUrVyIkJAQ1atRQ5hEUFIRff/0VALB+/XrY2tpi06ZNpuc3btyIgIAAZT6yNmsTGBiIvn37Ytu2bbk+vv/+e2UuAODs7Ixr166ZbatVqxZ+/fVX9O/fH19//bUyl+vXryMwMBAA4OvrCzs7O5QqVcr0fNmyZXHhwgVlPhERETh48CBOnjyJatWqITk5Wdlr54WszS+GlZUV3n//fWzYsAGnT59Gly5dsGTJEpQuXVqZg7+/v2mt279/PwwGg6leALBv3z74+fkp8ylevDgOHDhg+jsuLg5GoxGFCxcGALi7uyMtLU2pz9q1a/N8fu3atShWrJgSF1mX8yd7n9hoNMLW1hYuLi6m55ycnHDnzh1lLh988AF27dqFH374Ae+++y5u376t7LXz4t69e7h79y5sbW1hY2Nj9pytrS0ePnyozOXtt9/GrFmzAACRkZFYuXKl2fMrVqwwvdfqQeXKlfHtt9/i8uXLmDlzJi5cuIB69eope31O+82FChUyu//8tWvXkJ6eDmdnZ5NrSkqKEheA17oM8FubHz16ZPYdocFgwKxZs/DOO+8gMjISJ0+eVOpjZWWFp0+fmv62sbGBo6Oj2d+PHj1S5sNtv9lgMJi9dz37vgUArq6uSt8/2rRpg88//xypqan48MMPMXLkSNy/fx8A8PDhQ4wYMQIRERHKfJ7/rsvGxgatWrXC5s2bkZycjA4dOmD+/PlKXLy9vZGYmAgASEpKQkZGhulvADh69CgKFSqkxAUA/Pz8cOLECdPfycnJyMzMhIeHBwCgSJEipuxUUKZMGfzwww95Pj937lyEhoYq8/Hx8UFsbCwyMzNzfcTFxSlzeZYGDRqYfdbRm8mTJ2PgwIE4d+6cPgK6Hf7/B7JlyxaqWrUqbdu2jW7evJnjfrKqeO2112jmzJl5Pn/o0CGlZ8CUK1eOVq5cmWN7WloaNW3a1HSPUlXUqlWL5s+fn+fzK1asoNdee02ZTzYzZ84kX19fWrp0KRHpe3bimDFjaPr06eTj45Pj1+cJCQnK7t0xceJECgkJoaSkJJo8eTJVrVrV9Mvd06dPU82aNZVeVvPZS/U/z/3792nOnDlKL//epEkTaty4Me3evZu6du1KlSpVokaNGtH9+/fpwYMH9N5779Fbb72lzCcsLMzs8npbtmwhe3t702WTjh8/rvQqEwkJCeTt7U0eHh7UrFkz6tatG3Xr1o2aNWtGHh4e5OPjY3aWfUHDbW2uV69envddXrp0KVlZWf3r12ZO6/KzZ7ZOnTrV7Plly5YpvYzlvHnzqEiRIrRt2zZauHAhhYSE0ObNm+nSpUu0detWKleuHHXu3FmZj9baTJR1OcDWrVsr81m8eDFZWFhQYGAg2djY0H/+8x/y9fWl999/nz744AOytrbWvHzZy0bWZm1at25Nn3zySZ7Px8fHK71tUpMmTfK8x962bdvIwcFB2drs6+tLBw8eNP3dqlUrs1k7cuSILvdzIyKaO3cueXt707fffktWVlayNhO/tfn5X/Q8T2ZmptklhwuaqVOnkq2tLdWtW5fc3Nzoq6++Im9vbxowYAANGjSIXFxcaOTIkcp8ZsyYQS4uLjRgwAAaNmwY+fr6mt1ma/HixUrv1bpixQqytLSkd955h6ZPn07Lly+n5cuX0/Tp0ykqKoqsra1z/UxfEMi6rE358uXNLpv7119/ma5uQ5T1i7CAgABlPtlkZGTQsGHDqGjRorRhwwbd1+bs9fn5y7//8ssvSi8Te+nSJSpevDjVqFGDPv30U7Kzs6Pq1atTly5dqEaNGmRtbU1r165V5pPf2kxESq8ixWm/uU+fPlS2bFlav349bd26lWrVqkU1a9Y0Pb9hwwYqWbKkEhciXusyEb+1+fXXX8/zvss9e/YkV1dXpWtzpUqVzG5zc+fOHbNLiP/2229UqlQpZT7PwmW/Ofte0FZWVrRo0SKz5zdt2kTFixdX5vPkyROKiooiNzc3qlevHtna2pK9vT0FBQWRg4MD+fv7K10LX2RtVnVJ+i+++IK8vLyoc+fOFBAQQIMGDSJ/f3+aNWsWzZ49m4oWLUp9+/ZV4kJEFBMTQ0WKFKFZs2bR3LlzqWzZsma3bIqNjVX6mSt7369cuXLUt29fGjduHI0bN4769u1L5cuXJ0dHxxzHUgqSd955R/MqCarX5mzmzJlD/v7+NHz4cFq5cmWOy+Sr5vr161SzZk0yGo3k6OhIbm5uZo+CRg7Cv0SevcRDbveQVUXv3r2pT58+eT5/6tQpsx3JgmbAgAFUv379XJ9LS0ujqKgopfU5ceJEjsvJPcuSJUs071VakBw9epQqVKhArVq10u1gT7Fixah48eKmx/NfKE6bNk3p/S179epFVlZWFBwcTLa2tmQ0Gsna2pqMRiNVqlSJrly5oszlRXaKVHLy5EkKCgoig8FAISEhdPHiRYqKiiJLS0uytLQkLy8vsy/PC5off/yRrKys6P3336d27dqRo6Oj2f1RZ8+eTVWrVlXmQ0R09+5dmjlzJrVr147q169P9evXp3bt2tGsWbOU3z6A29ocGxur+SF6yZIlSn24rs0c1uWzZ8+aPW7evGn2/IIFC2jBggVKnSZPnkz29vZkZ2dnWpOzH02bNqV79+4pc+G2NhNlXf5v0qRJpntcHj16lD788EN69913NU82KQhkbdbmypUrZpdB1Zvt27fT2LFj83x+69atyu5599Zbb9Hs2bPzfH7evHlKTz58npMnT9Lrr79uur+tamRt1qZ48eI5aqI3S5YsoY8//th0ct22bdvozTffpNdee41GjBih/F71M2fOpGrVqtFrr71GQ4YMoUePHpmeO3nypPJb3e3Zs4datmxJ/v7+ZG1tTdbW1uTv708tW7ak33//XZmHrMvazJo1i3799dc8nx88eLDZCR2q2bVrFwUEBJDRaNRlbc6+bVT24/mDKNOmTaMJEyYodbp9+zYNHDiQQkNDydbWlqytralYsWLUunXrHJdALmhq1qxJt2/fVvqa+cFlv/nevXv0/vvvk6WlJRkMBqpWrZrZ59ONGzfSihUrlPkQ8VmXifitzWPHjqW33347z+e7d++u9MBTbGys5oG3L7/8kr744gtlPs+j937z/PnzzR7P3ypk5MiRSg/sZrN+/Xrq0aMHvfXWW1S/fn1q3749fffdd3T//n2lHiNGjGBz7+yMjAwaM2YMNW7cmMaOHUuZmZm0bNkyKlq0KHl4eFCHDh2U1ictLY0GDBhAvr6+5OHhQa1bt6YbN26Ynt+3b5/Sg95EWbexGjBgANWoUYNKlSpFpUqVoho1atDAgQNz3G6qoNm5c6fZyZnPc//+faW308yG2+Xx69SpQ0FBQTRu3DiaN29ejjWpoDEQEenzG/x/Hjt27NB8XvWla7mQnp6Ohw8fmi7hlNvzly5dUnoZpf+GcePGoVu3bnB1dVXyek+fPsWgQYOwbds2xMbGKr1k7Yuwd+9e2NjYIDw8XNlrHjt2DL/++itOnz6NzMxM+Pj4ICIiAnXr1lV664AFCxbggw8+yHFJO725deuW6TI8ALBlyxY8evQIVatWNduugvXr12Px4sV48uQJGjRogC5duph5AlDuJAj/K9zXZb1ITU3Fb7/9lmNtDgoKUuqxY8cORERE5LhlifB/yNos/B1SUlJgNBrz3Adev3497OzsULNmTaVez5KZmYl79+7B2dlZ6T4hZ7iszYIg/Hu5f/8+kpOTERwczO6zsyDkx+PHj5Genm52KXFB+Ccg+82CIPxbsbe3xx9//IEKFSro8vpyEF5Ajx49MHLkSHh6euqtAiDrnmvx8fEoUaKE3ioA+Plwy6tRo0aYM2cOfHx89FZRfsJEfkhW2uidV1paGq5cuQJ/f39dXl/470hPT8fly5clr1yQ2giCIAiCUBAQETIzM2FhYaG3Cq5du4YnT57otr+TkZFhVod9+/bhyZMnqFq1KqysrHRx4gyn3gH07x/uSF6vDvPnz0ezZs1y3FNbL2JiYtCzZ08233tt374dVapUgZ2dnd4qACSv/JD6aNOxY0eMGTMGvr6+eqvIbOVDWlqa7A8ypmLFipg5cybeeOMNXV7fqMur/oNJTU3F5MmT0blzZ3Tu3BlTp07FnTt39NbSZPHixbh7967eGia4nRfCzYdbXjt37sSjR4/01gAAjB07FikpKXprmJCstNE7r8TERFa/aH7w4AF27typt4aJhIQENl/CAMDRo0fZ5MUtK061AfjV5/bt21i4cKHeGia4zVZ6ejrOnz+v7PXS0tIwYMAABAYGonLlypg7d67Z89euXVNen5kzZ6Ju3bp4//33sWXLFrPnbt68qfRETI71yczMzHU7ESntHUCyehHyyiszM1N5XgkJCRg9ejRmzpyJmzdvmj139+5dREdHK/VZt24dOnfujAEDBuD48eNmz92+fRu1a9dW6sOpn9PT0/HFF18gMjISw4cPBwBMnDgRjo6OsLe3R/v27fH06VMlLvfu3UPbtm1RrFgx0+v27NkTPj4+CAgIQGRkpNLPWFeuXEFERARsbGwQGRmJ27dvo3HjxqhatSpq1qyJsmXL4sqVK8p8AGDOnDlo37495s2bBwD48ccfERISghIlSpjyUwWn3gH49Q8geWnBLS9OWeVF165dcfnyZeWve/fu3RyPO3fuYMyYMTh9+rRpm97Ur18fZ8+e1VvDhOSljdQni8OHD+f6WLJkCf78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L3t7e0pOTlb+unnh7+9P48aN01vDhL29PSUlJemtYYJTXhyz4lIbIn718fb2poULF+qtYYLbbAUFBVGfPn3owYMHeqsQEZGTkxOrfuY2X5zqw3G2uNSGiFdWRDzzOnbsmN4aJritzdz6mVN9uNWG26zLbGnDrX8kL2045SVZacMpKyLJKz845iX1yRtO+xoyW9pw6x1uec2bN4+sra3J0dGRihUrRsWLFzc9AgIC9NbLE0dHxwLJ9eX+rv5fTp8+fcwePXr0QIcOHdC1a1d88sknyn1Onz6Nd955J8f2qKgonDlzRrnPw4cPUbhw4RzbCxUqhIcPHyr38fLyQnx8fI7t8fHxKFSokHIfbnlduXIF1apVy7G9WrVquHLlilKXY8eOoVOnTjm2R0dHIzExUakLIFnlB7e8GjRogAMHDih/3by4ffs2WrRoobeGiSpVquDUqVN6a5jglBe3rDjVBuBXn6dPn+a6FuoFt9m6dOkSevfuzeIsbQBo0aIFNm3apLeGCW7zxak+3GZLstKGW16hoaG4efOm3homuK3N3PqZU3241YbbrMtsacOtfyQvbTjlJVlpwykrQPLKD255SX204bSvIbOlDbfe4ZbX0KFDMWzYMNy5cwdnz57FmTNnTI/Tp0/rraccS70F/kncvn07x7akpCR0794d/fv3V+5TtGhRbNmyBYGBgWbbN2/ejKJFiyr3qVq1KoYPH46FCxfC1tYWAPDo0SPExMSgatWqyn26dOmCrl274vTp06Yvqvbs2YPx48fj008/Ve7DLa/AwECsWLECQ4YMMdv+448/IigoSKlL9gkTz7+uXidMSFbacMurUaNG6N+/PxITE1GuXDlYWVmZPR8VFaXUJ3unulu3bkpfNy969eqFfv364erVq7nWp3z58kp9OOXFLStOtQH41adz585YunQphg4dqrcKAH6zlf0h8aVfVutvEhgYiKFDh2Lv3r251kf15cm4zRen+nCbLclKG255jR8/HgMGDMDYsWNzrY+zs7NSH25rM7d+5lQfbrXhNusyW9pw6x/JSxtOeUlW2nDKCpC88oNbXlIfbTjta8hsacOtd7jl9fDhQ3zwwQcv/d7qrypyT3gFHDhwAG3btsXx48eVvu6sWbPwySefIDo62uwg8/z58zF9+nR89NFHSn2OHDmCBg0a4MmTJ6b7UCQkJMDW1hYb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vrjVB+AzW5LVi8ElL25wW5u59TOn+nCrDddZ5wKn3gH49Q83JK9XB8nq1ULy0kbqo43sa+SN9I7w3xITE2P69+PHjzFz5kyEhoaabl+wd+9eHD16FD169MCXX35ZoC5yEL4A4PSFR2pqKv78889cDzK3a9dOqUtGRgbmz5+PLVu25OqzdetWpT579+5F69atce7cOTw/BgaDARkZGUp9AF55AVkHVrZt25arz7Bhw5S6cDphApCs8oNTXhYWFqhevTratm2L9957D25ubkpf/3m47VQ7OzujWbNmaNu2LerUqQOj0airD6e8uGXFqTYAv/osXrwYzZs3Z3OgidtscfuQaG1tDT8/P7Rq1Qpt27bV/UpJ3OaLU324zZZkpQ23vAIDA9G2bVu0adMGQUFBeuuwW5u59TOn+nCrDbdZl9nShlv/SF7acMpLstKGU1aA5JUf3PKS+mjDaV9DZksbbr3DLS9udO7cGT4+Phg1apTZ9uHDh+PChQuYO3duwQqou/L9P5/U1FS6detWju23bt2iO3fuKPdZvXo1OTk5kcFgIBcXF3J1dTU93NzclPv07NmTHBwc6P3336c+ffrQJ598YvZQTYUKFahFixaUmJhIt2/fptTUVLOHarjl9d1335GFhQUVLlyYKlSoQGFhYaZHeHi4Upc//viDAgICyGg0ksFgMHsYjUalLkSSVX5wyysuLo4+++wzKlKkCNnY2FCTJk3oP//5Dz1+/Fi5CxGRlZUVFS9enAYPHkxHjx7VxeFZYmNj6b333iM7Ozvy9vamPn360P79+3Xz4ZQXt6w41YaIX308PT3JwcGBWrVqRWvXrqX09HRdfbjNltFopBo1atB3331HKSkpunlkc+PGDfr666+pWrVqZDAYqEKFCjRhwgRd7p9GxG++ONWH22xJVtpwy2vKlClUqVIlMhgMVKlSJZo2bRpduXJFNx9uazO3fuZUH2614TbrMlvacOsfyUsbTnlJVtpwyopI8soPbnlJfbThtK8hs6UNt97hlhc3nJ2d6eTJkzm2nzx5kpydnQv89eUg/Evkrbfeom+++SbH9lmzZtHbb7+t3CcoKIj69OlDDx48UP7aueHh4UFr167VW8OEvb09JSUl6a1hglte/v7+NG7cOL01iIjfCROSlTbc8somMzOTtm7dSp07dyY3NzdycXGhjh07KvfgtFP9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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "subset_df = trt_df[['layer_name', 'average_power', 'average_run_time']]\n", + "subset_df['average_power'] = subset_df['average_power'] * 1e-3 # microwatts to millwats\n", + "subset_df['average_run_time'] = subset_df['average_run_time'] * 1e-3 # milliseconds to seconds\n", + "subset_df['average_energy'] = subset_df['average_power'] * subset_df['average_run_time']\n", + "subset_df = subset_df[['layer_name', 'average_energy']]\n", + "subset_df.groupby(by=['layer_name'], sort=False).boxplot(subplots=False, figsize=(25, 10), rot=90, showfliers=False).set_ylabel('Energy MWs (MilliWattSec)')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5e95857a-0f65-41be-8f86-9cfc8b288b59", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "597dca68-8467-41db-8fea-2792b216e018", + "metadata": {}, + "outputs": [], + "source": [ + "pt_df = pd.read_csv(f'{DATA_PATH}/mobilenet_v2_average_run_time_stats.csv')" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "d36e38af-8a71-44c1-bf13-88e672c0d2e1", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/tmp/ipykernel_349448/1328277711.py:2: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame.\n", + "Try using .loc[row_indexer,col_indexer] = value instead\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " subset_df['average_power'] = subset_df['average_power'] * 1e-3\n" + ] + }, + { + "data": { + "image/png": "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P/XUUznllFOy7bbbZuONN87222+fc889NytXruxwnkceeST77bdf+vXrlxEjRuSCCy54K54eAAAAAAAAAKzfYf6ll17KmDFjcuWVV671+Lve9a5cccUV+fWvf52f/exn2WabbTJ58uT88Y9/TJL87ne/y+rVq3PNNdfk0UcfzaWXXpqrr746Z511Vvs5li5dmsmTJ2fUqFF5+OGHc+GFF2b69Om59tpr35LnCAAAAAAAAMDft43W54NPmTIlU6ZMed3jU6dO7XD5kksuybe+9a088sgjOeigg3LYYYflsMMOaz++3Xbb5bHHHstVV12Viy66KEkyY8aMrFy5Mtddd1369OmT0aNHZ968ebnkkksybdq0Mk8MAAAAAAAAAP6v9TrMd8bKlStz7bXXZtCgQRkzZszr3m7JkiUZMmRI++X77rsv+++/f/r06dN+3aGHHprzzz8/L774YgYPHrzW86xYsSIrVqxov7x06dIkSVtbW9ra2rr8PNbcd13O0Z1q60nqa6qtJ9HUjNp6kvqaautJ6muqrSepr6m2nkRTM2rrSeprqq0nqa+ptp6kvqbaehJNzaitJ6mvqbaepL6m2noSTc2orSepr6m2nqS+ptp6kvqaautJNDWjtp6kvqbaepL6mmrrSeprqq0n0dSM2nqS+ppq60m6r6kz929pNBqNdXq0btLS0pJbb701xxxzTIfrb7/99nzwgx/M8uXLs+WWW2bmzJnZc88913qOBQsWZNy4cbnoooty6qmnJkkmT56cbbfdNtdcc0377ebPn5/Ro0dn/vz52Xnnndd6runTp+e88857zfU33nhj+vfv38VnCQAAAAAAAMCGYPny5Zk6dWqWLFmSgQMHvuFtq3/H/KRJkzJv3rw8//zz+eY3v5njjz8+DzzwQIYOHdrhdk8//XQOO+ywHHfcce2j/Lo488wzc/rpp7dfXrp0aUaMGJHJkye/6Yv6Rtra2tLa2ppDDjkkvXv3XufOdVVbT1JfU209iaae2JPU11RbT1JfU209SX1NtfUkmnpiT1JfU209SX1NtfUk9TXV1pNo6ok9SX1NtfUk9TXV1pNo6ok9SX1NtfUk9TXV1pPU11RbT6KpJ/Yk9TXV1pPU11RbT1JfU209iaae2JPU11RbT9J9TWs+db0Z1Q/zAwYMyA477JAddtgh++yzT975znfmW9/6Vs48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2muvLf78AAAAAAAAAGCj9fngU6ZMyZQpU173+NSpUztcvuSSS/Ktb30rjzzySA466KD89re/zU9+8pM8+OCD2WOPPZIkl19+eQ4//PBcdNFFGT58eGbMmJGVK1fmuuuuS58+fTJ69OjMmzcvl1xySYcBHwAAAAAAAABKWK/DfGesXLky1157bQYNGpQxY8YkSe67775suumm7aN8khx88MHp1atXHnjggfzDP/xD7rvvvuy///7p06dP+20OPfTQnH/++XnxxRczePDgtT7eihUrsmLFivbLS5cuTZK0tbWlra2ty89jzX3X5RzdqbaepL6m2noSTc2orSepr6m2nqS+ptp6kvqaautJNDWjtp6kvqbaepL6mmrrSeprqq0n0dSM2nqS+ppq60nqa6qtJ9HUjNp6kvqaautJ6muqrSepr6m2nkRTM2rrSeprqq0nqa+ptp6kvqbaehJNzaitJ6mvqbaepPuaOnP/lkaj0VinR+smLS0tufXWW3PMMcd0uP7222/PBz/4wSxfvjxbbrllZs6cmT333DNJ8pWvfCXXX399HnvssQ73GTp0aM4777x8/OMfz+TJk7PtttvmmmuuaT8+f/78jB49OvPnz8/OO++81p7p06fnvPPOe831N954Y/r377+OzxYAAAAAAACAnmz58uWZOnVqlixZkoEDB77hbat/x/ykSZMyb968PP/88/nmN7+Z448/Pg888ECGDh1a9HHPPPPMnH766e2Xly5dmhEjRmTy5Mlv+qK+kba2trS2tuaQQw5J7969uyN1ndTWk9TXVFtPoqkn9iT1NdXWk9TXVFtPUl9TbT2Jpp7Yk9TXVFtPUl9TbT1JfU219SSaemJPUl9TbT1JfU219SSaemJPUl9TbT1JfU219ST1NdXWk2jqiT1JfU219ST1NdXWk9TXVFtPoqkn9iT1NdXWk3Rf05pPXW9G9cP8gAEDssMOO2SHHXbIPvvsk3e+85351re+lTPPPDPDhg3Lc8891+H2r776al544YUMGzYsSTJs2LA8++yzHW6z5vKa26xN375907dv39dc37t37275gemu83SX2nqS+ppq60k0NaO2nqS+ptp6kvqaautJ6muqrSfR1IzaepL6mmrrSeprqq0nqa+ptp5EUzNq60nqa6qtJ6mvqbaeRFMzautJ6muqrSepr6m2nqS+ptp6Ek3N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z2XgwIHdGggAAAAAAAAAPVmXhvlzzjknn/rUp7LNNttk7733zvjx45P89d3zu+++e9PnmTNnTo466qgMHz48LS0tmTlzZvuxtra2nHHGGdl1110zYMCADB8+PCeccEKeeeaZDud4/PHH8773vS+bb755Bg4cmH333TezZs3qcJtFixbliCOOSP/+/TN06NB8+tOfzquvvtqVpw4AAAAAAAAAndKlYf7YY4/NokWL8tBDD+UnP/lJ+/UHHXRQvv71rzd9npdeeiljxozJlVde+Zpjy5cvz9y5c/P5z38+c+fOzS233JLHHnssRx99dIfbHXnkkXn11Vdz99135+GHH86YMWNy5JFHZvHixUmSVatW5YgjjsjKlStz77335vrrr893vvOdnHPOOV156gAAAAAAAADQKV0a5k8++eQMGDAgu+++e3r1+tspRo8enfPPP7/p80yZMiVf+tKX8g//8A+vOTZo0KC0trbm+OOPz4477ph99tknV1xxRR5++OEsWrQoSfL888/niSeeyGc/+9nstttueec735mvfe1rWb58eX7zm98k+eu7+OfPn5/vfve7GTt2bKZMmZIvfvGLufLKK7Ny5cquPH0AAAAAAAAAaNpGXbnT9ddfn6997WvZZJNNOlz/8ssv54Ybbsh1113XLXH/ryVLlqSlpSWbbrppkmSzzTbLjjvumBtuuCHvec970rdv31xzzTUZOnRoxo0blyS57777suuuu2aLLbZoP8+hhx6aj3/843n00Udf96P3V6xYkRUrVrRfXrp0aZK/fsR+W1tbl5/Dmvuuyzm6U209SX1NtfUkmppRW09SX1NtPUl9TbX1JPU11daTaGpGbT1JfU219ST1NdXWk9TXVFtPoqkZtfUk9TXV1pPU11RbT6KpGbX1JPU11daT1NdUW09SX1NtPYmmZtTWk9TXVFtPUl9TbT1JfU219SSamlFbT1JfU209Sfc1deb+LY1Go9HsjZcuXZpGo5HBgwfniSeeyDve8Y72Y6tWrcoPf/jDfPazn33N98A3FdLSkltvvTXHHHPMWo+/8sormTBhQnbaaafMmDGj/fo//OEPOeaYYzJ37tz06tUrQ4cOzY9+9KP2wX3atGlZuHBh7rzzzvb7LF++PAMGDMgdd9yRKVOmrPXxpk+fnvPOO+811994443p379/p58fAAAAAAAAABuO5cuXZ+rUqVmyZEkGDhz4hrft1DvmN91007S0tKSlpSXvete7XnO8paVlrWP2umpra8vxxx+fRqORq666qv36RqOR0047LUOHDs0999yTjTfeOP/2b/+Wo446Kg8++GC23HLLLj/mmWeemdNPP7398tKlSzNixIhMnjz5TV/UN3sura2tOeSQQ9K7d+8un6e71NaT1NdUW0+iqSf2JPU11daT1NdUW09SX1NtPYmmntiT1NdUW09SX1NtPUl9TbX1JJp6Yk9SX1NtPUl9TbX1JJp6Yk9SX1NtPUl9TbX1JPU11daTaOqJPUl9TbX1JPU11daT1NdUW0+iqSf2JPU11daTdF/Tmk9db0anhvlZs2al0WjkwAMPzM0335whQ4a0H+vTp09GjRqV4cOHd+aUb2rNKL9w4cLcfffdHUbxu+++O7fffntefPHF9uv/9V//Na2trbn++uvz2c9+NsOGDcsvfvGLDud89tlnkyTDhg173cft27dv+vbt+5rre/fu3S0/MN11nu5SW09SX1NtPYmmZtTWk9TXVFtPUl9TbT1JfU219SSamlFbT1JfU209SX1NtfUk9TXV1pNoakZtPUl9TbX1JPU11daTaGpGbT1JfU219ST1NdXWk9TXVFtPoqkZtfUk9TXV1pPU11RbT1JfU209iaZm1NaT1NdUW0+y7k2duW+nhvkDDjggSfLkk09m5MiRaWlpec1tFi1alJEjR3bmtK9rzSj/xBNPZNasWdlss806HF++fHmSpFevXh2u79WrV1avXp0kGT9+fL785S/nueeey9ChQ5Mkra2tGThwYHbZZZdu6QQAAAAAAACA19PrzW/yWtttt13++Mc/vub6P/3pT9l2222bPs+yZcsyb968zJs3L8lfB/958+Zl0aJFaWtry7HHHpuHHnooM2bMyKpVq7J48eIsXrw4K1euTPLX0X3w4ME58cQT86tf/SqPP/54Pv3pT+fJJ5/MEUcckSSZPHlydtlll3zkIx/Jr371q9x555353Oc+l9NOO22t74gHAAAAAAAAgO7UpWG+0Wis9fply5alX79+TZ/noYceyu67757dd989SXL66adn9913zznnnJOnn346t912W/7whz9k7Nix2XLLLdv/u/fee5Mkm2++eX7yk59k2bJlOfDAA7PHHnvkZz/7WX7wgx9kzJgxSZK3ve1tuf322/O2t70t48ePz4c//OGccMIJ+cIXvtCVpw4AAAAAAAAAndKpj7I//fTTkyQtLS0555xz0r9///Zjq1atygMPPJCxY8c2fb6JEye+7sifvP4/APjP9thjj9x5551veJtRo0bljjvuaLoLAAAAAAAAALpLp4b5X/7yl0n+Opj/+te/Tp8+fdqP9enTJ2PGjMmnPvWp7i0EAAAAAAAAgB6sU8P8rFmzkiT/5b/8l1x22WUZOHBgkSgAAAAAAAAA2FB0aphf49vf/nZ3dwAAAAAAAADABqlLw3ySPPTQQ/mP//iPLFq0KCtXruxw7JZbblnnMAAAAAAAAADYEPTqyp1uuummvPe9781vf/vb3HrrrWlra8ujjz6au+++O4MGDeruRgAAAAAAAADosbo0zH/lK1/JpZdemh/+8Ifp06dPLrvssvzud7/L8ccfn5EjR3Z3IwAAAAAAAAD0WF0a5v/X//pfOeKII5Ikffr0yUsvvZSWlpb8y7/8S6699tpuDQQAAAAAAACAnqxLw/zgwYPzl7/8JUmy1VZb5Te/+U2S5M9//nOWL1/efXUAAAAAAAAA0MNt1JU77b///mltbc2uu+6a4447Lp/85Cdz9913p7W1NQcddFB3NwIAAAAAAABAj9WlYf6KK67IK6+8kiQ5++yz07t379x77735wAc+kM997nPdGggAAAAAAAAAPVmnhvkTTzwxBx10UCZOnJiRI0cmSXr16pXPfvazReIAAAAAAAAAoKfr1DC/cOHCfPSjH83KlSuzzTbbZNKkSZk0aVIOPPDAbLnllqUaAQAAAAAAAKDH6tQwP3v27KxYsSL33ntvZs+endmzZ+e73/1u2tra8s53vrN9pD/uuONK9QIAAAAAAABAj9Lp75jv27dv+zvlk+SVV17Jvffemx//+Me59tprc+211xrmAQAAAAAAAOD/6vQwv8bKlStz3333Zfbs2Zk1a1YeeOCBDB8+PB/4wAe6sw8AAAAAAAAAerRODfNz5szpMMSPHDkyBxxwQKZNm5bvfve72XrrrUt1AgAAAAAAAECP1KlhfuLEiRk5cmTOOOOM3HTTTdliiy1KdQEAAAAAAADABqFXZ278mc98JsOGDcs///M/55BDDsl//a//NTfffHOef/75Un0AAAAAAAAA0KN1apj/2te+lvvvvz9/+tOfcv7556d///654IIL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e97znhx88MFdOd3rWjPKP/HEE5k1a1Y222yzDsfHjRuXvn375rHHHsu+++7bfp+nnnoqo0aNSpL2fyzw3HPPZejQoUmS1tbWDBw4sMOgDwAAAAAAAAAldGmYf+WVV9KvX7/su+++7YN4VyxbtiwLFixov/zkk09m3rx5GTJkSLbccssce+yxmTt3bm6//fasWrUqixcvTpIMGTIkffr0ycCBA/Oxj30s5557bkaMGJFRo0blwgsvTJIcd9xxSZLJkydnl112yUc+8pFccMEFWbx4cT73uc/ltNNOW+s74gEAAAAAAACgO3VpmN90002z11575YADDsikSZMyfvz4bLzxxp0+z0MPPZRJkya1X17zne4nnnhipk+fnttuuy1JMnbs2A73mzVrViZOnJgkufDCC7PRRhvlIx/5SF5++eXsvffeufvuuzN48OAkydve9rbcfvvt+fjHP57x48dnwIABOfHEE/OFL3yhC88cAAAAAAAAADqnS8P8T3/608yZMyezZ8/OpZdemldffTV77LFHDjjggEycODGHHHJIU+eZOHFiGo3G6x5/o2Nr9O7dOxdddFEuuuii173NqFGjcscddzTVBAAAAAAAAADdqVdX7rTvvvvmrLPOyl133ZU///nPmTVrVnbYYYdccMEFOeyww7q7EQAAAAAAAAB6rC69Yz5JHn/88cyePbv9vxUrVuTII49s/4h5AAAAAAAAAKCLw/xWW22Vl19+ORMnTszEiRNzxhlnZLfddktLS0t39wEAAAAAAABAj9alj7J/xzvekeXLl2fx4sVZvHhxnn322bz88svd3QYAAAAAAAAAPV6Xhvl58+Zl8eLF+exnP5sVK1bkrLPOyuabb573vve9Ofvss7u7EQAAAAAAAAB6rC5/x/ymm26ao48+OhMmTMh73/ve/OAHP8i///u/54EHHsiXv/zl7mwEAAAAAAAAgB6rS8P8LbfcktmzZ2f27NmZP39+hgwZkn333TcXX3xxDjjggO5uBAAAAAAAAIAeq0vD/Mc+9rHsv//+mTZtWg444IDsuuuu3d0FAAAAAAAAABuELg3zzz33XHd3AAAAAAAAAMAGqcvfMb9q1arMnDkzv/3tb5Mku+yyS973vvflbW97W7fFAQAAAAAAAEBP16VhfsGCBTn88MPz9NNPZ8cdd0ySfPWrX82IESPyox/9KNtv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AAAAAAAAACjIMA8AAAAAAAAABRnmAQAAAAAAAKAgwzwAAAAAAAAAFGSYBwAAAAAAAICCDPMAAAAAAAAAUJBhHgAAAAAAAAAKMswDAAAAAAAAQEGGeQAAAAAAAAAoyDAPAAAAAAAAAAUZ5gEAAAAAAACgIMM8AAAAAAAAABRkmAcAAAAAAACAggzzAAAAAAAA/z97dx5dVX12D3zfEDIwzzKKIMgsICqDCiIIioo4VgS1FRxRnEsnUAYVZ+mrFofaiopYUXHqqyIoBBwQGUVBRgERiyKzQEj27w9+yUsMcA6t95x9m/1Zq2u1N2mz++zvc3KuBxIzM7Mk8oN5MzMzMzMzMzMzMzMzMzOzJPKDeTMzMzMzMzMzMzMzMzMzsyTyg3kzMzMzMzMzMzMzMzMzM7Mk8oN5MzMzMzMzMzMzMzMzMzOzJPKDeTMzMzMzMzMzMzMzMzMzsyTyg3kzMzMzMzMzMzMzMzMzM7Mk8oN5MzMzMzMzMzMzMzMzMzOzJPKDeTMzMzMzMzMzMzMzMzMzsyTyg3kzMzMzMzMzMzMzMzMzM7Mk8oN5MzMzMzMzMzMzMzMzMzOzJPKDeTMzMzMzMzMzMzMzMzMzsyTyg3kzMzMzMzMzMzMzMzMzM7Mk8oN5MzMzMzMzMzMzMzMzMzOzJPKDeTMzMzMzMzMzMzMzMzMzsyTyg3kzMzMzMzMzMzMzMzMzM7Mk8oN5MzMzMzMzMzMzMzMzMzOzJPKDeTMzMzMzMzMzMzMzMzMzsyTyg3kzMzMzMzMzMzMzMzMzM7Mk8oN5MzMzMzMzMzMzMzMzMzOzJPKDeTMzMzMzMzMzMzMzMzMzsyTyg3kzMzMzMzMzMzMzMzMzM7Mk8oN5MzMzMzMzMzMzMzMzMzOzJPKDeTMzMzMzMzMzMzMzMzMzsyTyg3kzMzMzMzMzMzMzMzMzM7Mk8oN5MzMzMzMzMzMzMzMzMzOzJPKDeTMzMzMzMzMzMzMzMzMzsyTyg3kzMzMzMzMzMzMzMzMzM7Mk8oN5MzMzMzMzMzMzMzMzMzOzJPKDeTMzMzMzMzMzMzMzMzMzsyTyg3kzMzMzMzMzMzMzMzMzM7Mk8oN5MzMzMzMzMzMzMzMzMzOzJPKDeTMzMzMzMzMzMzMzMzMzsyTyg3kzMzMzMzMzMzMzMzMzM7Mk8oN5MzMzMzMzMzMzMzMzMzOzJPKDeTMzMzMzMzMzMzMzMzMzsyTyg3kzMzMzMzMzMzMzMzMzM7Mk8oN5MzMzMzMzMzMzMzMzMzOzJPKDeTMzMzMzMzMzMzMzMzMzsyTyg3kzMzMzMzMzMzMzMzMzM7Mk8oN5MzMzMzMzMzMzMzMzMzOzJPKDeTMzMzMzMzMzMzMzMzMzsyTyg3kzMzMzMzMzMzMzMzMzM7Mk8oN5MzMzMzMzMzMzMzMzMzOzJPKDeTMzMzMzMzMzMzMzMzMzsyTyg3kzMzMzMzMzMzMzMzMzM7Mk8oN5MzMzMzMzMzMzMzMzMzOzJPKDeTMzMzMzMzMzMzMzMzMzsyTyg3kzMzMzMzMzMzMzMzMzM7Mk8oN5MzMzMzMzMzMzMzMzMzOzJPKDeTMzMzMzMzMzMzMzMzMzsyTyg3kzMzMzMzMzMzMzMzMzM7Mk8oN5MzMzMzMzMzMzMzMzMzOzJPKDeTMzMzMzMzMzMzMzMzMzsyTyg3kzMzMzMzMzMzMzMzMzM7Mk8oN5MzMzMzMzMzMzMzMzMzOzJPKDeTMzMzMzMzMzMzMzMzMzsyTyg3kzMzMzMzMzMzMzMzMzM7Mk8oN5MzMzMzMzMzMzMzMzMzOzJPKDeTMzMzMzMzMzMzMzMzMzsyTyg3kzMzMzMzMzMzMzMzMzM7Mk8oN5MzMzMzMzMzMzMzMzMzOzJPKDeTMzMzMzMzMzMzMzMzMzsyTyg3kzMzMzMzMzMzMzMzMzM7Mk8oN5MzMzMzMzMzMzMzMzMzOzJPKDeTMzMzMzMzMzMzMzMzMzsyTyg3kzMzMzMzMzMzMzMzMzM7Mk8oN5MzMzMzMzMzMzMzMzMzOzJPKDeTMzMzMzMzMzMzMzMzMzsyTyg3kzMzMzMzMzMzMzMzMzM7Mk8oN5MzMzMzMzMzMzMzMzMzOzJPKDeTMzMzMzMzMzMzMzMzMzsyTyg3kzMzMzMzMzMzMzMzMzM7MkivXB/PTp03HWWWehdu3aSCQSmDRpUuHHcnNzMWTIELRq1Qply5ZF7dq1cemll2LdunVF/jc2btyIfv36oUKFCqhUqRIGDBiAbdu2FfmcBQsW4KSTTkJWVhbq1auHe++9N4r/e2ZmZmZmZmZmZmZmZmZmZvE+mN++fTtat26NRx99tNjHduzYgTlz5mDo0KGYM2cOXnnlFSxZsgS9e/cu8nn9+vXDokWLMHnyZLz55puYPn06rrzy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uwbonSPFXVPrTa0zwL2F4d6CqXUG6PWm1hmgNyPfj4Sjtm9q5wjQ2zfFs92mTZsDPo8seD2ysx3J4/8S6Nprr2X9+vX5yiuvFPnbDps3b+Yrr7zCI444gtddd12JzUOStWvX5qRJkw748blz50b+p+Yuvvhitm3bdr9/mmfOnDls164d+/XrF1kexd7Kli3Lr776qshrubm57NOnD48++mguWLAg0t7UOiP1elPrjNTrTa0z0r2F4d6CKc6oVq1afOONNw748ddff521atWKLE/58uX5xRdfFHt90KBBrFu3LqdPn+5dEzxHartG6s1JbddIvX1T64zU602tM5Ls1asXe/TowQ0bNhT72IYNG3jaaafxjDPOiCyP2jWbJJs0acK33nqr2Otbt25lx44d2bp1a39vE9x/te9tartG6p0jxV1T602tM9K9heHegql1Rur1ptYZqTcj34+Eo7ZvaueI1Ns3xbNdtWpV/vWvf+WqVav2+6+33nrLP8o+1e3cuZNXX301MzIymJaWxqysLGZlZTEtLY0ZGRm85ppruHPnzhKbhyTPOussDh069IAfnzdvXuQ/FmXjxo087bTTmEgkWKVKFTZt2pRNmzZllSpVmJaWxtNPP50//vhjZHkUe2vVqhUnTpxY7PWCb9CHH354pBd5tc5Ivd7UOiP1elPrjHRvYbi3YIozGjp0KCtXrswHH3yQ8+fP5/r167l+/XrOnz+fDz74IKtUqcLbb789sjzHHXccx40bt9+PDRo0iJUqVfKuCZ4jtV0j9eaktmuk3r6pdUbq9abWGUmuXr2aLVu2ZHp6Otu2bcvTTjuNp512Gtu2bcv09HQeffTRXL16dWR51K7ZJHn99dcf8Hc2btmyhe3bt/f3NsH9V/veprZrpN45Utw1td7UOiPdWxjuLZhaZ6Reb2qdkXoz8v1IOGr7pnaOSL19UzzbPXr04MiRIw/48SifRybIg/wccfuPbdmyBZ999hnWr18PAKhZsybatWu33x9NWNLy5OTkYPv27TjttNP2+/Ht27dj9uzZ6NKlS8TJgMWLF+Ojjz4qMqeOHTuiadOmkWcBtHobMmQI5s2bh3feeafYx/bs2YPzzjsPb775JvLy8iLNpdYZoNObameAXm8qnQHu7VC4t2BKMwKAe+65B2PGjMH69esLf0wUSdSsWRM33ngjfvvb30aW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69cPffv2Rd26dSPLodYZoNubSmeAXm+qnQHu7WDcWzDl7/8HEtcbGN+PHJh3LZxU27c4/2GByr6lWmeAr5EAcP7552PdunX429/+hiZNmhT52JIlS3D55Zejdu3aeOmllyLJs2XLloN+fMGCBejSpUssu1aAJD744AOMHz8eL7/8cuHfUonyD3j4e1t4Kt/b1HYN0N83hV1T6029M8C97Y97C6bWGaDfW9ydAb4fORQq9yOA3r6p7xoQ/761aNECN954I6644gq8//776NWrFx544AFce+21AIC///3vuPfee/HFF19Ekmdfd911F7766is89dRTSE9Pj/zrA34wnzTZ2dmYO3cumjZtut+PL168GG3btsVPP/1UIvMcyI4dO/Dqq69i/PjxeO+991C3bl0sX748sq9fpkwZzJo1Cy1bttzvxxcuXIj27dtjx44dkeRJS0tDIpHY7++zKHg9kUjEepEHgJUrV2L8+PF44YUXsHjxYnTu3BlTp06N5GurdQakRm9xdgbo9ZYKnQHu7efcWzDF7/+vv/76QT++YsUK3HLLLbH25vuRorxr4ajtWyrsGhDvvql1BqRGb3FfI8uXL4/p06ejbdu2+/34Z599hpNPPhlbt26NJE/BNfJAVK6RBebMmYMBAwZgwYIFkWby97Z/T5zf29R2DUitfYtr19R6S6XOAPdWwL0FU+sMSK3efD+yl+9HwlHbt1TaNSCefStTpgwWL16Mww8/HMDen8AwZ86cwt1btWoVWrRoge3bt0eSZ1/nnHMOpkyZgnLlyqFVq1bFfl3bK6+8kvQM8fxxgBKgZs2amDVr1gH/Ic+sWbMKf+RGScxzIGXKlEHPnj3x448/4uuvv8aXX34Z6devVKkSVq1adcBvzqtWrUKlSpUiy1OlShXce++96Nat234/vmjRIpx11lmR5TmQBg0a4He/+x1at26NoUOHYtq0aZF9bbXOgNToLc7OAL3eUqEzwL39nHsLpvj9v0+fPgd841ngYG9wouD7kaK8a+Go7Vsq7BoQ776pdQakRm9xXyMzMzMP+rdUtm7dGumPaSxfvjz++Mc/on379vv9+NKlS3HVVVdFlmd/1q5di/Hjx2P8+PH4/PPP0bFjRzz66KORZvD3tn9PnN/b1HYN0N83hV1T6029M8C97Y97C6bWGaDfW9ydAb4f+XfF/V5bbd/U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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "subset_df = pt_df[['layer_name', 'average_power']]\n", + "subset_df['average_power'] = subset_df['average_power'] * 1e-3\n", + "subset_df.groupby(by=['layer_name'], sort=False).boxplot(subplots=False, figsize=(25, 10), rot=90, showfliers=False).set_ylabel('Power mW (milliWatts)')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "363cd6e9-b6ef-47d5-baef-e094cfe75e0b", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAB+EAAARSCAYAAAB/mYIxAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs3Xt0XeVhJu7XRkJYUowNtrm4xjh2YxlwcGwCcaCrpiGkE5JeoVCmAyUdOm2GocSQBDINSdrmRoF6puHS5tYkhQ6FZPXXkhXalLEZLi4EJWREitzaVZ0U29gGbI0lISTbvz+IVXQ5uthb0pb0PGtlKeecT9uvzkHS0X73933TDh48eDAAAAAAAAAAwBGbPt4BAAAAAAAAAGCyUMIDAAAAAAAAQEGU8AAAAAAAAABQECU8AAAAAAAAABRECQ8AAAAAAAAABVHCAwAAAAAAAEBBlPAAAAAAAAAAUBAlPAAAAAAAAAAUpGq8A5TRgQMHsm3btrzhDW/ItGnTxjsOAAAAAAAAAOPs4MGD+X//7//l5JNPzvTplee7K+EHsG3btixYsGC8YwAAAAAAAABQMj/60Y/yEz/xExUfV8IP4A1veEOS1568mTNnHvZxurq68nd/93e58MILU11dXVS8IyLTxMuTlC9T2fIk5ctUtjxJ+TKVLU8i00TMk5QvU9nyJOXLVLY8SfkylS1PItNEzJOUL1PZ8iTly1S2PEn5MpUtTyLTRMyTlC9T2fIk5ctUtjxJ+TKVLU8i00TMk5QvU9nyJOXLVLY8SfkylS1PItNEzJOUL1PZ8iTly1RkntbW1ixYsKCnT65ECT+AQ0vQz5w584hL+Nra2sycObMU/4ElMk3EPEn5MpUtT1K+TGXLk5QvU9nyJDJNxDxJ+TKVLU9Svkxly5OUL1PZ8iQyTcQ8SfkylS1PUr5MZcuTlC9T2fIkMk3EPEn5MpUtT1K+TGXLk5QvU9nyJDJNxDxJ+TKVLU9Svkxly5OUL1PZ8iQyTcQ8SfkylS1PUr5Mo5FnqC3NKy9UDwAAAAAAAACMiBIeAAAAAAAAAAqihAcAAAAAAACAgijhAQAAAAAAAKAgSngAAAAAAAAAKIgSHgAAAAAAAAAKooQHAAAAAAAAgIIo4QEAAAAAAACgIEp4AAAAAAAAACiIEh4AAAAAAAAACqKEBwAAAAAAAICCKOEBAAAAAAAAoCBKeAAAAAAAAAAoiBIeAAAAAAAAAAqihAcAAAAAAACAgijhAQAAAAAAAKAgSngAAAAAAAAAKIgSHgAAAAAAAAAKooQHAAAAAAAAgIIo4QEAAAAAAACgIEp4AAAAAAAAACiIEh4AAAAAAAAACqKEBwAAAAAAAICCKOEBAAAAAAAAoCBKeAAAAAAAAAAoiBIeAAAAAAAAAAqihAcAAAAAAACAgijhAQAAAAAAAKAgSngAAAAAAAAAKIgSHgAAAAAAAAAKooQHAAAAAAAAgIJUjXeAyaS9vT3Nzc09t/d1dOaJpi2ZPefp1M+o6TW2oaEhtbW1Yx0RAAAAAAAAgFGkhC9Qc3NzVq1a1e/+WwYY29jYmJUrV45+KAAAAAAAAADGjBK+QA0NDWlsbOy5vWn7nqy9vym3X7I8S0+a1W8sAAAAAAAAAJOLEr5AtbW1vWa3T9/6Ymoe7ciyM87MioXHj2MyAAAAAAAAAMbC9PEOAAAAAAAAAACThRIeAAAAAAAAAAqihAcAAAAAAACAgijhAQAAAAAAAKAgSngAAAAAAAAAKIgSHgAAAAAAAAAKooQHAAAAAAAAgIIo4QEAAAAAAACgIEp4AAAAAAAAACiIEh4AAAAAAAAACqKEBwAAAAAAAICCKOEBAAAAAAAAoCBKeAAAAAAAAAAoiBIeAAAAAAAAAAqihAcAAAAAAACAgijhAQAAAAAAAKAgSngAAAAAAAAAKIgSHgAAAAAAAAAKooQHAAAAAAAAgIIo4QEAAAAAAACgIEp4AAAAAAAAACiIEh4AAAAAAAAACqKEBwAAAAAAAICCKOEBAAAAAAAAoCBKeAAAAAAAAAAoiBIeAAAAAAAAAAqihAcAAAAAAACAgijhAQAAAAAAAKAgSngAAAAAAAAAKIgSHgAAAAAAAAAKooQHAAAAAAAAgIIo4QEAAAAAAACgIEp4AAAAAAAAACiIEh4AAAAAAAAACqKEBwAAAAAAAICCKOEBAAAAAAAAoCBKeAAAAAAAAAAoiBIeAAAAAAAAAAqihAcAAAAAAACAgijhAQAAAAAAAKAgSngAAAAAAAAAKIgSHgAAAAAAAAAKooQHAAAAAAAAgIIo4QEAAAAAAACgIEp4AAAAAAAAACiIEh4AAAAAAAAACqKEBwAAAAAAAICCKOEBAAAAAAAAoCBKeAAAAAAAAAAoiBIeAAAAAAAAAAqihAcAAAAAAACAgijhAQAAAAAAAKAgSngAAAAAAAAAKIgSHgAAAAAAAAAKooQHAAAAAAAAgIIo4QEAAAAAAACgIEp4AAAAAAAAACiIEh4AAAAAAAAACqKEBwAAAAAAAICCKOEBAAAAAAAAoCBKeAAAAAAAAAAoiBIeAAAAAAAAAAqihAcAAAAAAACAgijhAQAAAAAAAKAgSngAAAAAAAAAKIgSHgAAAAAAAAAKUooS/o477sipp56aY445Juecc06eeuqpimM///nP56d+6qcye/bszJ49OxdccEGv8V1dXfnwhz+c5cuXp66uLieffHKuuOKKbNu2bSy+FAAAAAAAAACmsHEv4e+7776sXbs2H/vYx/Ld7343Z555Zt71rndl586dA47fsGFDfvVXfzXr16/Pxo0bs2DBglx44YV5/vnnkyTt7e357ne/m49+9KP57ne/m2984xvZtGlTfu7nfm4svywAAAAAAAAApqCq8Q5w++235+qrr85VV12VJLn77rvzzW9+M1/60pdy44039ht/zz339Lr9hS98IV//+tfz8MMP54orrsixxx6bb3/7273GfO5zn8vZZ5+dH/7whznllFNG74sBAAAAAAAAYEob15nwr776ahobG3PBBRf03Dd9+vRccMEF2bhx47CO0d7enq6urhx33HEVx+zduzfTpk3LrFmzjjQyAAAAAAAAAFQ0rjPhd+/enf379+eEE07odf8JJ5yQ5ubmYR3jwx/+cE4++eReRf7rvfLKK/nwhz+cX/3VX83MmTMHHNPZ2ZnOzs6e262trUle21++q6trWDkG0t3d3fPxSI5TpEM5ypInKV+msuVJypepbHmS8mUqW56kfJnKlieRaTjKlicpX6ay5UnKl6lseZLyZSpbnkSm4ShbnqR8mcqWJylfprLlScqXqWx5EpmGo2x5kvJlKluepHyZypYnKV+msuVJZBqOsuVJypepbHmS8mUqW56kfJnKlieRaTjKlicpX6ay5UnKl6nIPMM9xrSDBw8ePOJ/7TBt27Yt8+fPzxNPPJHVq1f33P+hD30ojzzySJ588slBP/8zn/lMbrnllmzYsCFvfvOb+z3e1dWVX/7lX86//du/ZcOGDRVL+I9//OP5xCc+0e/+e++9N7W1tSP8qv7dj/YltzZV5Ybl3VlQf9iHAQAAAAAAAGCctbe3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WVfj5QAAAAAAAACYyLS+h+nC009MkiyeV58Z1UcNOGbT9r25/oGm3Hbx8iw96dhBj1dXU5VFc+oKzwkAAAAAAADA2CnFnvB33HFHTj311BxzzDE555xz8tRTT1Uc+/nPfz4/9VM/ldmzZ2f27Nm54IIL+o0/ePBgbr755px00kmZMWNGLrjggvzzP/9zoZmPqzs6l519St566nE5Y/6xA/5v8dzXSvXFc+sqjjn0PwU8AAAAAAAAwMQ37iX8fffdl7Vr1+ZjH/tYvvvd7+bMM8/Mu971ruzcuXPA8Rs2bMiv/uqvZv369dm4cWMWLFiQCy+8MM8//3zPmFtuuSX/83/+z9x999158sknU1dXl3e961155ZVXxurLAgAAAAAAAGAKGvcS/vbbb8/VV1+dq666Kqeddlruvvvu1NbW5ktf+tKA4++55568//3vz4oVK9LQ0JAvfOELOXDgQB5++OEkr82CX7duXX73d383P//zP583v/nN+epXv5pt27blr/7qr8bwKwMAAAAAAABgqhnXPeFfffXVNDY25qabbuq5b/r06bnggguycePGYR2jvb09XV1dOe6445IkLS0t2bFjRy644IKeMccee2zOOeecbNy4MZdddlm/Y3R2dqazs7Pndmtra5Kkq6srXV1dh/W1JUl3d3fPxyM5TpEO5ShLnqR8mcqWJylfprLlScqXqWx5kvJlKlueRKbhKFuepHyZypYnKV+msuVJypepbHkSmYajbHmS8mUqW56kfJnKlicpX6ay5UlkGo6y5UnKl6lseZLyZSpbnqR8mcqWJ5FpOMqWJylfprLlScqXqWx5kvJlKlueRKbhKFuepHyZypYnKV+mIvMM9xjTDh48ePCI/7XDtG3btsyfPz9PPPFEVq9e3XP/hz70oTzyyCN58sknhzzG+9///vzt3/5tfvCDH+SYY47JE088kXPPPTfbtm3LSSed1DPuV37lVzJt2rTcd999/Y7x8Y9/PJ/4xCf63X/vvfemtrb2ML+65Ef7klubqnLD8u4sqD/swwAAAAAAAAAwztrb23P55Zdn7969mTlzZsVx4zoT/kh95jOfyf/6X/8rGzZsyDHHHHPYx7npppuydu3antutra09e80P9uQN5fs/fClpejpve9vbcuYpxx32cYrU1dWVb3/723nnO9+Z6urq8Y6TpHyZypYnKV+m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AAAAAAAAAK+pGs9//L777svatWtz991355xzzsm6devyrne9K5s2bcq8efP6jW9vb88b3/jGXHLJJfnABz4w4DFffvnlnHvuuTn//PPzrW99K3Pnzs0///M/Z/bs2aP95ZTCtKrWtLRuyvRj6gd8vLu7O9u6t+W5l55LVdXAL39L675Mq2odzZgw4bXsbktbZ3fFx7fsauv5WOl7LUnqaqqyaE5d4fkAAAAAAAAYH+Nawt9+++25+uqrc9VVVyVJ7r777nzzm9/Ml770pdx44439xr/1rW/NW9/61iQZ8PEk+exnP5sFCxbky1/+cs99ixYtGoX05VQ968l85KlPDTnuzofuHOI470jy7oJSweTSsrst59+6YVhjr3+gacgx629Yo4gHAAAAAACYJMathH/11VfT2NiYm266qee+6dOn54ILLsjGjRsP+7h//dd/nXe961255JJL8sgjj2T+/Pl5//vfn6uvvrri53R2dqazs7Pndmvra7PAu7q60tXVddhZDn3ukRxjJLq7u9O155zc8rOX5o1zBy70uru78+Q/PJlz3nZOxdm5/7KrLR/4X//62vHGIPtYP09DKVuepHyZuru7ez5OxUx7215Jktx68fIsqfC91vZKZx569Dv52Z96a+qOqRlwzOZdbbnhgabsbXslXccePWp5Dynb61a2PEk5M/n+H1rZMpUtT1K+TGXLk5QvU9nyJDINR9nyJOXLVLY8SfkylS1PUr5MZcuTyDQcZcuTlC9T2fIk5ctUtjxJ+TKVLU8i03CULU9SvkxlOz+SlO85KluepHyvWxmfozJm8roNrWyZyvaaJeXLVGSe4R5j3Er43bt3Z//+/TnhhBN63X/CCSekubn5sI/7L//yL7nrrruydu3afOQjH8l3vvOdXHvttTn66KNz5ZVXDvg5n/70p/OJT3yi3/1/93d/l9ra2sPOcsi3v/3tIz7GcPxoX3Kwe2b+7fs7M23g1eiTJCdXnZwfPf2jio//24+P89hjj2XrIMcp2lg9T8NVtjxJeTL9aF+SVOUf/uEf8vyz453mNWOZ6dC/tWPT91L9fOVxZ81Ndjd/J7srPL7jx8cZq++1sr1uZcuTlDPTIb7/KytbprLlScqXqWx5kvJlGo88OzuSzv2VH3+h47VM/9/6f8g/zKg8ruaoZN4gjxfJ6za0smUqW56kfJnKlicp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2U477WQzK5fe3DqT6C0NekvPpTPJrzfHzpjRpq1bt06PP/54i/ORAQMG5Jbpg1z2m9s6kvzWEjPaNNe95tabU2eSb2+uXI7Zkt/absKMWue2/52xjkoTvZUml97oLD2XziTv3lzm5DgjzknSYx2VRiaL57WBNrFixYr49a9/Hfvuu2906tQpysrKolAoRFlZWWy//fZxyimnxBNPPNFu80REXH/99bHHHntEoVCIPn36xK677hr77LNPDBs2LCorK6NLly7xzW9+M1555ZXMMv3v//5vHHfccTFgwIAoLy+PsrKy6Ny5c+y7775x4YUXxuuvv55Zlgi/3ubNmxff//73Y/vtty9mafrVsWPHGDt2bPz1r3+NhoaGzDJFePXm1lkEvaVBb+k4dRbh15tjZ8wo2dSpU+Poo4+OTp06RYcOHaJHjx7Rt2/fqKqqirKyshg8eHBceumlsWLFiswyRXjtN7d1FOG3lphRMse95tabW2cRnr1FRDz//PNxzjnnxJgxY2LgwIHRp0+fGDlyZBx33HHxX//1X/Huu+9mmsfpmB3ht7YjmFESx/0fwV5L4raOmtDbpjn25tZZhFdvjp1F+PXm1FmEb29Oc3KckeM5idtei2AdlVomp+e1hYiI7C75b5kmTZqkiy66SIMGDdJhhx2m0aNHa9ttt1VVVZWWLl2qWbNmacqUKbr11lu155576he/+IV22GGHdpNHkkaNGqXKykodf/zxOuyww7Tddts1+/q6dev06KOP6qabbtLf/vY3/frXv9bRRx+92fL8/e9/1w9+8AOtXLlS48aNa3VGjz76qE444QRdcMEF6tmz52bLI/n1NmHCBF1zzTX69Kc/vck8N910kzp06KA///nP2mOPPTZbHsmvN7fOJHpLg96SuXUm+fXm1pnEjNI4/PDDNX36dB1zzDE67LDDtPvuu6uqqqr49ZdffllTpkzRjTfeqJkzZ+raa6/VQQcdtFkzue03t3Uk+a0lZpTMca+59ebWmeTZ2/Tp0/X9739fU6dO1T777NPqnFasWKHvf//7+u53v7tZX5HidsyW/NY2M0rmuP/Za8nc1pFEb2m49ebWmeTXm1tnkl9vbp1Jnr25zclxRm7nJG57TWIdlWImu+e1m/0yfzvw5S9/OWbNmpX4fe+++2785je/iT/+8Y/tKk9ExJ133pn6e99666146qmnNmOaiL322iv++c9/Jt7B9dprr8UPfvCDmDRp0mbNE+HX25lnnhlvvfVWqu+944474m9/+9tmzRPh15tbZxH0lga9JXPrLMKvN7fOIphRGr/97W/jvffeS/W9zz33XNx7772bOZHffnNbRxF+a4kZJXPca269uXUW4dlb//7941e/+lW88847m/y+f/3rX/GlL30pLrroos2ax+2YHeG3tplRMsf9z15L5raOIugtDbfe3DqL8OvNrbMIv97cOovw7M1tTo4zcjsncdtrEayjUszk9ryWV8IDAAAAAAA79fX1qqio2GzfD+B97LXSRG+lh85KE70B2WCvYUtUlneALdXcuXN11113ae3atZKkvO91cMtTV1enH//4x/rKV76ixYsXS5LuuOMOPffcc7lleu+99/Tiiy9q/fr1uWXYkFNv69ev17333qvf/e53WrlypSTpjTfe0KpVq3LLJPn15tSZRG9p0Vsyt84kr94cO5OYUZJly5bp6quv1llnnaWlS5dKev/tz15//fXcMkl++81pHUmea4kZbZrrXnPqza0zyaO31v5R7d133/1Q3785uR2zJa+1LTGjJA77n7320eS9jujto8mzt1LoTPLrjb2WzK0zKf/eNsZtTm4zyvucpBT2msQ6SsMpU+7Pazfr6+zbobfeeisOPPDAKBQKUVZWFnV1dRERceKJJ8bEiRPbfZ6IiAcffDCqqqpi7NixUVlZWcx08cUXxxe+8IXM86xevTpOOumk6NChQ3To0KGY59RTT42LL7448zwRfr298sorMXTo0Kiurm42owkTJsTXv/71zPNE+PXm1lkEvaVBb8ncOovw682tswhmlMbMmTOjZ8+eMXjw4CgvLy9m+tGPfhRf/epXc8nktt/c1lGE31piRskc95pbb26dRXj21tDQEOeff35su+22zeb04x//OK6++urM87gdsyP81jYzSua4/9lrydzWUQS9peHWm1tnEX69uXUW4debW2cRnr25zclxRm7nJG57LYJ1VIqZHJ7X8kr4Nnb66aervLxc8+fPV3V1dfHxL33pS7rzzjvbfR5JOvPMM3XhhRfqnnvuUWVlZfHxAw44QI899ljmec466yzNnDlTDz74oDp16lR8fOzYsbr55pszzyP59Xbaaadp99131zvvvKOqqqri45///Od13333ZZ5H8uvNrTOJ3tKgt2RunUl+vbl1JjGjNCZOnKgTTjhBc+bMaba2x40bp4cffjiXTG77zW0dSX5riRklc9xrbr25dSZ59nbhhRfqL3/5iy699NJmzyNHjBihq6++OvM8bsdsyW9tM6NkjvufvZbMbR1J9JaGW29unUl+vbl1Jvn15taZ5Nmb25wcZ+R2TuK21yTWUSlmsnhem8ml/nakd+/eMWPGjIiIqK2tLd5ZUVdXFzU1Ne0+T0RETU1NvPzyyy0yzZs3Lzp27Jh5nu233z4effTRFnnmzJkTnTt3zjxPhF9vPXr0iNmzZ7fIM2/evKiqqso8T4Rfb26dRdBbGvSWzK2zCL/e3DqLYEZpdOnSJebOndsi0yuvvJLL+UiE335zW0cRfmuJGSVz3Gtuvbl1FuHZ26BBg+Lee+9tkemFF16Ibt26ZZ7H7Zgd4be2mVEyx/3PXkvmto4i6C0Nt97cOovw682tswi/3tw6i/DszW1OjjNyOydx22sRrKNSzOTwvJZXwrex1atXN7vDo8nSpUvVsWPHdp9Hkrp166aFCxe2ePzpp59W3759M8+zZMkS9erVq8Xjq1evVqFQyDxP08926q2xsVENDQ0tHn/ttdfUuXPnzPNIfr25dSbRWxr0lsyts6af7dSbW2cSM0qjY8eOWrFiRYvHX3rpJfXs2TOHRH77zW0dSX5riRklc9xrbr25dSZ59vb6669r8ODBLR5vbGxUfX195nncjtlNP9tpbTOjZI77n72WzG0dSfSWhltvbp1Jfr25dSb59ebWWdPPduvNbU6OM3I7J3HbaxLrKA23TA7Pa7kI38Y+9alP6dprry3+vlAoqLGxUZdeeqnGjBnT7vNI0pe//GX94Ac/0KJFi4p5HnnkEf3nf/6njjvuuMzz7L777rr99tuLv286YF599dXae++9M88j+fV28MEH68orr2yWZ9WqVTr33HM1bty4zPNIfr25dSbRWxr0lsytM8mvN7fOJGaUxuGHH67zzz+/+OStUCho/vz5+sEPfqAvfOELuWRy229u60jyW0vMKJnjXnPrza0zybO34cOHa8qUKS0ev+WWWzRq1KjM87gdsyW/tc2Mkjnuf/ZaMrd1JNFbGm69uXUm+fXm1pnk15tbZ5Jnb25zcpyR2zmJ216TWEelmMnieW0mr7dvR5599tno1atXfOYzn4nKyso46qijYtiwYdG7d+/i2x605zwREevWrYtTTjklysvLo1AoREVFRZSVlcX48eNj/fr1meeZMmVK1NbWxje+8Y3o1KlTnHbaaXHQQQdFTU1NPPXUU5nnifDrbcGCBTF8+PAYNmxYlJeXx1577RVbbbVVDBkyJN58883M80T49ebWWQS9pUFvydw6i/Drza2zCGaUxrJly2Ls2LHRrVu36NChQ2y33XZRUVER++67b6xatSqXTG77zW0dRfitJWaUzHGvufXm1lmEZ2+33nprdO3aNS655JKorq6On/3sZ3HKKadEZWVl3H333ZnncTtmR/itbWaUzHH/s9eSua2jCHpLw603t84i/Hpz6yzCrze3ziI8e3Obk+OM3M5J3PZaBOuoFDM5PK8tRERkc7m//Vi+fLl++ctfaubMmVq1apV23XVXffvb39Y222xDng+YP3++Zs2apVWrVmnUqFHaYYcdcstSV1enSy65pNmMfvCDH2jkyJG5ZXLrbf369brpppv0zDPPFPMce+yxqqqqyiWP5NebW2cSvaVBb8ncOpP8enPrTGJGaU2dOrVZprFjx+aax22/ua0jyW8tMaN03PaaW2+OnUl+vU2ZMkXnn39+s97OOeccHXzwwbnkcTtmS35rmxklc9z/7LVkbutIorc03Hpz60zy682tM8mvN7fOJM/e3ObkOCO3cxK3vSaxjko1U57Pa7kIDwAAAAAAAAAAAABAGynPO8CW6N1339UzzzyjxYsXq7GxsdnXDj/88HafJyJ0yy236IEHHthopsmTJ2eeSZIWL1680Tw777xzLnncenvjjTc0derUjeaZMGFC5nmaOPXm1plEb2nQWzpOnUl+vTl2xoySPfnkk62ej0yaNCmXTJLXfnNbR5LfWmJGyRz3mltvbp1Jnr01WbVqVYtMXbp0ySWL0zFb8lvbEjNK4rj/m7DXWue2jj6I3lrn2ptTZ5JXb66dSV69OXUm+fbmNCfHGbmekzjtNYl1VGqZcn9em8mb3rcjd9xxR/Ts2TMKhUKLX2VlZe0+T0TEhAkTomPHjvGZz3wmjj/++DjhhBOa/craU089FTvttFOUlZXZzMittz//+c9RWVkZtbW10a9fv+jfv3/x14ABAzLPE+HXm1tnEfSWBr0lc+sswq83t84imFEaF110URQKhRg6dGjst99+sf/++xd/jRkzJpdMbvvNbR1F+K0lZpTMca+59ebWWYRnby+//HKMGzcuqquro6ysrPgrr97cjtkRfmubGSVz3P/stWRu6yiC3tJw682tswi/3tw6i/Drza2zCM/e3ObkOCO3cxK3vRbBOirFTA7Pa3k7+ja2ww476OCDD9Y555yj3r175x3HLo8k9ejRQ9dff73GjRuXdxRJ0sc//nENGjRIP/jBD9S7d28VCoVmX+/Xr1/mmdx622677fSNb3xDZ511lsrKyvKOI8mvN7fOJHpLg96SuXUm+fXm1pnEjNLo3bu3/r//7//TCSeckHeUIrf95raOJL+1xIySOe41t97cOpM8e9tnn30UETrttNM2eozcb7/9Ms3jdsyW/NY2M0rmuP/Za8nc1pFEb2m49ebWmeTXm1tnkl9vbp1Jnr25zclxRm7nJG57TWIdpeGWyeJ5bSaX+tuRzp07x9y5c/OOUeSWJyKif//+8cILL+Qdo6i2tjbmzJmTd4xm3Hrr0aOHVZ4Iv97cOougtzToLZlbZxF+vbl1FsGM0ujTp0+89NJLecdoxm2/ua2jCL+1xIySOe41t97cOovw7K2mpiZmz56dd4wit2N2hN/aZkbJHPc/ey2Z2zqKoLc03Hpz6yzCrze3ziL8enPrLMKzN7c5Oc7I7ZzEba9FsI7ScMvk8Lw2/1tatjBHHXWUHnzwwbxjFLnlkaSf/OQnOu+887R27dq8o0iSDjzwQM2cOTPvGM249XbyySfrv//7v/OO0Yxbb26dSfSWBr0lc+tM8uvNrTOJGaVx+umn61e/+lXeMZpx229u60jyW0vMKJnjXnPrza0zybO3PfbYQwsWLMg7RpHbMVvyW9vMKJnj/mevJXNbRxK9peHWm1tnkl9vbp1Jfr25dSZ59uY2J8cZuZ2TuO01iXWUhlsmh+e1vB19G1uzZo2OPvpo9ezZUyNHjlRFRUWzr0+YMKFd55GktWvX6vOf/7weeeQR9e/fv0Wm6dOnZ5rnrbfe0vHHH6/Ro0drxIgRLfIcfvjhmeaR/HpraGjQoYceqrVr1240z6RJkzLNI/n15taZRG9p0Fsyt84kv97cOpOYURqNjY065JBD9NJLL2n48OEtMk2ePDnzTG77zW0dSX5riRklc9xrbr25dSZ59lZXV6dvfOMbGj9+/EaPkTvvvHOmedyO2ZLf2mZGyRz3P3stmds6kugtDbfe3DqT/Hpz60zy682tM8mzN7c5Oc7I7ZzEba9JrKNSzOTwvLZ8s/+EdubGG2/U3XffrU6dOunBBx9s9rkQhUIh80XmlkeSjj/+eE2bNk3jx4/f6GdnZO3RRx/VI488ojvuuKPF1wqFghoaGjLP5NbbxRdfrLvuuktDhgwpZvhgnjy49ebWmURvadBbMrfOJL/e3DqTmFEaEyZM0AMPPKAxY8Zoq622yv18RPLbb27rSPJbS8womeNec+vNrTPJs7clS5aorq5OJ554YvGxQqGgiMjlGOl2zJb81jYzSua4/9lrydzWkURvabj15taZ5NebW2eSX29unUmevbnNyXFGbuckbntNYh2VYiaL57X5vRP+lql3795x0UUXRUNDQ95RIsIvT0REdXV1TJkyJe8YRf369Ytvf/vbsWjRoryjFLn11q1bt/jzn/+cd4xm3Hpz6yyC3tKgt2RunUX49ebWWQQzSqO2tjb++c9/5h2jGbf95raOIvzWEjNK5rjX3Hpz6yzCs7dhw4bFkUceGY899ljMmzcvXnnllWa/suZ2zI7wW9vMKJnj/mevJXNbRxH0loZbb26dRfj15tZZhF9vbp1FePbmNifHGbmdk7jttQjWURpumRye13IRvo1179495s6dm3eMIrc8ERFDhgyJmTNn5h2jqLa21m5Gbr317t07XnrppbxjNOPWm1tnEfSWBr0lc+sswq83t84imFEa22+/fbzwwgt5x2jGbb+5raMIv7XEjJI57jW33tw6i/Dsrbq6OubMmZN3jCK3Y3aE39pmRskc9z97LZnbOoqgtzTcenPrLMKvN7fOIvx6c+sswrM3tzk5zsjtnMRtr0WwjtJwy+TwvLYs+9feb9mOP/543XzzzXnHKHLLI0mXX365vv/97+uVV17JO4ok6cgjj9QDDzyQd4xm3Ho77bTT9Itf/CLvGM249ebWmURvadBbMrfOJL/e3DqTmFEaP/nJT3TuuedqzZo1eUcpcttvbutI8ltLzCiZ415z682tM8mztwMOOEAzZ87MO0aR2zFb8lvbzCiZ4/5nryVzW0cSvaXh1ptbZ5Jfb26dSX69uXUmefbmNifHGbmdk7jtNYl1lIZbJofntXwmfBtraGjQpZdeqrvuuks777yzKioqmn190qRJ7TqPJI0fP15r1qzRoEGDVF1d3SLT0qVLM82z44476qyzztLUqVM1cuTIFnny+OwMt96eeOIJ3X///frnP/+pnXbaqUWeyZMnZ5pH8uvNrTOJ3tKgt2RunUl+vbl1JjGjNK666irV1dWpd+/e6t+/f4tM06dPzzyT235zW0eS31piRskc95pbb26dSZ69HXbYYTr99NP17LPPbvQYefjhh2eax+2YLfmtbWaUzHH/s9eSua0jid7ScOvNrTPJrze3ziS/3tw6kzx7c5uT44zczknc9prEOirFTA7PawsREZv9p7QjY8aMafVrhUJB999/f4Zp/PJI0jXXXLPJrx9//PEZJXnfgAEDWv1aoVDQyy+/nGGa97n1duKJJ27y63/+858zSvJ/3Hpz60yitzToLZlbZ5Jfb26dScwojfPOO2+TXz/33HMzSvJ/3Pab2zqS/NYSM0rmuNfcenPrTPLsrays9TfyKxQKamhoyDCN3zFb8lvbzCiZ4/5nryVzW0cSvaXh1ptbZ5Jfb26dSX69uXUmefbmNifHGbmdk7jtNYl1lIZbJofntVyEBwAAAAAAAAAAAACgjfB29MjEihUr1KVLl+J/b0rT9wEAAAAAAAAAAABAqeGV8G3gyCOP1F/+8hd16dJFRx555Ca/N4vPznDLI0kdOnTQwoUL1atXL5WVlalQKLT4nojI7K1EJk6cqAsuuEA1NTWaOHHiJr83q8+pcOtt11131X333afu3btr1KhRG+2sSVafCenWm1tnEr2lQW/J3DqT/Hpz60xiRmn06NFDL730krbeemt17959k5mWLl2aSSa3/ea2jiS/tcSMkjnuNbfe3DqTPHu76qqr9B//8R/q1KmTrrrqqk1+bxafweh2zJb81jYzSua4/9lrydzWkURvabj15taZ5NebW2eSX29unUmevbnNyXFGbuckbntNYh2VYia357W8Er4NdO3atVhkly5dNllqe8wjSffff7969OghSXrggQdyTiM9/fTTqq+vL/63A7fejjjiCHXs2LH433nnkfx6c+tMorc06C2ZW2eSX29unUnMKI0rrrhCnTt3Lv63Qya3/ea2jiS/tcSMkjnuNbfe3DqTPHu74oordOyxx6pTp0664oorWv2+QqGQyT/EuR2zJb+1zYySue5/9tqmua0jid7ScOvNrTPJrze3ziS/3tw6kzx7c5uT44zczknc9prEOkrDLZPb81peCY/MzZ8/X9ttt12LxR8R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r4+qqqpipptuuin22muvzPPMnDkzevbsGYMHD47y8vJinh/96Efx1a9+NfM8EX693XLLLVFVVRWnnHJKdOzYsZjnF7/4RXz2s5/NPE+EX29unUXQWxr0lsytswi/3tw6i2BGafz617+OrbfeOi688MJm5yN//vOfY//9988lk9t+c1tHEX5riRklc9xrbr25dRbh2dsrr7wSQ4cOjerq6mY3c0+YMCG+/vWvZ57H7Zgd4be2mVEyx/3PXkvmto4i6C0Nt97cOovw682tswi/3tw6i/DszW1OjjNyOydx22sRrKNSzOTwvJaL8G1sr732issvvzwiImpra4ulPv7449G3b992nyciYtCgQXHvvfe2yPTCCy9Et27dMs9z4IEHxve+970WeR555JHo169f5nki/HrbZZdd4pprrmmRZ/r06dG7d+/M80T49ebWWQS9pUFvydw6i/Drza2zCGaUxrBhw+Lvf/97i0zPPvtsbLXVVrlkcttvbusowm8tMaNkjnvNrTe3ziI8ezviiCNi/PjxsW7dumaZHnjggRg8eHDmedyO2RF+a5sZJXPc/+y1ZG7rKILe0nDrza2zCL/e3DqL8OvNrbMIz97c5uQ4I7dzEre9FsE6KsVMDs9ryzfPm9y3X88++6xuuOGGFo/36tVLb731VrvPI0mvv/66Bg8e3OLxxsZG1dfXZ57nySef1O9+97sWj/ft21eLFi3KPI/k19uLL76offfdt8XjXbt21bJlyzLPI/n15taZRG9p0Fsyt84kv97cOpOYURrz5s3TqFGjWjzesWNHrV69OodEfvvNbR1JfmuJGSVz3Gtuvbl1Jnn2NmXKFP3rX/9SZWVls8f79++v119/PfM8bsdsyW9tM6NkjvufvZbMbR1J9JaGW29unUl+vbl1Jvn15taZ5Nmb25wcZ+R2TuK21yTWURpumRye15Zl8lPakW7dumnhwoUtHn/66afVt2/fdp9HkoYPH64pU6a0ePyWW27Z6IbY3Dp27KgVK1a0ePyll15Sz549M88j+fXWp08fzZ07t8XjU6dO1cCBAzPPI/n15taZRG9p0Fsyt84kv97cOpOYURoDBgzQjBkzWjx+5513atiwYdkHkt9+c1tHkt9aYkbJHPeaW29unUmevTU2NqqhoaHF46+99po6d+6ceR63Y7bkt7aZUTLH/c9eS+a2jiR6S8OtN7fOJL/e3DqT/Hpz60zy7M1tTo4zcjsncdtrEusoDbdMFs9rM3m9fTtyxhlnxCc/+clYuHBhdO7cOebMmRNTp06NgQMHxk9+8pN2nyci4tZbb42uXbvGJZdcEtXV1fGzn/0sTjnllKisrIy777478zwnn3xyfO5zn4v33nsvamtr4+WXX45XX301Ro0aFaeddlrmeSL8evvpT38aw4cPj8ceeyw6d+4cU6ZMieuvvz569uwZV111VeZ5Ivx6c+ssgt7SoLdkbp1F+PXm1lkEM0rjD3/4Q/Tt2zduuummqKmpiRtvvDEuvPDC4n/nwW2/ua2jCL+1xIySOe41t97cOovw7O2LX/xifO1rX4uIKB4jV65cGQcccECccMIJmedxO2ZH+K1tZpTMcf+z15K5raMIekvDrTe3ziL8enPrLMKvN7fOIjx7c5uT44zczknc9loE66gUMzk8r+UifBtbt25dnHLKKVFeXh6FQiEqKiqirKwsxo8fH+vXr2/3eZo8/PDDMXbs2OjZs2dUVVXFPvvsE3fddVcuWZYtWxZjx46Nbt26RYcOHWK77baLioqK2HfffWPVqlW5ZHLrrbGxsXhwKhQKUSgUolOnTvHjH/848yxN3Hpz6yyC3tKgt2RunUX49ebWWQQzSuv666+PwYMHFzP17ds3rr766tzyuO03t3UU4beWmFE6bnvNrTfHziL8eluwYEEMHz48hg0bFuXl5bHXXnvFVlttFUOGDIk333wz8zxux+wIv7XNjJI57n/2WjK3dRRBb2m49ebWWYRfb26dRfj15tZZhGdvbnNynJHbOYnbXotgHZVqpryf1xYiIrJ5zX37Mn/+fM2aNUurVq3SqFGjtMMOO5DH3NSpU/XMM89o1apV2nXXXTV27Ni8I9n19t5772nu3LlatWqVhg8frtra2lzzSH69uXUm0Vsa9JbMrTPJrze3ziRmlNaaNWu0atUq9erVK+8okvz2m9s6kvzWEjNKx22vufXm2Jnk1dv69et10003NTtGHnvssaqqqsotk9sxW/Jb28womdv+Z6+l47aO6C0dp94cO5P8enPqTPLsza0zya83yW9OjjNyOidx3GsS66hUM+X1vJaL8AAAAAAAAAAAAAAAtJHyvANsaSZOnLjRxwuFgjp16qTBgwfriCOOUI8ePdplHknq3r27CoXCJjOdcMIJOvHEEzPJc9VVV2308Q/m2XfffdWhQ4dM8kh+vX3+859P7OyYY47RkCFDMskj+fXm1plEb2nQWzK3ziS/3tw6k5hRGqNGjUp1PjJmzJjMMrntN7d1JPmtJWaUzHGvufXm1pnk2dttt9220cc/mGnAgAGZ5XE7Zkt+a5sZJXPc/+y1ZG7rSKK3NNx6c+tM8uvNrTPJrze3ziTP3tzm5Dgjt3MSt70msY5KMZPF89rM3vi+ndh///2jS5cuUVNTE7vuumvsuuuuUVtbG127do0999wzunXrFt27d4/nnnuuXeaJiJg0aVJstdVWMX78+LjqqqviqquuivHjx8fWW28dF110UZxyyinRsWPH+P3vf59Jnv79+xc/66RHjx7Ro0ePKBQKUVNTE717945CoRCDBg2K+fPnZ5Inwq+3448/Prp27Rr9+vWLI488Mo488sjo379/dOvWLb74xS/GkCFDomPHjjF16tRM8kT49ebWWQS9pUFvydw6i/Drza2zCGaUxplnnhldu3aNT37ykzFx4sSYOHFifOpTn4quXbvGaaedFgcddFCUlZXFrbfemlkmt/3mto4i/NYSM0rmuNfcenPrLMKzt0KhEGVlZcXP8mv61fRYWVlZ7LvvvrF06dJM8rgdsyP81jYzSua4/9lrydzWUQS9peHWm1tnEX69uXUW4debW2cRnr25zclxRm7nJG57LYJ1VIqZHJ7XchG+jV1xxRVx5JFHxvLly4uPLVu2LI466qi48sorY/Xq1XHEEUfEwQcf3C7zREQceeSR8Zvf/KbF47/97W/jyCOPjIiIq666KkaMGJFJnhtuuCH233//mDt3bvGxOXPmxAEHHBA33XRTLFiwIPbZZ5/4whe+kEmeCL/efvCDH8Q3v/nNaGhoKD7W0NAQp556apx11lnR2NgY//Ef/xH77LNPJnki/Hpz6yyC3tKgt2RunUX49ebWWQQzSuOUU06J888/v8XjF1xwQZxyyikREXHOOefEbrvtllkmt/3mto4i/NYSM0rmuNfcenPrLMKzt3vvvTf23HPPuPfee2PFihWxYsWKuPfee2PvvfeO22+/PaZOnRo77bRTnHTSSZnkcTtmR/itbWaUzHH/s9eSua2jCHpLw603t84i/Hpz6yzCrze3ziI8e3Obk+OM3M5J3PZaBOuoFDM5PK/lInwb23bbbTd6F8esWbNi2223jYiIadOmxVZbbdUu80RE1NTUxJw5c1o8PmfOnKipqYmIiLlz50Z1dXUmeQYOHBhPP/10i8enT58eAwYMiIiIRx55JPr06ZNJngi/3rbeeut48cUXWzz+4osvFjM888wz0bVr10zyRPj15tZZBL2lQW/J3DqL8OvNrbMIZpRGly5dWj0f6dKlS0REvPDCC1FbW5tZJrf95raOIvzWEjNK5rjX3Hpz6yzCs7eddtopHnnkkRaPT506NYYPHx4REffcc09st912meRxO2ZH+K1tZpTMcf+z15K5raMIekvDrTe3ziL8enPrLMKvN7fOIjx7c5uT44zczknc9loE66gUMzk8ry3bfG903z4tX75cixcvbvH4kiVLtGLFCklSt27d9N5777XLPJLUo0cP/eMf/2jx+D/+8Y/iZ0GsXr1anTt3ziTPwoULtX79+haPr1+/XosWLZIkbbvttlq5cmUmeSS/3tavX6/Zs2e3eHz27NlqaGiQJHXq1Gmjn6+xubj15taZRG9p0Fsyt84kv97cOpOYURqdOnXSv/71rxaP/+tf/1KnTp0kSY2NjcX/zoLbfnNbR5LfWmJGyRz3mltvbp01/Ty33urq6tSlS5cWj3fp0kUvv/yyJGmHHXbQW2+9lUket2O25Le2mVEyx/3PXkvmto4kekvDrTe3ziS/3tw6k/x6c+tM8uzNbU6OM3I7J3HbaxLrqBQzWTyv3WyX99upY445JgYMGBCTJ0+OBQsWxIIFC2Ly5MkxcODAGD9+fERE3HjjjZm9bZ9bnoiI3//+99GhQ4c47LDD4oILLogLLrggDj/88CgvL4+rr746IiIuu+yy+OIXv5hJnnHjxsWuu+4a06dPLz42ffr02G233eKQQw6JiIjbbrsts7fHj/Dr7Tvf+U5svfXWMWnSpJgyZUpMmTIlJk2aFFtvvXVMmDAhIiL+8Ic/ZPoWeW69uXUWQW9p0Fsyt84i/Hpz6yyCGaVxwQUXRFVVVUyYMCGuu+66uO6662LChAlRXV0dF154YURETJo0KcaOHZtZJrf95raOIvzWEjNK5rjX3Hpz6yzCs7d99tknPvOZz8TixYuLjy1evDg+85nPxKc+9amIeP/VMDvuuGMmedyO2RF+a5sZJXPc/+y1ZG7rKILe0nDrza2zCL/e3DqL8OvNrbMIz97c5uQ4I7dzEre9FsE6KsVMDs9ruQjfxlauXBmnnHJKVFZWRllZWZSVlUVlZWV87Wtfi1WrVkVExNNPP73Rt61oD3maTJ06Nb785S/HqFGjYtSoUfHlL395o28vkoWFCxfG2LFjo1AoRGVlZXFWBx10UCxatCgiIu6///646667Msvk1tv69evjwgsvjD59+kShUIhCoRB9+vSJiy66KNavXx8REa+++mosWLAgkzwRfr25dRZBb2nQWzK3ziL8enPrLIIZpXX99dfHXnvtFd27d4/u3bvHXnvtFf/1X/9V/PqaNWti7dq1meVx229u6yjCby0xo3Tc9ppbb46dRfj1Nnv27BgyZEhUVlbGoEGDYtCgQVFZWRlDhw4tvnXm3//+97j22mszyeN2zI7wW9vMKJnj/mevJXNbRxH0loZbb26dRfj15tZZhF9vbp1FePbmNifHGbmdk7jttQjWUalmyvt5bSEiYvO9zr79WrVqVfFtMQYOHKja2lrymJs9e7ZeeuklSdKQIUM0ZMiQnBN59tb0tiEbezuYPLj15tiZRG9J6C2ZW2eSZ29OnUnMqFS57TfHdSR5rSVmVJoce6OzTWtsbNTdd9/d7Bh50EEHqawsv0/acztmS35rmxml47T/2WvpuK0jekvHqTfHziS/3pw6kzx7c+tM8utN8puT44wkn3MSx70msY7ScMyUFy7CI1fvvvtui89/yPvgDgAAAAAAAAAAAAAfVXneAbZETz31lP76179q/vz5LS4wT548ud3nWbNmjb7//e/rr3/9q95+++0WX29oaMg802uvvabbbrttozOaNGlS5nkkv95uueWWVvNMnz498zySX29unUn0lga9JXPrTPLrza0ziRklaWho0BVXXNFqpqVLl2aeSfLbb27rSPJbS8xo01z3mltvTp1Jvr2tXr1aDz300EYzTZgwIfM8bsdsyW9tM6NkbvtfYq+l4baOJHpLw603t84kv97cOpP8enPrTPLszW1OjjNyOydx22sS66jUMlk8r91sb3TfTt14441RUVERhx56aFRWVsahhx4aO+64Y3Tt2jVOOOGEdp8nIuJb3/pWDBs2LG655ZaoqqqKP/3pT3HBBRfExz72sbj++uszz3PvvfdGdXV1jBgxIsrLy2OXXXaJbt26RdeuXWPMmDGZ54nw6+3nP/951NbWxqmnnhqVlZXx9a9/PcaOHRtdu3aNH/7wh5nnifDrza2zCHpLg96SuXUW4debW2cRzCiNs88+O7bZZpu47LLLolOnTnHBBRfEySefHFtttVX8/Oc/zyWT235zW0cRfmuJGSVz3Gtuvbl1FuHZ2/Tp06NPnz7RpUuX6NChQ/Ts2TMKhULU1NTEgAEDMs/jdsyO8FvbzCiZ4/5nryVzW0cR9JaGW29unUX49ebWWYRfb26dRXj25jYnxxm5nZO47bUI1lEpZnJ4XstF+DY2cuTI+OUvfxkREbW1tVFXVxeNjY3xta99Lc4555x2nyciYrvttosHHnggIiI6d+4cc+bMiYiIa6+9Nj772c9mnmePPfYozqJpRitXrozDDz88fv3rX2eeJ8KvtyFDhsQNN9zQLE/E+wexb3/725nnifDrza2zCHpLg96SuXUW4debW2cRzCiNgQMHxj//+c9iprlz50bE+088v/KVr+SSyW2/ua2jCL+1xIySOe41t97cOovw7G2//faLr33ta9HQ0FCc0/z582PfffeNv/3tb5nncTtmR/itbWaUzHH/s9eSua2jCHpLw603t84i/Hpz6yzCrze3ziI8e3Obk+OM3M5J3PZaBOuoFDM5PK/lInwbq66ujnnz5kVERI8ePeKZZ56JiIjnn38++vTp0+7zRETU1NTEq6++GhERffv2jccffzwiIl5++eWoqanJPM8HN1+3bt1i1qxZERExY8aM6NevX+Z5Ivx6q6qqildeeSUiInr27BkzZsyIiIiXXnopevTokXmeCL/e3DqLoLc06C2ZW2cRfr25dRbBjNKorq4uno/06dMnpk2bFhERdXV10aVLl1wyue03t3UU4beWmFEyx73m1ptbZxGevXXt2jVmz55d/O/nn38+IiIee+yxGDJkSOZ53I7ZEX5rmxklc9z/7LVkbusogt7ScOvNrbMIv97cOovw682tswjP3tzm5Dgjt3MSt70WwToqxUwOz2vLNv8b3rcv3bt318qVKyVJffv21axZsyRJy5Yt05o1a9p9HkkaOHCg5s2bJ0kaOnSo/vrXv0qS/vGPf6hbt26Z56mpqSl+FsQ222yjurq64tfeeuutzPNIfr316dOn+PkY22+/vR577DFJ0rx58xQRmeeR/Hpz60yitzToLZlbZ5Jfb26dScwojY997GNauHChJGnQoEG6++67JUlPPvmkOnbsmEsmt/3mto4kv7XEjJI57jW33tw6kzx7q6ioUFnZ+/+E0atXL82fP1+S1LVrVy1YsCDzPG7HbMlvbTOjZI77n72WzG0dSfSWhltvbp1Jfr25dSb59ebWmeTZm9ucHGfkdk7ittck1lEpZnJ4XlueyU9pR/bdd1/dc889GjlypI4++middtppuv/++3XPPffowAMPbPd5JOnEE0/UzJkztd9+++nMM8/UYYcdpl/+8peqr6/XpEmTMs+z1157aerUqRo2bJjGjRunM844Q88++6wmT56svfbaK/M8kl9vBxxwgG677TaNGjVKJ554ok4//XTdcssteuqpp3TkkUdmnkfy682tM4ne0qC3ZG6dSX69uXUmMaM0Pv/5z+u+++7Tnnvuqe985zsaP368/vjHP2r+/Pk6/fTTc8nktt/c1pHkt5aYUTLHvebWm1tnkmdvo0aN0pNPPqkddthB++23n8455xy99dZbuu666zRixIjM87gdsyW/tc2Mkjnuf/ZaMrd1JNFbGm69uXUm+fXm1pnk15tbZ5Jnb25zcpyR2zmJ216TWEelmMnieW0mr7dvR95+++14/fXXIyKioaEhLr744jjssMNi4sSJsXTp0nafZ2NeeeWV+Nvf/hYzZ87M5efX1dUVf/aqVavi61//eowcOTKOPPLI4luwZM2tt4aGhqivry/+/sYbb4zvfOc7cdVVV8W6desyzxPh15tbZ0056G3T6C2ZW2cRfr25dRbBjD6KRx99NC6//PK47bbbcsvgtt/c1lFTDqe1xIw+PIe95tabe2cRHr09+eSTcf/990dExJtvvhmf/vSno3PnzrHrrrsW3y4zS27H7Ai/tc2Mkjnuf/ZaMrd1FEFvabj15tZZhF9vbp1F+PXm1lmEZ29uc3Kckds5idtei2AdlWqmD8rjeS0X4dtQfX19XHPNNbFo0aK8o0SEX56IiPfeey8OOOCAeOmll/KOEhER69evj4ceeijeeeedvKMUufVWX18f5513XixYsCDvKEVuvbl1FkFvadBbMrfOIvx6c+ssghml8d5778WJJ54YL7/8ct5Ritz2m9s6ivBbS8womeNec+vNrbMIz94aGxvj1VdfjbVr1+YdJSL8jtkRfmubGSVz3P/stWRu6yiC3tJw682tswi/3tw6i/Drza2zCM/e3ObkOCO3cxK3vRbBOkrDLZPL89pCRE4fMrWFqq6u1gsvvKB+/frlHUWSXx5J6tmzp/71r39phx12yDuKJKlTp0564YUXNGDAgLyjFLn1Vltbq1mzZql///55Ryly682tM4ne0qC3ZG6dSX69uXUmMaM0unbtqhkzZlitbbf95raOJL+1xIySOe41t97cOpP8emtsbFSnTp303HPP8TxyE9zWNjNK5rb/2WvpuK0jekvHqTfHziS/3pw6kzx7c+tM8utN8puT44yczkkc95rEOkrDLZPD89qy3H7yFmr06NGaMWNG3jGK3PJIKn7ugosRI0bo5ZdfzjtGM269HXjggXrooYfyjtGMW29unUn0lga9JXPrTPLrza0ziRml8bnPfU633npr3jGacdtvbutI8ltLzCiZ415z682tM8mvt7KyMu2www56++23845S5HbMlvzWNjNK5rb/2WvpuK0jekvHqTfHziS/3pw6kzx7c+tM8utN8puT44yczkkc95rEOkrDLZPD89ryXH/6Fuhb3/qWJk6cqAULFmi33XZTTU1Ns6/vvPPO7TqPJK1fv15/+tOfdO+9924006RJkzLNc+GFF+o///M/dcEFF2w0T5cuXTLNI/n19tnPflZnnnmmnn322Y3mOfzwwzPNI/n15taZRG9p0Fsyt84kv97cOpOYURo77LCDzj//fD3yyCMbzTRhwoTMM7ntN7d1JPmtJWaUzHGvufXm1pnk2dsll1yi733ve/rNb36jESNGZP7zN+R2zJb81jYzSua4/9lrydzWkURvabj15taZ5NebW2eSX29unUmevbnNyXFGbuckbntNYh2VYiaH57W8HX0bKytr+eYChUJBEaFCoaCGhoZ2nUeSxowZ0+rXCoWC7r///gzTNJ9RoVAo/neeM3LrbWN5mjjMyKE3t85ay9TEIRO9pc/UJO8ZOXS2YaYmHCObY0bJNvVWVIVCIZe7m932m9s6ai1TE2bUeqYmeWRy32sfzOK015pwjPw/3bt315o1a7R+/XpVVlaqqqqq2deXLl2aaR63Y/aGmZq4rG1mlD5Pk7xmxF77cJma5P33P719uExN8uzNrTPJrze3ziS/3tw62zBTk7x7c5uT+4w2xDHyfayj0svk8LyWV8K3sXnz5uUdoRm3PJL0wAMP5B2hGbc8kl9vjY2NeUdowa03t84kekuD3pK5dSb59ebWmcSM0nCbkeS33xxn5LaWmFEyxxm5ZXLrTPKbkSRdeeWVeUdoxu2YLfn1xoySOe5/9loyt3Uk0Vsabr25dSb59ebWmeTXm1tnkmdvbnNynJHbOYnbXpNYR2m4ZXLIwyvhkZu5c+eqrq5O++67r6qqqop3w8Dbu+++q06dOuUdAx8SvZUmeis9dJbMbUbvvfee5s2bp0GDBqm8nPtTS4nbWnLkNCP2WjpOnUn0BmTJbf8DAID2iXMSbGnyfF7b+ntM4CO77rrrtM8++2jbbbfVq6++Kun9O3f+53/+hzyS3n77bR144IHacccdNW7cOC1cuFCSdPLJJ+uMM87IJdOUKVM0fvx4feITn9Drr78u6f25TZ06NZc8TT/fpbeGhgZdcMEF6tu3r2pra4tv03H22Wfrj3/8Y+Z5mrj15tSZRG9p0Vsyt86afr5Lb46dScwoyZo1a3TyySerurpaO+20k+bPny9J+s53vqNLLrkkl0yS335zWkeS51piRpvmutecenPrTPLtra6uTj/+8Y/1la98RYsXL5Yk3XHHHXruuedyyeN2zG76+S5rW2JGSRz3v8ReS8NpHTWht2Ruvbl1Jvn15taZ5NebW2dNP9+tN7c5uc3I8ZzEba9JrKNSy+TwvJaL8G3sN7/5jSZOnKhx48Zp2bJlxc846NatWy5voeGWR5JOP/10VVRUaP78+aquri4+/qUvfUl33nln5nn+9re/6dOf/rSqqqo0ffp0rVu3TpK0fPly/fSnP808j+TX20UXXaS//OUvuvTSS1VZWVl8fMSIEbr66qszzyP59ebWmURvadBbMrfOJL/e3DqTmFEaZ511lmbOnKkHH3yw2R3eY8eO1c0335xLJrf95raOJL+1xIySOe41t97cOpM8e3vooYc0cuRIPf7445o8ebJWrVolSZo5c6bOPffczPO4HbMlv7XNjJI57n/2WjK3dSTRWxpuvbl1Jvn15taZ5NebW2eSZ29uc3Kckds5idtek1hHpZjJ4nltoE0NGzYs/v73v0dERG1tbdTV1UVExLPPPhtbbbVVu88TEdG7d++YMWNGi0x1dXVRU1OTeZ5ddtklrrnmmhZ5pk+fHr179848T4Rfb4MGDYp77723RZ4XXnghunXrlnmeCL/e3DqLoLc06C2ZW2cRfr25dRbBjNLYfvvt49FHH22Rac6cOdG5c+dcMrntN7d1FOG3lphRMse95tabW2cRnr3ttddecfnll7fI9Pjjj0ffvn0zz+N2zI7wW9vMKJnj/mevJXNbRxH0loZbb26dRfj15tZZhF9vbp1FePbmNifHGbmdk7jttQjWUSlmcnheyyvh29i8efM0atSoFo937NhRq1evbvd5JGn16tXNXgHfZOnSperYsWPmeV588UXtu+++LR7v2rWrli1blnkeya+3119/XYMHD27xeGNjo+rr6zPPI/n15taZRG9p0Fsyt84kv97cOpOYURpLlixRr169Wjy+evVqFQqFHBL57Te3dST5rSVmlMxxr7n15taZ5Nnbs88+q89//vMtHu/Vq5feeuutzPO4HbMlv7XNjJI57n/2WjK3dSTRWxpuvbl1Jvn15taZ5NebW2eSZ29uc3Kckds5idtek1hHabhlcnhey0X4NjZgwADNmDGjxeN33nmnhg0b1u7zSNKnPvUpXXvttcXfFwoFNTY26tJLL9WYMWMyz9OnTx/NnTu3xeNTp07VwIEDM88j+fU2fPhwTZkypcXjt9xyy0YPqllw682tM4ne0qC3ZG6dSX69uXUmMaM0dt99d91+++3F3zedfF999dXae++9c8nktt/c1pHkt5aYUTLHvebWm1tnkmdv3bp108KFC1s8/vTTT6tv376Z53E7Zkt+a5sZJXPc/+y1ZG7rSKK3NNx6c+tM8uvNrTPJrze3ziTP3tzm5Dgjt3MSt70msY7ScMtk8bw2k9fbtyN/+MMfom/fvnHTTTdFTU1N3HjjjXHhhRcW/7u954l4/60nevXqFZ/5zGeisrIyjjrqqBg2bFj07t075s6dm3men/70pzF8+PB47LHHonPnzjFlypS4/vrro2fPnnHVVVdlnifCr7dbb701unbtGpdccklUV1fHz372szjllFOisrIy7r777szzRPj15tZZBL2lQW/J3DqL8OvNrbMIZpTGlClTora2Nr7xjW9Ep06d4rTTTouDDjooampq4qmnnsolk9t+c1tHEX5riRklc9xrbr25dRbh2dsZZ5wRn/zkJ2PhwoXRuXPnmDNnTkydOjUGDhwYP/nJTzLP43bMjvBb28womeP+Z68lc1tHEfSWhltvbp1F+PXm1lmEX29unUV49uY2J8cZuZ2TuO21CNZRKWZyeF7LRfjN4Prrr4/BgwdHoVCIQqEQffv2jauvvpo8H7Bs2bK48MIL4+ijj47Pfvaz8aMf/SjeeOONXLI0NjYWDwRNM+rUqVP8+Mc/ziVPE7feHn744Rg7dmz07NkzqqqqYp999om77rortzyOvbl1FkFvadDbpjl2FuHXm1NnTZhRsrlz58Ypp5wSe+yxRwwbNiyOPfbYeOaZZ3LL47jf3NZRhN9aYkbJ3PZahF9vbp1F+PW2bt26OOWUU6K8vDwKhUJUVFREWVlZjB8/PtavX595HsdjdoTX2mZG6bjtf/ZaOm7riN7ScerNrbMIz96cOovw682xswi/3hzn5DajCK9zEre9FsE6KtVMeT+vLUREZPOa+/ZnzZo1WrVq1UY/cyAPbnncvPfee5o7d65WrVql4cOHq7a2Nu9IkugtiWNvdJaM3kqPY2cSvaXBjEqP435jHSVjRqWJ3krP/PnzNWvWLK1atUqjRo3SDjvskGsex2O25LW2mVFpYq+l47aO6C0dp97cOpM8e3PqTPLrzbEzya83xzm5zciN216TWEdpOWbKRWaX+9uJCy64IF5++eW8YxS55YmIGDRoUJx77rnx0ksv5R0lIiKuu+66WL16dd4xmnHr7eSTT44HHngg7xjNuPXm1lkEvaVBb8ncOovw682tswhmlMaBBx4Yf/7zn2P58uV5Ryly229u6yjCby0xo2SOe82tN7fOIjx7mzJlSt4RmnE7Zkf4rW1mlMxx/7PXkrmtowh6S8OtN7fOIvx6c+sswq83t84iPHtzm5PjjNzOSdz2WgTrKA23TA7Pa7kI38Z23nnnKCsri7333jt+9atfxZIlS8izgUmTJsXuu+8ehUIhdt9997jyyitj4cKFueXZeuuto6amJr7yla/E7bffntvbmXyQW2+HH354dOzYMT72sY/Ff/7nf8bTTz+da54Iv97cOougtzToLZlbZxF+vbl1FsGM0pgwYUL06dMnqqqq4qijjopbb7013nvvvVwzue03t3UU4beWmFEyx73m1ptbZxGevVVUVET//v3jrLPOiueeey7XLBF+x+wIv7XNjJI57n/2WjK3dRRBb2m49ebWWYRfb26dRfj15tZZhGdvbnNynJHbOYnbXotgHZViJofntVyE3wxmzZoVZ511VgwYMCAqKipi3Lhx8V//9V+53SXjlqfJiy++GOecc07ssMMOUV5eHgcddFBcc801meeor6+Pf/zjH3HMMcdETU1N9OzZM771rW/FI488knmWD3LrbenSpfG73/0u9ttvvygrK4vhw4fHRRddFPPmzcslj2Nvbp1F0Fsa9LZpjp1F+PXm1FkTZpSsoaEh7rrrrjj++OOjS5cu0b179/ja174WDz74YC55HPeb2zqK8FtLzCiZ216L8OvNrbMIv96WLFkSv/jFL+ITn/hEFAqF+PjHPx6XXnppLFiwIJc8jsfsCK+1zYzScdv/7LV03NYRvaXj1JtbZxGevTl1FuHXm2NnEX69Oc7JbUYRXuckbnstgnVUqpnyfl7LRfjNbOrUqfGtb30revbsGZ07d847jl2eJo8++mjssssuUVZWlmuO1atXx/XXXx/jxo2LysrKGDhwYK55mrj1tmDBgrj00ktj6NCh0aFDh7zjWPbm1lkEvaVBb5vm2FmEX29OnTVhRsnWrl0bf/3rX+PjH/947ucjEZ77zW0dRfitJWaUzG2vRfj15tZZhF9vL7/8clx44YWx0047RYcOHWLMmDG55nE8Zkd4rW1mlI7b/mevpeO2jugtHafe3DqL8OzNqbMIv94cO4vw681xTm4zivA6J3HbaxGso7TcMuXxvLY878+k39LV1NSoqqpKlZWVWrlyZd5x7PI88cQTuuGGG3TzzTdrxYoVOvroo3PNU11drU9/+tN655139Oqrr+qFF17INU8Tp97q6+v11FNP6fHHH9crr7yi3r1755pH8uzNqTOJ3tKit01z7Ezy6s2tsybMaNMWLVqkm266Sddff72eeeYZjR49Ou9IlvvNaR1JnmuJGW2a416TvHpz60zy7G3AgAE688wz9fGPf1xnn322HnrooVzzOB6zJa+1zYySOe5/9lo6TutIore0nHpz60zy7M2pM8mvN8fOJL/eHOfkNiO3cxK3vSaxjtJyypTb89pMLvW3M0135gwfPjw6dOgQBxxwQFx99dWxbNky8kTLt6E/+OCD45prromVK1fmkifi/+5c+uxnPxuVlZUxaNCg+PGPfxwvvPBCbpncerv//vvjlFNOie7du0fXrl3jxBNPjHvvvTcaGxtzyRPh15tbZxH0lga9JXPrLMKvN7fOIphRkuXLl8ef/vSnGDt2bJSXl8eOO+4Y5513XsydOzeXPE3c9pvbOorwW0vMaNNc95pbb06dRfj2FvH+qym++c1vFl9NMX78+LjjjjtyyeJ2zI7wW9vMKJnb/m/CXts0t3XUhN42zbE3p84i/Hpz7CzCqze3ziI8e3Obk+OMHM9JnPZaBOuo1DI5PK/lInwb23PPPaOsrCx22WWX+NnPfhavvfYaeTZQKBRi9OjRceWVV8aiRYvyjhNf+tKXip/h8e1vfzv+9a9/5R3Jrrdtt902OnXqFJ/73Ofiv//7v+Pdd9/NNU+EX29unUXQWxr0lsytswi/3tw6i2BGaXTq1Cm22Wab+O53vxtPPvlk3nEiwm+/ua2jCL+1xIySOe41t97cOovw7O3MM8+M/v37R2VlZRxyyCFxww035PpZh27H7Ai/tc2Mkjnuf/ZaMrd1FEFvabj15tZZhF9vbp1F+PXm1lmEZ29uc3Kckds5idtei2AdlWImh+e1XIRvYz/84Q/jueeeyztGkVueiIiXXnop7wjNHHPMMXH77bfH+vXr845S5Nbb73//+3jnnXfyjtGMW29unUXQWxr0lsytswi/3tw6i2BGadx9993R0NCQd4xm3Pab2zqK8FtLzCiZ415z682tswjP3j7xiU/Er371q1iyZEneUSLC75gd4be2mVEyx/3PXkvmto4i6C0Nt97cOovw682tswi/3tw6i/DszW1OjjNyOydx22sRrKM03DI5PK8tRERk88b3AAAAAAAAAAAAAABs2crzDrAleu2113Tbbbdp/vz5eu+995p9bdKkSe0+T0NDg6644gr99a9/3WimpUuXZp5p9erVeuihhzaaZ8KECZnnkfx6e+qpp1rtbPLkyZnnkfx6c+tMorc06C2ZW2eSX29unUnMKI1bbrml1UzTp0/PJZPbfnNbR5LfWmJGyRz3mltvbp1Jnr1J0vPPP7/RTIcffnjmWdyO2ZLf2mZGyRz3v8ReS+K2jprQ26Y59ubUmeTXm2Nnkldvbp1Jnr25zclxRo7nJE57TWIdlWKm3J/X5vo6/C3QvffeG9XV1TFixIgoLy+PXXbZJbp16xZdu3aNMWPGtPs8ERFnn312bLPNNnHZZZdFp06d4oILLoiTTz45ttpqq/j5z3+eeZ7p06dHnz59okuXLtGhQ4fo2bNnFAqFqKmpiQEDBmSeJ8KvtxtvvDEqKiri0EMPjcrKyjj00ENjxx13jK5du8YJJ5yQeZ4Iv97cOougtzToLZlbZxF+vbl1FsGM0vj5z38etbW1ceqpp0ZlZWV8/etfj7Fjx0bXrl3jhz/8YS6Z3Pab2zqK8FtLzCiZ415z682tswjP3urq6mLnnXeOQqEQZWVlUSgUiv9dVlaWeR63Y3aE39pmRskc9z97LZnbOoqgtzTcenPrLMKvN7fOIvx6c+sswrM3tzk5zsjtnMRtr0Wwjkoxk8PzWi7Ct7E99tgjzjnnnIiIqK2tjbq6uli5cmUcfvjh8etf/7rd54mIGDhwYPzzn/8sZpo7d25EvL8hvvKVr2SeZ7/99ouvfe1r0dDQUJzR/PnzY999942//e1vmeeJ8Ott5MiR8ctf/rJZnsbGxvja175WzJk1t97cOougtzToLZlbZxF+vbl1FsGM0hgyZEjccMMNzTJFvH+z4Le//e1cMrntN7d1FOG3lphRMse95tabW2cRnr0deuihccQRR8SSJUuitrY2nn/++ZgyZUqMHj06Hn744czzuB2zI/zWNjNK5rj/2WvJ3NZRBL2l4dabW2cRfr25dRbh15tbZxGevbnNyXFGbuckbnstgnVUipkcntdyEb6NffCicrdu3WLWrFkRETFjxozo169fu88TEVFdXR2vvvpqRET06dMnpk2bFhHv393UpUuXzPN07do1Zs+eXfzv559/PiIiHnvssRgyZEjmeSL8equuro558+ZFRESPHj3imWeeiYiI559/Pvr06ZN5ngi/3tw6i6C3NOgtmVtnEX69uXUWwYzSqKqqildeeSUiInr27BkzZsyIiIiXXnopevTokUsmt/3mto4i/NYSM0rmuNfcenPrLMKzt6222ipmzpwZERFdunQpHi/vu+++2GWXXTLP43bMjvBb28womeP+Z68lc1tHEfSWhltvbp1F+PXm1lmEX29unUV49uY2J8cZuZ2TuO21CNZRKWZyeF5btvnf8L59qampKX6uwDbbbKO6urri19566612n0eSPvaxj2nhwoWSpEGDBunuu++WJD355JPq2LFj5nkqKipUVvb+VujVq5fmz58vSeratasWLFiQeR7Jr7fu3btr5cqVkqS+fftq1qxZkqRly5ZpzZo1meeR/Hpz60yitzToLZlbZ5Jfb26dScwojT59+mjp0qWSpO23316PPfaYJGnevHmKiFwyue03t3Uk+a0lZpTMca+59ebWmeTZW0NDgzp37ixJ2nrrrfXGG29Ikvr166cXX3wx8zxux2zJb20zo2SO+5+9lsxtHUn0loZbb26dSX69uXUm+fXm1pnk2ZvbnBxn5HZO4rbXJNZRKWZyeF5bnslPaUf22msvTZ06VcOGDdO4ceN0xhln6Nlnn9XkyZO11157tfs8kvT5z39e9913n/bcc0995zvf0fjx4/XHP/5R8+fP1+mnn555nlGjRunJJ5/UDjvsoP3220/nnHOO3nrrLV133XUaMWJE5nkkv9723Xdf3XPPPRo5cqSOPvponXbaabr//vt1zz336MADD8w8j+TXm1tnEr2lQW/J3DqT/Hpz60xiRmkccMABuu222zRq1CideOKJOv3003XLLbfoqaee0pFHHplLJrf95raOJL+1xIySOe41t97cOpM8exsxYoRmzpypAQMGaM8999Sll16qyspK/f73v9fAgQMzz+N2zJb81jYzSua4/9lrydzWkURvabj15taZ5NebW2eSX29unUmevbnNyXFGbuckbntNYh2VYiaL57WZvN6+Hamrqyu+TcaqVavi61//eowcOTKOPPLI4tsetOc8G/Poo4/G5ZdfHrfddlsuP//JJ5+M+++/PyIi3nzzzfj0pz8dnTt3jl133bX49hRZc+vt7bffjtdffz0iIhoaGuLiiy+Oww47LCZOnBhLly7NPE+EX29unUXQWxr0lsytswi/3tw6i2BGaTQ0NER9fX3x9zfeeGN85zvfiauuuirWrVuXSya3/ea2jiL81hIzSua419x6c+usKYdbb3feeWfxsxbnzJkTQ4YMiUKhEFtvvXXcd999medxO2ZH+K1tZpTMcf+z15K5raMIekvDrTe3ziL8enPrLMKvN7fOIjx7c5uT44zczknc9loE66gUMzk8ry1E5PRecgAAAAAAAB/R0qVL1b17dxUKhbyjAFs09lpporfSQ2elid6AbLDXUIq4CA8AAAAAAAAAAAAAQBspyzsAAAAAAAAAAAAAAABbCi7CAwAAAAAAAAAAAADQRrgIDwAAAAAAAAAAAABAG+EiPAAAAAAAAAAAAAAAbYSL8Bk6//zzNWXKlLxjFLnlkaQBAwbo5JNP1htvvJF3FEnStddeq7q6urxjNOPW20knnaTrrrsu7xjNuPXm1plEb2nQWzK3ziS/3tw6k5hRGgcccIAuuOACrVmzJu8oRW77zW0dSX5riRklc9xrbr25dSZ59vbwww9r+fLleccocjtmS35rmxklc9z/7LVkbutIorc03Hpz60zy682tM8mvN7fOJM/e3ObkOCO3cxK3vSaxjtJwy5TZ89pAZvr37x9VVVVx6KGH5h0lIvzyRESce+65cfzxx0f//v3zjhIREYVCISorK+PUU0/NO0qRW2/77bdf9OvXLz7+8Y/nHaXIrTe3ziLoLQ16S+bWWYRfb26dRTCjNI4//vjYb7/9Yrvttss7SpHbfnNbRxF+a4kZJXPca269uXUW4dlboVCIHj16xGWXXZZ3lIjwO2ZH+K1tZpTMcf+z15K5raMIekvDrTe3ziL8enPrLMKvN7fOInx7c5qT44zczknc9loE6ygNt0xZPa8t37yX+PFB8+bN09q1a/XAAw/kHUWSXx5J+slPfpJ3hGYaGxs1b9483XHHHXlHKXLr7cEHH5QkPf/88/kG+QC33tw6k+gtDXpL5taZ5NebW2cSM0rjL3/5iyRpxYoV+Qb5ALf95raOJL+1xIySOe41t97cOpN8e3v55ZdtjpFux2zJb20zo2SO+5+9lsxtHUn0loZbb26dSX69uXUm+fXm1pnk2ZvbnBxn5HZO4rbXJNZRGm6ZsnpeW4iI2Kw/AQAAAAAAAAAAAACAdoJXwrexJ554Qo8++qgWLVokSerTp4/23ntvjR49mjwJFixYoHPPPVd/+tOfMv25ixYt0uOPP95sRnvuuaf69OmTaY4PcuvttddeU7du3VRbW9vs8fr6ej366KPad999M8/k1ptbZxK9pUFvydw6k/x6c+tM8prRe++9p1tvvbVFnk984hM64ogjVFlZmXmmtWvXatq0aerRo4eGDx/e7Gvvvvuu/vrXv+q4447LPJfbfnNaR03c9pvbjNz2m+tec+rNrTPJt7f169frueeeazan4cOHq6KiIvMskt8xW3r/FThlZWUbffy1117T9ttvn2kexxk57X/J7+81ib2Whttek+gtDbfe3DqT/Hpz60zy682tM8mzN7c5uZ2PSH7nJG57TfJbR457zXFtb8ybb76p3/3udzrnnHM2/w/brG923468+eab8clPfjIKhUL069cvRo8eHaNHj45+/fpFoVCIT37yk/Hmm2+22zxpzJgxI8rKyjL7eatWrYpjjz02OnToEOXl5dGrV6/o1atXlJeXR4cOHWL8+PGxevXqzPJE+PX2xhtvxB577BFlZWXRoUOH+OpXvxorV64sfn3RokWZdhbh15tbZxH0lga9JXPrLMKvN7fOIvxmNGfOnBg4cGB06tQp9ttvv/jiF78YX/ziF2O//faLTp06xeDBg2POnDmZ5YmIePHFF4vzKCsri3333TfeeOON4tc5Rvqtowi//eY4I7f95rjX3Hpz6yzCs7eGhob40Y9+FN26dYtCodDsV7du3eLHP/5xNDQ0ZJbH7ZgdEbF8+fI4+uijo1OnTtGrV684++yzY/369cWvcx7pt//d/l6LYK+l4bbXIugtDbfe3DqL8OvNrbMIv97cOovw7M1tTm7nIxF+5yRuey3Cbx057jXHtb0pWV6L5CJ8G/nCF74Qe++9d8yePbvF12bPnh2f+MQn4qijjmq3eSIi/ud//meTv6644opMDw4nn3xy7LDDDnHnnXc2O0itX78+7rrrrthxxx3jlFNOySxPhF9vxx13XOy5557x5JNPxj333BO77bZb7L777rF06dKIeP+AXigUMssT4debW2cR9JYGvSVz6yzCrze3ziL8ZjR27Ng44ogjYvny5S2+tnz58jjiiCPi4IMPzixPRMTnPve5OOSQQ2LJkiUxZ86cOOSQQ2LAgAHx6quvRkQ+T1bc9pvbOorw22+OM3Lbb457za03t84iPHv73ve+Fz179ozf/va3MW/evFizZk2sWbMm5s2bF7/73e+iV69e8f3vfz+zPG7H7IiICRMmxI477hj//d//HX/4wx+iX79+ccghh8S6desigvPICL/97/b3WgR7LQ23vRZBb2m49ebWWYRfb26dRfj15tZZhGdvbnNyOx+J8DsncdtrEX7ryHGvua3tmTNnbvLXzTffzEX4UlNbWxvTp09v9etPPfVU1NbWtts8EVF8NcWGdzB98FeW/6DTrVu3eOSRR1r9+tSpU6Nbt26Z5Ynw623bbbeNxx9/vPj7d999Nw477LDYZZdd4u23387lH+HcenPrLILe0qC3ZG6dRfj15tZZhN+Mqqqq4tlnn231688880xUVVVlliciolevXvHMM88Uf9/Y2Bjf+MY3Yvvtt4+6ujqOkeG3jiL89pvjjNz2m+Nec+vNrbMIz9569+4dd955Z6tfv/POO6NXr16Z5XE7ZkdEbL/99vHAAw8Uf79kyZIYPXp0HHzwwfHuu+9yHhl++9/t77UI9loabnstgt7ScOvNrbMIv97cOovw682tswjP3tzm5HY+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1qxZU3yOJC4uDn5+fnZrKWexd+9eBAQEIDw8HADw9ddflzhHcvfdd9vyLG+lfObMmYPhw4cjKirKbpVS1K1bF0lJScXn3BRAL8Ib4rPPPsPYsWNx+PBho8t94403EBQUhBEjRpSY/t///hcnT57E2LFjjfpURHJyMrp27WrsWQxuPvvsM/j4+CAuLq7E9M8//xxFRUXFt6ioiU47d+7EgAEDsGfPHliWhZ49e+L9999HZGQkgDMnBho3bmy8M4AnI0afxMREDB06FEFBQTh58iSWLl2K+Ph4XHTRRSgqKsJXX32FFStW2HIhniknNp8pU6aUOX3evHkYM2ZM8cXcuXPnGnMCuDJic2rfvj3WrVuHsLAwZGVloVevXsjJycGf/vQnpKWlwdfXF99++60tB55s+38mn4suughz5sxB//798dprr2HSpEm4/fbb0a5dO/z888947bXXMG/ePIwfP96YkxuWdZvRx+VywbIstGzZErfeeivGjh2LRo0aGVt+eTCt22xOzzzzDGbPno0BAwZg/fr1uO+++/D3v/8d999/P1wuF/75z39i4sSJeOqpp4z4eMKSEaPP5s2b0b9/f7Rq1QqBgYHYsGEDbrrpJuTl5eHzzz9H+/btkZiYiODgYGNObjZt2oSioiJ07969xPTvvvsOPj4+uPjii2usz65duxAXF4f9+/eje/fuaNiwIYAzf6999913aNq0KZYvX27ulov/H6b9CLNTWdh1fgTgWrfZfA4cOIChQ4diy5YtsCwLN910E1566aXii/F2niNhyonNZ+PGjRgwYACOHz+OevXq4YsvvsCIESPg6+uLoqIi7N+/H+vWrUPXrl2NOQFcGbE5Pf/882VOnzJlCh566KHivwMmTZpkxMcTlowYfQYPHoz33nsPdevWRXZ2NgYPHoyNGzciPDwcR44cwZ/+9CesXbsWDRo0MObkhm3/z+TTvXt3TJs2DVdffTWWLVuGYcOG4eqrr0a7du2wc+dOfPrpp1iyZAmuvvpqY04A17rN5uRyueByudC3b1/cdtttuO6662i+cDt27Fh07twZ999/v90qJUhJScGePXuQl5dXYvqQIUOqf+FGfm9fg7j//vtLvO677z654YYbJCgoSO6++27jPq1bt5ZVq1aVmr5mzRr505/+ZNRl2bJlFb7++c9/isvlMuokIhIbGysJCQml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gwYNpH///tKvXz/x8fExOtbYfDxh6u3+++8v8+VyuSQ+Pr74fU318YSlt3bt2hWfNNmzZ4+0aNFC6tatK5dccomEhYVJREREiYurNdVJhKczEZFOnTrJF198ISIir776qgQGBsqkSZNk/vz5ct9990lQUJC8/vrrNdbHE6be3Pv91q1by7PPPisHDhwwunx2H09Yenv66aclODhYrr/+emnUqJE8++yzUr9+fXnmmWdk5syZ0qBBA3n88ceN+bA6ifB0JiKyadMmqVu3rnTr1k169uwpPj4+cvPNN8sNN9wg9erVkx49esjx48drrI8nTL2lpqZKTEyMBAQESO/evWXkyJEycuRI6d27twQEBEirVq0kNTW1xvqcC8HBwZKWlmbb8u08H1EejE6emOhs//79cskll4jL5SreHnle/DZ9PoLN51ww0dt3330ndevWFcuyJDQ0VDZv3izR0dHSunVradmypQQGBsqWLVuq1YHZ51yo7t7mzZtX5svHx0ceffTR4vcmYXSqCibG2qBBg+To0aMiInLkyBHp3r27WJYlDRo0EJfLJW3btpVffvmlWh2Yfc4FE71deuml8sknn4iIyMcffywul0uGDBkiDz/8sFx33XXi5+dXPN8EbD7nQnX3ZlmW+Pj4SP/+/eX999+n+IIro1NVMDHW3OeRXC6XWJZV6lW7dm1bzv9dffXVMmLEiBJfcC8oKJDrr79eBg4caMRBL8Ib4MiRI1JUVGR0mcuWLavw9c9//tO2P1YCAgJkz549IiJy8803y8MPPywiIrt375Y6deoY87j22mvlqquuksOHD0tqaqpcddVVEh0dLbt37xYRe/6gY3QS4elMROSyyy6Txx57TERE3nvvPQkNDZWpU6cWz3/kkUfkyiuvrLE+njD1ZlmWdO7cWfr06VPiZVmWXHLJJdKnTx/p27dvjfXxhKU3y7Lk0KFDIiIyevRo6dGjR/EfeL/99pv0799fRo0aZcyH1UmEpzMRkcDAwOJv53bp0kVeeeWVEvMXLVok7du3r7E+njD1ZlmWfPnllzJ58mQJDw8XPz8/GTJkiHzyySe2/AqHzccTlt5atmxZ/MXbpKQk8fHxkXfeead4/pIlS6RVq1bGfFidRHg6ExG5/PLL5cknnyx+//bbb0v37t1FRCQ7O1s6d+4skyZNqrE+njD11r9/fxk6dKgc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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "subset_df = pt_df[['layer_name', 'average_run_time']]\n", + "subset_df.groupby(by=['layer_name'], sort=False).boxplot(subplots=False, figsize=(25, 10), rot=90, showfliers=False).set_ylabel('Latency (ms)')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "dcb9a291-92c3-4a5e-a19c-7bef7fa55589", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/tmp/ipykernel_349448/3150615924.py:2: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame.\n", + "Try using .loc[row_indexer,col_indexer] = value instead\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " subset_df['average_power'] = subset_df['average_power'] * 1e-3 # microwatts to millwats\n", + "/tmp/ipykernel_349448/3150615924.py:3: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame.\n", + "Try using .loc[row_indexer,col_indexer] = value instead\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " subset_df['average_run_time'] = subset_df['average_run_time'] * 1e-3 # milliseconds to seconds\n", + "/tmp/ipykernel_349448/3150615924.py:4: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame.\n", + "Try using .loc[row_indexer,col_indexer] = value instead\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " subset_df['average_energy'] = subset_df['average_power'] * subset_df['average_run_time']\n" + ] + }, + { + "data": { + "image/png": "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HgAAAAAAAAAAAACADGETvgMVFxfrkksuUXFxca6jNCNTMrc8kl8mtzySXya3PJJfJrc8EpnS4ZZH8svklkfyy+SWR/LL5JZHIlM63PJIfpnc8kh+mdzySH6Z3PJIZEqHWx7JL5NbHskvk1seyS+TWx6JTOlwyyP5ZXLLI/llcssj+WVyyyORKR1ueSS/TG55JL9MuciTiojI2m8DAAAAAAAAAAAAAGAbxjvhAQAAAAAAAAAAAADIEDbhAQAAAAAAAAAAAADIEDbhAQAAAAAAAAAAAADIEDbhAQAAAAAAAAAAAADIEDbhAQAAAAAAAAAAAADIkMJcB0DntGzZMr322muqq6tT3759NXr0aBUXF+c6FtKwceNGuspD9Jaf6C3/0FkypzGqr6/XypUrm++P9O7dO9eR8BE4zSVXLmPEWkufS2cSvQHZ5rT+AQBA58V9EmxLcv24lk34DFqwYIFmzpyp2bNnt9hgHjt2rA499FAdc8wxWT15ueVZunSpbrjhBs2cOVOvv/66IqL5e127dtVnP/tZffe739UxxxyjgoLsXKRh3bp1uu+++9odo7333jsrOT7Mrbe//vWvzXmWL1+uxsZGlZWVaezYsTrkkEN08skna+DAgVnLI/n15taZRG/poLdkbp1Jfr25dSYxRknee+893X777Zo5c6aeeeYZbdq0SRGhVCqlHXfcUYcccoi++93vao899shaJslvvbnNI8lvLjFGW+e61tx6c+pM8u2tsbFR//znP9vsbfLkydppp52ymsftnC35zW3GKJnb+pdYa+lwm0cSvaXDrTe3ziS/3tw6k/x6c+tM8uzNbZwcx8jtPonbWpOYR/mWyelxbSo+vBOKj+X555/Xj3/8Y82ZM0f77LOP9txzTw0cOFAlJSVau3at5s+fr9mzZ2v9+vX68Y9/rB/84AcdOtnc8kjSmWeeqVtuuUWHHnqovvSlL7WbaebMmerSpYt+//vfd+gCePPNN3XxxRfrjjvu0MCBA9vMU1lZqV122UWXXHKJjj/++A7L0sStt/vuu0/nnnuu3nvvPR122GHt5nnyySf1zW9+U5dddpn69u3bYXkkv97cOpPoLR30lsytM8mvN7fOJMYoHdOmTdPll1+uYcOGbfX+yP3336+99tpL119/vXbdddcOzeS23tzmkeQ3lxijZI5rza03t84kz942bNig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BfHqq6/Gv/71rzjooINijz326NR5nnvuufj+978fvXv3jh122CHOPffcWLRoUfP3r7vuuujXr19WM61cuTJ+8YtfxMiRI6O0tDS++tWvxj/+8Y+49dZbY/To0XHwwQdnNU+EV2+bNm2K/+//+//iC1/4QhQWFsbEiRPjpptuipqamliyZEl89atfjZEjR2YtTxO33pw6i6C3dNFbMrfOIrx6c+wsgjFKsnLlyvjlL38Zo0aNim7dusUJJ5wQDz/8cERE1NTUxI9//OPYeeeds5qpKZfTenOaRxGec4kx2jrXtebUm1tnEb69bdq0Ke666674/Oc/H126dIl99tknfve738Wll14a/fv3j6985StZzeN2zo7wmtsRjFESx/XflIu1tnVO86gJvSVz682tswi/3tw6i/Drza2zCM/e3MbJbYwc75O4rbUI5lG+Zcr141o24TPsmmuuid122y2KioriyCOPjD//+c+tLmewfPny6NKlS6fMExGx2267RWFhYRx22GFx3333RUNDQ6vbrF69OlKpVFbyfPhy+J/5zGfi+uuvj3feeafFbaqrq6OoqCgreSL8emu6/Ezv3r3jrLPOinnz5rW6zYoVK7LWWYRfb26dRdBbOugtmVtnEX69uXUWwRilo2lejx49Oq699tp4++23W93mrbfe4hxpNI8i/OYSY5TMca259ebWWYRnbx++LGbfvn3j7LPPjgULFrS4zbx586Jbt25ZyeN2zo7wm9uMUTLH9c9aS+Y2jyLoLR1uvbl1FuHXm1tnEX69uXUW4dmb2zg5jpHbfRK3tRbBPMrHTA6Pa9mEz7Dhw4fHz3/+861eTmHjxo3xhz/8oVPmiYi49NJL4/XXX8/a70vSo0eP+O53vxvPPPNMu7epq6uLn/70p1nL5NbbgQceGHfeeWe8//777d6mvr4+HnvssazkifDrza2zCHpLB70lc+sswq83t84iGKN0fOtb34onnnhiq7dpbGyMpUuXZimR33pzm0cRfnOJMUrmuNbcenPrLMKzt4KCgjj00EPjT3/6U2zatKnN29TU1MQ3v/nNrORxO2dH+M1txiiZ4/pnrSVzm0cR9JYOt97cOovw682tswi/3tw6i/DszW2cHMfI7T6J21qLYB7lYyaHx7WpiAgBnVhdXZ1KS0tzHQMfEb3lJ3rLP3QGZA/rDQDa99prr2mXXXbJdYxmnLOTMUb5ibWWn+gt/7h1JtFbOtx6o7P0ME75x22tScwjfDxswmfYSy+91ObxVCqlbt26aeedd1ZxcXGnzSNJU6ZM2Wqm4cOH68gjj1Tv3r2zkmf9+vXt5ikuLlbXrl2zkuPD3Hp74IEHtppn+PDhGjJkSNbySH69uXUm0Vs66C2ZW2eSX29unUmMUTquu+66xEz77befunTpkrVMbuvNbR5JfnOJMUrmuNbcenPrTPLszY3bOVvym9uMUTLH9e+GeZSf6C0/ufVGZ8ncOpM8e3MbJ8cx4j5JMuZR/mWyeFzbYe+x76RSqVQUFBS0+7/i4uL4+te/Hhs2bOiUeSIi9t9//+jRo0eUlZXFuHHjYty4cVFeXh49e/aMvfbaK3r16hXbbbddvPzyy1nJkzRGO++8c1x88cWtPrsil5lyNY9SqVSL/zUdKygoiP322y/Wrl2blTwfzuTSm1tnH85Ebx8/D735dZZOJs6RjFE6Bg8eHGVlZZFKpaJ3797Ru3fvSKVSUVZWFv37949UKhXDhg2LZcuWZS2T23pzm0cfzuQylxijZPm41jhHevbW9Dhxy//17t07Bg4cGPvtt1/87ne/y1oet3N2Opncno9gjDzXP2vtk2fKxd9/evvkmbLdm1tnEX69uXUW4debW2fpZMrlYySXcXIeI5f7JG5rLYJ5lI+ZHB7XsgmfYffff3+MGDEiZsyYES+99FK89NJLMWPGjBg5cmTMnDkzbr/99thxxx3j7LPP7pR5IiKuvfbaOProo+Pdd99tPrZu3bo49thjY/r06VFbWxtHHnlkHHLIIVnJc8stt8SOO+4YF154YTzwwAPxwAMPxIUXXhg77bRT/OY3v4mpU6dGr1694vLLL89Kngi/3h555JHYa6+94pFHHon169fH+vXr45FHHolJkybFgw8+GHPmzInRo0fHt771razkifDrza2zCHpLB70lc+sswq83t84iGKN03HnnnbH//vtHdXV187FFixbFgQceGDNnzozly5fHPvvsE8ccc0zWMrmtN7d5FOE3lxijZI5rza03t84iPHubNm1a9OnTJ0466aS47rrr4rrrrouTTjoptt9++7j88svjlFNOieLi4vjtb3+blTxu5+wIv7nNGCVzXP+stWRu8yiC3tLh1ptbZxF+vbl1FuHXm1tnEZ69uY2T4xi53SdxW2sRzKN8zOTwuJZN+AzbY4894qGHHmp1/KGHHoo99tgjIiLuu+++GDp0aKfMExExcODANt/lPn/+/Bg4cGBERFRWVkafPn2ykufAAw+Mu+66q9Xxu+66Kw488MCIiLj11ltjxIgRWckT4dfb6NGj4/HHH291fM6cOTFq1KiIiHj44Ydjp512ykqeCL/e3DqLoLd00Fsyt84i/Hpz6yyCMUrH0KFD44UXXmh1/Pnnn48hQ4ZERMTjjz8eAwYMyFomt/XmNo8i/OYSY5TMca259ebWWYRnb0cffXTccMMNrY7feOONcfTRR0dExHXXXRe77bZbVvK4nbMj/OY2Y5TMcf2z1pK5zaMIekuHW29unUX49ebWWYRfb26dRXj25jZOjmPkdp/Eba1FMI/yMZPD41o24TOsW7dusWDBglbHFyxYEN26dYuIiCVLlkRJSUmnzBMRUVZWFrNmzWp1fNasWVFeXh4REYsXL47u3btnJU+3bt3ilVdeaXX8lVdeaR6XV199Natj5NZbt27dYt68ea2Ov/TSS815li5dmvUxcurNrbOmTPSWnIfekvM4ddaUyak3t86aMjFGW1dSUhLPPvtsq+PPPPNMc44lS5ZEWVlZ1jK5rTe3edSUyWkuMUbJXNeaU29unUV49lZWVhaLFi1qdXzRokXNOaqrq6O0tDQredzO2U2Z3OY2Y5Scx239s9bSy+Q0jyLoLd1MTr25dRbh15tbZxF+vbl11pTJrTe3cXIdI6f7JG5rLYJ5lI+ZHB7XFnTcp813ThUVFbryyiu1adOm5mP19fW68sorVVFRIUl644031L9//06ZR5KOPPJIfetb39J9992n119/Xa+//rruu+8+ffvb39ZRRx0lSXrmmWf0qU99Kit5dtppJ918882tjt98883aaaedJElvv/22tttuu6zkkfx6Gz9+vM455xytXr26+djq1av14x//WHvssYckadGiRc3jlQ1uvbl1JtFbOugtmVtnkl9vbp1JjFE6DjjgAJ166ql64YUXmo+98MILOu2003TggQdKkubNm6chQ4ZkLZPbenObR5LfXGKMkjmuNbfe3DqTPHvr3bu3/vznP7c6/uc//1m9e/eWJNXW1qp79+5ZyeN2zpb85jZjlMxx/bPWkrnNI4ne0uHWm1tnkl9vbp1Jfr25dSZ59uY2To5j5HafxG2tScyjfMzk8Li2sMN+cif1q1/9SkcccYR23HFHffrTn5b0QYmbN2/WX/7yF0nSq6++qu9973udMo8k/eY3v9EPf/hDnXDCCWpoaJAkFRYW6hvf+IauvfZaSR8s1hkzZmQlz9VXX63jjjtOf/3rX5v/oDz33HOqqqrS3XffLUl69tlndfzxx2clj+TX24wZM3TUUUdpxx13bP6Dsnz5cg0dOlT/8z//I0mqqanRhRdemJU8kl9vbp1J9JYOekvm1pnk15tbZxJjlI6bb75ZX/va1zR+/HgVFRVJkhoaGnTQQQc1P6gqLy/XNddck7VMbuvNbR5JfnOJMUrmuNbcenPrTPLs7aKLLtJpp52mWbNmac8995T0wTnxf//3f3XjjTdKkh5++GF97nOfy0oet3O25De3GaNkjuuftZbMbR5J9JYOt97cOpP8enPrTPLrza0zybM3t3FyHCO3+yRua01iHuVjJofHtamIiA776Z3Ue++9pzvuuEOvvPKKJGnEiBE68cQTs/qqHNc8mzdv1uOPP64xY8aoqKhIr776qiRp6NChKi8vz3qeJkuXLtVvfvMbLVy4UNIHY3Tqqadq8ODBOcvk1JskNTY26u9//3uLPAcffLAKCnJ3QQ233tw6k+gtHfSWzK0zya83t84kxmhrIkLLly9X3759tWzZshZze8SIEVnP82Fu681tHklec0lijLbGea259ebSmeTd2+OPP67//u//bpHpjDPO0N57752TPG7nbMlvbjNGyZzWfxPWWjK3eSTRWzrcenPrTPLrza0zya83t84kz97cxslxjNzuk7itNYl5lE+ZbB7XdtiF7juhTZs2xdChQ+Pf//53rqNEhF+eJsXFxfHqq6/mOkZEfDBGBx54YJuf5ZErbr1t2rQpunTp0uZnwuSKW29unUXQWzroLZlbZxF+vbl1FsEYpWPz5s1RVFRkN7ed1pvbPIrwm0uMUTLXtebUm1tnEb69nXzyyTyO3ArHuc0YbZ3j+metJXObRxH0lg633tw6i/Drza2zCL/e3DqL8O3NaZxcx8jpPonbWotgHqXDLZPL41o+Ez6DioqK9P777+c6RjO3PE1222235nfA51pRUZFeeumlXMdowa23oqIi7bzzztq8eXOuozRz682tM4ne0kFvydw6k/x6c+tMYozSUVBQoF133VVvv/12rqM0c1tvbvNI8ptL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RTBG6SgtLW2+PzJgwICorKyMiIjFixdHjx49cpLJbb25zaMIv7nEGCVzXGtuvbl1FuHZW8+ePaOqqqr5///73/+OiIinnnoqRowYkfU8bufsCL+5zRglc1z/rLVkbvMogt7S4dabW2cRfr25dRbh15tbZxGevbmNk+MYud0ncVtrEcyjfMzk8Li2oOMveN+5bLfddnrvvfckSYMGDdL8+fMlSevWrVNdXV2nzyNJQ4cO1ZIlSyRJFRUV+tOf/iRJ+vOf/6xevXplPU9ZWVnzZ0HssMMOWrx4cfP31qxZk/U8kl9vAwYMaP58jJ133llPPfWUJGnJkiWKiKznkfx6c+tMord00Fsyt84kv97cOpMYo3TsuOOOWrFihSRp2LBh+vvf/y5JevbZZ1VcXJyTTG7rzW0eSX5ziTFK5rjW3Hpz60zy7K2oqEgFBR88hdGvXz8tW7ZMktSzZ08tX74863ncztmS39xmjJI5rn/WWjK3eSTRWzrcenPrTPLrza0zya83t84kz97cxslxjNzuk7itNYl5lI+ZHB7XFmblt3Qi++23nx5++GGNGTNGxx13nM466yz94x//0MMPP6yDDjqo0+eRpJNPPlkvvviiPve5z+m8887Tl770Jf33f/+36uvrNW3atKznmThxoubMmaORI0fqsMMO09lnn6158+bp3nvv1cSJE7OeR/Lr7cADD9QDDzygsWPH6uSTT9YPf/hD3X333Xruued09NFHZz2P5NebW2cSvaWD3pK5dSb59ebWmcQYpePLX/6yHn30Ue21114644wzdNJJJ+nmm2/WsmXL9MMf/jAnmdzWm9s8kvzmEmOUzHGtufXm1pnk2dvYsWP17LPPatddd9XnPvc5XXzxxVqzZo1uu+027bbbblnP43bOlvzmNmOUzHH9s9aSuc0jid7S4dabW2eSX29unUl+vbl1Jnn25jZOjmPkdp/Eba1JzKN8zGTxuDYr77fvRN5+++144403IiJi8+bNccUVV8SXvvSlmDJlSqxdu7bT52nL0qVL45577okXX3wxJ79/8eLFzb+7pqYmTj311BgzZkwcffTRzZdgyTa33jZv3hz19fXNX//xj3+MM844I6677rrYuHFj1vNE+PXm1llTDnrbOnpL5tZZhF9vbp1FMEYfx5NPPhnXXHNNPPDAAznL4Lbe3OZRUw6nucQYfXQOa82tN/fOIjx6e/bZZ+Mf//hHRES89dZbceihh0b37t1j3LhxzZfLzCa3c3aE39xmjJI5rn/WWjK3eRRBb+lw682tswi/3tw6i/Drza2zCM/e3MbJcYzc7pO4rbUI5lG+ZvqwXDyuZRM+g+rr6+OWW26JlStX5jpKRPjliYjYtGlTHHjggfHKK6/kOkpERDQ0NMQ///nPeOedd3IdpZlbb/X19fGzn/0sli9fnusozdx6c+ssgt7SQW/J3DqL8OvNrbMIxigdmzZtipNPPjleffXVXEdp5rbe3OZRhN9cYoySOa41t97cOovw7K2xsTFee+212LBhQ66jRITfOTvCb24zRskc1z9rLZnbPIqgt3S49ebWWYRfb26dRfj15tZZhGdvbuPkOEZu90nc1loE8ygdbplcHtemInL0IVPbqNLSUi1YsEC77LJLrqNI8ssjSX379tUTTzyhXXfdNddRJEndunXTggULNGTIkFxHaebWW3l5uebPn6/BgwfnOkozt97cOpPoLR30lsytM8mvN7fOJMYoHT179tTcuXOt5rbbenObR5LfXGKMkjmuNbfe3DqT/HprbGxUt27d9PLLL/M4civc5jZjlMxt/bPW0uM2j+gtPU69OXYm+fXm1Jnk2ZtbZ5Jfb5LfODmOkdN9Ese1JjGP0uGWyeFxbUHOfvM2as8999TcuXNzHaOZWx5JzZ+74GK33XbTq6++musYLbj1dtBBB+mf//xnrmO04NabW2cSvaWD3pK5dSb59ebWmcQYpeOoo47S/fffn+sYLbitN7d5JPnNJcYomeNac+vNrTPJr7eCggLtuuuuevvtt3MdpZnbOVvym9uMUTK39c9aS4/bPKK39Dj15tiZ5NebU2eSZ29unUl+vUl+4+Q4Rk73SRzXmsQ8SodbJofHtYU5/e3boO9973uaMmWKli9frvHjx6usrKzF9z/96U936jyS1NDQoN/97nd65JFH2sw0bdq0rOaZOnWqfvSjH+myyy5rM0+PHj2ymkfy6+0LX/iCzjvvPM2bN6/NPEcccURW80h+vbl1JtFbOugtmVtnkl9vbp1JjFE6dt11V1166aV6/PHH28x05plnZj2T23pzm0eS31xijJI5rjW33tw6kzx7u/LKK3XOOefohhtu0G677Zb1378lt3O25De3GaNkjuuftZbMbR5J9JYOt97cOpP8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f/zjH2Pq1KnN/7+z54n44NIT/fr1i89//vPRtWvXOPbYY2PkyJHRv3//qK6uznqen//85zFq1Kh46qmnonv37jF79uy4/fbbo2/fvnHddddlPU+EX2/3339/9OzZM6688sooLS2NX/7yl3HKKadE165d4+9//3vW80T49ebWWQS9pYPekrl1FuHXm1tnEYxROmbPnh3l5eXxn//5n9GtW7c466yz4uCDD46ysrJ47rnncpLJbb25zaMIv7nEGCVzXGtuvbl1FuHZ29lnnx377rtvrFixIrp37x6LFi2KOXPmxNChQ+OnP/1p1vO4nbMj/OY2Y5TMcf2z1pK5zaMIekuHW29unUX49ebWWYRfb26dRXj25jZOjmPkdp/Eba1FMI/yMZPD41o24TvA7bffHsOHD49UKhWpVCoGDRoUM2bMIM+HrFu3LqZOnRrHHXdcfOELX4gLLrgg3nzzzZxkaWxsbD4RNI1Rt27d4sILL8xJniZuvf3rX/+KyZMnR9++faOkpCT22Wef+Nvf/pazPI69uXUWQW/poLetc+wswq83p86aMEbJqqur45RTTok99tgjRo4cGV/96lfjpZdeylkex/XmNo8i/OYSY5TMba1F+PXm1lmEX28bN26MU045JQoLCyOVSkVRUVEUFBTESSedFA0NDVnP43jOjvCa24xRetzWP2stPW7ziN7S49SbW2cRnr05dRbh15tjZxF+vTmOk9sYRXjdJ3FbaxHMo3zNlOvHtamIiOy8577zqaurU01NTZufOZALbnncbNq0SdXV1aqpqdGoUaNUXl6e60iS6C2JY290loze8o9jZxK9pYMxyj+O6415lIwxyk/0ln+WLVum+fPnq6amRmPHjtWuu+6a0zyO52zJa24zRvmJtZYet3lEb+lx6s2tM8mzN6fOJL/eHDuT/HpzHCe3MXLjttYk5lG6HDPlRNa2+zuJyy67LF599dVcx2jmliciYtiwYXHJJZfEK6+8kusoERFx2223RW1tba5jtODW27e//e2YNWtWrmO04NabW2cR9JYOekvm1lmEX29unUUwRuk46KCD4ve//328++67uY7SzG29uc2jCL+5xBglc1xrbr25dRbh2dvs2bNzHaEFt3N2hN/cZoySOa5/1loyt3kUQW/pcOvNrbMIv97cOovw682tswjP3tzGyXGM3O6TuK21COZR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YYIlPgVRmZGiz4ABAzBv3jzUqFEDGRkZGDBgADZs2IDw8HAcOnQIF1xwAdasWYNatWpZ5pSP2vlfyadTp06YPHkyLr/8cixevBjDhg3D5ZdfjhYtWmDHjh344osvsHDhQlx++eWWOQFa+7aak9vthtvtRs+ePXHjjTfiiiuukHnB7ZgxY9C2bVvcfffddqsUIjExEbt378bp06cL3T548OCK37gl77evRNx9992Ffu666y5effXVDAoK4u233265T9OmTbly5coit69evZoXXHCBpS6LFy8u9ec///kP3W63pU4kGRsbyyVLlhS5fenSpWzTpo3lPqSO09ChQzlw4EAePHiQSUlJHDhwIKOjo7lr1y6S5P79+21pRurMSNGnc+fOfPjhh0mS8+bNY2hoKCdNmuS5/8EHH+Rll11mqVM+SnNS83G5XGzbti179OhR6MflcvHiiy9mjx492LNnT0udSK0Z5aPi5HK5eODAAZLkqFGj2KVLFx45coQkeezYMfbu3ZsjR460zKcgSud/NZ/AwECmpaWRJNu1a8fXXnut0P3vv/8+W7ZsaalTPir7tqKPy+XiN998w4kTJzI8PJx+fn4cPHgwP//8c+bm5lrqUhClfTsfFafGjRvzk08+IUnGx8fTx8eH7733nuf+hQsXskmTJpb5FERlRoo+l1xyCR9//HHP7++++y47depEkszIyGDbtm05YcIES53yufjii/nxxx8Xuf2TTz5hx44dK7VP7969OWTIEGZmZha5LzMzk0OGDGGfPn0sdSK1ziP5qDglJCSU+jN//nzb/tZW2rfVfOLi4tipUydu3LiRX3/9NTt06MCLLrqIGRkZJM88RuJyuSx1ykdpTmo+vXv35o033sijR4/y3//+N+vXr88bb7zRc//YsWM5dOhQS51IrRnlo+LkcrlYv359NmrUqNCPy+VivXr12KhRI0ZHR1vmUxCVGSn6FHyMZPz48WzZsqXnY6nT09PZoUMH3nrrrZY65aNy/lf0qVatmqdTp06d+MwzzxS6/4UXXmC7du0sdSK19u18VJxcLhffeustDhkyhH5+fqxZsyYnTpzIbdu2WeZQEk8++SRDQkJ45ZVXcurUqZw1a1ahH6tJTk5mmzZt6HK56Ha76XK5PP9t1bW2eRL+PHP2kye9evXi1VdfzVdffZXZ2dmW+1SpUoWpqalF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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "subset_df = pt_df[['layer_name', 'average_power', 'average_run_time']]\n", + "subset_df['average_power'] = subset_df['average_power'] * 1e-3 # microwatts to millwats\n", + "subset_df['average_run_time'] = subset_df['average_run_time'] * 1e-3 # milliseconds to seconds\n", + "subset_df['average_energy'] = subset_df['average_power'] * subset_df['average_run_time']\n", + "subset_df = subset_df[['layer_name', 'average_energy']]\n", + "subset_df.groupby(by=['layer_name'], sort=False).boxplot(subplots=False, figsize=(25, 10), rot=90, showfliers=False).set_ylabel('Energy MWs (MilliWattSec)')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6b7aa142-0896-4b98-bc93-894729443830", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.11" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/jetson/power_logging/notebooks/explore_pt_kernel_single_conv_layer.ipynb b/jetson/power_logging/notebooks/explore_pt_kernel_single_conv_layer.ipynb new file mode 100644 index 00000000..6ff66742 --- /dev/null +++ b/jetson/power_logging/notebooks/explore_pt_kernel_single_conv_layer.ipynb @@ -0,0 +1,1746 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "092683ca-8ae8-4f0f-b841-fa38b65260f9", + "metadata": {}, + "outputs": [], + "source": [ + "from pathlib import Path\n", + "import json\n", + "import matplotlib.pyplot as plt\n", + "import pandas as pd\n", + "\n", + "from utils import parse_latencies, parse_power_log, get_power_index, compute_layer_metrics_by_cycle" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "50d04548-6650-4a0e-9a58-e9c49e7bce30", + "metadata": {}, + "outputs": [], + "source": [ + "DATA_PATH = Path('../raw_data/single_conv_layer')" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "bbde6bce-f561-4508-b283-440b8cdcccde", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Average power consumed in IDLE state: 3579178.0650697174\n" + ] + } + ], + "source": [ + "with open((DATA_PATH/'idling_power.json'), 'r') as fp:\n", + " data = json.load(fp)\n", + "\n", + "avg_power = data['avg_idle_power']\n", + "print(f'Average power consumed in IDLE state: {avg_power}')" + ] + }, + { + "cell_type": "markdown", + "id": "457c527c-035d-4955-a230-90385a803b6e", + "metadata": {}, + "source": [ + "## Single Convolution Layers\n" + ] + }, + { + "cell_type": "markdown", + "id": "bd5813c0-be9c-4512-a154-abc079f70749", + "metadata": {}, + "source": [ + "### Kernel 1 Stride 1 Output 3" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "ae671960-9d2f-4cc7-89d1-53b35cbdbd7d", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 2859/2859 [00:00<00:00, 87329.79it/s]\n", + "Computing layer execution times: 3000it [00:00, 259660.99it/s]\n" + ] + } + ], + "source": [ + "model_name = 'conv_k1_s1_o3'\n", + "\n", + "with open((DATA_PATH/model_name/f'{model_name}_power_log.log'), 'r') as fp:\n", + " data = fp.readlines()\n", + "power_data = parse_power_log(data)\n", + "\n", + "with open((DATA_PATH/model_name/f'{model_name}_layerwise_latency.json'), 'r') as fp:\n", + " data = json.load(fp)\n", + "latency_data = parse_latencies(data)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "f4d50a23-75b0-4dd9-8d64-195445a02bbc", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Number of power entries for conv_k1_s1_o3: 2859\n", + "Number of TensorRT layers in conv_k1_s1_o3: 1\n", + "Number of latency entries for each layer: 3000\n", + "Inference for 3000 cycles: 3.6732 seconds\n" + ] + } + ], + "source": [ + "print(f\"Number of power entries for {model_name}: {len(power_data)}\")\n", + "print(f\"Number of TensorRT layers in {model_name}: {len(latency_data[0])}\")\n", + "print(f\"Number of latency entries for each layer: {len(latency_data)}\")\n", + "print(f\"Inference for {len(latency_data)} cycles: {(latency_data[len(latency_data)-1][0][2]-latency_data[0][0][1]).total_seconds()} seconds\")" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "431ae3c5-a518-44b5-b507-1bd345cbd268", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot([power for (_, power) in power_data])\n", + "plt.axhline(avg_power, color='purple', linestyle='--', label='Average IDLE power')\n", + "first_inference_start_index = get_power_index(power_data, latency_data[0][0][1])\n", + "last_inference_end_index = get_power_index(power_data, latency_data[2999][0][2])\n", + "plt.axvline(first_inference_start_index, color='green', label='First inference start')\n", + "plt.axvline(last_inference_end_index, color='red', label='Last inference end')\n", + "plt.legend()" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "50df5f3d-3fcb-4677-807e-36d66706b288", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Computing layer metrics...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Mapping power to layer: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████| 3000/3000 [00:00<00:00, 518348.59it/s]\n" + ] + } + ], + "source": [ + "metrics = compute_layer_metrics_by_cycle(power_data, latency_data, avg_power)\n", + "metrics_df_k1 = pd.DataFrame.from_dict(metrics)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "4be08b80-2db9-4f6e-a964-f0b269f73dbb", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
cyclelayer_power_including_idle_power_micro_wattlayer_power_excluding_idle_power_micro_wattlayer_run_time
count3000.0000001.747000e+031.747000e+033000.000000
mean1500.5000004.608916e+061.029738e+060.816979
std866.1697298.262556e+048.262556e+040.115955
min1.0000004.454208e+068.750299e+050.381344
25%750.7500004.534464e+069.552859e+050.804736
50%1500.5000004.574592e+069.954139e+050.826864
75%2250.2500004.694976e+061.115798e+060.855008
max3000.0000004.775232e+061.196054e+063.931040
\n", + "
" + ], + "text/plain": [ + " cycle layer_power_including_idle_power_micro_watt \\\n", + "count 3000.000000 1.747000e+03 \n", + "mean 1500.500000 4.608916e+06 \n", + "std 866.169729 8.262556e+04 \n", + "min 1.000000 4.454208e+06 \n", + "25% 750.750000 4.534464e+06 \n", + "50% 1500.500000 4.574592e+06 \n", + "75% 2250.250000 4.694976e+06 \n", + "max 3000.000000 4.775232e+06 \n", + "\n", + " layer_power_excluding_idle_power_micro_watt layer_run_time \n", + "count 1.747000e+03 3000.000000 \n", + "mean 1.029738e+06 0.816979 \n", + "std 8.262556e+04 0.115955 \n", + "min 8.750299e+05 0.381344 \n", + "25% 9.552859e+05 0.804736 \n", + "50% 9.954139e+05 0.826864 \n", + "75% 1.115798e+06 0.855008 \n", + "max 1.196054e+06 3.931040 " + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "metrics_df_k1.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "9dab2065-5d9d-45fb-9e01-e150634a83fd", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "cycle 3000\n", + "layer_power_including_idle_power_micro_watt 1747\n", + "layer_power_excluding_idle_power_micro_watt 1747\n", + "layer_run_time 3000\n", + "dtype: int64" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "metrics_df_k1.count()" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "e13d24ab-0ad1-40d8-b885-703cb3b47767", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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kzIyMhQfH1+h/7Rp0zRp0iR7vaSkRBEREZ6cCgAAaEA8CizZ2dkqKipyu5HO5XLp008/1auvvqqysjK3GZHdu3dr7969uvXWW+228vLyMwd2OpWXl6dOnTpVOE7Hjh3Vpk0b5efnnzOweHt7c1MuAACXEI8CS3x8vHJzc93axo0bp65du2rq1KkVLt907dq1Qv8//OEPOn78uF555ZVKZ0X279+vw4cPKywszJPyAABAI+VRYPH391d0dLRbm5+fn4KCguz2MWPGKDw8XCkpKfLx8anQv2XLlpJkt5eWlmr69Om64447FBoaqt27d2vKlCnq3LmzEhISanpeAACgEanzT7otKChQkybVf/ORl5eXvvzySy1btkzFxcVq166dbrrpJs2YMYPLPgAAQJLksCzLqu8iaqukpESBgYE6duyYAgIC6rscAABQDZ68fvNtzQAAwHgEFgAAYDwCCwAAMB6BBQAAGK/O3yVUH87eN8x3CgEA0HCcfd2uzvt/GkVgOX78uCTx8fwAADRAx48fV2BgYJV9GsXbmsvLy/XNN9/I399fDoejvssBUIfOfldYYWEhH1sANDKWZen48eNq167deT/DrVEEFgCNF5+zBEDiplsAANAAEFgAAIDxCCwAjObt7a2nn36a7xYDLnHcwwIAAIzHDAsAADAegQUAABiPwAIAAIxHYAEAAMYjsKDaBg0apIkTJ9Z3GZeEun6sn3nmGfXs2bPW40RGRmrevHn2usPh0KpVq2o9bnVV5zzGjh2rESNG2Ov83tadX/78gYupUXyXENDYrFy5Uk2bNq3vMs7r22+/VatWrS7a8SZPnqxHHnnkoh0P7rKysuTn51ffZdSZpUuXauLEiSouLnZrj4yM1MSJEwm6hiGwoME4efKkmjVrVt9l1Fp1zqN169YXqZraCQ0NvajHa9GihVq0aHFRj9kQnTp16oIE3rZt29Z4X5fLJYfDcd7viwEqw28OauSNN95Qnz595O/vr9DQUP3mN79RUVGRpDNfZtW5c2e99NJLbvvk5OTI4XAoPz9fklRcXKzx48erbdu2CggI0K9+9St98cUXdv+z0/+LFi1Shw4d5OPjc966Bg0apIcfflgPP/ywAgMD1aZNGz355JNuX11+9OhRjRkzRq1atZKvr6+GDh2qXbt22bW3bdtW7733nt2/Z8+eCgsLs9c3bNgg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nfkX8H/+8x999913yszM1KBBgzRo0CBlZGTo1KlT+uyzz+x//V7I8/il2NhY+/8dDodCQ0PtGY+cnBxdddVVdXbvy9nHqXfv3nZb165dq3Xp5ud1np2uP1tnXl6errnmGrf+v1yvrmPHjunbb791+1k6nU716dOn0n1yc3PlcrnUpUsXt59XZmam28+rKk6nU1dffbW9fvZxOfv7s337dvXv399tn/79+9vbW7ZsqR49eigjI0O5ublq1qyZHnjgAf373/9WaWmpMjMz7efTiRMntHv3bt13331u9c6cObNCvVWd97n4+vqqU6dO9npISIgiIyPd7hEKCQmpdFYtJydHl112mbp06VLpMZo1a+b2+1Cd519VPHluStLf/vY3xcfHKzw8XP7+/rr77rt1+PBh+5IRGhZuuoXHTpw4oYSEBCUkJGjFihVq27atCgoKlJCQoJMnT9r9xo8fr7vvvlsvv/yy0tLSdOedd9pTtaWlpQoLCzvnvQM/f1Gsj3ckxMTEqHXr1srMzFRmZqaee+45hYaG6vnnn1dWVpZOnTqlfv36Sbq45/HLmygdDod9yad58+YejdWkSZMK93qcb0q+un5e59ngWJtLU3WptLRUXl5eys7Odrt0Iemi3sx79kXW29tbAwcOVOvWrdWtWzdt2LBBmZmZeuyxx+x6pTP3/fz8RV5Shfo9/R071+9TVb9jv1Sd37nmzZvX6T0gnjw39+7dq1tuuUUTJkzQc889p9atW2vDhg267777dPLkSftvERoOAgs8tmPHDh0+fFizZ89WRESEJOlf//pXhX4333yz/Pz89Nprr2nNmjX69NNP7W29evXSwYMH5XQ6FRkZWaf1/fJG088//1xXXHGFvLy81K1bN50+fVqbN2+2/7AdPnxYeXl56t69u6Qzf6Svv/56/eUvf9FXX32l6667Tr6+viorK1Nqaqr69OljvzhcyPPwRGxsrBYtWqQjR45Ua5albdu2btfmXS6Xtm3bphtuuEHSmVmD06dPKzs7255NyMvLq/D2T09FRUUpKyvLre2X69UVGBiosLAwbd68WQMGDJAku+ZevXqdc5+rrrpKLpdLRUVFuv7662t03NOnT+tf//qXPTN09nHp1q2bJKlbt27auHGj7rnnHnufjRs32r9f0pmZgiVLlsjpdGrIkCGSzoSYt956Szt37rRnCUJCQtSuXTt9/fXXSkxMrFG9F0psbKz279+vnTt3VjnL8nPVef5VxZPnZnZ2tsrLyzVnzhz7nUnvvPOO23jNmjVzu6n4fO2oX1wSgscuv/xyNWvWTH/84x/19ddf64MPPtCMGTMq9PPy8tLYsWM1bdo0XXHFFYqLi7O3DR48WHFxcRoxYoTWrl2rvXv36rPPPtMTTzxxzvDjiYKCAk2aNEl5eXl666239Mc//lHJycmSpCuuuELDhw/X/fffrw0bNuiLL77QXXfdpfDwcA0fPtwe4+yLR8+ePdWiRQs1adJEAwYM0IoVK+zp+gt9Hp4YPXq0QkNDNWLECG3cuFFff/21/vznP1d4h85Zv/rVr/TRRx/po48+0o4dOzRhwgS3MBIVFaUhQ4bowQcf1ObNm5Wdna3x48d7PJPzS4888ohWr16tuXPnateuXUpNTdXHH39c43+FJycna/bs2Vq1apV27Nihhx56qMpQ1aVLFyUmJmrMmDFauXKl9uzZoy1btiglJUUfffRRtY7ZtGlTPfLII/bjMnbsWF177bV2gPmf//kfLV26VK+99pp27dqluXPnauXKlZo8ebI9xoABA3T8+HF9+OGHdjgZNGiQVqxYobCwMLcAMH36dKWkpGj+/PnauXOncnNzlZaWprlz53r+gNWhgQMHasCAAbrjjju0bt067dmzRx9//LHbu51+qbrPv6pU97nZuXNnnTp1yv479cYbb2jBggVuY0VGRqq0tFTr16/X999/b18qioyM1KeffqoDBw7o+++/r8GjgwuBwAKPtW3bVkuXLtW7776r7t27a/bs2RXewnzW2enXcePGubU7HA6tXr1aAwYM0Lhx49SlSxeNGjVK+/btU0hISK3qGzNmjH788Uddc801SkpKUnJysh544AF7e1pamnr37q1bbrlFcXFxsixLq1evdpsOHzhwoFwul9v18EGDBlVou5Dn4YlmzZpp7dq1Cg4O1s0336yYmJgK79j4uXvvvVf33HOPxowZo4EDB6pjx4727MpZaWlpateunQYOHKjbb79dDzzwgIKDg2tVZ//+/bVgwQLNnTtXPXr00Jo1a/Too49W663e5/LYY4/p7rvv1j333KO4uDj5+/vrtttuq3KftLQ0jRkzRo899piioqI0YsQIZWVl6fLLL6/WMX19fTV16lT95je/Uf/+/dWiRQu9/fbb9vYRI0bolVde0UsvvaQrr7xSqampSktLc/u9adWqlWJiYtS2bVt17dpV0pkQU15e7vaiK525tLpo0SKlpaUpJiZGAwcO1NKlS9WhQ4dqPkoXzp///GddffXVGj16tLp3764pU6acd2aiOs+/qlT3udmjRw/NnTtXzz//vKKjo7VixQqlpKS4jdWvXz/99re/1Z133qm2bdvqhRdekCQ9++yz2rt3rzp16lTre89QdxzWLy9kA3Xon//8p+Lj41VYWHhRXsAHDRqknj178vHhDcj999+vHTt26J///Gd9l3JelX0yKoALj3tYcEGUlZXpu+++0zPPPKORI0de1NkGmO2ll17SjTfeKD8/P3388cdatmyZ2wehAcC5cEkIF8Rbb72l9u3bq7i42J5mra2CggK3t3b+cjn7lmrTNZbzqKktW7boxhtvVExMjBYsWKD58+dr/PjxkqQrr7yy0sflfJ/eWheGDh1a6fFnzZp1wY9fVxrqeTTUunFxcEkIDcbp06e1d+/eSrdHRkbK6TR/0rCxnMeFsG/fvkrfXh0SEiJ/f/8LevwDBw7oxx9/POe21q1bN5jveGqo59FQ68bFQWABAADG45IQAAAwHoEFAAAYj8ACAACMR2ABAADGI7AAAADjEVgAAIDxCCwAAMB4/w/NgmybnH8WqgAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "metrics_df_k1.boxplot(column='layer_power_including_idle_power_micro_watt', grid=False)" + ] + }, + { + "cell_type": "markdown", + "id": "7a171f59-3afa-4902-8cce-11e153df1586", + "metadata": {}, + "source": [ + "### Kernel 2 Stride 1 Output 3" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "5c43603b-a0c0-4725-96a9-5dda4585b2f4", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 2048/2048 [00:00<00:00, 101003.39it/s]\n", + "Computing layer execution times: 3000it [00:00, 282622.34it/s]\n" + ] + } + ], + "source": [ + "model_name = 'conv_k2_s1_o3'\n", + "\n", + "with open((DATA_PATH/model_name/f'{model_name}_power_log.log'), 'r') as fp:\n", + " data = fp.readlines()\n", + "power_data = parse_power_log(data)\n", + "\n", + "with open((DATA_PATH/model_name/f'{model_name}_layerwise_latency.json'), 'r') as fp:\n", + " data = json.load(fp)\n", + "latency_data = parse_latencies(data)" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "811cd848-c95a-430d-840a-1442119757d7", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Number of power entries for conv_k2_s1_o3: 2048\n", + "Number of TensorRT layers in conv_k2_s1_o3: 1\n", + "Number of latency entries for each layer: 3000\n", + "Inference for 3000 cycles: 2.540633 seconds\n" + ] + } + ], + "source": [ + "print(f\"Number of power entries for {model_name}: {len(power_data)}\")\n", + "print(f\"Number of TensorRT layers in {model_name}: {len(latency_data[0])}\")\n", + "print(f\"Number of latency entries for each layer: {len(latency_data)}\")\n", + "print(f\"Inference for {len(latency_data)} cycles: {(latency_data[len(latency_data)-1][0][2]-latency_data[0][0][1]).total_seconds()} seconds\")" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "74c267eb-b722-43dc-a7c6-8e95712a40a6", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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ASdp7gGlvX/z2TREREQkKQYjREREJCkGI0RERCQpBiNEREQkKQYjREREJCkGI0RERCQpBiNEREQkKQYjREREJCkGI0RERCQpBiNEREQkKQYjREREJCkGI0RERCQpBiNEREQkKQYjREREJCkGI0RERCQpBiNEREQkKQYjREREJCkGI0RERCQpBiNEREQkKQYjREREJCkGI0RERCQpBiNEREQkKQYjREREJCkGI0RERCQpBiNEREQkKQYjREREJCkGI0RERCQpBiNEREQkKQYjREREJCkGI0RERCQpBiNEREQkKQYjREREJCkGI0RERCQpBiNEREQkKQYjREREJCkGI0RERCQpBiNEREQkKQYjREREJCkGI0RERCQpBiNEREQkKQYjREREJCmrgpGlS5ciMDAQGo0GGo0GwcHB2LZtW4n7LFq0CC1atICDgwN8fX0xefJk5ObmlqvQREREVHMorEncsGFDzJs3D82bN4cgCPjuu+/w7LPP4sSJE2jTpk2R9OvWrcP777+Pb7/9Ft27d8fFixcxcuRIyGQyLFy4sMLeBBEREdkuq4KRwYMHmy3PmTMHS5cuxZEjRywGI4cOHUKPHj3wyiuvAAD8/f0xfPhwHD16tBxFJiIiopqkzH1GDAYDYmNjkZWVheDgYItpunfvjoSEBBw7dgwAcPXqVWzduhVPP/10icfOy8tDRkaG2YuIiIhqJqtqRgDg9OnTCA4ORm5uLpydnbFx40a0bt3aYtpXXnkF//zzD3r27AlBEKDX6zFu3Dh88MEHJeYRHR2NWbNmWVs0IiIiskFW14y0aNECJ0+exNGjRzF+/HiMGDEC586ds5g2Li4Oc+fOxVdffYXjx4/jp59+wpYtWzB79uwS84iKikJ6err4SkpKsraYREREZCNkgiAI5TlASEgImjZtimXLlhXZ1qtXLzzxxBP47LPPxHX/93//h7Fjx0Kr1cLOrnSxUEZGBlxdXZGeng6NRlOe4tYaWbosOEc7AwC0UVo4qZwkLhEREVWZrCzAueAeAK0WcJLmHlDa+3e55xkxGo3Iy8uzuC07O7tIwCGXywEA5YyBiIiIqIawqs9IVFQUBg4ciEaNGiEzMxPr1q1DXFwctm/fDgCIiIiAj48PoqOjARSMvlm4cCE6duyIbt264fLly5g+fToGDx4sBiVERERUu1kVjKSmpiIiIgLJ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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot([power for (_, power) in power_data])\n", + "plt.axhline(avg_power, color='purple', linestyle='--', label='Average IDLE power')\n", + "first_inference_start_index = get_power_index(power_data, latency_data[0][0][1])\n", + "last_inference_end_index = get_power_index(power_data, latency_data[2999][0][2])\n", + "plt.axvline(first_inference_start_index, color='green', label='First inference start')\n", + "plt.axvline(last_inference_end_index, color='red', label='Last inference end')\n", + "plt.legend()" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "f181155f-1e23-4821-b519-b360ae154ae6", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Computing layer metrics...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Mapping power to layer: 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████| 3000/3000 [00:00<00:00, 1061043.26it/s]\n" + ] + } + ], + "source": [ + "metrics = compute_layer_metrics_by_cycle(power_data, latency_data, avg_power)\n", + "metrics_df_k2 = pd.DataFrame.from_dict(metrics)" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "9b178496-105f-4b88-b3c5-13d5cfe74d64", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
cyclelayer_power_including_idle_power_micro_wattlayer_power_excluding_idle_power_micro_wattlayer_run_time
count3000.0000001.174000e+031.174000e+033000.000000
mean1500.5000004.719825e+061.140647e+060.570375
std866.1697291.109351e+051.109351e+050.058340
min1.0000004.333824e+067.546459e+050.461696
25%750.7500004.694976e+061.115798e+060.557328
50%1500.5000004.775232e+061.196054e+060.565216
75%2250.2500004.815360e+061.236182e+060.573352
max3000.0000004.855488e+061.276310e+063.182944
\n", + "
" + ], + "text/plain": [ + " cycle layer_power_including_idle_power_micro_watt \\\n", + "count 3000.000000 1.174000e+03 \n", + "mean 1500.500000 4.719825e+06 \n", + "std 866.169729 1.109351e+05 \n", + "min 1.000000 4.333824e+06 \n", + "25% 750.750000 4.694976e+06 \n", + "50% 1500.500000 4.775232e+06 \n", + "75% 2250.250000 4.815360e+06 \n", + "max 3000.000000 4.855488e+06 \n", + "\n", + " layer_power_excluding_idle_power_micro_watt layer_run_time \n", + "count 1.174000e+03 3000.000000 \n", + "mean 1.140647e+06 0.570375 \n", + "std 1.109351e+05 0.058340 \n", + "min 7.546459e+05 0.461696 \n", + "25% 1.115798e+06 0.557328 \n", + "50% 1.196054e+06 0.565216 \n", + "75% 1.236182e+06 0.573352 \n", + "max 1.276310e+06 3.182944 " + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "metrics_df_k2.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "56d3e44f-6121-4864-8b1a-4a518ff4e1c4", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "cycle 3000\n", + "layer_power_including_idle_power_micro_watt 1174\n", + "layer_power_excluding_idle_power_micro_watt 1174\n", + "layer_run_time 3000\n", + "dtype: int64" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "metrics_df_k2.count()" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "e30edc4b-a127-4e82-8452-2643f8c51045", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiMAAAGsCAYAAAAPJKchAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAALTdJREFUeJzt3XtYVXXe///XAgTk5AFPiCiFChriWUNTKGwszUudxqsUJS07WoOVd44dbrNSbEYZa7oqRhOtLJrKvJuyxu4aNA8p4eiggyieILMflQqihQjr94df9+0WRDYgH4Hn47r2pWutz1qf99rszXrxWWuvbdm2bQsAAMAQN9MFAACApo0wAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIxqUGFkw4YNGjNmjDp27CjLsrRmzRqXt2HbthYtWqTu3bvLy8tLwcHBmj9/ft0XCwAAqsXDdAGuOHXqlHr37q27775bv/3tb2u0jcTERK1bt06LFi1Sr169dOzYMR07dqyOKwUAANVlNdQvyrMsSx999JHGjRvnmFdSUqKnnnpK7777rk6cOKHIyEi9+OKLio2NlSRlZ2crKipKu3btUnh4uJnCAQCAkwZ1muZyHn74YW3ZskVpaWn697//rQkTJuiWW27Rvn37JEl///vfde211+qTTz7RNddco9DQUE2fPp2REQAADGo0YSQvL0+pqal6//33NWzYMIWFhWnWrFm64YYblJqaKkk6cOCADh8+rPfff19vvvmmVqxYoczMTP3ud78zXD0AAE1Xg7pmpCpZWVkqKytT9+7dneaXlJQoMDBQklReXq6SkhK9+eabjnZvvPGG+vfvr5ycHE7dAABgQKMJI8XFxXJ3d1dmZqbc3d2dlvn5+UmSgoKC5OHh4RRYevToIencyAphBACA+tdowkjfvn1VVlamgoICDRs2rNI2Q4cO1dmzZ7V//36FhYVJkvbu3StJ6tKlS73VCgAA/k+D+jRNcXGxcnNzJZ0LH8nJybrxxhvVunVrde7cWZMnT9amTZu0ePFi9e3bVz/++KO+/PJLRUVFafTo0SovL9fAgQPl5+enJUuWqLy8XDNmzFBAQIDWrVtneO8AAGiaGlQYSU9P14033lhh/l133aUVK1aotLRUL7zwgt58800dOXJEbdq00fXX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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "metrics_df_k2.boxplot(column='layer_power_including_idle_power_micro_watt', grid=False)" + ] + }, + { + "cell_type": "markdown", + "id": "1c568ab1-e5d5-49a6-913e-57eae02cd464", + "metadata": {}, + "source": [ + "### Kernel 3 Stride 1 Output 3" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "bc91735e-e9aa-4576-b444-81ab76cff484", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 3016/3016 [00:00<00:00, 84859.03it/s]\n", + "Computing layer execution times: 3000it [00:00, 384481.07it/s]\n" + ] + } + ], + "source": [ + "model_name = 'conv_k3_s1_o3'\n", + "\n", + "with open((DATA_PATH/model_name/f'{model_name}_power_log.log'), 'r') as fp:\n", + " data = fp.readlines()\n", + "power_data = parse_power_log(data)\n", + "\n", + "with open((DATA_PATH/model_name/f'{model_name}_layerwise_latency.json'), 'r') as fp:\n", + " data = json.load(fp)\n", + "latency_data = parse_latencies(data)" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "12481a42-0095-4903-bb43-f5bc9ac3a53d", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Number of power entries for conv_k3_s1_o3: 3016\n", + "Number of TensorRT layers in conv_k3_s1_o3: 1\n", + "Number of latency entries for each layer: 3000\n", + "Inference for 3000 cycles: 3.769518 seconds\n" + ] + } + ], + "source": [ + "print(f\"Number of power entries for {model_name}: {len(power_data)}\")\n", + "print(f\"Number of TensorRT layers in {model_name}: {len(latency_data[0])}\")\n", + "print(f\"Number of latency entries for each layer: {len(latency_data)}\")\n", + "print(f\"Inference for {len(latency_data)} cycles: {(latency_data[len(latency_data)-1][0][2]-latency_data[0][0][1]).total_seconds()} seconds\")" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "98f3a4e8-c3a3-4b47-8fd7-b776fdec2e1f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot([power for (_, power) in power_data])\n", + "plt.axhline(avg_power, color='purple', linestyle='--', label='Average IDLE power')\n", + "first_inference_start_index = get_power_index(power_data, latency_data[0][0][1])\n", + "last_inference_end_index = get_power_index(power_data, latency_data[2999][0][2])\n", + "plt.axvline(first_inference_start_index, color='green', label='First inference start')\n", + "plt.axvline(last_inference_end_index, color='red', label='Last inference end')\n", + "plt.legend()" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "4968dca2-cfe9-4a62-995e-a86cd8c8fa56", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Computing layer metrics...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Mapping power to layer: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████| 3000/3000 [00:00<00:00, 648804.37it/s]\n" + ] + } + ], + "source": [ + "metrics = compute_layer_metrics_by_cycle(power_data, latency_data, avg_power)\n", + "metrics_df_k3 = pd.DataFrame.from_dict(metrics)" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "439b7e9c-1f07-446c-864b-9795ee650c35", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
cyclelayer_power_including_idle_power_micro_wattlayer_power_excluding_idle_power_micro_wattlayer_run_time
count3000.0000001.809000e+031.809000e+033000.000000
mean1500.5000004.745996e+061.166818e+060.833181
std866.1697295.249158e+045.249158e+040.035864
min1.0000004.494336e+069.151579e+050.663104
25%750.7500004.735104e+061.155926e+060.819768
50%1500.5000004.775232e+061.196054e+060.832560
75%2250.2500004.775232e+061.196054e+060.842112
max3000.0000004.775232e+061.196054e+061.529760
\n", + "
" + ], + "text/plain": [ + " cycle layer_power_including_idle_power_micro_watt \\\n", + "count 3000.000000 1.809000e+03 \n", + "mean 1500.500000 4.745996e+06 \n", + "std 866.169729 5.249158e+04 \n", + "min 1.000000 4.494336e+06 \n", + "25% 750.750000 4.735104e+06 \n", + "50% 1500.500000 4.775232e+06 \n", + "75% 2250.250000 4.775232e+06 \n", + "max 3000.000000 4.775232e+06 \n", + "\n", + " layer_power_excluding_idle_power_micro_watt layer_run_time \n", + "count 1.809000e+03 3000.000000 \n", + "mean 1.166818e+06 0.833181 \n", + "std 5.249158e+04 0.035864 \n", + "min 9.151579e+05 0.663104 \n", + "25% 1.155926e+06 0.819768 \n", + "50% 1.196054e+06 0.832560 \n", + "75% 1.196054e+06 0.842112 \n", + "max 1.196054e+06 1.529760 " + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "metrics_df_k3.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "2a0a92ee-ddcd-4ebe-a838-ddf6142a6b3f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "cycle 3000\n", + "layer_power_including_idle_power_micro_watt 1809\n", + "layer_power_excluding_idle_power_micro_watt 1809\n", + "layer_run_time 3000\n", + "dtype: int64" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "metrics_df_k3.count()" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "7c354213-2702-4238-9327-15da7621284c", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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z5s3Tx06dFCTJk0uWldCQoIeffRRPfroowoKClKrVq309NNPO/10+Q8//KBRo0apRYsW8vPz06233qpdu3bZtbdu3Vrvvfee3b9Hjx4KCwuz59euXStfX1/9+OOPl/Q4zv3fXWRkpKZPn677779fAQEBuuqqq/TGG284rXPgwAGNHDlSLVu2lL+/v/r06aONGzfWaPuSNHz4cI0ePdqeLygo0B133KGmTZuqQ4cOWrJkSaXtnHtKaN++fXI4HFq6dKluvvlm+fn5qXv37tqwYYPTOnPnzlVERIT8/Px05513aubMmWrevPlFHxOp8imh8vJyPfHEE2revLmCg4M1ceLEi/5MfWlpqSZMmKDw8HD5+/urb9++WrNmTY32v3DhQjVv3lzLli3TNddcoyZNmmjw4MHKz8936vf666+rY8eO8vHxUVRUlN5880172YQJE3T77bfb87NmzZLD4dDKlSvttk6dOmnevHn2/Lx589S1a1c1adJEXbp00V//+ld72dnH/Z133lF8fLyaNGlS5d+qquP46KOPFBUVJT8/P/3617/Wjz/+qEWLFikyMlItWrTQ73//e5WXl9vrnX9KqLCwUA8//LBCQkLUpEkTRUdH66OPPnLax/Lly9WtWzf5+voqLy+v2tdfdWrz2pw5c6ZiYmLk7++viIgIPfLIIyopKZEkrVmzRmPGjFFRUZEcDoccDoeee+45JSQkaP/+/Xr88cftdpiBwIJaKSsr0wsvvKCvv/5ay5Yt0759++wPO4fDofvvv19paWlO66SlpWnAgAHq1KmTJGnEiBEqKCjQJ598oqysLPXq1UsDBw7U8ePH7XVyc3P1/vvva+nSpcrOzq5RbYsWLZKXl5c2bdqkP//5z5o5c6bTm//o0aP11Vdfafny5dqwYYMsy9Jtt92msrIyORwODRgwwP4A++GHH7Rt2zb99NNP2r59uyQpIyND1113nfz8/C7pcZzv1VdfVZ8+ffTvf/9bjzzyiMaNG6cdO3ZIkkpKShQfH6+DBw9q+fLl+vrrrzVx4kRVVFTUal9nH6f8/Hz985//1Hvvvae//vWvdiitzlNPPaUJEyYoOztbnTt31siRI3X69GlJ0rp16/S73/1OycnJys7O1i233KJp06bVusZXX31VCxcu1IIFC7R27VodP35cH3zwQbXrPProo9qwYYPS09P1zTff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X/WuypNPPqnf/va3uu+++xQXF6eAgADdeeed1a6TlpamUaNG6cknn1RUVJSGDx+uzMxMXXXVVTXap5+fnyZNmqTf/OY36t+/v5o1a6Z33nnHXj58+HD9+c9/1iuvvKJrr71WqampSktLc3retGjRQjExMWrdurW6dOki6UyIqaiocPrQlc6cWp03b57S0tIUExOj+Ph4LVy4UB06dKjho3TpvP/++7ruuus0cuRIdevWTRMnTrzoyERNXn/Vqelrs3v37po5c6ZefPFFRUdHa8mSJUpJSXHaVr9+/fS73/1Od999t1q3bq2XXnpJkvT8889r37596tixY52vPUP9cVjnn8gG6tGXX36pgQMHKj8//7J8gCckJKhHjx7cPrwRefDBB7V9+3Z9+eWXDV3KRV3ozqgALj2uYcElUVpaqu+++07PPfecRowYcVlHG2C2V155Rbfccov8/f31ySefaNGiRU43QgOAqnBKCJfE22+/rfbt26uwsNAeZq2rvLw8p692nj+d/Uq16dzlOGpr06ZNuuWWWxQTE6M5c+Zo9uzZGjt2rCTp2muvveDjcrG7t9aHW2+99YL7nz59+iXff31prMfRWOvG5cEpITQap0+f1r59+y64PDIyUl5e5g8austxXAr79++/4NerQ0JCFBAQcEn3f/DgQf30009VLmvZsmWj+Y2nxnocjbVuXB4EFgAAYDxOCQEAAOMRWAAAgPEILAAAwHgEFgAAYDwCCwAAMB6BBQAAGI/AAgAAjPf/ADHj2qTirnlTAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "metrics_df_k3.boxplot(column='layer_power_including_idle_power_micro_watt', grid=False)" + ] + }, + { + "cell_type": "markdown", + "id": "5a14f58b-7d36-4022-8c62-eb2c688ab00a", + "metadata": {}, + "source": [ + "### Kernel 4 Stride 1 Output 3" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "5fc0b0b7-0406-46c9-9a15-9174a2ffd0c0", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 3300/3300 [00:00<00:00, 110299.90it/s]\n", + "Computing layer execution times: 3000it [00:00, 480300.48it/s]\n" + ] + } + ], + "source": [ + "model_name = 'conv_k4_s1_o3'\n", + "\n", + "with open((DATA_PATH/model_name/f'{model_name}_power_log.log'), 'r') as fp:\n", + " data = fp.readlines()\n", + "power_data = parse_power_log(data)\n", + "\n", + "with open((DATA_PATH/model_name/f'{model_name}_layerwise_latency.json'), 'r') as fp:\n", + " data = json.load(fp)\n", + "latency_data = parse_latencies(data)" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "id": "a2a103d9-5cf8-4f6d-bae0-db4d081c7beb", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Number of power entries for conv_k4_s1_o3: 3300\n", + "Number of TensorRT layers in conv_k4_s1_o3: 1\n", + "Number of latency entries for each layer: 3000\n", + "Inference for 3000 cycles: 4.246261 seconds\n" + ] + } + ], + "source": [ + "print(f\"Number of power entries for {model_name}: {len(power_data)}\")\n", + "print(f\"Number of TensorRT layers in {model_name}: {len(latency_data[0])}\")\n", + "print(f\"Number of latency entries for each layer: {len(latency_data)}\")\n", + "print(f\"Inference for {len(latency_data)} cycles: {(latency_data[len(latency_data)-1][0][2]-latency_data[0][0][1]).total_seconds()} seconds\")" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "id": "7175b0c4-a455-4404-9025-412629b8ee50", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiMAAAGsCAYAAAAPJKchAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAVFtJREFUeJzt3XtcFOXiP/DPssByXZA7IhdvoAaoqBneO5KiZGlHM6VQM/1pWupJU7RSM8VMLMsyU9P8Ho2jnjSPl7yGV7yhmJfEvEIKoimLC7LA7vz+oF1dYZGFhVnYz/v12pfszDMzzwzLzsdnnnlGIgiCACIiIiKRWIldASIiIrJsDCNEREQkKoYRIiIiEhXDCBEREYmKYYSIiIhExTBCREREomIYISIiIlExjBAREZGoGEaIiIhIVAwjREREJKo6FUYOHDiAfv36oWHDhpBIJNi8ebPR6xAEAQsXLkRwcDBkMhn8/Pwwd+5c01eWiIiIKsVa7AoYIz8/H61bt8abb76JV155pUrrmDBhAnbt2oWFCxciLCwM9+7dw71790xcUyIiIqosSV19UJ5EIsGmTZvQv39/3TSVSoUZM2bgxx9/RG5uLkJDQ/Hpp5+iR48eAIDff/8d4eHhOHfuHEJCQsSpOBEREempU5dpnmb8+PFISUlBUlISfvvtNwwaNAjR0dH4448/AAD/+9//0KRJE2zduhWNGzdGUFAQ3nrrLbaMEBERiajehJGMjAysWrUKGzZsQNeuXdG0aVNMnjwZXbp0wapVqwAAV69exY0bN7BhwwasWbMGq1evRmpqKgYOHChy7YmIiCxXneozUpGzZ89CrVYjODhYb7pKpYK7uzsAQKPRQKVSYc2aNbpyK1euRLt27ZCens5LN0RERCKoN2FEqVRCKpUiNTUVUqlUb56TkxMAwNfXF9bW1nqBpWXLlgBKW1YYRoiIiGpfvQkjbdu2hVqtRk5ODrp27Vpumc6dO6OkpARXrlxB06ZNAQCXLl0CAAQGBtZaXYmIiOiROnU3jVKpxOXLlwGUho9Fixbh+eefh5ubGwICAvD666/j8OHDSExMRNu2bXHnzh3s3bsX4eHhiImJgUajQYcOHeDk5IQvvvgCGo0G48aNg1wux65du0TeOyIiIstUp8JIcnIynn/++TLThw0bhtWrV6O4uBiffPIJ1qxZg5s3b8LDwwPPPfccZs+ejbCwMADArVu38M4772DXrl1wdHREnz59kJiYCDc3t9reHSIiIkIdCyNERERU/9SbW3uJiIiobmIYISIiIlHVibtpNBoNbt26BWdnZ0gkErGrQ0RERJUgCAIePHiAhg0bwsrKcPtHnQgjt27dgr+/v9jVICIioirIzMxEo0aNDM6vE2HE2dkZQOnOyOVykWtjWvlF+WiY2BAAcOu9W3C0dRS5RkREVG/k5wMNS88xuHULcKzdc0xeXh78/f1153FD6kQY0V6akcvl9S6MSIukgF3pz3K5nGGEiIhM5/ERyeXyWg8jWk/rYsEOrERERCQqhhEiIiISFcMIERERiYphhIiIiERlVBiZNWsWJBKJ3qtFixYVLrNhwwa0aNECdnZ2CAsLw/bt26tVYSIiIqpfjG4ZeeaZZ5CVlaV7HTp0yGDZI0eOYMiQIRg5ciROnz6N/v37o3///jh37ly1Kk1ERET1h9FhxNraGj4+PrqXh4eHwbKLFy9GdHQ0pkyZgpYtW2LOnDmIiIjAkiVLqlVpIiIiqj+MDiN//PEHGjZsiCZNmiA2NhYZGRkGy6akpCAqKkpvWu/evZGSklLhNlQqFfLy8vReREREVD8ZFUY6duyI1atX45dffsHSpUtx7do1dO3aFQ8ePCi3fHZ2Nry9vfWmeXt7Izs7u8LtJCQkwMXFRffiUPBERET1l1FhpE+fPhg0aBDCw8PRu3dvbN++Hbm5uVi/fr1JKxUfHw+FQqF7ZWZmmnT9REREZD6qNRy8q6srgoODcfny5XLn+/j44Pbt23rTbt++DR8fnwrXK5PJIJPJqlM1IiIiqiOqNc6IUqnElStX4OvrW+78yMhI7N27V2/a7t27ERkZWZ3NEhERUT1iVMvI5MmT0a9fPwQGBuLWrVuYOXMmpFIphgwZAgCIi4uDn58fEhISAAATJkxA9+7dkZiYiJiYGCQlJeHkyZP47rvvTL8nRFTvZCke4v9SbuDGXwVwcbBBYZEajjJrSK0kuHY3H409HPFSm4Y4fu0eXO1tILWSYFB70/Uxu5n7EP9N/ROezjJcv5sPSICrd/JRrNbg6NW/UFisgYu9DWLCfXH+pgK21laQ29kgwN0BAHD2TwWu/5WPAW390KW5J7oHe+qtf/Ppm3BxsMHzIV4mq/PTpN64j22/ZUGAUGvbrA3p2Q/g6SzDz2m34OZoi4KiEnQIcsPBP+7CzsYKR6b1hJujrdjVJAOMCiN//vknhgwZgr/++guenp7o0qULjh49Ck/P0j+wjIwMWFk9amzp1KkT1q1bhw8++ADTp09H8+bNsXnzZoSGhpp2L4ioXlqafAVrUm4YnL//0h2sPnJdb1qonwta+prm6d4fbT6HvRdzKiyjeFiMdccM31UIAMsPXsPyg9dwfX6MblrmvQJM/E8aAOhNr2kfbD6H37Pq9x2K9/KLAAAH/7gLACgs1mDkDyew6e3OYlaLKmBUGElKSqpwfnJycplpgwYNwqBBg4yqFBERANwvKDZ6mSzFQ5OFkacFEUMGtmuELWduoahEY7DMXaWqqtWqlgeFpcd0YLtG8JbXj755R678hdMZuRWWedp8Ele1OrASEVFZwzsF4fDlu8hSFFaqvEYjwMpKUsO1KqXWlF6eGRYZhLBGLrWyzZq24JeLDBt1HB+UR0RkYlIDwUKjKb+fRomB6TVBuy1DdayL6tO+WCqGESIyWxqhbnayNHRyVBvYn9rcTw3DCJkhhhEiMluGWhLMncEwwpaRGmFdj/bFUjGMEJHZMnTyNneGTo6G9qc291Mb8OrTCby2+ttQzWEYISKzVVfDiKFWB0MtILW5n2wZIXPEMEJEZqs2L1+YUmUu0zy+ayUaw7cAm5q6HoYRK0n92RdLxVt7iUSUpXiIEatOVHvMibvKIt3P/zfyWXRt7llB6UcKikrw+opjyLhXUK3t1xTFQ+PHGRm39jQcZdIaqE3lGTrRRy3aD+2sx8cg6f35gVoLB0Xq0u3Wp9aEyh679p/sNvm21RoB9wuKEd+nBf5f96YmX7+lYBghElHKlb9wMfuBSdf5xsrjlR7R8+yfCpyqZ+MzPCxW42GxWrTtezrL4Gpvi75hvlh56JrePO3IoE+qyuBu1eHlLIOrQ/0ZGj3Ex7lS5R4P7aaWsOMiw0g1MIwQiUh7GaJDUAN80j+syuvp/cWBKi2nbbIPdHfAd2+0r/L2a5Lc3hrKwhK4Otjq/a9eVayBrbUVFA+LUVSigbVUArVGgI3UtFefBQiQQAJrqQT2NlLY2zxqdVELAgpUavi62iFbUQhHmTVk1lawtbbCBzEtEdsxAKoSDdQaAVIrSZnLCcVqDawkklq/ZNKogT1srevPVfpOTT1wbHpPONtZ4+6DIrg42ECjEeDqYINrd/ORr1LXyP6uP5lZJnBS1TCMEIlIe2eDi71Npf93Z0racS/sbaSibL/SKhgo1MfFrvbqUR6n0n/83Rz0JkskEjTxdBKhQpbJW176OQhw1z+t1eTvwEcu8mevHqk/0ZioDhL7zgbt9q2l9af/AFFtqU+dgMXGMEIkIu3Im2J9qT0ajZNfBUTGYhgxHX4DEYmoRC1uGNC1zPA7lchoDCOmwzBCJCK1yGFArRuNk18FRMZiGDEdfgMRiUgtiNsyUh8HwCKqLfy7MR3eTVMHXb+bj1u5D6u9HgGlzfQ2NfgHJQC4q1ShR7AXrKwApaoEfymLYGttBf8GDjhx/V69GnzJWNfu5AMw/QBURy7frVS5i9l5pdvndRoioz35d1vZv7vaZFWQj+f+/llRUAwXR1GrYxDDSB1z/W4+eixMFrsaVSK1ktTZZ43UNFOHgaErjhm3fQsOhERVZf3EmDbG/t3VBvuiQvz+989Dlqdg+/Q+otbHEIaROibzfumw3bbWVghyd3hKacPUGgFX/v5fudzOusbGarh0W6m3TUOCvS13PAZ7GyleifCr1joGtPXDptM3ARj/2bC2ssLQjoHV2j6RJerSzANdmnng0N8tIub4PWanejRIX+a96reo1xSGkTpGe/dDiLcz/vdOlyqvJ6+wGOGzdgEAXm3vjw9ebGWS+j0paNq2SpXbNal7jWzfUnw+uA0+H9xG7GoQWRQ3R1v8+62OYlejYvn5QHzpjyUaAYIgQGKGDxZkB9Y6Rv33raBW1WxWl5rhh5GIiGqWuV4pZxipY7R3X1T3Gj97gRMRWR5z7bfHMFLHPBqXgmGEiIiMwzBCJmGqZ5nwMg0RkeUp0WjErkK5GEbqGPXfH6Tq3gpa3T4nRERU97BlhExC/XeotWLLBhERGclcwwhv7a0D9ly4jb0XbwOAbmwQDlJFRETGmrf9IkZ0DkKon4vYVdHDMFIHvP/f33Avv0hvmquDbbXXayOVoFgtoIlnzQ3U06iBPf68X/FAO+0DG9TY9omI6JH/nvoTd5Uq/PDms2JXRQ/DSB2gVJUAAEZ3awK5nTVspFZ4uU31RuwEgP+O7YRzN/Pwz3bVX5chP43thMV7/4Cboy2yFIW4q1Th6p18+MjtEOzjhMx7D/HZwPAa2z4REZV6MdwXGy7eR/7f5xRzwjBSB2j+vsY3sktjeMtNN2x7eCNXhDdyNdn6yuMlt8PcAWE1ug0iInq66FAfbLh4XzdelTlhB9Y6wFS38xIRkeXS9jU0x06sDCNmTvPYh4ZjgxARUVVph3QoUTOMkJFKHg8jJn7MPBERWQ5ty4iGl2nIWGq2jBARkQlox6cq4WUaMtbjHY3YZ4SIiKpKO3I3+4yQ0dSPXdvjQGdERFRV2v/QmuPzaRhGzNzyg1d1P7NlhIiIqkp7qT/z3kOEzdqJb/dfEblGj1QrjMyfPx8SiQQTJ06ssNwXX3yBkJAQ2Nvbw9/fH5MmTUJhYWF1Nm0xDl2+q/tZwj4jRERURQFujpDblQ4v9qCwBFvSbolco0eqPOjZiRMnsGzZMoSHVzx65rp16zBt2jR8//336NSpEy5duoThw4dDIpFg0aJFVd28xdD2ev7ujXYi14SIiOoyFwcbHJ3eEzvPZ2PSf86Y1V01VWoZUSqViI2NxfLly9GgQcXPFTly5Ag6d+6MoUOHIigoCL169cKQIUNw/PjxKlXY0mg7GslspCLXhIiI6joHW2v4yO0BmFdH1iqFkXHjxiEmJgZRUVFPLdupUyekpqbqwsfVq1exfft29O3b1+AyKpUKeXl5ei9Lpf2wsPMqERGZgjneVWP0ZZqkpCScOnUKJ06cqFT5oUOH4u7du+jSpQsEQUBJSQnGjBmD6dOnG1wmISEBs2fPNrZq9ZL2fnAr9hchIiITMMfxRoxqGcnMzMSECROwdu1a2NlV7oFtycnJmDdvHr755hucOnUKP/30E7Zt24Y5c+YYXCY+Ph4KhUL3yszMNKaa9Yp2OHhrjr5KREQmYI7PqDGqZSQ1NRU5OTmIiIjQTVOr1Thw4ACWLFkClUoFqVS/b8OHH36IN954A2+99RYAICwsDPn5+Rg9ejRmzJgBK6uyeUgmk0Emk1Vlf+odtowQEZEpSet6GOnZsyfOnj2rN23EiBFo0aIFpk6dWiaIAEBBQUGZwKEtJ5hRT15zxT4jRERkSrowYkbnYKPCiLOzM0JDQ/WmOTo6wt3dXTc9Li4Ofn5+SEhIAAD069cPixYtQtu2bdGxY0dcvnwZH374Ifr161dueKFHStQa3Mx9CIADnhERkWlo/3NbWKTG3t9vw6+BPVr4yMWtk6lXmJGRodcS8sEHH0AikeCDDz7AzZs34enpiX79+mHu3Lmm3nS98/joeLbWHCyXiIiqz0Zaej55oCrByB9OAgD2vtcdTT2dRKtTtcNIcnJyhe+tra0xc+ZMzJw5s7qbsjjaVhEAaCbih4SIiOqPQHcHDHk2ABey8pCenYfCYg1u5T4UNYzwv9tmrOTvh+RNjW4BK16mISIiE5BIJEh4JQw/j+uMZl6lAUTs23wZRsyYtvOqlL8lIiKqAdK/u1U8/oR4MfA0Z8a0PZ2l5dz+TEREVF3aIazEvrOGZzkzpm0243hnRERUE6y1LSO8TEOGaJvNpLxOQ0RENUA7bAT7jJBB2mYzDnhGREQ1QfuoEQ3DCBmi68DKoeCJiKgGmMtD8xhGzJSioBj7LuYA4OirRERUM7Qt75M3nMG1u/mi1YNhxEz9cj5L97Obk62INSEiovrK/bHzy/2CItHqYfLh4Mk0CorUup+7NfcUsSZERFRfvR/dAqF+Ligq0aCRq71o9WAYMVPa/iL92zTkZRoiIqoRHk4yxEUGiV0NXqYxV49GX+WviIiI6jee6cxUCYeCJyIiC8FTnZnSsGWEiIgsBM90ZootI0REZCl4qjNTGt3oq/wVERFR/cYznZl61DLCO2mIiKh+YxgxQw8Ki7E0+QoAhhEiIqr/GEbM0O9ZD3Q/t/V3Fa8iREREtYBhxAyVaDQAAF8XO/QJ8xW5NkRERDWLYcQMaQc8c7G3EbkmRERENY9hxAxpw4i1lP1FiIio/mMYMUO6oeAlDCNERFT/MYyYITVv6yUiIgvCMGKGdJdpOOAZERFZAJ7tzJB2wDNmESIisgQ83Zmhq3fyAbBlhIiILAPPdmamqESDz/dcAsC7aYiIyDIwjJiZh0Vq3c8jOjcWsSZERES1g2HEzKj/flovAHRt5iFiTYiIiGoHw4iZ0Q4FL5EAVry1l4iILADDiJn5O4vAmkGEiIgsBMOImdG2jHDAMyIishQMI2aGQ8ETEZGlYRgxMxwKnoiILA3DiJl59MRe/mqIiMgy8IxnZo5euwcAsOJlGiIishDVCiPz58+HRCLBxIkTKyyXm5uLcePGwdfXFzKZDMHBwdi+fXt1Nl1vbUm7CQDIKywWuSZERES1w7qqC544cQLLli1DeHh4heWKiorwwgsvwMvLCxs3boSfnx9u3LgBV1fXqm66XpP83SIyMaq5yDUhIiKqHVUKI0qlErGxsVi+fDk++eSTCst+//33uHfvHo4cOQIbGxsAQFBQUFU2axG0fUaaeDiKXBMiIqLaUaXLNOPGjUNMTAyioqKeWnbLli2IjIzEuHHj4O3tjdDQUMybNw9qtdrgMiqVCnl5eXovS/Hobhp25yEiIstgdMtIUlISTp06hRMnTlSq/NWrV7Fv3z7ExsZi+/btuHz5Mt5++20UFxdj5syZ5S6TkJCA2bNnG1u1euFRGBG5IkRERLXEqFNeZmYmJkyYgLVr18LOzq5Sy2g0Gnh5eeG7775Du3btMHjwYMyYMQPffvutwWXi4+OhUCh0r8zMTGOqWaexZYSIiCyNUS0jqampyMnJQUREhG6aWq3GgQMHsGTJEqhUKkilUr1lfH19YWNjoze9ZcuWyM7ORlFREWxtbctsRyaTQSaTGbsv9YJunBEOekZERBbCqDDSs2dPnD17Vm/aiBEj0KJFC0ydOrVMEAGAzp07Y926ddBoNLD6+3/7ly5dgq+vb7lBxNJpn03DcUaIiMhSGHUtwNnZGaGhoXovR0dHuLu7IzQ0FAAQFxeH+Ph43TJjx47FvXv3MGHCBFy6dAnbtm3DvHnzMG7cONPuST1RpC4NI9ZShhEiIrIMVR5nxJCMjAxdCwgA+Pv7Y+fOnZg0aRLCw8Ph5+eHCRMmYOrUqabedJ239+JtZN57CIAtI0REZDmqHUaSk5MrfA8AkZGROHr0aHU3Ve8du/qX7udmXk4i1oSIiKj28JYNM6LtvPp2j6ZwsbcRuTZERES1g2HEjJQIpWHE1pq/FiIishw865kRDW/rJSIiC8QwYkb+vpGGA54REZFF4VnPjHAoeCIiskQ87ZkRDgVPRESWiGc9M6ILI+wyQkREFsTkg57VJfsu3sZfyiIAgMxGip4tvOAoE++QJF/KAWALKa/TEBGRBbHoMLJk32WcysjVvR/VtTFmxLQSrT6FxRpYAbDjrb1ERGRBLDqMtAtsABd7G2Tef4jLOUrkPFCJXSUAwAutvMWuAhERUa2x6P+Cz4hphVUjnkVsxwAAj/psiKlXK2+4OvBpxkREZDksOoxoaQcZM4cwwqf1EhGRpWEYwaNbaUvMIIzwab1ERGRpGEbwaJAxjRmEEQ4FT0REloZhBGbWMsIwQkREFoZhBI9aIzSC+GGELSNERGRpGEYASP8OACVq8cMIh4InIiJLY9HjjGhpw8j5Wwq8sfIYAKB/Gz/8s10jEepS65skIiISFcMIAG+5HQAgr7AEB/+4CwBIz34gShjx+bsuREREloJhBEBEgCvWvdUR2XmFyHmgwvwdF6Eq0YhSl7e6NhFlu0RERGJhGAEgkUjQqZkHAODa3XzM33FRlAHQAtzsYWcjrfXtEhERiYk9FJ4g5misUt5JQ0REFohh5AlSMcMIR18lIiILxDDyBF0YEWHMEQ54RkRElohh5AmPt4wItRxI+JA8IiKyRAwjT3j8UkltX6rhZRoiIrJEvJvmCdLHWifuFRRBJn10d4uttRXsbWvubhd2YCUiIkvEMPKEx58N8+zcvXrzbKQSfPt6O/Rs6V0j22YYISIiS8TLNE+wt5GiczP3cucVqwWk3rhfY9v2dbGvsXUTERGZK7aMPEEikeDfIzuW6S+SsOMiVh66VqN32bzZuXGNrZuIiMhcMYyUQyKRlLmzxebvJ9ipa/DJvrxMQ0REloiXaSpJ+zTdkhq8w4ZhhIiILBHDSCVJrUoPlaYGL9NYM4wQEZEFYhipJO0YIGwZISIiMi2GkUrS9iFhnxEiIiLTYhipJG1QYMsIERGRafFumkrSXqa5nPMA/5dyXW+erbUVej/jA1cHW6PXezrjnu5nPihPfBqNBkVFRWJXg6jG2djYQCqtuRGliYxRrTAyf/58xMfHY8KECfjiiy+eWj4pKQlDhgzByy+/jM2bN1dn07VOOwz8mT8VOPOnosz83/5UYO6AMKPWmVdYjLjvTwCy0vcyKRuqxFRUVIRr165Bo9GIXRWiWuHq6gofHx9I+FwsElmVw8iJEyewbNkyhIeHV6r89evXMXnyZHTt2rWqmxRV3zBfXMjKQ26B/v+ab/xVgPO38nBXqTJ6nXkPi/Uu+zjb2VS7nlQ1giAgKysLUqkU/v7+sLJiMKT6SxAEFBQUICcnBwDg6+srco3I0lUpjCiVSsTGxmL58uX45JNPnlperVYjNjYWs2fPxsGDB5Gbm1uVzYrKzdEW88pp+fjxeAbifzoLdRX+M13bTwUmw0pKSlBQUICGDRvCwcFB7OoQ1Th7+9LHT+Tk5MDLy4uXbEhUVfrv37hx4xATE4OoqKhKlf/444/h5eWFkSNHVqq8SqVCXl6e3stcaTudqqvQtM8wYj7UajUAwNbW+H4/RHWVNngXFxeLXBOydEa3jCQlJeHUqVM4ceJEpcofOnQIK1euRFpaWqW3kZCQgNmzZxtbNVFYV+MuG4YR88Nr52RJ+Hknc2FUy0hmZiYmTJiAtWvXws7O7qnlHzx4gDfeeAPLly+Hh4dHpbcTHx8PhUKhe2VmZhpTzVqlbRmpysisNfnQPSIiorrCqJaR1NRU5OTkICIiQjdNrVbjwIEDWLJkCVQqld51xytXruD69evo16+fbpr2TgVra2ukp6ejadOmZbYjk8kgk8mM3hkx6MYfqcJgaFVZhoiIqL4xqmWkZ8+eOHv2LNLS0nSv9u3bIzY2FmlpaWU6QLVo0aJM+ZdeegnPP/880tLS4O/vb9KdEYN1dVpGeJmGTCQlJQVSqRQxMTFiV6VWSCQSveEBJBKJ7uXo6IjmzZtj+PDhSE1N1VsuOTkZEonEYCf6WbNm6a1L+2rRokUN7g0RGdUy4uzsjNDQUL1pjo6OcHd3102Pi4uDn58fEhISYGdnV6a8q6srAJSZXldpH6BXpT4jvExDJrJy5Uq88847WLlyJW7duoWGDRvW2LYEQYBarYa1tXmNmbhq1SpER0ejsLAQly5dwnfffYeOHTvi+++/R1xcXKXX88wzz2DPnj1608xtX41lrr8zIi2TD6aQkZGBrKwsU6/WbGnHKUvPfoBB3x4p83p9xTGcyrhfZjnFw2KM/XdqmelExlIqlfjPf/6DsWPHIiYmBqtXr9bNGzp0KAYPHqxXvri4GB4eHlizZg2A0kunCQkJaNy4Mezt7dG6dWts3LhRV17bmrBjxw60a9cOMpkMhw4dwpUrV/Dyyy/D29sbTk5O6NChQ5mTeFZWFmJiYmBvb4/GjRtj3bp1CAoK0hskMTc3F2+99RY8PT0hl8vxj3/8A2fOnDH6OGgH8AoKCkKvXr2wceNGxMbGYvz48bh/v+zfoCHW1tbw8fHRe1XU523WrFlo06YNli1bBn9/fzg4OODVV1+FQvFocESNRoOPP/4YjRo1gkwmQ5s2bfDLL7/o5g8cOBDjx4/XvZ84cSIkEgkuXrwIoHRAPkdHR93xrervjMhcVTsmJycnV/j+SY9/UdYHDV1L79UvKFLjxPXyv/C85XaICGigN+3w5bu4nWf8QGlUu4ryDQ8NbyW1grWddaXKSqwksLG3eWpZW0fjby1ev349WrRogZCQELz++uuYOHEi4uPjIZFIEBsbi0GDBkGpVMLJyQkAsHPnThQUFGDAgAEASu9e+/e//41vv/0WzZs3x4EDB/D666/D09MT3bt3121n2rRpWLhwIZo0aYIGDRogMzMTffv2xdy5cyGTybBmzRr069cP6enpCAgIAFDaUnr37l0kJyfDxsYG//rXv3QDbWkNGjQI9vb22LFjB1xcXLBs2TL07NkTly5dgpubm9HH43GTJk3CmjVrsHv3brz66qvVWldFLl++jPXr1+N///sf8vLyMHLkSLz99ttYu3YtAGDx4sVITEzEsmXL0LZtW3z//fd46aWXcP78eTRv3hzdu3fHsmXLdOvbv38/PDw8kJycjBYtWuDEiRMoLi5Gp06dAFT9d0ZkrthmV00tfOTYMr4zbuU+LDNv38UcrD/5J4rKGRGtqIRDjtcFCU4JBuc179scQ7cN1b1f6LUQxQXlj9cQ2D0Qw5OH694vDlqMgrsFZcrNFGYaXceVK1fi9ddfBwBER0dDoVBg//796NGjB3r37g1HR0ds2rQJb7zxBgBg3bp1eOmll+Ds7AyVSoV58+Zhz549iIyMBAA0adIEhw4dwrJly/RObB9//DFeeOEF3Xs3Nze0bt1a937OnDnYtGkTtmzZgvHjx+PixYvYs2cPTpw4gfbt2wMAVqxYgebNm+uWOXToEI4fP46cnBxdp/WFCxdi8+bN2LhxI0aPHm308Xictq/H9evXK73M2bNndcFN6/XXX8e3335rcJnCwkKsWbMGfn5+AICvvvoKMTExSExMhI+PDxYuXIipU6fitddeAwB8+umn+PXXX/HFF1/g66+/Ro8ePTBhwgTcuXMH1tbWuHDhAj788EMkJydjzJgxSE5ORocOHeDg4FCt3xmRuWIYMYHwRq4Ib+RaZvqdByqsP/lnuQOiafuYdGnmgR9v1nQNqb5KT0/H8ePHsWnTJgCllxgGDx6MlStXokePHrC2tsarr76KtWvX4o033kB+fj5+/vlnJCUlASj9H31BQUGZE1ZRURHatm2rN00bKLSUSiVmzZqFbdu2ISsrCyUlJXj48CEyMjJ0dbO2tta7+65Zs2Z6/0M/c+YMlEol3N3d9db98OFDXLlypZpHp7SvBGDceBohISHYsmWL3jS5XF7hMgEBAbogAgCRkZHQaDRIT0+Hg4MDbt26hc6dO+st07lzZ93lqNDQULi5uWH//v2wtbVF27Zt8eKLL+Lrr78GAF24BKr3OyMyVwwjNciqgtt+tQHFmk/qNWvxyniD86yeeLDh5JzJBstKnvg9T7g+oXoV+9vKlStRUlKi12FVEATIZDIsWbIELi4uiI2NRffu3ZGTk4Pdu3fD3t4e0dHRAEoDBQBs27ZN72QKoMzt9Y6OjnrvJ0+ejN27d2PhwoVo1qwZ7O3tMXDgQKOeeqxUKuHr61vu5V1tZ/fq+P333wEAjRs3rvQytra2aNasWbW3bQyJRIJu3bohOTkZMpkMPXr0QHh4OFQqFc6dO4cjR45g8uTSz1d1fmdE5ophpAZVdNuv9sqNlGHErBnTh6OmyhpSUlKCNWvWIDExEb169dKb179/f/z4448YM2YMOnXqBH9/f/znP//Bjh07MGjQINjYlPZfadWqFWQyGTIyMvSa9yvj8OHDGD58uK7viVKp1LscEhISgpKSEpw+fRrt2rUDUPq/+sc7k0ZERCA7OxvW1tYICgqqwlGo2BdffAG5XF7pR1dUVUZGht5dTEePHoWVlRVCQkIgl8vRsGFDHD58WO8YHz58GM8++6zufffu3bF8+XLIZDLMnTsXVlZW6NatGz777DOoVCpdy0p1fmdE5ophpAZZSQwPFa9tGWEYoaraunUr7t+/j5EjR8LFxUVv3j//+U+sXLkSY8aMAVB6V823336LS5cu4ddff9WVc3Z2xuTJkzFp0iRoNBp06dIFCoUChw8fhlwux7Bhwwxuv3nz5vjpp5/Qr18/SCQSfPjhh7pBDYHS/hpRUVEYPXo0li5dChsbG7z33nuwt7fXXTaJiopCZGQk+vfvjwULFiA4OBi3bt3Ctm3bMGDAAKMuM+Tm5iI7OxsqlQqXLl3CsmXLsHnzZqxZs6ZMK8vZs2fh7Oysey+RSHT9X0pKSpCdna1XXiKRwNvb2+C27ezsMGzYMCxcuBB5eXl499138eqrr8LHxwcAMGXKFMycORNNmzZFmzZtsGrVKqSlpek6uAJAjx49MGnSJNja2qJLly66aZMnT0aHDh10rRzV+Z0RmSuGkRpkLdU+RK9sGNEGFIYRqqqVK1ciKiqqTBABSsPIggUL8NtvvyE8PByxsbGYO3cuAgMDy/RdmDNnDjw9PZGQkICrV6/C1dUVERERmD59eoXbX7RoEd5880106tQJHh4emDp1apmHWq5ZswYjR45Et27d4OPjg4SEBJw/f173OAmJRILt27djxowZGDFiBO7cuQMfHx9069atwpN/eUaMGAGgNBj4+fmhS5cuOH78uF6fFa1u3brpvZdKpSgpKQEAnD9/Hr6+vnrzZTIZCgsLDW67WbNmeOWVV9C3b1/cu3cPL774Ir755hvd/HfffRcKhQLvvfcecnJy0KpVK2zZskWvM29YWBhcXV0RHBys60Dbo0cPqNVqXX8Rrar+zojMlUQQzH/krby8PLi4uEChUDy1I5k5+TntJiYkpaFTU3esG/Wc3rwVB6/ik22/o294Ayz9o/TkoIxXwtGW13jFUFhYiGvXrqFx48aVeu4SVc2ff/4Jf39/7NmzBz179hS7OiYxa9YsbN682aiHgZoLfu4tQH4+oL07TKkEarkfUWXP32wZqUHWf4/OWlCkRpZC/9bf3L9vAWXLCNVn+/btg1KpRFhYGLKysvD+++8jKCioTMsEEVk2hpEapA0aaZm5iEzYV24ZKyNuOSSqa4qLizF9+nRcvXoVzs7O6NSpE9auXavrQEtEBNTAcPD0SESAK/zd7GEjlZT7cpZZ4/kQT7GrSVRjevfujXPnzqGgoAC3b9/Gpk2bEBgYKHa1TGrWrFl18hINkTlhy0gN8pLb4eD7/6iwTH5RPvBzLVWIiIjIDLFlhIiIiETFMEJERESiYhghIiIiUTGMEBERkagYRoiIiEhUDCNE9VSPHj0wceLEGt/O9evXIZFIjL699bvvvoO/vz+srKzwxRdf1EjdiKhuYBghqsOGDx8OiURS5nX58mX89NNPmDNnTrXWL5FIsHnz5grL+Pv7IysrC6GhoZVeb15eHsaPH4+pU6fi5s2bGD16dLXqWdcMHz4c/fv3N9n6ait4EtUUjjNCVMdFR0dj1apVetM8PT0hlUorXK6oqAi2trbV3r5UKtU9nbayMjIyUFxcjJiYmDIPpTNGcXGxRY/maqrfIZHY2DJCVMfJZDL4+PjovaRSaZn/LQcFBWHOnDmIi4uDXC7H6NGjUVRUhPHjx8PX1xd2dnYIDAxEQkKCrjwADBgwABKJRPf+SU9epklOToZEIsHevXvRvn17ODg4oFOnTkhPTwcArF69GmFhYQCAJk2aQCKR4Pr16wCAn3/+GREREbCzs0OTJk0we/Zs3dN0gdKWmqVLl+Kll16Co6Mj5s6dW+nlVqxYgQEDBsDBwQHNmzfHli1b9Pbj/PnzePHFFyGXy+Hs7IyuXbviypUruvkrVqxAy5YtYWdnhxYtWug9lbc8GzduRFhYGOzt7eHu7o6oqCjk5+dj1qxZ+OGHH/Dzzz/rWrKSk5MBAFOnTkVwcDAcHBzQpEkTfPjhhyguLtatc9asWWjTpg1WrFihe7jd8OHDsX//fixevFi3Pu3xJKor2DJCVA5BEFBQXCDKth1sHCCpoWcWLVy4EB999BFmzpwJAPjyyy+xZcsWrF+/HgEBAcjMzERmZiYA4MSJE/Dy8sKqVasQHR391JaWJ82YMQOJiYnw9PTEmDFj8Oabb+Lw4cMYPHgw/P39ERUVhePHj8Pf3x+enp44ePAg4uLi8OWXX+qCgPbyjba+QOkJef78+fjiiy9gbW1d6eVmz56NBQsW4LPPPsNXX32F2NhY3LhxA25ubrh58ya6deuGHj16YN++fZDL5Th8+LAu0KxduxYfffQRlixZgrZt2+L06dMYNWoUHB0dMWzYsDL7npWVhSFDhmDBggUYMGAAHjx4gIMHD0IQBEyePBm///478vLydC1abm5uAABnZ2esXr0aDRs2xNmzZzFq1Cg4Ozvj/fff16378uXL+O9//4uffvoJUqkUgYGBuHTpEkJDQ/Hxxx8DKG0ZI6pLGEaIylFQXACnBCdRtq2MV8LRtvKP+d66dSucnB7VtU+fPtiwYUO5Zf/xj3/gvffe073PyMhA8+bN0aVLF0gkEr3nxmhPaK6urkZfhgGAuXPnonv37gCAadOmISYmBoWFhbqWAu02tOuePXs2pk2bpju5N2nSBHPmzMH777+vFyqGDh2KESNG6N6/+eablVpu+PDhGDJkCABg3rx5+PLLL3H8+HFER0fj66+/houLC5KSknSXfYKDg3XLzpw5E4mJiXjllVcAAI0bN8aFCxewbNkyg2GkpKQEr7zyiu6YaluDAMDe3h4qlarMcf3ggw90PwcFBWHy5MlISkrSCyNFRUVYs2aNXuCwtbWFg4NDlX5PROaAYYSojnv++eexdOlS3XtHR8NBpn379nrvhw8fjhdeeAEhISGIjo7Giy++iF69epmkXuHh4bqftf1CcnJyEBAQUG75M2fO4PDhw7pLLwCgVqtRWFiIgoICODg4lLsPlV3u8fo4OjpCLpcjJycHAJCWloauXbuW2/8kPz8fV65cwciRIzFq1Cjd9JKSEri4uJS7L61bt0bPnj0RFhaG3r17o1evXhg4cCAaNGhQbnmt//znP/jyyy9x5coVKJVKlJSUQC6X65UJDAxkywfVOwwjROVwsHGAMl4p2raN4ejoiGbNmlW67OMiIiJw7do17NixA3v27MGrr76KqKgobNy40ag6lOfxE7v2spNGozFYXqlUYvbs2brWh8fZ2dnpfn5yHyq73JNBQyKR6Opjb29fYb0AYPny5ejYsaPePEOXrqRSKXbv3o0jR45g165d+OqrrzBjxgwcO3YMjRs3LneZlJQUxMbGYvbs2ejdu7eupSYxMVGvXEVhk6iuYhghKodEIjHqUkldJpfLMXjwYAwePBgDBw5EdHQ07t27Bzc3N9jY2ECtVtdKPSIiIpCenl7pYFXd5R4XHh6OH374ody7c7y9vdGwYUNcvXoVsbGxlV6nRCJB586d0blzZ3z00UcIDAzEpk2b8K9//Qu2trZljuuRI0cQGBiIGTNm6KbduHGjUtsqb31EdQnDCJEFW7RoEXx9fdG2bVtYWVlhw4YN8PHxgaurK4DSfgt79+5F586dIZPJnnqZoTo++ugjvPjiiwgICMDAgQNhZWWFM2fO4Ny5c/jkk09Mvtzjxo8fj6+++gqvvfYa4uPj4eLigqNHj+LZZ59FSEgIZs+ejXfffRcuLi6Ijo6GSqXCyZMncf/+ffzrX/8qs75jx45h79696NWrF7y8vHDs2DHcuXMHLVu2BFB6XHfu3In09HS4u7vDxcUFzZs3R0ZGBpKSktChQwds27YNmzZtqlT9g4KCcOzYMVy/fh1OTk5wc3ODlRVvlqS6g59WIgvm7OyMBQsWoH379ujQoQOuX7+O7du3605kiYmJ2L17N/z9/dG2bdsarUvv3r2xdetW7Nq1Cx06dMBzzz2Hzz//XK9TrSmXe5y7uzv27dsHpVKJ7t27o127dli+fLmuleStt97CihUrsGrVKoSFhaF79+5YvXq1wUsucrkcBw4cQN++fREcHIwPPvgAiYmJ6NOnDwBg1KhRCAkJQfv27eHp6YnDhw/jpZdewqRJkzB+/Hi0adMGR44cwYcfflip+k+ePBlSqRStWrWCp6cnMjIyKr3vROZAIgiCIHYlniYvLw8uLi5QKBRlOnPVdflF+bq7Noy9i4JMp7CwENeuXdON3UBkCfi5twD5+YD2bjulEqjlPkeVPX+zZYSIiIhExTBCREREomIYISIiIlExjBAREZGoGEaIiIhIVAwjREREJCqGESIiIhIVwwgRERGJimGEiIiIRFWtMDJ//nxIJBJMnDjRYJnly5eja9euaNCgARo0aICoqCgcP368OpslIjOyevVq3bNsKksQBIwePRpubm6QSCRIS0urkbrVRz169KjwO5eoLqpyGDlx4gSWLVuG8PDwCsslJydjyJAh+PXXX5GSkgJ/f3/06tULN2/erOqmiehvw4cPR//+/Wtk3cnJyZBIJMjNza2w3ODBg3Hp0iWj1v3LL79g9erV2Lp1K7KyshAaGlqNmhJRXVelMKJUKhEbG4vly5c/9Smea9euxdtvv402bdqgRYsWWLFiBTQaDfbu3VulChORebG3t4eXl5dRy1y5cgW+vr7o1KkTfHx8YG1t/APEBUFASUmJ0csRkfmpUhgZN24cYmJiEBUVZfSyBQUFKC4uhpubm8EyKpUKeXl5ei8iMt6iRYsQFhYGR0dH+Pv74+2334ZSqdTNv3HjBvr164cGDRrA0dERzzzzDLZv347r16/j+eefBwA0aNAAEokEw4cPL3cbT16mmTVrFtq0aYP/+7//Q1BQEFxcXPDaa6/hwYMHAEpbc9555x1kZGRAIpEgKCgIAKDRaJCQkIDGjRvD3t4erVu3xsaNG3Xr1bbU7NixA+3atYNMJsOhQ4cqvdzevXvRvn17ODg4oFOnTkhPT9fbj//973/o0KED7Ozs4OHhgQEDBujmqVQqTJ48GX5+fnB0dETHjh2RnJxc4bHPzc3FW2+9BU9PT8jlcvzjH//AmTNnKn2cACA/Px9xcXFwcnKCr68vEhMTK9wmUV1ldBhJSkrCqVOnkJCQUKUNTp06FQ0bNqwwyCQkJMDFxUX38vf3r9K2iKpMEEqfdinGy4QP0rayssKXX36J8+fP44cffsC+ffvw/vvv6+aPGzcOKpUKBw4cwNmzZ/Hpp5/CyckJ/v7++O9//wsASE9PR1ZWFhYvXlzp7V65cgWbN2/G1q1bsXXrVuzfvx/z588HACxevBgff/wxGjVqhKysLJw4cQJA6d/9mjVr8O233+L8+fOYNGkSXn/9dezfv19v3dOmTcP8+fPx+++/Izw8vNLLzZgxA4mJiTh58iSsra3x5ptv6uZt27YNAwYMQN++fXH69Gns3bsXzz77rG7++PHjkZKSgqSkJPz2228YNGgQoqOj8ccffxg8BoMGDUJOTg527NiB1NRUREREoGfPnrh3716ljhMATJkyBfv378fPP/+MXbt2ITk5GadOnar074GozhCMkJGRIXh5eQlnzpzRTevevbswYcKESi2fkJAgNGjQQG/58hQWFgoKhUL3yszMFAAICoXCmOrWCUqVUsAsCJgFQalSil0di/Xw4UPhwoULwsOHD0snKJWCUBoLav+lrPznYNiwYcLLL79c6fIbNmwQ3N3dde/DwsKEWbNmlVv2119/FQAI9+/fr3Cdq1atElxcXHTvZ86cKTg4OAh5eXm6aVOmTBE6duyoe//5558LgYGBuveFhYWCg4ODcOTIEb11jxw5UhgyZIhefTZv3lyl5fbs2aObv23bNgGA7vcdGRkpxMbGlrt/N27cEKRSqXDz5k296T179hTi4+PLXebgwYOCXC4XCgsL9aY3bdpUWLZsmSAITz9ODx48EGxtbYX169fr5v/111+Cvb19pb9zn6bM557qn8e/y4z4bjEVhUJRqfO3URdqU1NTkZOTg4iICN00tVqNAwcOYMmSJVCpVJBKpeUuu3DhQsyfPx979ux5aqdXmUwGmUxmTNWIqBx79uxBQkICLl68iLy8PJSUlKCwsBAFBQVwcHDAu+++i7Fjx2LXrl2IiorCP//5z6f+fVZGUFAQnJ2dde99fX2Rk5NjsPzly5dRUFCAF154QW96UVER2rZtqzetffv2VVru8f3y9fUFAOTk5CAgIABpaWkYNWpUuXU7e/Ys1Go1goOD9aarVCq4u7uXu8yZM2egVCrLzH/48CGuXLmie1/Rcbpy5QqKiorQsWNH3Xw3NzeEhISUu02iusyoMNKzZ0+cPXtWb9qIESPQokULTJ061WAQWbBgAebOnYudO3fqfZEQmS0HB+CxvhW1vm0TuH79Ol588UWMHTsWc+fOhZubGw4dOoSRI0eiqKgIDg4OeOutt9C7d29s27YNu3btQkJCAhITE/HOO+9Ua9s2NjZ67yUSCTQajcHy2n4s27Ztg5+fn968J/9j4ujoWKXlHq+TRCIBAF2d7O3tK6ybVCpFampqme84Jycng8v4+vqW26/k8f41xh4novrKqDDi7Oxc5hY8R0dHuLu766bHxcXBz89P16fk008/xUcffYR169YhKCgI2dnZAEr/iA39IROJTiIBHjvp1UWpqanQaDRITEyElVVp97D169eX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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot([power for (_, power) in power_data])\n", + "plt.axhline(avg_power, color='purple', linestyle='--', label='Average IDLE power')\n", + "first_inference_start_index = get_power_index(power_data, latency_data[0][0][1])\n", + "last_inference_end_index = get_power_index(power_data, latency_data[2999][0][2])\n", + "plt.axvline(first_inference_start_index, color='green', label='First inference start')\n", + "plt.axvline(last_inference_end_index, color='red', label='Last inference end')\n", + "plt.legend()" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "id": "fb0d5747-4547-41a9-bb33-5d9949ff24f5", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Computing layer metrics...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Mapping power to layer: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████| 3000/3000 [00:00<00:00, 571950.55it/s]\n" + ] + } + ], + "source": [ + "metrics = compute_layer_metrics_by_cycle(power_data, latency_data, avg_power)\n", + "metrics_df_k4 = pd.DataFrame.from_dict(metrics)" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "id": "1caaf39c-ccb5-4dc0-a9c2-bead7906c506", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
cyclelayer_power_including_idle_power_micro_wattlayer_power_excluding_idle_power_micro_wattlayer_run_time
count3000.0000002.112000e+032.112000e+033000.000000
mean1500.5000004.920316e+061.341138e+061.023513
std866.1697294.789924e+044.789924e+040.112076
min1.0000004.454208e+068.750299e+050.388896
25%750.7500004.895616e+061.316438e+061.008408
50%1500.5000004.935744e+061.356566e+061.043120
75%2250.2500004.935744e+061.356566e+061.057888
max3000.0000004.975872e+061.396694e+062.489600
\n", + "
" + ], + "text/plain": [ + " cycle layer_power_including_idle_power_micro_watt \\\n", + "count 3000.000000 2.112000e+03 \n", + "mean 1500.500000 4.920316e+06 \n", + "std 866.169729 4.789924e+04 \n", + "min 1.000000 4.454208e+06 \n", + "25% 750.750000 4.895616e+06 \n", + "50% 1500.500000 4.935744e+06 \n", + "75% 2250.250000 4.935744e+06 \n", + "max 3000.000000 4.975872e+06 \n", + "\n", + " layer_power_excluding_idle_power_micro_watt layer_run_time \n", + "count 2.112000e+03 3000.000000 \n", + "mean 1.341138e+06 1.023513 \n", + "std 4.789924e+04 0.112076 \n", + "min 8.750299e+05 0.388896 \n", + "25% 1.316438e+06 1.008408 \n", + "50% 1.356566e+06 1.043120 \n", + "75% 1.356566e+06 1.057888 \n", + "max 1.396694e+06 2.489600 " + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "metrics_df_k4.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "id": "1a07ab82-19c8-4462-a59e-6acf172486e7", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "cycle 3000\n", + "layer_power_including_idle_power_micro_watt 2112\n", + "layer_power_excluding_idle_power_micro_watt 2112\n", + "layer_run_time 3000\n", + "dtype: int64" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "metrics_df_k4.count()" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "id": "e382b2e4-c62b-4cec-b207-b1d65a6f660e", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 31, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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JydLktLT0zV27FjVq1dP/v7++sMf/qCvv/7a0b9oSH7NmjVq2bKlPD09r1lXRESEJk6cqIkTJyogIEA33XST/vSnPzl9NfXPP/+sUaNGqW7duvL29tbdd9+tpKQkR+316tXTu+++6+jfsWNHNWrUyPF8165d8vDw0OXLl6/rcfz2r7IWLVpowYIFeuSRR+Tn56dmzZrpr3/9q9M6p0+f1rBhwxQYGCgfHx917txZX3zxRam2L0nR0dF6+OGHHc/PnTune+65R15eXmrZsqU2bNhwxXZ+e5nmxIkTstls2rRpk+688055e3urQ4cO2rt3r9M6q1evVnBwsLy9vTVkyBAtXbpUderUueZrIl15maagoEBTpkxRnTp1FBQUpOnTp1/za8hzcnI0depUNWnSRD4+Puratau2b99eqv2vW7dOderUUXx8vFq3bi1PT09FRkYqNTXVqd/LL7+skJAQ2e12tW3bVuvXr3csmzp1qgYPHux4vmzZMtlsNn388ceOtlatWmnNmjWO52vWrFG7du3k6emp0NBQrVy50rGs6HX/29/+pr59+8rT07PY/6vijmPLli1q27atvL29dd999+ny5ct6/fXX1aJFC9WtW1f/7//9PxUUFDjW+/1lmvT0dI0bN04NGjSQp6enwsLCtGXLFqd9fPDBB7rlllvk4eGhU6dOlfj+K0l53ptLly5VeHi4fHx8FBwcrPHjxysrK0uStH37do0ePVoZGRmy2Wyy2WyaPXu2IiIidPLkSU2ePNnRjhsDYQRXyMvL0/PPP6+vv/5a8fHxOnHihONEZrPZ9Mgjj2jt2rVO66xdu1Z9+vRRq1atJElDhw7VuXPn9NFHHykxMVGdOnVSv379dOHCBcc6ycnJeu+997Rp0yYdOHCgVLW9/vrrcnd31759+/TnP/9ZS5cudfrF/vDDD+vLL7/UBx98oL1798qyLA0cOFB5eXmy2Wzq06eP4+T0888/6/Dhw8rOztaRI0ckSTt27FCXLl3k7e19XY/j95YsWaLOnTvrq6++0vjx4/XEE0/o6NGjkqSsrCz17dtXZ86c0QcffKCvv/5a06dPV2FhYbn2VfQ6paam6l//+pfeffddrVy50hE4S/LMM89o6tSpOnDggNq0aaNhw4YpPz9fkrR79249/vjjiomJ0YEDB3TXXXdp/vz55a5xyZIlWrdunV57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snbtWjVu3Fh9+/bVvffeq8cee0z169evUJ09e/bUK6+8oqVLl6pDhw76+OOPNXny5FJ93Lk4Tz31lEaOHKmHHnpI3bt3l5+fn4YMGVLiOmvXrtWoUaP01FNPqW3btoqOjlZCQoKaNWtWqn16e3srNjZWDz74oHr27ClfX1/97W9/cyyPjo7Wn//8Zy1evFi33nqrVq1apbVr1zr93NStW1fh4eGqV6+eQkNDJf0aUAoLC51OqNKvlzvXrFmjtWvXKjw8XH379tW6devUsmXLUr5K1897772nLl26aNiwYbrllls0ffr0a44olOb9V5LSvjc7dOigpUuX6oUXXlBYWJg2bNiguLg4p2316NFDjz/+uO6//37Vq1dPL774oiRp7ty5OnHihEJCQio81wuVx2b9/uIyUEo7d+5Uv379lJqa6pKTc0REhDp27Mgtq6uQRx99VEeOHNHOnTtNl3JNV7tjJ4DrjzkjKLOcnBz95z//0ezZszV06FCXjhLgxrZ48WLddddd8vHx0UcffaTXX3/d6SZeAFAcLtOgzN5++201b95c6enpjqHPijp16pTTxxt//yj6WPGNrrocR3nt27dPd911l8LDw/XKK69o+fLlGjt2rCTp1ltvverrcq27ilaGu++++6r7X7BgwXXff2WpqsdRVeuGa3CZBjeE/Px8nThx4qrLW7RoIXf3G38gr7ocx/Vw8uTJq37EuEGDBvLz87uu+z9z5oyys7OLXRYYGFhlvjOoqh5HVa0brkEYAQAARnGZBgAAGEUYAQAARhFGAACAUYQRAABgFGEEAAAYRRgBAABGEUYAAIBR/x/a5PoXg3F+CQAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "metrics_df_k4.boxplot(column='layer_power_including_idle_power_micro_watt', grid=False)" + ] + }, + { + "cell_type": "markdown", + "id": "46ac528f-1526-4024-81ee-a21cb676919d", + "metadata": {}, + "source": [ + "### Kernel 5 Stride 1 Output 3" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "id": "6ef0f4ca-b361-45cf-aae9-7f9ab04a2a44", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 3707/3707 [00:00<00:00, 107236.21it/s]\n", + "Computing layer execution times: 3000it [00:00, 467522.92it/s]\n" + ] + } + ], + "source": [ + "model_name = 'conv_k5_s1_o3'\n", + "\n", + "with open((DATA_PATH/model_name/f'{model_name}_power_log.log'), 'r') as fp:\n", + " data = fp.readlines()\n", + "power_data = parse_power_log(data)\n", + "\n", + "with open((DATA_PATH/model_name/f'{model_name}_layerwise_latency.json'), 'r') as fp:\n", + " data = json.load(fp)\n", + "latency_data = parse_latencies(data)" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "id": "87779b48-dbb9-4ab2-beb5-607cc22c99ad", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Number of power entries for conv_k5_s1_o3: 3707\n", + "Number of TensorRT layers in conv_k5_s1_o3: 1\n", + "Number of latency entries for each layer: 3000\n", + "Inference for 3000 cycles: 4.729364 seconds\n" + ] + } + ], + "source": [ + "print(f\"Number of power entries for {model_name}: {len(power_data)}\")\n", + "print(f\"Number of TensorRT layers in {model_name}: {len(latency_data[0])}\")\n", + "print(f\"Number of latency entries for each layer: {len(latency_data)}\")\n", + "print(f\"Inference for {len(latency_data)} cycles: {(latency_data[len(latency_data)-1][0][2]-latency_data[0][0][1]).total_seconds()} seconds\")" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "id": "59324a0b-2708-403c-94c5-21196f1e1212", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 34, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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93//h1GjRkGlUsHOrnJZKCcnBx4eHsjOzoZSqaxOdc1GXmEe3BLcAACqOBVcHV0lrhEREVmtvDzAreScA5UKcK2dc05lz9/VHmdEq9VCrVYbnJefn18mcMjlcgBANTMQERERWQmj+ozExcWhT58+aNCgAXJzc7F27VokJydj+/btAIDY2FgEBgYiISEBQMndNwsWLECbNm3QoUMHXLlyBdOnT0f//v3FUEJERES2zagwkpmZidjYWGRkZMDDwwPh4eHYvn07evbsCQBIS0vTawl5//33IZPJ8P777+PWrVvw8fFB//79MXv2bNPuBREREVmsavcZqQ3sM0JERFQN1t5nhIiIiKg6GEaIiIhIUgwjREREJCmGESIiIpIUwwgRERFJimGEiIiIJMUwQkRERJJiGCEiIiJJMYwQERGRpBhGiIiISFIMI0RERCQphhEiIiKSFMMIERERSYphhIiIiCTFMEJERESSYhghIiIiSTGMEBERkaQYRoiIiEhSDCNEREQkKYYRIiIikhTDCBEREUmKYYSIiIgkxTBCREREkmIYISIiIkkxjBAREZGkGEaIiIhIUgwjREREJCmGESIiIpIUwwgRERFJimGEiIiIJMUwQkRERJJiGCEiIiJJMYwQERGRpBhGiIiISFIMI0RERCQphhEiIiKSFMMIERERSYphhIiIiCTFMEJERESSYhghIiIiSRkVRpYsWYLw8HAolUoolUpERkZi27ZtFS6TlZWFsWPHwt/fHwqFAqGhodi6dWu1Kk1ERETWw96YwvXr18fcuXPRtGlTCIKAb7/9Fs8//zxOnjyJJ598skz5wsJC9OzZE/Xq1cP69esRGBiImzdvwtPT01T1JyIiIgtnVBjp37+/3vvZs2djyZIlOHLkiMEw8s033+DevXs4dOgQHBwcAAAhISFVry0RERFZnSr3GdFoNEhKSkJeXh4iIyMNltm0aRMiIyMxduxY+Pr6okWLFpgzZw40Gk2F61ar1cjJydF7ERERkXUyqmUEAM6ePYvIyEgUFBTAzc0NGzZsQPPmzQ2WvXbtGvbs2YOYmBhs3boVV65cwZtvvomioiLMmDGj3G0kJCQgPj7e2KoRERGRBZIJgiAYs0BhYSHS0tKQnZ2N9evXY/ny5di3b5/BQBIaGoqCggJcv34dcrkcALBgwQJ88sknyMjIKHcbarUaarVa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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot([power for (_, power) in power_data])\n", + "plt.axhline(avg_power, color='purple', linestyle='--', label='Average IDLE power')\n", + "first_inference_start_index = get_power_index(power_data, latency_data[0][0][1])\n", + "last_inference_end_index = get_power_index(power_data, latency_data[2999][0][2])\n", + "plt.axvline(first_inference_start_index, color='green', label='First inference start')\n", + "plt.axvline(last_inference_end_index, color='red', label='Last inference end')\n", + "plt.legend()" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "id": "a547dce0-b6cf-465c-ae9f-32e8d2a3531c", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Computing layer metrics...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Mapping power to layer: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████| 3000/3000 [00:00<00:00, 658136.51it/s]\n" + ] + } + ], + "source": [ + "metrics = compute_layer_metrics_by_cycle(power_data, latency_data, avg_power)\n", + "metrics_df_k5 = pd.DataFrame.from_dict(metrics)" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "id": "7b72d3ab-6a79-4344-8ffa-b2143774b9bb", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
cyclelayer_power_including_idle_power_micro_wattlayer_power_excluding_idle_power_micro_wattlayer_run_time
count3000.0000002.502000e+032.502000e+033000.000000
mean1500.5000004.825432e+061.246254e+061.160441
std866.1697294.763559e+044.763559e+040.124065
min1.0000004.414080e+068.349019e+050.433984
25%750.7500004.815360e+061.236182e+061.131200
50%1500.5000004.815360e+061.236182e+061.154144
75%2250.2500004.855488e+061.276310e+061.230176
max3000.0000004.895616e+061.316438e+062.374240
\n", + "
" + ], + "text/plain": [ + " cycle layer_power_including_idle_power_micro_watt \\\n", + "count 3000.000000 2.502000e+03 \n", + "mean 1500.500000 4.825432e+06 \n", + "std 866.169729 4.763559e+04 \n", + "min 1.000000 4.414080e+06 \n", + "25% 750.750000 4.815360e+06 \n", + "50% 1500.500000 4.815360e+06 \n", + "75% 2250.250000 4.855488e+06 \n", + "max 3000.000000 4.895616e+06 \n", + "\n", + " layer_power_excluding_idle_power_micro_watt layer_run_time \n", + "count 2.502000e+03 3000.000000 \n", + "mean 1.246254e+06 1.160441 \n", + "std 4.763559e+04 0.124065 \n", + "min 8.349019e+05 0.433984 \n", + "25% 1.236182e+06 1.131200 \n", + "50% 1.236182e+06 1.154144 \n", + "75% 1.276310e+06 1.230176 \n", + "max 1.316438e+06 2.374240 " + ] + }, + "execution_count": 36, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "metrics_df_k5.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "id": "5c4b3175-1b91-4c59-ae69-3e8cbb15727a", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "cycle 3000\n", + "layer_power_including_idle_power_micro_watt 2502\n", + "layer_power_excluding_idle_power_micro_watt 2502\n", + "layer_run_time 3000\n", + "dtype: int64" + ] + }, + "execution_count": 37, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "metrics_df_k5.count()" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "id": "f4befb46-6729-41d4-a63f-3c435dbf0a61", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 38, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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srIsSVZxcbFlWZZ19OhRy9fX1/rmm28sy7Ks8+fPW82bN7eWLVtmWZZlffXVV1ZoaKh17tw5t/VER0db6enplmVZ1osvvmg1atTIKigoqFGNsbGxVnl5uWvajBkzrNjYWMuyLGvv3r2WJGvLli2u+cePH7caN25s/fGPf7Qsy7IWLlxodevWzbIsy8rIyLBuvvlma9SoUdbbb79tWZZlDRs2zHr22Wd/8v348Wvdvn17a/z48a7n5eXlVosWLVw1paenW3a73Tpx4kSl63vxxRetHj16XHH9lmVZo0aNsu677z7Lsixrz549liQrMzPTNX/Xrl2WJOvXv/61a5oka/Xq1ZZlWdahQ4csSdbixYtd83fu3GlJsnbt2mVZlmXdc8891siRI922m5SUZIWFhVX1clxxP1q3bm396le/cj0vLS21brjhBmvUqFGV7uuRI0csX19f6+jRo27rHTp0qDVr1qyrbn/p0qWWJOvvf/+7a1rF61LxXh8wYID10EMPuS03ZswYa8SIEZZlWdYPP/xg+fj4WFlZWVZ5ebnVrFkzKzU11br55psty7Ks999/32rbtq1r2ejoaOuDDz5wW9+rr75q9e/f37Ks/3vdFyxYcNX6L92P/fv3u6Y98sgjVlBQkOszbFmWNXz4cOuRRx5xPW/fvr3r3//Pf/6z5ePjY+3Zs6fKbeTk5LimVefzV5WafDYr89FHH1nh4eFuNVb23vvxfuL6Qc8ILpOdna0777xT7dq1k91u15AhQyRJeXl5kqQ2bdpo5MiReueddyRJf/rTn1RSUqIxY8ZIkrZv3y6n06nw8HDXOICQkBAdOnRIBw4ccG2nffv2NT5P/bOf/cyta7V///7at2+fysrKtGvXLvn5+enmm292zQ8PD1eXLl20a9cuSRe/uX777bcqLCzUpk2blJCQoISEBG3cuFGlpaX6+uuvXd9af8r9uFR8fLzr/202m1q1auXqqcjJyVGvXr3qbKxJxet00003uabFxMRU63TKj+us6EKvqHPPnj3q16+fW/tLn1dXUVGRjh075vZv6efnpz59+lxxmdzcXJWVlalz585u/16bNm1y+/eqip+fn/r27et6XvG6VLx/du3apYEDB7otM3DgQNf8Jk2aqEePHtq4caNyc3Pl7++vhx9+WP/85z/ldDq1adMm1+fp9OnTOnDggB588EG3en/5y19eVm9V+12ZoKAgRUdHu563bNlSUVFRbmNyWrZsecXesJycHN1www3q3LnzFbfh7+/v9n6ozuevKjX5bErS//7v/2ro0KFq27at7Ha7kpOTdeLECddpHNQvDGCFm9OnT2v48OEaPny4VqxYoYiICOXl5Wn48OE6f/68q92kSZOUnJysX//611q6dKnuueceV/ep0+lU69atKz1X/+MDnomR+927d1ezZs20adMmbdq0SbNnz1arVq302muvKSsrS6WlpRowYIAkz+7HpQMSbTab6zRM48aNa7QuHx+fy8ZWXK2bvLp+XGdFKLyW00V1yel0ytfXV9nZ2W6nEyR5dGBsxQE0ICBAQ4YMUbNmzRQbG6vNmzdr06ZNeuqpp1z1ShfH2fz4AC7psvpr+h6r7P1U1XvsUtV5zzVu3LhOx1zU5LN5+PBh3XHHHXrsscc0e/ZsNWvWTJs3b9aDDz6o8+fPu/4Wof4gjMDN7t27deLECc2dO1eRkZGSpH/84x+XtRsxYoSCg4P19ttv64svvtCXX37pmte7d2/9+9//lp+fn6Kiouq0vksHbf79739Xp06d5Ovrq9jYWF24cEHffPON64/WiRMntGfPHnXt2lXSxT/AgwYN0po1a7Rz5079/Oc/V1BQkEpKSpSenq4+ffq4/vD/lPtRE/Hx8Vq8eLFOnjxZrd6RiIgIt3PhZWVl2rFjh2655RZJF7/tX7hwQdnZ2a5egD179lx2CWRNdenSRVlZWW7TLn1eXWFhYWrdurW++eYbDR48WJJcNffu3bvSZXr16qWysjIVFBRo0KBBtdruhQsX9I9//MPVo1PxusTGxkqSYmNjtWXLFt13332uZbZs2eJ6f0kXv+G/88478vPz02233SbpYkD58MMPtXfvXte3+5YtW6pNmzY6ePCgkpKSalXvTyU+Pl7fffed9u7dW2XvyI9V5/NXlZp8NrOzs1VeXq758+e7ruD54x//6LY+f39/twG6V5sOszhNAzft2rWTv7+/3nzzTR08eFCffvqpXn311cva+fr66v7779esWbPUqVMn9e/f3zVv2LBh6t+/vxITE7V+/XodPnxYX3/9tZ577rlKg01N5OXladq0adqzZ48+/PBDvfnmm0pJSZEkderUSaNGjdJDDz2kzZs3a/v27Ro/frzatm2rUaNGudZRcWDo2bOnQkJC5OPjo8GDB2vFihWuLvSfej9qYuzYsWrVqpUSExO1ZcsWHTx4UJ988sllV7JU+MUvfqHPPvtMn332mXbv3q3HHnvMLWh06dJFt912mx555BF98803ys7O1qRJk2rcA3OpJ554QuvWrVNaWpr27dun9PR0ff7557X+9pySkqK5c+cqIyNDu3fv1uOPP15lYOrcubOSkpI0YcIErVq1SocOHVJmZqZSU1P12WefVWubjRo10hNPPOF6Xe6//3797Gc/c4WTp59+WsuWLdPbb7+tffv2KS0tTatWrdL06dNd6xg8eLCKi4u1du1aV/BISEjQihUr1Lp1a7eD+8svv6zU1FQtXLhQe/fuVW5urpYuXaq0tLSav2B1aMiQIRo8eLD+8z//Uxs2bNChQ4f0+eefu10VdKnqfv6qUt3PZseOHVVaWur6O7V8+XL97ne/c1tXVFSUnE6n/vKXv+j48eOu0zdRUVH68ssvdfToUR0/frwWrw5+CoQRuImIiNCyZcv00UcfqWvXrpo7d+5ll/FWqOgSnThxott0m82mdevWafDgwZo4caI6d+6se++9V0eOHFHLli2vqb4JEybo7Nmz6tevnyZPnqyUlBQ9/PDDrvlLly7VTTfdpDvuuEP9+/eXZVlat26dWxf1kCFDVFZW5nb+OSEh4bJpP+V+1IS/v7/Wr1+vFi1aaMSIEerevftlVzb82AMPPKD77rtPEyZM0JAhQ3TjjTe6ekUqLF26VG3atNGQIUN011136eGHH1aLFi2uqc6BAwfqd7/7ndLS0tSjRw998cUXevLJJ6t1uXNlnnrqKSUnJ+u+++5T//79ZbfbNXr06CqXWbp0qSZMmKCnnnpKXbp0UWJiorKystSuXbtqbTMoKEgzZszQuHHjNHDgQIWEhOgPf/iDa35iYqLeeOMNzZs3T926dVN6erqWLl3q9r5p2rSpunfvroiICMXExEi6GFDKy8vdDqjSxdOdixcv1tKlS9W9e3cNGTJEy5YtU4cOHar5Kv10PvnkE/Xt21djx45V165d9cwzz1y1R6E6n7+qVPez2aNHD6Wlpem1115TXFycVqxYodTUVLd1DRgwQI8++qjuueceRURE6Fe/+pUk6ZVXXtHhw4cVHR19zWO9UHds1qUnl4Fq+uqrrzR06FDl5+d75OCckJCgnj17csvqeuShhx7S7t279dVXX5ku5aqudMdOAD89xoygxkpKSlRYWKiXXnpJY8aM8WgvAa5v8+bN06233qrg4GB9/vnnevfdd91u4gUAleE0DWrsww8/VPv27XXq1ClX1+e1ysvLc7u88dJHxWXF1ztv2Y/ayszM1K233qru3bvrd7/7nRYuXKhJkyZJkrp163bF1+VqdxWtC7fffvsVtz9nzpyffPt1pb7uR32tG57BaRpcFy5cuKDDhw9fcX5UVJT8/K7/jjxv2Y+fwpEjR654iXHLli1lt9t/0u0fPXpUZ8+erXRes2bN6s1vBtXX/aivdcMzCCMAAMAoTtMAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMOr/AT3J/rdjkJRVAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "metrics_df_k5.boxplot(column='layer_power_including_idle_power_micro_watt', grid=False)" + ] + }, + { + "cell_type": "markdown", + "id": "ec67d0d3-d112-4fe4-b428-260cdeadd177", + "metadata": {}, + "source": [ + "## Kernels Plot" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "id": "b7b1a726-98ae-4dca-bd4c-22042cd8530d", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0.5, 0, 'Kernel size')" + ] + }, + "execution_count": 39, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "df = pd.concat(\n", + " [\n", + " metrics_df_k1[\"layer_power_including_idle_power_micro_watt\"] * 1e-3,\n", + " metrics_df_k2[\"layer_power_including_idle_power_micro_watt\"] * 1e-3,\n", + " metrics_df_k3[\"layer_power_including_idle_power_micro_watt\"] * 1e-3,\n", + " metrics_df_k4[\"layer_power_including_idle_power_micro_watt\"] * 1e-3,\n", + " metrics_df_k5[\"layer_power_including_idle_power_micro_watt\"] * 1e-3,\n", + " ],\n", + " axis=1,\n", + ")\n", + "\n", + "\n", + "# set column names (will be displayed as plot labels)\n", + "df.columns = ['1', '2', '3', '4', '5'] \n", + "\n", + "# use pandas' boxplot method\n", + "df.boxplot().set_ylabel('Power (milliWatts)')\n", + "df.boxplot().set_xlabel('Kernel size')" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "id": "a33cb157-7942-46dc-b69c-e2da20c2a5cf", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0.5, 0, 'Kernel size')" + ] + }, + "execution_count": 40, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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RYlMtx1GdnY2cnJyMGnSJIdvE5N7bgIDA2scvLt37160adPGLEERERFR/Tnrdhgm99yMHz8e77zzDtLS0iCRSPDnn39i//79ePfddzFjxgxLxEhEREQm0m2HoVAoMHPmTMjlcqhUKsTHxyM5ORkAHPZ2ocnJzdSpU6HVavHkk09CpVLhiSeegJubG959912DAWREREQkDt12GAqFApcvX4ZarcbOnTvx4osv4s0330RQUBCUSiUSEhIc8haVybelJBIJ3n//fRQXF+PkyZP46aef8Ndff9W4gB4RERFZX2pqKjQaDRISEiCVGvZjSKVSxMfHQ6PRIDU1VaQILatO69wAtweMdenSBZ06dcKuXbtw+vRpc8ZFREREdXTu3DkAwJAhQ2o8rivX1XM0Jic3L774IlJSUgDc3quiV69eePHFFxESEoLNmzebPUAiIiIyTdu2bQEA6enpNR7XlevqORqTk5vvv/9ev2Hm119/Da1Wi+vXr2Pp0qVISEgwe4BERERkmsjISEilUkyfPh0ajcbgmDNsh2FyclNSUqLfIHPbtm14/vnnIZfL8eyzz+LMmTNmD5CIiIhM4+zbYZg8W6pFixbYv38//Pz8sG3bNmzYsAHA7ZWD3d3dzR4gERERmc6Zt8Mwuedm0qRJePXVVxEUFIRmzZqhX79+AG7frurWrZu54yMiIqI6ctbtMEzuuYmMjETv3r3xxx9/YODAgXBxuZ0ftWnThmNuiIiIbIwzbodhcnIDAD179kTPnj0Nyp599lmzBERERERUH0YlN5MnT8bcuXPh6emJyZMn11r3ww8/NEtgRERERHVhVHJz9OhRVFZW6n+/F4lEYp6oiIiIiOrIqOQmMzOzxt+JiIiIbE2dt18gIiIiskVG9dwMHz7c6At+9dVXdQ6GiIiIqL6MSm58fHwsHQcRERGRWRiV3KxZs8bScRARERGZBcfcEBERkUMxqucmNDTU6GneR44cqVdARERERPVhVHIzbNgwC4dBREREZB5GJTezZs2ydBxEREREZsExN0RERORQjOq58fPzw++//46AgAD4+vrWOv6muLjYbMERERERmcqo5EapVMLLywsAsHjxYkvGQ0RERFQvRiU3Y8aMqfF3IiIism1qtRopKSnIzs5GTk4OJk2aBJlMJnZYFmVUclOTq1ev4urVq9BqtQblISEh9Q6KiIiI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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "df = pd.concat(\n", + " [\n", + " metrics_df_k1[\"layer_run_time\"],\n", + " metrics_df_k2[\"layer_run_time\"],\n", + " metrics_df_k3[\"layer_run_time\"],\n", + " metrics_df_k4[\"layer_run_time\"],\n", + " metrics_df_k5[\"layer_run_time\"],\n", + " ],\n", + " axis=1,\n", + ")\n", + "\n", + "# set column names (will be displayed as plot labels)\n", + "df.columns = ['1', '2', '3', '4', '5'] \n", + "\n", + "# use pandas' boxplot method\n", + "df.boxplot().set_ylabel('Latency (milliseconds)')\n", + "df.boxplot().set_xlabel('Kernel size')" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "id": "f81ed6b2-9f8f-4aec-b668-a51ad1bba6ff", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0.5, 0, 'Kernel size')" + ] + }, + "execution_count": 41, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkAAAAGwCAYAAABB4NqyAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAZvZJREFUeJzt3XlYVGX/P/D3wDAgCCgoI4iKWmpWKuaSZiqaobhkm0uLkLkkgYGPjKaGSpQCKuaD6GOGWmpWalRkrimmmUtqWRopuYQiCCrLjDIMc35/+Jv5OrI4g7PP+3Vdc+mcc59zPsPNMJ+5z72IBEEQQERERORAnCwdABEREZG5MQEiIiIih8MEiIiIiBwOEyAiIiJyOEyAiIiIyOEwASIiIiKHwwSIiIiIHI7Y0gFYI7VajStXrsDT0xMikcjS4RAREZEeBEFAWVkZAgIC4ORUdxsPE6AaXLlyBS1atLB0GERERFQP//77LwIDA+sswwSoBp6engDu/AC9vLwsHE39KRQK7N27FyEhIXB3d7d0OA6NdWE9WBfWg3VhPeylLkpLS9GiRQvt53hdmADVQHPby8vLy6YTILFYDHd3d3h5edn0L7Q9YF1YD9aF9WBdWA97qwt9uq+wEzQRERE5HCZARERE5HCYABEREZHDYQJEREREDocJEBERETkcJkBERETkcJgAERERkcNhAkREREQOhwkQERERORwmQHZKqVQiLS0Nq1atQlpaGpRKpaVDIiIishpMgOyQTCaDh4cHZsyYgW3btmHGjBnw8PCATCazdGhERERWgWuB2RmZTIaUlBRIpVLEx8fD3d0dCoUCCQkJSElJAQAkJydbOEoiIiLLYguQHVEqlUhNTYVUKkVeXh4iIiLQuHFjREREIC8vD1KpFKmpqbwdRkREDo8JkB1JT0+HSqVCYmIixGLdxj2xWIyEhASoVCqkp6dbKEIiIiLrwATIjuTm5gIAhg0bVuN+zXZNOSIiIkfFBMiOtG3bFgCQlZVV437Ndk05IiIiR8UEyI5ERkZCLBZjzpw5UKlUOvtUKhXi4+MhFosRGRlpoQiJiIisAxMgOyKRSBAbG4uCggIEBgYiIyMD169fR0ZGBgIDA1FQUIDY2FhIJBJLh0pERGRRHAZvZzRD3FNTUxEdHa3dLhaLERcXxyHwREREYAuQXUpOToZcLkdSUhLCwsKQlJQEuVzO5IeIiOj/YwuQnZJIJIiKikL79u0xaNAg3vYiIiK6C1uAiIiIyOEwASIiIiKHwwSIiIiIHA4TICIiInI4TICIiIjI4TABIiIiIofDBIiIiIgcDhMgIiIicjhMgIiIiMjhWDQB2r9/P4YPH46AgACIRCJkZmbq7BeJRDU+UlJSaj3nvHnzqpXv0KGDiV8JERER2RKLJkByuRydO3fG8uXLa9yfn5+v88jIyIBIJMKLL75Y53kfffRRneMOHDhgivCJiIjIRll0LbAhQ4ZgyJAhte5v1qyZzvNvvvkGISEhaNOmTZ3nFYvF1Y6tS0VFBSoqKrTPS0tLAQCVlZWorKzU+zzWRqVSaf+15ddhD1gX1oN1YT1YF9bDXurCkNhtZjHUgoICfP/991i3bt19y549exYBAQFwc3NDr169sGDBArRs2bLW8gsWLMD8+fOrbd+5cyfc3d0fKG5rsHfvXkuHQP8f68J6sC6sB+vCeth6XSgUCr3LigRBEEwYi95EIhG+/vprjBw5ssb9ycnJWLhwIa5cuQI3N7daz/PDDz+gvLwc7du3R35+PubPn4/Lly/jjz/+gKenZ43H1NQC1KJFCxQVFcHLy+uBXpcl3bp1C3v37kVISAgaNGhg6XAcGuvCerAurAfrwnrYS12UlpaiSZMmKCkpue/nt820AGVkZODVV1+tM/kBoHNLrVOnTujZsydatWqFL7/8Em+++WaNx7i6usLV1bXadhcXF7i4uDxY4BakaQoUi8U2/TrsAevCerAurAfrwnrYS10YErtNJEA//fQTcnJy8MUXXxh8bKNGjdCuXTucO3fOBJERERGRLbKJeYA++eQTPPHEE+jcubPBx5aXlyM3Nxf+/v4miIyIiIhskUUToPLycpw8eRInT54EAJw/fx4nT57EpUuXtGVKS0vx1VdfYcKECTWeY+DAgUhLS9M+nz59OrKzs3HhwgX8/PPPeP755+Hs7IyxY8ea9LUQERGR7bDoLbBjx44hJCRE+3zatGkAgPDwcKxduxYAsGnTJgiCUGsCk5ubi6KiIu3zvLw8jB07FsXFxWjatCn69OmDX375BU2bNjXdCyEiIiKbYtEEqH///rjfILRJkyZh0qRJte6/cOGCzvNNmzYZIzQiIiKyYzbRB4iIiIjImJgAERERkcNhAkREREQOhwkQERERORwmQERERORwmAARERGRw2ECRERERA6HCRARERE5HCZARERE5HCYABEREZHDYQJEREREDocJEBERETkcJkBERETkcJgAERERkcNhAkREREQOhwkQERERORwmQERERORwmAARERGRw2ECRERERA6HCRARERE5HCZARERE5HCYABEREZHDYQJEREREDocJEBERETkcJkBERETkcJgAERERkcNhAkREREQOhwkQERERORwmQERERORwmAARERGRw2ECRERERA6HCRARERE5HCZARERE5HDEhh5QUVGBw4cP4+LFi1AoFGjatCmCg4PRunVrU8RHZPOUSiXS0tKQnZ2NnJwcxMTEQCKRWDosIiKHpncCdPDgQXz00Uf47rvvUFlZCW9vbzRo0ADXr19HRUUF2rRpg0mTJuGtt96Cp6enKWMmshkymQypqalQqVQAgG3btmH27NmIjY1FcnKyhaMjInJcet0CGzFiBEaPHo2goCDs3LkTZWVlKC4uRl5eHhQKBc6ePYs5c+Zgz549aNeuHXbt2mXquImsnkwmQ0pKCnx9fbF8+XKsWbMGy5cvh6+vL1JSUiCTySwdIhGRw9KrBWjo0KHYsmULXFxcatzfpk0btGnTBuHh4Th9+jTy8/ONGiSRrVEqlUhNTYVUKkVeXh6USiV27dqFUaNGYdKkSQgMDERqaioSExN5O4yIyAL0agGaPHlyrcnPvTp27IiBAwc+UFBEti49PR0qlQqJiYkQi3W/Z4jFYiQkJEClUiE9Pd1CERIROTaOAiMygdzcXADAsGHDatyv2a4pR0RE5qVXAtS4cWP4+Pjo9TDE/v37MXz4cAQEBEAkEiEzM1Nnf0REBEQikc5j8ODB9z3v8uXLERQUBDc3N/Ts2RNHjhwxKC6iB9W2bVsAQFZWVo37Nds15YiIyLz06gO0dOlS7f+Li4uRmJiI0NBQ9OrVCwBw6NAh7NixA++9955BF5fL5ejcuTPGjx+PF154ocYygwcPxpo1a7TPXV1d6zznF198gWnTpmHlypXo2bMnli5ditDQUOTk5MDPz8+g+IjqKzIyEnFxcZgzZw4iIiJ09qlUKsTHx0MsFiMyMtIyARIROTi9EqDw8HDt/1988UUkJCQgKipKu23q1KlIS0vD7t27ERsbq/fFhwwZgiFDhtRZxtXVFc2aNdP7nEuWLMHEiRPxxhtvAABWrlyJ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mDp1qnb/3bfA1q5dC5FIVO0xb948bfnVq1fjkUcegZubGzp06ID09PR6/BSJ6IEJREQmFh4eLjz33HOCTCYTGjZsKOzevVtn//79+wUvLy9h7dq1Qm5urrBz504hKChImDdvnrYMAMHPz0/IyMgQcnNzhYsXLwpz584VGjZsKLzwwgvCqVOnhP379wvNmjUTZs2apT0uMTFR6NChg7B9+3YhNzdXWLNmjeDq6irs27dPEARB2Lt3rwBAuHHjRo2xf/XVV4KXl5ewbds24eLFi8Lhw4eFVatWafe3atVKSE1NFQRBEBQKhZCfn699fP7554JYLBZ27twpCIIgrF+/XvD39xe2bNki/PPPP8KWLVsEHx8fYe3atcb4MRORAZgAEZHJhYeHCxKJRAAg7Nmzp9r+gQMHCh9++KHOts8++0zw9/fXPgcgxMTE6JSZO3eu4O7uLpSWlmq3xcXFCT179hQEQRBu374tuLu7Cz///LPOcW+++aYwduxYQRDunwAtXrxYaNeunaBUKmvcf3cCdLdz584JPj4+QnJysnZb27ZthY0bN+qUe//994VevXrVeG4iMh32ASIis+jUqROKioowd+5c9OjRAw0bNtTu++2333Dw4EF88MEH2m1VVVW4ffs2FAoF3N3dAQDdunWrdt6goCB4enpqn/v7+6OwsBAAcO7cOSgUCgwaNEjnGKVSieDgYL3ifvnll7F06VK0adMGgwcPRlhYGIYPHw6xuPY/nyUlJRg2bBiGDh2KuLg4AIBcLkdubi7efPNNTJw4UVtWpVLB29tbr1iIyHiYABGRWTRv3hybN29GSEgIBg8ejB9++EGbuJSXl2P+/Pl44YUXqh3n5uam/b+Hh0e1/fd2hBaJRFCr1drzAsD333+P5s2b65RzdXXVK+4WLVogJycHu3fvxq5duxAZGYmUlBRkZ2fX2Am7qqoKo0ePhpeXF1atWqXdronl448/Rs+ePXWOcXZ21isWIjIeJkBEZDatWrVCdna2Ngnavn07PD090bVrV+Tk5OChhx4y6vU6duwIV1dXXLp0Cf369av3eRo0aIDhw4dj+PDhePvtt9GhQwecOnUKXbt2rVY2NjYWp06dwrFjx3SSN6lUioCAAPzzzz949dVX6x0LERkHEyAiMqsWLVpg3759CAkJQWhoKLZv3474+HgMGzYMLVu2xEsvvQQnJyf89ttv+OOPP5CYmFjva3l6emL69OmIjY2FWq1Gnz59UFJSgoMHD8LLywvh4eH3PcfatWtRVVWFnj17wt3dHevXr0eDBg3QqlWramXXrFmD9PR0fP311xCJRLh69SoAoGHDhmjYsCHmz5+PqVOnwtvbG4MHD0ZFRQWOHTuGGzduYNq0afV+nURkOA6DJyKzCwwMxL59+1BUVITQ0FD06tULWVlZ2LlzJ7p3744nn3wSqampNSYZhnr//ffx3nvvYcGCBXjkkUcwePBgfP/992jdurVexzdq1Agff/wxnnrqKXTq1Am7d+/Gd999B19f32pls7OzUVVVhREjRsDf31/7WLRoEQBgwoQJWL16NdasWYPHH38c/fr1w9q1a/WOhYiMRyQIgmDpIIiIiIjMiS1ARERE5HCYABEREZHDYQJEREREDocJEBERETkcJkBERETkcJgAERERkcNhAkREREQOhwkQERERORwmQERERORwmAARERGRw2ECRERERA7n/wHMHY4pGkAQQwAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "df = pd.concat(\n", + " [ # microwatts converted to milliwatts * millseconds converted to seconds\n", + " metrics_df_k1[\"layer_power_including_idle_power_micro_watt\"] * 1e-3 * metrics_df_k1[\"layer_run_time\"] * 1e-3,\n", + " metrics_df_k2[\"layer_power_including_idle_power_micro_watt\"] * 1e-3 * metrics_df_k2[\"layer_run_time\"] * 1e-3,\n", + " metrics_df_k3[\"layer_power_including_idle_power_micro_watt\"] * 1e-3 * metrics_df_k3[\"layer_run_time\"] * 1e-3,\n", + " metrics_df_k4[\"layer_power_including_idle_power_micro_watt\"] * 1e-3 * metrics_df_k4[\"layer_run_time\"] * 1e-3,\n", + " metrics_df_k5[\"layer_power_including_idle_power_micro_watt\"] * 1e-3 * metrics_df_k5[\"layer_run_time\"] * 1e-3,\n", + " ],\n", + " axis=1,\n", + ")\n", + "\n", + "\n", + "# set column names (will be displayed as plot labels)\n", + "df.columns = ['1', '2', '3', '4', '5']\n", + "\n", + "# use pandas' boxplot method\n", + "df.boxplot().set_ylabel('Energy mWs (milliWattssecond)')\n", + "df.boxplot().set_xlabel('Kernel size')" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.11" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/jetson/power_logging/notebooks/explore_pt_output_single_conv_layer.ipynb b/jetson/power_logging/notebooks/explore_pt_output_single_conv_layer.ipynb new file mode 100644 index 00000000..a138fa7f --- /dev/null +++ b/jetson/power_logging/notebooks/explore_pt_output_single_conv_layer.ipynb @@ -0,0 +1,1753 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "092683ca-8ae8-4f0f-b841-fa38b65260f9", + "metadata": {}, + "outputs": [], + "source": [ + "from pathlib import Path\n", + "import json\n", + "import matplotlib.pyplot as plt\n", + "import pandas as pd\n", + "\n", + "from utils import parse_latencies, parse_power_log, get_power_index, compute_layer_metrics_by_cycle" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "50d04548-6650-4a0e-9a58-e9c49e7bce30", + "metadata": {}, + "outputs": [], + "source": [ + "DATA_PATH = Path('../raw_data/single_conv_layer')" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "bbde6bce-f561-4508-b283-440b8cdcccde", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Average power consumed in IDLE state: 3579178.0650697174\n" + ] + } + ], + "source": [ + "with open((DATA_PATH/'idling_power.json'), 'r') as fp:\n", + " data = json.load(fp)\n", + "\n", + "avg_power = data['avg_idle_power']\n", + "print(f'Average power consumed in IDLE state: {avg_power}')" + ] + }, + { + "cell_type": "markdown", + "id": "457c527c-035d-4955-a230-90385a803b6e", + "metadata": {}, + "source": [ + "## Single Convolution Layers\n" + ] + }, + { + "cell_type": "markdown", + "id": "bd5813c0-be9c-4512-a154-abc079f70749", + "metadata": {}, + "source": [ + "### Kernel 1 Stride 1 Output 3" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "ae671960-9d2f-4cc7-89d1-53b35cbdbd7d", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 2859/2859 [00:00<00:00, 78879.61it/s]\n", + "Computing layer execution times: 3000it [00:00, 431054.50it/s]\n" + ] + } + ], + "source": [ + "model_name = 'conv_k1_s1_o3'\n", + "\n", + "with open((DATA_PATH/model_name/f'{model_name}_power_log.log'), 'r') as fp:\n", + " data = fp.readlines()\n", + "power_data = parse_power_log(data)\n", + "\n", + "with open((DATA_PATH/model_name/f'{model_name}_layerwise_latency.json'), 'r') as fp:\n", + " data = json.load(fp)\n", + "latency_data = parse_latencies(data)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "f4d50a23-75b0-4dd9-8d64-195445a02bbc", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Number of power entries for conv_k1_s1_o3: 2859\n", + "Number of TensorRT layers in conv_k1_s1_o3: 1\n", + "Number of latency entries for each layer: 3000\n", + "Inference for 3000 cycles: 3.6732 seconds\n" + ] + } + ], + "source": [ + "print(f\"Number of power entries for {model_name}: {len(power_data)}\")\n", + "print(f\"Number of TensorRT layers in {model_name}: {len(latency_data[0])}\")\n", + "print(f\"Number of latency entries for each layer: {len(latency_data)}\")\n", + "print(f\"Inference for {len(latency_data)} cycles: {(latency_data[len(latency_data)-1][0][2]-latency_data[0][0][1]).total_seconds()} seconds\")" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "431ae3c5-a518-44b5-b507-1bd345cbd268", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot([power for (_, power) in power_data])\n", + "plt.axhline(avg_power, color='purple', linestyle='--', label='Average IDLE power')\n", + "first_inference_start_index = get_power_index(power_data, latency_data[0][0][1])\n", + "last_inference_end_index = get_power_index(power_data, latency_data[2999][0][2])\n", + "plt.axvline(first_inference_start_index, color='green', label='First inference start')\n", + "plt.axvline(last_inference_end_index, color='red', label='Last inference end')\n", + "plt.legend()" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "50df5f3d-3fcb-4677-807e-36d66706b288", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Computing layer metrics...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Mapping power to layer: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████| 3000/3000 [00:00<00:00, 907727.02it/s]\n" + ] + } + ], + "source": [ + "metrics = compute_layer_metrics_by_cycle(power_data, latency_data, avg_power)\n", + "metrics_df_k1 = pd.DataFrame.from_dict(metrics)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "4be08b80-2db9-4f6e-a964-f0b269f73dbb", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
cyclelayer_power_including_idle_power_micro_wattlayer_power_excluding_idle_power_micro_wattlayer_run_time
count3000.0000001.747000e+031.747000e+033000.000000
mean1500.5000004.608916e+061.029738e+060.816979
std866.1697298.262556e+048.262556e+040.115955
min1.0000004.454208e+068.750299e+050.381344
25%750.7500004.534464e+069.552859e+050.804736
50%1500.5000004.574592e+069.954139e+050.826864
75%2250.2500004.694976e+061.115798e+060.855008
max3000.0000004.775232e+061.196054e+063.931040
\n", + "
" + ], + "text/plain": [ + " cycle layer_power_including_idle_power_micro_watt \\\n", + "count 3000.000000 1.747000e+03 \n", + "mean 1500.500000 4.608916e+06 \n", + "std 866.169729 8.262556e+04 \n", + "min 1.000000 4.454208e+06 \n", + "25% 750.750000 4.534464e+06 \n", + "50% 1500.500000 4.574592e+06 \n", + "75% 2250.250000 4.694976e+06 \n", + "max 3000.000000 4.775232e+06 \n", + "\n", + " layer_power_excluding_idle_power_micro_watt layer_run_time \n", + "count 1.747000e+03 3000.000000 \n", + "mean 1.029738e+06 0.816979 \n", + "std 8.262556e+04 0.115955 \n", + "min 8.750299e+05 0.381344 \n", + "25% 9.552859e+05 0.804736 \n", + "50% 9.954139e+05 0.826864 \n", + "75% 1.115798e+06 0.855008 \n", + "max 1.196054e+06 3.931040 " + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "metrics_df_k1.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "9dab2065-5d9d-45fb-9e01-e150634a83fd", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "cycle 3000\n", + "layer_power_including_idle_power_micro_watt 1747\n", + "layer_power_excluding_idle_power_micro_watt 1747\n", + "layer_run_time 3000\n", + "dtype: int64" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "metrics_df_k1.count()" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "e13d24ab-0ad1-40d8-b885-703cb3b47767", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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kzIyMhQfH1+h/7Rp0zRp0iR7vaSkRBEREZ6cCgAAaEA8CizZ2dkqKipyu5HO5XLp008/1auvvqqysjK3GZHdu3dr7969uvXWW+228vLyMwd2OpWXl6dOnTpVOE7Hjh3Vpk0b5efnnzOweHt7c1MuAACXEI8CS3x8vHJzc93axo0bp65du2rq1KkVLt907dq1Qv8//OEPOn78uF555ZVKZ0X279+vw4cPKywszJPyAABAI+VRYPH391d0dLRbm5+fn4KCguz2MWPGKDw8XCkpKfLx8anQv2XLlpJkt5eWlmr69Om64447FBoaqt27d2vKlCnq3LmzEhISanpeAACgEanzT7otKChQkybVf/ORl5eXvvzySy1btkzFxcVq166dbrrpJs2YMYPLPgAAQJLksCzLqu8iaqukpESBgYE6duyYAgIC6rscAABQDZ68fvNtzQAAwHgEFgAAYDwCCwAAMB6BBQAAGK/O3yVUH87eN8x3CgEA0HCcfd2uzvt/GkVgOX78uCTx8fwAADRAx48fV2BgYJV9GsXbmsvLy/XNN9/I399fDoejvssBUIfOfldYYWEhH1sANDKWZen48eNq167deT/DrVEEFgCNF5+zBEDiplsAANAAEFgAAIDxCCwAjObt7a2nn36a7xYDLnHcwwIAAIzHDAsAADAegQUAABiPwAIAAIxHYAEAAMYjsKDaBg0apIkTJ9Z3GZeEun6sn3nmGfXs2bPW40RGRmrevHn2usPh0KpVq2o9bnVV5zzGjh2rESNG2Ov83tadX/78gYupUXyXENDYrFy5Uk2bNq3vMs7r22+/VatWrS7a8SZPnqxHHnnkoh0P7rKysuTn51ffZdSZpUuXauLEiSouLnZrj4yM1MSJEwm6hiGwoME4efKkmjVrVt9l1Fp1zqN169YXqZraCQ0NvajHa9GihVq0aHFRj9kQnTp16oIE3rZt29Z4X5fLJYfDcd7viwEqw28OauSNN95Qnz595O/vr9DQUP3mN79RUVGRpDNfZtW5c2e99NJLbvvk5OTI4XAoPz9fklRcXKzx48erbdu2CggI0K9+9St98cUXdv+z0/+LFi1Shw4d5OPjc966Bg0apIcfflgPP/ywAgMD1aZNGz355JNuX11+9OhRjRkzRq1atZKvr6+GDh2qXbt22bW3bdtW7733nt2/Z8+eCgsLs9c3bNggb29v/fDDDxf0PH7+r7vIyEjNmjVL9957r/z9/XX55Zfr9ddfd9tn//79Gj16tFq3bi0/Pz/16dNHmzdvrtb4kjRixAiNHTvWXi8qKtKtt96q5s2bq0OHDlqxYkWFcX5+SWjv3r1yOBxauXKlbrjhBvn6+qpHjx7atGmT2z4LFy5URESEfH19ddttt2nu3Llq2bLleR8TqeIlIZfLpUmTJqlly5YKCgrSlClTzvs19WVlZZo8ebLCw8Pl5+envn37KiMjo1rHX7p0qVq2bKlVq1bpiiuukI+PjxISElRYWOjW77XXXlOnTp3UrFkzRUVF6Y033rC3TZ48Wbfccou9Pm/ePDkcDq1Zs8Zu69y5sxYtWmSvL1q0SN26dZOPj4+6du2qP/3pT/a2s4/722+/rYEDB8rHx+ecP6tznceHH36oqKgo+fr66te//rV++OEHLVu2TJGRkWrVqpV+97vfyeVy2fv98pJQcXGxHnzwQYWEhMjHx0fR0dH68MMP3Y7xwQcfqHv37vL29lZBQUGVz7+q1OS5OXfuXMXExMjPz08RERF66KGHVFpaKknKyMjQuHHjdOzYMTkcDjkcDj3zzDMaNGiQ9u3bp0cffdRuhxkILKiRU6dOacaMGfriiy+0atUq7d27136xczgcuvfee5WWlua2T1pamgYMGKDOnTtLkkaOHKmioiJ9/PHHys7OVq9evRQfH68jR47Y++Tn5+vPf/6zVq5cqZycnGrVtmzZMjmdTm3ZskWvvPKK5s6d6/bHf+zYsfrXv/6lDz74QJs2bZJlWbr55pt16tQpORwODRgwwH4BO3r0qLZv364ff/xRO3bskCRlZmbq6quvlq+v7wU9j1+aM2eO+vTpo3//+9966KGHNGHCBOXl5UmSSktLNXDgQB04cEAffPCBvvjiC02ZMkXl5eU1OtbZx6mwsFD/+Mc/9N577+lPf/qTHUqr8sQTT2jy5MnKyclRly5dNHr0aJ0+fVqStHHjRv32t79VcnKycnJydOONN+q5556rcY1z5szR0qVLtWTJEm3YsEFHjhzR+++/X+U+Dz/8sDZt2qT09HR9+eWXGjlypIYMGVKtF01J+uGHH/Tcc89p+fLl2rhxo4qLizVq1Ch7+/vvv6/k5GQ99thj2rZtmx588EGNGzdO//jHPyRJAwcO1IYNG+wgkJmZqTZt2ti/cwcOHNDu3bs1aNAgSdKKFSv01FNP6bnnntP27ds1a9YsPfnkk1q2bJlbXb///e+VnJys7du3KyEhoVrnMX/+fKWnp2vNmjXKyMjQbbfdptWrV2v16tV64403lJqa6hYQfq68vFxDhw7Vxo0b9eabb+o///mPZs+eLS8vL7djPP/881q0aJG++uorBQcHV/n8q0pNnptNmjTR/Pnz9dVXX2nZsmX6+9//rilTpkiS+vXrp3nz5ikgIEDffvutvv32W02ePFkrV67UZZddpmeffdZuhyEsoJoGDhxoJScnn3NbVlaWJck6fvy4ZVmWdeDAAcvLy8vavHmzZVmWdfLkSatNmzbW0qVLLcuyrH/+859WQECA9dNPP7mN06lTJys1NdWyLMt6+umnraZNm1pFRUUe1ditWzervLzcbps6darVrVs3y7Isa+fOnZYka+PGjfb277//3mrevLn1zjvvWJZlWfPnz7euvPJKy7Isa9WqVVbfvn2t4cOHW6+99pplWZY1ePBg6/HHH7/g5/Hzx7p9+/bWXXfdZa+Xl5dbwcHBdk2pqamWv7+/dfjw4XOO9/TTT1s9evSodHzLsqzhw4db99xzj2VZlpWXl2dJsrZs2WJv3759uyXJevnll+02Sdb7779vWZZl7dmzx5JkLVq0yN7+1VdfWZKs7du3W5ZlWXfeeac1bNgwt+MmJiZagYGBVT0clZ5HWFiY9cILL9jrp06dsi677DJr+PDh5zzXffv2WV5eXtaBAwfcxo2Pj7emTZt23uOnpaVZkqzPP//cbjv7uJz9Xe/Xr591//33u+03cuRI6+abb7Ysy7KOHj1qNWnSxMrKyrLKy8ut1q1bWykpKVbfvn0ty7KsN9980woPD7f37dSpk/V///d/buPNmDHDiouLsyzrv4/7vHnzzlv/L88jPz/fbnvwwQctX19f+zlsWZaVkJBgPfjgg/Z6+/bt7Z//J598YjVp0sTKy8ur8hg5OTl2W3Wef1Xx5Ll5Lu+++64VFBTkVuO5fvd+fp4wBzMsqJHs7Gzdeuutuvzyy+Xv76+BAwdKkgoKCiRJ7dq107Bhw7RkyRJJ0l//+leVlZVp5MiRkqQvvvhCpaWlCgoKsu9LaNGihfbs2aPdu3fbx2nfvr3H182vvfZat2ncuLg47dq1Sy6XS9u3b5fT6VTfvn3t7UFBQYqKitL27dslnfkX8H/+8x999913yszM1KBBgzRo0CBlZGTo1KlT+uyzz+x//V7I8/il2NhY+/8dDodCQ0PtGY+cnBxdddVVdXbvy9nHqXfv3nZb165dq3Xp5ud1np2uP1tnXl6errnmGrf+v1yvrmPHjunbb791+1k6nU716dOn0n1yc3PlcrnUpUsXt59XZmam28+rKk6nU1dffbW9fvZxOfv7s337dvXv399tn/79+9vbW7ZsqR49eigjI0O5ublq1qyZHnjgAf373/9WaWmpMjMz7efTiRMntHv3bt13331u9c6cObNCvVWd97n4+vqqU6dO9npISIgiIyPd7hEKCQmpdFYtJydHl112mbp06VLpMZo1a+b2+1Cd519VPHluStLf/vY3xcfHKzw8XP7+/rr77rt1+PBh+5IRGhZuuoXHTpw4oYSEBCUkJGjFihVq27atCgoKlJCQoJMnT9r9xo8fr7vvvlsvv/yy0tLSdOedd9pTtaWlpQoLCzvnvQM/f1Gsj3ckxMTEqHXr1srMzFRmZqaee+45hYaG6vnnn1dWVpZOnTqlfv36Sbq45/HLmygdDod9yad58+YejdWkSZMK93qcb0q+un5e59ngWJtLU3WptLRUXl5eys7Odrt0Iemi3sx79kXW29tbAwcOVOvWrdWtWzdt2LBBmZmZeuyxx+x6pTP3/fz8RV5Shfo9/R071+9TVb9jv1Sd37nmzZvX6T0gnjw39+7dq1tuuUUTJkzQc889p9atW2vDhg267777dPLkSftvERoOAgs8tmPHDh0+fFizZ89WRESEJOlf//pXhX4333yz/Pz89Nprr2nNmjX69NNP7W29evXSwYMH5XQ6FRkZWaf1/fJG088//1xXXHGFvLy81K1bN50+fVqbN2+2/7AdPnxYeXl56t69u6Qzf6Svv/56/eUvf9FXX32l6667Tr6+viorK1Nqaqr69OljvzhcyPPwRGxsrBYtWqQjR45Ua5albdu2btfmXS6Xtm3bphtuuEHSmVmD06dPKzs7255NyMvLq/D2T09FRUUpKyvLre2X69UVGBiosLAwbd68WQMGDJAku+ZevXqdc5+rrrpKLpdLRUVFuv7662t03NOnT+tf//qXPTN09nHp1q2bJKlbt27auHGj7rnnHnufjRs32r9f0pmZgiVLlsjpdGrIkCGSzoSYt956Szt37rRnCUJCQtSuXTt9/fXXSkxMrFG9F0psbKz279+vnTt3VjnL8nPVef5VxZPnZnZ2tsrLyzVnzhz7nUnvvPOO23jNmjVzu6n4fO2oX1wSgscuv/xyNWvWTH/84x/19ddf64MPPtCMGTMq9PPy8tLYsWM1bdo0XXHFFYqLi7O3DR48WHFxcRoxYoTWrl2rvXv36rPPPtMTTzxxzvDjiYKCAk2aNEl5eXl666239Mc//lHJycmSpCuuuELDhw/X/fffrw0bNuiLL77QXXfdpfDwcA0fPtwe4+yLR8+ePdWiRQs1adJEAwYM0IoVK+zp+gt9Hp4YPXq0QkNDNWLECG3cuFFff/21/vznP1d4h85Zv/rVr/TRRx/po48+0o4dOzRhwgS3MBIVFaUhQ4bowQcf1ObNm5Wdna3x48d7PJPzS4888ohWr16tuXPnateuXUpNTdXHH39c43+FJycna/bs2Vq1apV27Nihhx56qMpQ1aVLFyUmJmrMmDFauXKl9uzZoy1btiglJUUfffRRtY7ZtGlTPfLII/bjMnbsWF177bV2gPmf//kfLV26VK+99pp27dqluXPnauXKlZo8ebI9xoABA3T8+HF9+OGHdjgZNGiQVqxYobCwMLcAMH36dKWkpGj+/PnauXOncnNzlZaWprlz53r+gNWhgQMHasCAAbrjjju0bt067dmzRx9//LHbu51+qbrPv6pU97nZuXNnnTp1yv479cYbb2jBggVuY0VGRqq0tFTr16/X999/b18qioyM1KeffqoDBw7o+++/r8GjgwuBwAKPtW3bVkuXLtW7776r7t27a/bs2RXewnzW2enXcePGubU7HA6tXr1aAwYM0Lhx49SlSxeNGjVK+/btU0hISK3qGzNmjH788Uddc801SkpKUnJysh544AF7e1pamnr37q1bbrlFcXFxsixLq1evdpsOHzhwoFwul9v18EGDBlVou5Dn4YlmzZpp7dq1Cg4O1s0336yYmJgK79j4uXvvvVf33HOPxowZo4EDB6pjx4727MpZaWlpateunQYOHKjbb79dDzzwgIKDg2tVZ//+/bVgwQLNnTtXPXr00Jo1a/Too49W663e5/LYY4/p7rvv1j333KO4uDj5+/vrtttuq3KftLQ0jRkzRo899piioqI0YsQIZWVl6fLLL6/WMX19fTV16lT95je/Uf/+/dWiRQu9/fbb9vYRI0bolVde0UsvvaQrr7xSqampSktLc/u9adWqlWJiYtS2bVt17dpV0pkQU15e7vaiK525tLpo0SKlpaUpJiZGAwcO1NKlS9WhQ4dqPkoXzp///GddffXVGj16tLp3764pU6acd2aiOs+/qlT3udmjRw/NnTtXzz//vKKjo7VixQqlpKS4jdWvXz/99re/1Z133qm2bdvqhRdekCQ9++yz2rt3rzp16lTre89QdxzWLy9kA3Xon//8p+Lj41VYWHhRXsAHDRqknj178vHhDcj999+vHTt26J///Gd9l3JelX0yKoALj3tYcEGUlZXpu+++0zPPPKORI0de1NkGmO2ll17SjTfeKD8/P3388cdatmyZ2wehAcC5cEkIF8Rbb72l9u3bq7i42J5mra2CggK3t3b+cjn7lmrTNZbzqKktW7boxhtvVExMjBYsWKD58+dr/PjxkqQrr7yy0sflfJ/eWheGDh1a6fFnzZp1wY9fVxrqeTTUunFxcEkIDcbp06e1d+/eSrdHRkbK6TR/0rCxnMeFsG/fvkrfXh0SEiJ/f/8LevwDBw7oxx9/POe21q1bN5jveGqo59FQ68bFQWABAADG45IQAAAwHoEFAAAYj8ACAACMR2ABAADGI7AAAADjEVgAAIDxCCwAAMB4/w/NgmybnH8WqgAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "metrics_df_k1.boxplot(column='layer_power_including_idle_power_micro_watt', grid=False)" + ] + }, + { + "cell_type": "markdown", + "id": "7a171f59-3afa-4902-8cce-11e153df1586", + "metadata": { + "jp-MarkdownHeadingCollapsed": true + }, + "source": [ + "### Kernel 1 Stride 1 Output 6" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "5c43603b-a0c0-4725-96a9-5dda4585b2f4", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 3006/3006 [00:00<00:00, 99088.17it/s]\n", + "Computing layer execution times: 3000it [00:00, 476914.49it/s]\n" + ] + } + ], + "source": [ + "model_name = 'conv_k1_s1_o6'\n", + "\n", + "with open((DATA_PATH/model_name/f'{model_name}_power_log.log'), 'r') as fp:\n", + " data = fp.readlines()\n", + "power_data = parse_power_log(data)\n", + "\n", + "with open((DATA_PATH/model_name/f'{model_name}_layerwise_latency.json'), 'r') as fp:\n", + " data = json.load(fp)\n", + "latency_data = parse_latencies(data)" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "811cd848-c95a-430d-840a-1442119757d7", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Number of power entries for conv_k1_s1_o6: 3006\n", + "Number of TensorRT layers in conv_k1_s1_o6: 1\n", + "Number of latency entries for each layer: 3000\n", + "Inference for 3000 cycles: 3.760839 seconds\n" + ] + } + ], + "source": [ + "print(f\"Number of power entries for {model_name}: {len(power_data)}\")\n", + "print(f\"Number of TensorRT layers in {model_name}: {len(latency_data[0])}\")\n", + "print(f\"Number of latency entries for each layer: {len(latency_data)}\")\n", + "print(f\"Inference for {len(latency_data)} cycles: {(latency_data[len(latency_data)-1][0][2]-latency_data[0][0][1]).total_seconds()} seconds\")" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "74c267eb-b722-43dc-a7c6-8e95712a40a6", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot([power for (_, power) in power_data])\n", + "plt.axhline(avg_power, color='purple', linestyle='--', label='Average IDLE power')\n", + "first_inference_start_index = get_power_index(power_data, latency_data[0][0][1])\n", + "last_inference_end_index = get_power_index(power_data, latency_data[2999][0][2])\n", + "plt.axvline(first_inference_start_index, color='green', label='First inference start')\n", + "plt.axvline(last_inference_end_index, color='red', label='Last inference end')\n", + "plt.legend()" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "f181155f-1e23-4821-b519-b360ae154ae6", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Computing layer metrics...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Mapping power to layer: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████| 3000/3000 [00:00<00:00, 836185.01it/s]\n" + ] + } + ], + "source": [ + "metrics = compute_layer_metrics_by_cycle(power_data, latency_data, avg_power)\n", + "metrics_df_k2 = pd.DataFrame.from_dict(metrics)" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "9b178496-105f-4b88-b3c5-13d5cfe74d64", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
cyclelayer_power_including_idle_power_micro_wattlayer_power_excluding_idle_power_micro_wattlayer_run_time
count3000.0000001.840000e+031.840000e+033000.000000
mean1500.5000004.732443e+061.153265e+060.841712
std866.1697294.858581e+044.858581e+040.126551
min1.0000004.414080e+068.349019e+050.389792
25%750.7500004.694976e+061.115798e+060.842368
50%1500.5000004.735104e+061.155926e+060.847296
75%2250.2500004.775232e+061.196054e+060.860648
max3000.0000004.815360e+061.236182e+063.521376
\n", + "
" + ], + "text/plain": [ + " cycle layer_power_including_idle_power_micro_watt \\\n", + "count 3000.000000 1.840000e+03 \n", + "mean 1500.500000 4.732443e+06 \n", + "std 866.169729 4.858581e+04 \n", + "min 1.000000 4.414080e+06 \n", + "25% 750.750000 4.694976e+06 \n", + "50% 1500.500000 4.735104e+06 \n", + "75% 2250.250000 4.775232e+06 \n", + "max 3000.000000 4.815360e+06 \n", + "\n", + " layer_power_excluding_idle_power_micro_watt layer_run_time \n", + "count 1.840000e+03 3000.000000 \n", + "mean 1.153265e+06 0.841712 \n", + "std 4.858581e+04 0.126551 \n", + "min 8.349019e+05 0.389792 \n", + "25% 1.115798e+06 0.842368 \n", + "50% 1.155926e+06 0.847296 \n", + "75% 1.196054e+06 0.860648 \n", + "max 1.236182e+06 3.521376 " + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "metrics_df_k2.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "56d3e44f-6121-4864-8b1a-4a518ff4e1c4", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "cycle 3000\n", + "layer_power_including_idle_power_micro_watt 1840\n", + "layer_power_excluding_idle_power_micro_watt 1840\n", + "layer_run_time 3000\n", + "dtype: int64" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "metrics_df_k2.count()" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "e30edc4b-a127-4e82-8452-2643f8c51045", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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q1SwJLm6usrLy8tuAVB/DB06VJ999plcXFz01FNPKSsrS0899ZRcXFz02WefEVqABshmGIZR2c4rV67U3XffLScnJ7OttLRUNptNjRo1UnFxsd26Sxk2bJicnZ314Ycfau/evQoNDdV//vMfde3a1ezTr18/de3aVW+++eYV91dYWChvb28VFBQQXoA67syZM3J3d5eLi4tOnjwpFxcXc11JSYk8PT1VUlKi06dPq0mTJrVYKYDqcuT926ERlujoaGVmZiojI8NcevToobi4OGVkZFQqrJSWliozM1OBgYGSpLZt2yogIEBr1661O4EtW7aoT58+jpQHoB548sknJUkTJ060CyuS5OLiYt5G4WI/AA2DsyOdPT09FRERYdfm4eEhX19fsz0+Pl5BQUHmHJcXX3xRN954o9q3b6/8/Hy9+uqrOnDggMaOHStJ5n1cZs6cqQ4dOqht27Z69tln1apVK4Z9gQbo4j2YLv6N+K0xY8bolVde4V5NQANT43e6zcnJ0ZEjR8zHv/zyix566CF16tRJd955pwoLC/Xtt9+qc+fOZp/Jkyfr8ccf18MPP6yePXuqqKhIq1evrvQ8GQD1R4cOHSRJCxYsqHD9woUL7foBaBgcmsNiVcxhAeoP5rAADcdVm8MCAFdbkyZNNGTIEDOcTJkyRbt379aUKVPMsDJkyBDCCtDAMMICwJIufrT5t4YMGXLJu2ADqFscef92aNItAFwrK1eu1JkzZ/Tkk09qz5496tChg1599VVGVoAGisACwLKaNGmit956q7bLAGABzGEBAACWR2ABAACWR2ABAACWR2ABAACWR2ABAACWR2ABAACWR2ABAACWR2ABAACWR2ABAACWR2ABAACWR2ABAACWR2ABAACWR2ABAACWR2ABAACWR2ABAACWR2ABAACWR2ABAACWR2ABAACWR2ABAACWR2ABAACWR2ABAACWR2ABAACWR2ABYFmHDh2Sj4+PGjduLB8fHx06dKi2SwJQS5xruwAAqIirq6tKSkrMx7/88otat24tFxcXFRcX12JlAGoDIywALOfXYSUwMFDLli1TYGCgJKmkpESurq61WR6AWkBgAWAphw4dMsPK8ePHdfjwYY0cOVKHDx/W8ePHJV0ILVweAhqWagWW2bNny2azafz48ZXqn5qaKpvNpqFDh9q1jxo1SjabzW4ZMGBAdUoDUEdFRkZKujCy4uPjY7fOx8dHAQEBdv0ANAxVDixpaWlKTk5WVFRUpfrv379fkyZN0i233FLh+gEDBujIkSPm8uGHH1a1NAB12MmTJyVJL7/8coXrZ86cadcPQMNQpcBSVFSkuLg4paSkqHnz5lfsX1paqri4OE2fPl3t2rWrsI+rq6sCAgLMpTL7BVD/eHp6SpKmTJlS4fpp06bZ9QPQMFQpsCQkJGjQoEGKiYmpVP8XX3xRfn5+GjNmzCX7rFu3Tn5+fgoLC9O4cePMa9UVKS4uVmFhod0CoH7IzMyUJB05ckQnTpywW3fixAkdPXrUrh+AhsHhwJKamqpt27YpKSmpUv03btyohQsXKiUl5ZJ9BgwYoGXLlmnt2rV6+eWXtX79eg0cOFClpaUV9k9KSpK3t7e5BAcHO3oaACwqKChILi4ukiRfX18FBgZq4cKFCgwMlK+vryTJxcVFQUFBtVkmgGvMofuw5ObmKjExUd98843c3Nyu2P/kyZMaOXKkUlJS1KJFi0v2u++++8z/j4yMVFRUlEJDQ7Vu3TpFR0eX6z916lRNnDjRfFxYWEhoAeqR4uJi86PNR48e1dixY8113IcFaJgcCizp6enKy8tTt27dzLbS0lJt2LBBb731loqLi+Xk5GSuy87O1v79+zV48GCzrays7MKBnZ21a9cuhYaGljtOu3bt1KJFC2VlZVUYWFxdXbkPA1DPFRcX69ChQ4qMjNTJkyfl6empzMxMRlaABsqhwBIdHV3uuvHo0aMVHh6uKVOm2IUVSQoPDy/Xf9q0aTp58qTefPPNS46KHDx4UMePHzdvFAWgYQoKCio3jwVAw+RQYPH09FRERIRdm4eHh3x9fc32+Ph4BQUFKSkpSW5ubuX6N2vWTJLM9qKiIk2fPl333HOPAgIClJ2drcmTJ6t9+/aKjY2t6nkBAIB6pMa/SygnJ0eNGlV+Lq+Tk5N++OEHLV26VPn5+WrVqpXuuOMOzZgxg8s+AABAkmQzDMOo7SKqq7CwUN7e3iooKJCXl1dtlwMAACrBkfdvvksIAABYHoEFAABYHoEFAABYHoEFAABYHoEFAABYHoEFAABYHoEFAABYHoEFAABYHoEFAABYHoEFAABYHoEFAABYHoEFAABYHoEFAABYHoEFAABYHoEFAABYHoEFAABYHoEFAABYHoEFAABYnnNtFwAAl1JSUqJ33nlH2dnZCg0N1aOPPioXF5faLgtALSCwALCkyZMn64033tD58+fNtieffFITJkzQK6+8UouVAagNXBICYDmTJ0/Wq6++Kl9fX6WkpOjIkSNKSUmRr6+vXn31VU2ePLm2SwRwjdkMwzBqu4jqKiwslLe3twoKCuTl5VXb5QCohpKSEnl4eMjX11cHDx6Us/P/BoLPnz+v1q1b6/jx4zp16hSXh4A6zpH3b0ZYAFjKO++8o/Pnz2vmzJl2YUWSnJ2d9eKLL+r8+fN65513aqlCALWBwALAUrKzsyVJd911V4XrL7Zf7AegYSCwALCU0NBQSdIXX3xR4fqL7Rf7AWgYmMMCwFKYwwI0HMxhAVBnubi4aMKECTp27Jhat26t9957T4cPH9Z7772n1q1b69ixY5owYQJhBWhguA8LAMu5eJ+VN954Q4888ojZ7uzsrCeffJL7sAANEJeEAFgWd7oF6jdH3r8JLAAAoFYwhwUAANQr1Qoss2fPls1m0/jx4yvVPzU1VTabTUOHDrVrNwxDzz33nAIDA9WkSRPFxMRoz5491SkNAADUI1UOLGlpaUpOTlZUVFSl+u/fv1+TJk3SLbfcUm7dK6+8onnz5mn+/PnasmWLPDw8FBsbq7Nnz1a1PAAAUI9UKbAUFRUpLi5OKSkpat68+RX7l5aWKi4uTtOnT1e7du3s1hmGoblz52ratGkaMmSIoqKitGzZMh0+fFgrV66sSnkAAKCeqVJgSUhI0KBBgxQTE1Op/i+++KL8/Pw0ZsyYcuv27duno0eP2u3L29tbvXv31ubNmyvcX3FxsQoLC+0WAABQfzl8H5bU1FRt27ZNaWlpleq/ceNGLVy4UBkZGRWuP3r0qCTJ39/frt3f399c91tJSUmaPn165YsGAAB1mkMjLLm5uUpMTNTy5cvl5uZ2xf4nT57UyJEjlZKSohYtWlS5yN+aOnWqCgoKzCU3N7fG9g0AAKzHoRGW9PR05eXlqVu3bmZbaWmpNmzYoLfeekvFxcVycnIy12VnZ2v//v0aPHiw2VZWVnbhwM7O2rVrlwICAiRJx44dU2BgoNnv2LFj6tq1a4V1uLq6ytXV1ZHSAQBAHeZQYImOjlZmZqZd2+jRoxUeHq4pU6bYhRVJCg8PL9d/2rRpOnnypN58800FBwercePGCggI0Nq1a82AUlhYqC1btmjcuHFVOCUAAFDfOBRYPD09FRERYdd28VtVL7bHx8crKChISUlJcnNzK9e/WbNmkmTXPn78eM2cOVMdOnRQ27Zt9eyzz6pVq1bl7tdyKRdv1svkWwAA6o6L79uVuel+jX/5YU5Ojho1cuzDR5MnT9apU6f08MMPKz8/XzfffLNWr15dqXky0oW5MpIUHBzscL0AAKB2nTx5Ut7e3pftUy++S6isrEyHDx+Wp6enbDZbbZcDoAYVFhYqODhYubm5fFcYUM8YhqGTJ0+qVatWVxzsqBeBBUD9xZebApD48kMAAFAHEFgAAIDlEVgAWJqrq6uef/557r0ENHDMYQEAAJbHCAsAALA8AgsAALA8AgsAALA8AgsAALA8AgsqrX///ho/fnxtl9Eg1PRz/cILL1zy288dERISorlz55qPbTabVq5cWe39VlZlzmPUqFF230PG723N+e3PH7iWavy7hABU34oVK9S4cePaLuOKjhw5oubNm1+z402aNEmPP/74NTse7KWlpcnDw6O2y6gxS5Ys0fjx45Wfn2/XHhISovHjxxN0LYbAgjqjpKRELi4utV1GtVXmPHx8fK5RNdUTEBBwTY/XtGlTNW3a9Joesy46d+7cVQm8LVu2rPK2paWlstlsDn85LnARvzmokvfff189evSQp6enAgICdP/99ysvL0/ShS+zat++vV577TW7bTIyMmSz2ZSVlSVJys/P19ixY9WyZUt5eXnpd7/7nb7//nuz/8Xh/wULFqht27aV+vbu/v3767HHHtNjjz0mb29vtWjRQs8++6zdV5f/8ssvio+PV/PmzeXu7q6BAwdqz549Zu0tW7bUJ598Yvbv2rWrAgMDzccbN26Uq6urTp8+fVXP49f/ugsJCdGsWbP04IMPytPTU9ddd53ee+89u20OHjyo4cOHy8fHRx4eHurRo4e2bNlSqf1L0tChQzVq1CjzcV5engYPHqwmTZqobdu2Wr58ebn9/PqS0P79+2Wz2bRixQrddtttcnd3V5cuXbR582a7bVJSUhQcHCx3d3fdfffdmjNnjpo1a3bF50Qqf0motLRUEydOVLNmzeTr66vJkydf8Wvqi4uLNWnSJAUFBcnDw0O9e/fWunXrKnX8JUuWqFmzZlq5cqU6dOggNzc3xcbGKjc3167fu+++q9DQULm4uCgsLEzvv/++uW7SpEm66667zMdz586VzWbT6tWrzbb27dtrwYIF5uMFCxaoU6dOcnNzU3h4uN555x1z3cXn/aOPPlK/fv3k5uZW4c+qovP44osvFBYWJnd3d/3hD3/Q6dOntXTpUoWEhKh58+b605/+pNLSUnO7314Sys/P1yOPPCJ/f3+5ubkpIiJCX3zxhd0xPv/8c3Xu3Fmurq7Kycm57Ovvcqry2pwzZ44iIyPl4eGh4OBgPfrooyoqKpIkrVu3TqNHj1ZBQYFsNptsNpteeOEF9e/fXwcOHNCECRPMdlgDgQVVcu7cOc2YMUPff/+9Vq5cqf3795tvdjabTQ8++KAWL15st83ixYt16623qn379pKkYcOGKS8vT1999ZXS09PVrVs3RUdH68SJE+Y2WVlZ+tvf/qYVK1YoIyOjUrUtXbpUzs7O2rp1q958803NmTPH7o//qFGj9O9//1uff/65Nm/eLMMwdOedd+rcuXOy2Wy69dZbzTewX375RTt27NCZM2e0c+dOSdL69evVs2dPubu7X9Xz+K3XX39dPXr00H/+8x89+uijGjdunHbt2iVJKioqUr9+/XTo0CF9/vnn+v777zV58mSVlZVV6VgXn6fc3Fz985//1CeffKJ33nnHDKWX88wzz2jSpEnKyMhQx44dNXz4cJ0/f16StGnTJv3xj39UYmKiMjIydPvtt+ull16qco2vv/66lixZokWLFmnjxo06ceKEPv3008tu89hjj2nz5s1KTU3VDz/8oGHDhmnAgAGVetOUpNOnT+ull17SsmXLtGnTJuXn5+u+++4z13/66adKTEzUE088oe3bt+uRRx7R6NGj9c9//lOS1K9fP23cuNEMAuvXr1eLFi3M37lDhw4pOztb/fv3lyQtX75czz33nF566SXt2LFDs2bN0rPPPqulS5fa1fXUU08pMTFRO3bsUGxsbKXOY968eUpNTdXq1au1bt063X333Vq1apVWrVql999/X8nJyXYB4dfKyso0cOBAbdq0SR988IH++9//avbs2XJycrI7xssvv6wFCxboxx9/lJ+f32Vff5dTlddmo0aNNG/ePP34449aunSp/vGPf2jy5MmSpJtuuklz586Vl5eXjhw5oiNHjmjSpElasWKFWrdurRdffNFsh0UYQCX169fPSExMrHBdWlqaIck4efKkYRiGcejQIcPJycnYsmWLYRiGUVJSYrRo0cJYsmSJYRiG8a9//cvw8vIyzp49a7ef0NBQIzk52TAMw3j++eeNxo0bG3l5eQ7V2KlTJ6OsrMxsmzJlitGpUyfDMAxj9+7dhiRj06ZN5vqff/7ZaNKkifHXv/7VMAzDmDdvnnH99dcbhmEYK1euNHr37m0MGTLEePfddw3DMIyYmBjj6aefvurn8evnuk2bNsaIESPMx2VlZYafn59ZU3JysuHp6WkcP368wv09//zzRpcuXS65f8MwjCFDhhgPPPCAYRiGsWvXLkOSsXXrVnP9jh07DEnGG2+8YbZJMj799FPDMAxj3759hiRjwYIF5voff/zRkGTs2LHDMAzDuPfee41BgwbZHTcuLs7w9va+3NNxyfMIDAw0XnnlFfPxuXPnjNatWxtDhgyp8FwPHDhgODk5GYcOHbLbb3R0tDF16tQrHn/x4sWGJOO7774z2y4+Lxd/12+66SbjoYcesttu2LBhxp133mkYhmH88ssvRqNGjYy0tDSjrKzM8PHxMZKSkozevXsbhmEYH3zwgREUFGRuGxoaavzlL3+x29+MGTOMPn36GIbxv+d97ty5V6z/t+eRlZVltj3yyCOGu7u7+Ro2DMOIjY01HnnkEfNxmzZtzJ//119/bTRq1MjYtWvXZY+RkZFhtlXm9Xc5jrw2K/Lxxx8bvr6+djVW9Lv36/OEdTDCgipJT0/X4MGDdd1118nT01P9+vWTJOXk5EiSWrVqpUGDBmnRokWSpP/7v/9TcXGxhg0bJkn6/vvvVVRUJF9fX3NeQtOmTbVv3z5lZ2ebx2nTpo3D181vvPFGu2HcPn36aM+ePSotLdWOHTvk7Oys3r17m+t9fX0VFhamHTt2SLrwL+D//ve/+umnn7R+/Xr1799f/fv317p163Tu3Dl9++235r9+r+Z5/FZUVJT5/zabTQEBAeaIR0ZGhm644YYam/ty8Xnq3r272RYeHl6pSze/rvPicP3FOnft2qVevXrZ9f/t48oqKCjQkSNH7H6Wzs7O6tGjxyW3yczMVGlpqTp27Gj381q/fr3dz+tynJ2d1bNnT/Pxxefl4u/Pjh071LdvX7tt+vbta65v1qyZunTponXr1ikzM1MuLi56+OGH9Z///EdFRUVav369+Xo6deqUsrOzNWbMGLt6Z86cWa7ey513Rdzd3RUaGmo+9vf3V0hIiN0cIX9//0uOqmVkZKh169bq2LHjJY/h4uJi9/tQmdff5Tjy2pSkv//974qOjlZQUJA8PT01cuRIHT9+3LxkhLqFSbdw2KlTpxQbG6vY2FgtX75cLVu2VE5OjmJjY1VSUmL2Gzt2rEaOHKk33nhDixcv1r333msO1RYVFSkwMLDCuQO/flOsjU8kREZGysfHR+vXr9f69ev10ksvKSAgQC+//LLS0tJ07tw53XTTTZKu7Xn8dhKlzWYzL/k0adLEoX01atSo3FyPKw3JV9av67wYHKtzaaomFRUVycnJSenp6XaXLiRd08m8F99kXV1d1a9fP/n4+KhTp07auHGj1q9fryeeeMKsV7ow7+fXb/KSytXv6O9YRb9Pl/sd+63K/M41adKkRueAOPLa3L9/v+666y6NGzdOL730knx8fLRx40aNGTNGJSUl5t8i1B0EFjhs586dOn78uGbPnq3g4GBJ0r///e9y/e688055eHjo3Xff1erVq7VhwwZzXbdu3XT06FE5OzsrJCSkRuv77UTT7777Th06dJCTk5M6deqk8+fPa8uWLeYftuPHj2vXrl3q3LmzpAt/pG+55RZ99tln+vHHH3XzzTfL3d1dxcXFSk5OVo8ePcw3h6t5Ho6IiorSggULdOLEiUqNsrRs2dLu2nxpaam2b9+u2267TdKFUYPz588rPT3dHE3YtWtXuY9/OiosLExpaWl2bb99XFne3t4KDAzUli1bdOutt0qSWXO3bt0q3OaGG25QaWmp8vLydMstt1TpuOfPn9e///1vc2To4vPSqVMnSVKnTp20adMmPfDAA+Y2mzZtMn+/pAsjBYsWLZKzs7MGDBgg6UKI+fDDD7V7925zlMDf31+tWrXS3r17FRcXV6V6r5aoqCgdPHhQu3fvvuwoy69V5vV3OY68NtPT01VWVqbXX3/d/GTSX//6V7v9ubi42E0qvlI7aheXhOCw6667Ti4uLvrzn/+svXv36vPPP9eMGTPK9XNyctKoUaM0depUdejQQX369DHXxcTEqE+fPho6dKjWrFmj/fv369tvv9UzzzxTYfhxRE5OjiZOnKhdu3bpww8/1J///GclJiZKkjp06KAhQ4booYce0saNG/X9999rxIgRCgoK0pAhQ8x9XHzz6Nq1q5o2bapGjRrp1ltv1fLly83h+qt9Ho4YPny4AgICNHToUG3atEl79+7V3/72t3Kf0Lnod7/7nb788kt9+eWX2rlzp8aNG2cXRsLCwjRgwAA98sgj2rJli9LT0zV27FiHR3J+6/HHH9eqVas0Z84c7dmzR8nJyfrqq6+q/K/wxMREzZ49WytXrtTOnTv16KOPXjZUdezYUXFxcYqPj9eKFSu0b98+bd26VUlJSfryyy8rdczGjRvr8ccfN5+XUaNG6cYbbzQDzJNPPqklS5bo3Xff1Z49ezRnzhytWLFCkyZNMvdx66236uTJk/riiy/McNK/f38tX75cgYGBdgFg+vTpSkpK0rx587R7925lZmZq8eLFmjNnjuNPWA3q16+fbr31Vt1zzz365ptvtG/fPn311Vd2n3b6rcq+/i6nsq/N9u3b69y5c+bfqffff1/z58+321dISIiKioq0du1a/fzzz+alopCQEG3YsEGHDh3Szz//XIVnB1cDgQUOa9mypZYsWaKPP/5YnTt31uzZs8t9hPmii8Ovo0ePtmu32WxatWqVbr31Vo0ePVodO3bUfffdpwMHDsjf379a9cXHx+vMmTPq1auXEhISlJiYqIcffthcv3jxYnXv3l133XWX+vTpI8MwtGrVKrvh8H79+qm0tNTuenj//v3LtV3N83CEi4uL1qxZIz8/P915552KjIws94mNX3vwwQf1wAMPKD4+Xv369VO7du3M0ZWLFi9erFatWqlfv376/e9/r4cfflh+fn7VqrNv376aP3++5syZoy5dumj16tWaMGFCpT7qXZEnnnhCI0eO1AMPPKA+ffrI09NTd99992W3Wbx4seLj4/XEE08oLCxMQ4cOVVpamq677rpKHdPd3V1TpkzR/fffr759+6pp06b66KOPzPVDhw7Vm2++qddee03XX3+9kpOTtXjxYrvfm+bNmysyMlItW7ZUeHi4pAshpqyszO5NV7pwaXXBggVavHixIiMj1a9fPy1ZskRt27at5LN09fztb39Tz549NXz4cHXu3FmTJ0++4shEZV5/l1PZ12aXLl00Z84cvfzyy4qIiNDy5cuVlJRkt6+bbrpJf/zjH3XvvfeqZcuWeuWVVyRJL774ovbv36/Q0NBqzz1DzbEZv72QDdSgf/3rX4qOjlZubu41eQPv37+/unbtyu3D65CHHnpIO3fu1L/+9a/aLuWKLnVnVABXH3NYcFUUFxfrp59+0gsvvKBhw4Zd09EGWNtrr72m22+/XR4eHvrqq6+0dOlSuxuhAUBFuCSEq+LDDz9UmzZtlJ+fbw6zVldOTo7dRzt/u1z8SLXV1ZfzqKqtW7fq9ttvV2RkpObPn6958+Zp7NixkqTrr7/+ks/Lle7eWhMGDhx4yePPmjXrqh+/ptTV86irdePa4JIQ6ozz589r//79l1wfEhIiZ2frDxrWl/O4Gg4cOHDJj1f7+/vL09Pzqh7/0KFDOnPmTIXrfHx86sx3PNXV86irdePaILAAAADL45IQAACwPAILAACwPAILAACwPAILAACwPAILAACwPAILAACwPAILAACwvP8HhpbbmHCgDeIAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "metrics_df_k2.boxplot(column='layer_power_including_idle_power_micro_watt', grid=False)" + ] + }, + { + "cell_type": "markdown", + "id": "1c568ab1-e5d5-49a6-913e-57eae02cd464", + "metadata": { + "jp-MarkdownHeadingCollapsed": true + }, + "source": [ + "### Kernel 1 Stride 1 Output 12" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "bc91735e-e9aa-4576-b444-81ab76cff484", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 3402/3402 [00:00<00:00, 66054.48it/s]\n", + "Computing layer execution times: 3000it [00:00, 488751.68it/s]\n" + ] + } + ], + "source": [ + "model_name = 'conv_k1_s1_o12'\n", + "\n", + "with open((DATA_PATH/model_name/f'{model_name}_power_log.log'), 'r') as fp:\n", + " data = fp.readlines()\n", + "power_data = parse_power_log(data)\n", + "\n", + "with open((DATA_PATH/model_name/f'{model_name}_layerwise_latency.json'), 'r') as fp:\n", + " data = json.load(fp)\n", + "latency_data = parse_latencies(data)" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "12481a42-0095-4903-bb43-f5bc9ac3a53d", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Number of power entries for conv_k1_s1_o12: 3402\n", + "Number of TensorRT layers in conv_k1_s1_o12: 1\n", + "Number of latency entries for each layer: 3000\n", + "Inference for 3000 cycles: 4.275921 seconds\n" + ] + } + ], + "source": [ + "print(f\"Number of power entries for {model_name}: {len(power_data)}\")\n", + "print(f\"Number of TensorRT layers in {model_name}: {len(latency_data[0])}\")\n", + "print(f\"Number of latency entries for each layer: {len(latency_data)}\")\n", + "print(f\"Inference for {len(latency_data)} cycles: {(latency_data[len(latency_data)-1][0][2]-latency_data[0][0][1]).total_seconds()} seconds\")" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "98f3a4e8-c3a3-4b47-8fd7-b776fdec2e1f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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9++XansUNGnSJDx8+BA7duwo87yKc/nyZfzwww/43//+h19//RUnT57EG2+8IY1fvHgxYmNjsWDBApw5cwY9evTA888/j0uXLgEAunTpgvj4eKn83r174eXlJQ07evQocnNz0b59ewCl/8yIKiuz2wTj4uJw4sQJHD16tETl//jjD6xcuRKnTp0q8TJiYmIQHR1tbtUsxhAkyuPSEkNrDXtIrRxiXGKKHNegVwMM2TJEer/AZwFys0z3VxHUJQjD44dL7xcHL0bW31mFys0Ws82u48qVK/HKK68AACIiIpCeno69e/eia9eu6NGjB5ydnbFx40a8+uqrAIB169bh+eefh6urK7RaLT788EPs3LkTYWFhAIC6devijz/+wNKlS9GlSxdpOe+//z6ee+456b2HhweaN28uvZ87dy42btyIX375BePHj8eff/6JnTt34ujRo2jTpg0AYMWKFWjQoIE0zR9//IEjR44gNTUVKpUKALBgwQJs2rQJGzZswOjRo83eHgUZrjW5fv16iadJSEiAi4vxhfWvvPIKvv766yKnyc7Oxpo1axAQEAAA+Pzzz9G7d2/ExsbC19cXCxYswNSpU/Hyyy8DAD766CPs2bMHixYtwpdffomuXbtiwoQJuHv3LmxtbXH+/HnMmjUL8fHxGDNmDOLj49G2bVs4OTmV6TMjqqzMCis3b97EhAkTsGPHDjg4ODyx/MOHD/Hqq69i+fLlxTajPi4qKgpvv/229D4jIwOBgYHmVLVMbKSwYvm0YrhFWsmsQhaQmJiII0eOYOPGjQDyT2EMGjQIK1euRNeuXWFra4uXXnoJa9euxauvvorMzEz8/PPPiIuLA5DfIpCVlVXogJaTk4OWLVsaDTMEDgONRoM5c+Zgy5YtSE5ORl5eHh49eiS1rCQmJsLW1hatWrWSpqlfv77RqePTp09Do9HA09PTaN6PHj3ClStXyrh1ILUwmdOfSEhICH755RejYWq1uthpateuLQUVAAgLC4Ner0diYiKcnJxw+/ZtdOjQwWiaDh06SKe7mjZtCg8PD+zduxf29vZo2bIl+vTpgy+//BIApPAJlO0zI6qszAorx48fR2pqqtGPj06nw759+/DFF19Aq9Uaddl85coVXL9+HX379pWGGR4SZ2tri8TERNSrV6/QclQqlfRfljXYlmPfK3oprDCtVAZRmqgi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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot([power for (_, power) in power_data])\n", + "plt.axhline(avg_power, color='purple', linestyle='--', label='Average IDLE power')\n", + "first_inference_start_index = get_power_index(power_data, latency_data[0][0][1])\n", + "last_inference_end_index = get_power_index(power_data, latency_data[2999][0][2])\n", + "plt.axvline(first_inference_start_index, color='green', label='First inference start')\n", + "plt.axvline(last_inference_end_index, color='red', label='Last inference end')\n", + "plt.legend()" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "4968dca2-cfe9-4a62-995e-a86cd8c8fa56", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Computing layer metrics...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Mapping power to layer: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████| 3000/3000 [00:00<00:00, 841272.45it/s]\n" + ] + } + ], + "source": [ + "metrics = compute_layer_metrics_by_cycle(power_data, latency_data, avg_power)\n", + "metrics_df_k3 = pd.DataFrame.from_dict(metrics)" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "439b7e9c-1f07-446c-864b-9795ee650c35", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
cyclelayer_power_including_idle_power_micro_wattlayer_power_excluding_idle_power_micro_wattlayer_run_time
count3000.0000002.165000e+032.165000e+033000.000000
mean1500.5000004.994418e+061.415240e+061.003860
std866.1697294.616565e+044.616565e+040.125359
min1.0000004.534464e+069.552859e+050.450848
25%750.7500004.975872e+061.396694e+061.005088
50%1500.5000005.016000e+061.436822e+061.011168
75%2250.2500005.016000e+061.436822e+061.023328
max3000.0000005.024000e+061.444822e+063.754464
\n", + "
" + ], + "text/plain": [ + " cycle layer_power_including_idle_power_micro_watt \\\n", + "count 3000.000000 2.165000e+03 \n", + "mean 1500.500000 4.994418e+06 \n", + "std 866.169729 4.616565e+04 \n", + "min 1.000000 4.534464e+06 \n", + "25% 750.750000 4.975872e+06 \n", + "50% 1500.500000 5.016000e+06 \n", + "75% 2250.250000 5.016000e+06 \n", + "max 3000.000000 5.024000e+06 \n", + "\n", + " layer_power_excluding_idle_power_micro_watt layer_run_time \n", + "count 2.165000e+03 3000.000000 \n", + "mean 1.415240e+06 1.003860 \n", + "std 4.616565e+04 0.125359 \n", + "min 9.552859e+05 0.450848 \n", + "25% 1.396694e+06 1.005088 \n", + "50% 1.436822e+06 1.011168 \n", + "75% 1.436822e+06 1.023328 \n", + "max 1.444822e+06 3.754464 " + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "metrics_df_k3.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "2a0a92ee-ddcd-4ebe-a838-ddf6142a6b3f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "cycle 3000\n", + "layer_power_including_idle_power_micro_watt 2165\n", + "layer_power_excluding_idle_power_micro_watt 2165\n", + "layer_run_time 3000\n", + "dtype: int64" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "metrics_df_k3.count()" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "7c354213-2702-4238-9327-15da7621284c", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiMAAAGsCAYAAAAPJKchAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAANLlJREFUeJzt3XtUVXX+//HXkRPg4aaSdzHreMFSNBNNMaXRwrQWMN9xlQqm5WSpfVHzVuNMN01LJbOWjaOl5VjONCk1Zk59m9HCnCRMx8obpIJmWRqXIwoC+/dHP850FBAEz0fg+VjrrOXZ+7P3fu8jh/3isz97b5tlWZYAAAAMaWS6AAAA0LARRgAAgFGEEQAAYBRhBAAAGEUYAQAARhFGAACAUYQRAABgFGEEAAAYRRgBAABGEUYAAIBRdSqMfPzxx7rrrrvUpk0b2Ww2paSkVHsdlmVp0aJF6ty5s/z8/NS2bVvNmzev9osFAABVYjddQHWcPn1aPXr00H333adf//rXl7SOpKQkffDBB1q0aJG6d++uU6dO6dSpU7VcKQAAqCpbXX1Qns1m04YNGxQXF+eeVlhYqN/97nd68803lZOTo27duunZZ59VdHS0JGnv3r2KiIjQl19+qS5dupgpHAAAeKhTp2kuZvLkydq+fbvWrVun//znPxoxYoSGDh2qgwcPSpL+/ve/67rrrtPGjRt17bXXqkOHDho/fjw9IwAAGFRvwkhWVpZWrVqlt956S7fccoucTqemT5+uAQMGaNWqVZKkb775RkeOHNFbb72l119/XatXr1Z6erp+85vfGK4eAICGq06NGanMnj17VFJSos6dO3tMLywsVGhoqCSptLRUhYWFev31193tXnnlFd10003av38/p24AADCg3oQRl8slHx8fpaeny8fHx2NeYGCgJKl169ay2+0egaVr166Sfu5ZIYwAAOB99SaM3HjjjSopKdGJEyd0yy23lNsmKipKxcXFyszMlNPplCQdOHBAknTNNdd4rVYAAPBfdepqGpfLpYyMDEk/h4/k5GTdeuutatasmdq3b6+EhARt27ZNixcv1o033qgffvhBH330kSIiIjR8+HCVlpYqMjJSgYGBWrJkiUpLSzVp0iQFBwfrgw8+MLx3AAA0THUqjGzZskW33nrrBdPvvfderV69WufOndPcuXP1+uuv69ixY7r66qt1880368knn1T37t0lSd9++60efvhhffDBBwoICNAdd9yhxYsXq1mzZt7eHQAAoDoWRgAAQP1Tby7tBQAAdRNhBAAAGFUnrqYpLS3Vt99+q6CgINlsNtPlAACAKrAsS/n5+WrTpo0aNaq4/6NOhJFvv/1WYWFhpssAAACXIDs7W+3atatwfp0II0FBQZJ+3png4GDD1QAAgKrIy8tTWFiY+zhekToRRspOzQQHBxNGAACoYy42xIIBrAAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKPqxIPyAFxZCgoKtG/fvlpZ19lzJTr6U4HaNXXI/yqfGq8vPDxcDoejFioD4C2EEQDVtm/fPt10002myyhXenq6evXqZboMANVAGAFQbeHh4UpPT6+VdWWcyFfSul164Z6e6tgiqMbrCw8Pr4WqAHgTYQRAtTkcjlrrffA9liu/LS5d372nurUNqZV1AqhbGMAKAACMIowAAACjOE0DNDDpR4/o2/zvTZfhln2qQI38j+njw1/oUN6VcxVMm6CWuqndNabLABoEwgjQgBz68bRGrntefs0/Ml2Kh4BrpZczTFfhqfCHwfrH2Hm69uoA06UA9R5hBGhAThcW61xOX03pF6ewZldGL0RhcalO5J1Vi2B/+dmvjDPH2acKtPDgcZ0uLDZdCtAgEEaABsYqDtbADjdy5UolvjyWq+eKT5suA2gwrow/QwAAQINFGAEAAEYRRgAAgFGEEQAAYFS1wsgTTzwhm83m8brYcyDeeusthYeHy9/fX927d9emTZtqVDAAAKhfqt0zcsMNN+j48ePuV2pqaoVtP/30U40cOVL333+/vvjiC8XFxSkuLk5ffvlljYoGAAD1R7XDiN1uV6tWrdyvq6++usK2L7zwgoYOHaoZM2aoa9euevrpp9WrVy+99NJLNSoaAADUH9UOIwcPHlSbNm103XXXafTo0crKyqqw7fbt2zVkyBCPaTExMdq+fXul2ygsLFReXp7HCwAA1E/VCiN9+/bV6tWrtXnzZr388ss6dOiQbrnlFuXn55fb/rvvvlPLli09prVs2VLfffddpduZP3++QkJC3K+wsLDqlAkAAOqQaoWRO+64QyNGjFBERIRiYmK0adMm5eTk6K9//Wut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goODPV4A6odly5apuLhYc+fO9QgikmS32/XUU0+puLhYy5YtM1QhAG+r1tU0gwcP1p49ezymjRs3TuHh4Zo1a5Z8fHwqXPatt95SYWGhEhISLq1SAPVCZmamJOnOO+8sd37Z9LJ2AOq/aoWRoKAgdevWzWNaWXdr2fQxY8aobdu2F4wpeeWVVxQXF6fQ0NAalgygLnM6nZKkjRs3ljt+bOPGjR7tANR/tX4H1qysLB0/ftxj2v79+5WamlqlUzQA6reJEyfKbrdrzpw5Ki4u9phXXFysP/zhD7Lb7Zo4caKhCgF42yXf9KzMli1bKn0vSV26dFE1xskCqMd8fX01depULVy4UO3atdNTTz2lO++8Uxs3btQf/vAHff/995oxYwaDV4EGpMZhBACq67nnnpMkPf/885owYYJ7ut1u14wZM9zzATQM1bq015SqXhoEoG4pKirSsmXLlJmZKafTqYkTJ9IjAtQjVT1+E0YAAMBlcVnuMwIAAFDbCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAw5syZM5o8ebJiYmI0efJknTlzxnRJAAywWZZlmS7iYvLy8hQSEqLc3FwFBwebLgdALYiLi9M777xzwfTY2FilpKR4vyAAta6qx296RgB4XVkQ8fX11ezZs5WRkaHZs2fL19dX77zzjuLi4kyXCMCL6BkB4FVnzpyRw+GQr6+v8vPz5evr655XVFSkoKAgFRUVqaCgQI0bNzZYKYCaomcEwBVpxowZkqRp06Z5BBFJ8vX11ZQpUzzaAaj/CCMAvOrgwYOSpPHjx5c7//777/doB6D+I4wA8KpOnTpJklauXFnu/FdeecWjHYD6jzEjALyKMSNAw8GYEQBXpMaNGys2NtYdPGbNmqUDBw5o1qxZ7iASGxtLEAEaEHpGABjBfUaA+q+qx2+7F2sCALeUlBSdOXNGM2bM0MGDB9WpUyctXLiQHhGgASKMADCmcePGeumll0yXAcAwxowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMALAmNzcXA0YMEDt27fXgAEDlJuba7okAAbYTRcAoGHq2LGjMjMz3e+zs7PVpEkTOZ1OZWRkGKwMgLfRMwLA634ZRIYOHart27dr6NChkqTMzEx17NjRZHkAvMxmWZZluoiLycvLU0hIiHJzcxUcHGy6HAA1kJubqyZNmkiSTp8+LYfD4Z5XUFCggIAASVJOTo5CQkJMlAigllT1+E3PCACvGj58uKSfe0R+GUQkyeFw6Pbbb/doB6D+I4wA8KqsrCxJ0uOPP17u/Dlz5ni0A1D/EUYAeFX79u0lSU8++WS58+fOnevRDkD9x5gRAF7FmBGg4WDMCIArUkhIiJxOpyQpICBAMTEx+uSTTxQTE+MOIk6nkyACNCD0jAAw4vz7jJThPiNA/UHPCIArWkZGhnJychQVFaWwsDBFRUUpJyeHIAI0QDUKIwsWLJDNZtOUKVMqbZeTk6NJkyapdevW8vPzU+fOnbVp06aabBpAPRASEqLU1FRlZWUpNTWVUzNAA3XJt4NPS0vT8uXLFRERUWm7oqIi3XbbbWrRooX+9re/qW3btjpy5Ih7ABsAAGjYLimMuFwujR49WitWrHBfhleRV199VadOndKnn36qq666SpLUoUOHS9ksAACohy7pNM2kSZM0fPhwDRky5KJt3333XfXr10+TJk1Sy5Yt1a1bNz3zzDMqKSmpcJnCwkLl5eV5vAAAQP1U7Z6RdevWaefOnUpLS6tS+2+++Ub//Oc/NXr0aG3atEkZGRmaOHGizp07V+EdGOfPn1/hDZEAAED9Uq1Le7Ozs9W7d299+OGH7rEi0dHR6tmzp5YsWVLuMp07d9bZs2d16NAh+fj4SJKSk5O1cOFCHT9+vNxlCgsLVVhY6H6fl5ensLAwLu0FAKAOqeqlvdXqGUlPT9eJEyfUq1cv97SSkhJ9/PHHeumll1RYWOgOHGVat26tq666ymN6165d9d1336moqEi+vr4XbMfPz09+fn7VKQ0AANRR1QojgwcP1p49ezymjRs3TuHh4Zo1a9YFQUSSoqKi9MYbb6i0tFSNGv08ROXAgQNq3bp1uUEEAAA0LNUawBoUFKRu3bp5vAICAhQaGqpu3bpJksaMGaNHH33UvcxDDz2kU6dOKSkpSQcOHNB7772nZ555RpMmTardPQEAAHXSJd9npCJZWVnuHhBJCgsL0z/+8Q9NnTpVERERatu2rZKSkjRr1qza3jQAAKiDeDYNAAC4LHg2DQAAqBMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAGPOnDmjyZMnKyYmRpMnT9aZM2dMlwTAAO4zAsCIuLg4vfPOOxdMj42NVUpKivcLAlDruM8IgCtWWRDx9fXV7NmzlZGRodmzZ8vX11fvvPOO4uLiTJcIwIvoGQHgVWfOnJHD4ZCvr6/y8/M9HphZVFSkoKAgFRUVqaCgQI0bNzZYKYCaomcEwBVpxowZkqRp06Zd8ORuX19fTZkyxaMdgPqPMALAqw4ePChJGj9+fLnz77//fo92AOo/wggAr+rUqZMkaeXKleXOf+WVVzzaAaj/GDMCwKsYMwI0HIwZAXBFaty4sWJjY93BY9asWTpw4IBmzZrlDiKxsbEEEaABoWcEgBHcZwSo/6p6/LZ7sSYAcEtJSdGZM2c0Y8YMHTx4UJ06ddLChQvpEQEaIMIIAGMaN26sl156yXQZAAxjzAgAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwCMcblcio+PV0REhOLj4+VyuUyXBMAAu+kCADRMffr0UVpamvv9nj17FBQUpMjISO3YscNgZQC8jZ4RAF5XFkRsNpsSExO1e/duJSYmymazKS0tTX369DFdIgAvslmWZZku4mLy8vIUEhKi3NxcBQcHmy4HQA24XC4FBQXJZrOpoKBA/v7+7nlnz56Vw+GQZVnKz89XYGCgwUoB1FRVj9/0jADwqsTERElSQkKCRxCRJH9/f40aNcqjHYD6jzACwKsyMzMlSdOnTy93/rRp0zzaAaj/CCMAvMrpdEqSFi1aVO785ORkj3YA6j/GjADwKsaMAA0HY0YAXJECAwMVGRkpy7LkcDiUkJCgnTt3KiEhwR1EIiMjCSJAA0LPCAAjzr/PSBnuMwLUH1U9fnPTMwBG7NixQy6XS4mJicrMzJTT6dSaNWvoEQEaIMIIAGMCAwO1YcMG02UAMIwxIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMCoOnEH1rLH5+Tl5RmuBAAAVFXZcftij8GrE2EkPz9fkhQWFma4EgAAUF35+fkKCQmpcH6deGpvaWmpvv32WwUFBclms5kuB0AtysvLU1hYmLKzs3kqN1DPWJal/Px8tWnTRo0aVTwypE6EEQD1V1UfMQ6g/mIAKwAAMIowAgAAjCKMADDKz89Pjz/+uPz8/EyXAsAQxowAAACj6BkBAABGEUYAAIBRhBEAAGAUYQQAABhFGIEkKTo6WlOmTDFdRoNQ25/1E088oZ49e9Z4PR06dNCSJUvc7202m1JSUmq83qqqyn6MHTtWcXFx7vf83Nae8///AW+qE8+mAeqT9evX66qrrjJdxkUdP35cTZs29dr2pk+frocffthr24OntLQ0BQQEmC6j1qxevVpTpkxRTk6Ox/QOHTpoypQphNgrDGEEV4SioiL5+vqaLqPGqrIfzZo181I1NdOqVSuvbi8wMFCBgYFe3WZddO7cucsSZps3b37Jy5aUlMhms1X67BGgMvzk4AJr1qxR7969FRQUpFatWmnUqFE6ceKEpJ8fetSxY0ctWrTIY5ldu3bJZrMpIyNDkpSTk6Px48erefPmCg4O1q9+9Svt3r3b3b6sS37lypW69tpr5e/vf9G6oqOjNXnyZE2ePFkhISG6+uqr9fvf/97j0dQ//fSTxowZo6ZNm8rhcOiOO+7QwYMH3bU3b95cf/vb39zte/bsqdatW7vfp6amys/PTwUFBZd1P375V1mHDh30zDPP6L777lNQUJDat2+vP/3pTx7LHD16VCNHjlSzZs0UEBCg3r1767PPPqvS+iUpLi5OY8eOdb8/ceKE7rrrLjVu3FjXXnut1q5de8F6fnma5vDhw7LZbFq/fr1uvfVWORwO9ejRQ9u3b/dYZsWKFQoLC5PD4VB8fLySk5PVpEmTi34m0oWnaUpKSjRt2jQ1adJEoaGhmjlz5kUfQ15YWKjp06erbdu2CggIUN++fbVly5YqbX/16tVq0qSJUlJS1KlTJ/n7+ysmJkbZ2dke7V5++WU5nU75+vqqS5cuWrNmjXve9OnTdeedd7rfL1myRDabTZs3b3ZP69ixo1auXOl+v3LlSnXt2lX+/v4KDw/XsmXL3PPKPve//OUvGjRokPz9/cv9vypvPzZu3KguXbrI4XDoN7/5jQoKCvTaa6+pQ4cOatq0qf73f/9XJSUl7uXOP02Tk5OjCRMmqGXLlvL391e3bt20ceNGj228++67uv766+Xn56esrKxKv3+VuZTvZnJysrp3766AgACFhYVp4sSJcrlckqQtW7Zo3Lhxys3Nlc1mk81m0xNPPKHo6GgdOXJEU6dOdU/HlYEwggucO3dOTz/9tHbv3q2UlBQdPnzYfSCz2Wy67777tGrVKo9lVq1apYEDB6pjx46SpBEjRujEiRN6//33lZ6erl69emnw4ME6deqUe5mMjAy9/fbbWr9+vXbt2lWl2l577TXZ7Xbt2LFDL7zwgpKTkz1+sY8dO1aff/653n33XW3fvl2WZWnYsGE6d+6cbDabBg4c6D44/fTTT9q7d6/OnDmjffv2SZK2bt2qyMhIORyOy7of51u8eLF69+6tL774QhMnTtRDDz2k/fv3S5JcLpcGDRqkY8eO6d1339Xu3bs1c+ZMlZaWXtK2yj6n7Oxs/etf/9Lf/vY3LVu2zB04K/O73/1O06dP165du9S5c2eNHDlSxcXFkqRt27bpwQcfVFJSknbt2qXbbrtN8+bNu+QaFy9erNWrV+vVV19VamqqTp06pQ0bNlS6zOTJk7V9+3atW7dO//nPfzRixAgNHTq0SgdESSooKNC8efP0+uuva9u2bcrJydE999zjnr9hwwYlJSXpkUce0ZdffqkJEyZo3Lhx+te//iVJGjRokFJTU90H+a1bt+rqq692/8wdO3ZMmZmZio6OliStXbtWf/jDHzRv3jzt3btXzzzzjH7/+9/rtdde86hr9uzZSkpK0t69exUTE1Ol/Vi6dKnWrVunzZs3a8uWLYqPj9emTZu0adMmrVmzRsuXL/c4+P9SaWmp7rjjDm3btk1//vOf9fXXX2vBggXy8fHx2Mazzz6rlStX6quvvlKLFi0q/f5V5lK+m40aNdLSpUv11Vdf6bXXXtM///lPzZw5U5LUv39/LVmyRMHBwTp+/LiOHz+u6dOna/369WrXrp2eeuop93RcISzAsqxBgwZZSUlJ5c5LS0uzJFn5+fmWZVnWsWPHLB8fH+uzzz6zLMuyioqKrKuvvtpavXq1ZVmW9cknn1jBwcHW2bNnPdbjdDqt5cuXW5ZlWY8//rh11VVXWSdOnKhWjV27drVKS0vd02bNmmV17drVsizLOnDggCXJ2rZtm3v+jz/+aDVu3Nj661//almWZS1dutS64YYbLMuyrJSUFKtv375WbGys9fLLL1uWZVlDhgyxHnvsscu+H7/8rK+55horISHB/b60tNRq0aKFu6bly5dbQUFB1smTJ8td3+OPP2716NGjwvVblmXFxsZa9957r2VZlrV//35LkrVjxw73/L1791qSrOeff949TZK1YcMGy7Is69ChQ5Yka+XKle75X331lSXJ2rt3r2VZlnX33Xdbw4cP99ju6NGjrZCQkMo+jgr3o3Xr1tZzzz3nfn/u3DmrXbt2VmxsbLn7euTIEcvHx8c6duyYx3oHDx5sPfrooxfd/qpVqyxJ1r///W/3tLLPpexnvX///tZvf/tbj+VGjBhhDRs2zLIsy/rpp5+sRo0aWWlpaVZpaanVrFkza/78+Vbfvn0ty7KsP//5z1bbtm3dyzqdTuuNN97wWN/TTz9t9evXz7Ks/37uS5YsuWj95+9HRkaGe9qECRMsh8Ph/g5blmXFxMRYEyZMcL+/5ppr3P////jHP6xGjRpZ+/fvr3Qbu3btck+ryvevMtX5bpbnrbfeskJDQz1qLO9n75f7iSsHPSO4QHp6uu666y61b99eQUFBGjRokCQpKytLktSmTRsNHz5cr776qiTp73//uwoLCzVixAhJ0u7du+VyuRQaGuoeBxAYGKhDhw4pMzPTvZ1rrrmm2uepb775Zo+u1X79+ungwYMqKSnR3r17Zbfb1bdvX/f80NBQdenSRXv37pX081+uX3/9tX744Qdt3bpV0dHRio6O1pYtW3Tu3Dl9+umn7r9aL+d+nC8iIsL9b5vNplatWrl7Knbt2qUbb7yx1saalH1ON910k3taeHh4lU6n/LLOsi70sjr379+vPn36eLQ//31V5ebm6vjx4x7/l3a7Xb17965wmT179qikpESdO3f2+P/aunWrx/9XZex2uyIjI93vyz6Xsp+fvXv3KioqymOZqKgo9/wmTZqoR48e2rJli/bs2SNfX1898MAD+uKLL+RyubR161b39+n06dPKzMzU/fff71Hv3LlzL6i3sv0uj8PhkNPpdL9v2bKlOnTo4DEmp2XLlhX2hu3atUvt2rVT586dK9yGr6+vx89DVb5/lanOd1OS/u///k+DBw9W27ZtFRQUpMTERJ08edJ9Ggd1CwNY4eH06dOKiYlRTEyM1q5dq+bNmysrK0sxMTEqKipytxs/frwSExP1/PPPa9WqVbr77rvd3acul0utW7cu91z9Lw94Jkbud+/eXc2aNdPWrVu1detWzZs3T61atdKzzz6rtLQ0nTt3Tv3795fk3f04f0CizWZzn4Zp3LhxtdbVqFGjC8ZWXKybvKp+WWdZKKzJ6aLa5HK55OPjo/T0dI/TCZK8OjC27ADq5+enQYMGqVmzZuratatSU1O1detWPfLII+56pZ/H2fzyAC7pgvqr+zNW3s9TZT9j56vKz1zjxo1rdcxFdb6bhw8f1p133qmHHnpI8+bNU7NmzZSamqr7779fRUVF7t9FqDsII/Cwb98+nTx5UgsWLFBYWJgk6fPPP7+g3bBhwxQQEKCXX35Zmzdv1scff+ye16tXL3333Xey2+3q0KFDrdZ3/qDNf//73+rUqZN8fHzUtWtXFRcX67PPPnP/0jp58qT279+v66+/XtLPv4BvueUWvfPOO/rqq680YMAAORwOFRYWavny5erdu7f7F//l3I/qiIiI0MqVK3Xq1Kkq9Y40b97c41x4SUmJvvzyS916662Sfv5rv7i4WOnp6e5egP37919wCWR1denSRWlpaR7Tzn9fVSEhIWrdurU+++wzDRw4UJLcNffq1avcZW688UaVlJToxIkTuuWWWy5pu8XFxfr888/dPTpln0vXrl0lSV27dtW2bdt07733upfZtm2b++dL+vkv/FdffVV2u11Dhw6V9HNAefPNN3XgwAH3X/ctW7ZUmzZt9M0332j06NGXVO/lEhERoaNHj+rAgQOV9o78UlW+f5WpznczPT1dpaWlWrx4sfsKnr/+9a8e6/P19fUYoHux6TCL0zTw0L59e/n6+urFF1/UN998o3fffVdPP/30Be18fHw0duxYPfroo+rUqZP69evnnjdkyBD169dPcXFx+uCDD3T48GF9+umn+t3vfldusKmOrKwsTZs2Tfv379ebb76pF198UUlJSZKkTp06KTY2Vr/97W+Vmpqq3bt3KyEhQW3btlVsbKx7HWUHhp49eyowMFCNGjXSwIEDtXbtWncX+uXej+oYOXKkWrVqpbi4OG3btk3ffPON3n777QuuZCnzq1/9Su+9957ee+897du3Tw899JBH0OjSpYuGDh2qCRMm6LPPPlN6errGjx9f7R6Y8z388MPatGmTkpOTdfDgQS1fvlzvv//+Jf/1nJSUpAULFiglJUX79u3TxIkTKw1MnTt31ujRozVmzBitX79ehw4d0o4dOzR//ny99957VdrmVVddpYcfftj9uYwdO1Y333yzO5zMmDFDq1ev1ssvv6yDBw8qOTlZ69ev1/Tp093rGDhwoPLz87Vx40Z38IiOjtbatWvVunVrj4P7k08+qfnz52vp0qU6cOCA9uzZo1WrVik5Obn6H1gtGjRokAYOHKj/+Z//0YcffqhDhw7p/fff97gq6HxV/f5VpqrfzY4dO+rcuXPu31Nr1qzRH//4R491dejQQS6XSx999JF+/PFH9+mbDh066OOPP9axY8f0448/XsKng8uBMAIPzZs31+rVq/XWW2/p+uuv14IFCy64jLdMWZfouHHjPKbbbDZt2rRJAwcO1Lhx49S5c2fdc889OnLkiFq2bFmj+saMGaMzZ86oT58+mjRpkpKSkvTAAw+4569atUo33XST7rzzTvXr10+WZWnTpk0eXdSDBg1SSUmJx/nn6OjoC6Zdzv2oDl9fX33wwQdq0aKFhg0bpu7du19wZcMv3Xfffbr33ns1ZswYDRo0SNddd527V6TMqlWr1KZNGw0aNEi//vWv9cADD6hFixY1qjMqKkp//OMflZycrB49emjz5s2aOnVqlS53Ls8jjzyixMRE3XvvverXr5+CgoIUHx9f6TKrVq3SmDFj9Mgjj6hLly6Ki4tTWlqa2rdvX6VtOhwOzZo1S6NGjVJUVJQCAwP1l7/8xT0/Li5OL7zwghYtWqQbbrhBy5cv16pVqzx+bpo2baru3burefPmCg8Pl/RzQCktLfU4oEo/n+5cuXKlVq1ape7du2vQoEFavXq1rr322ip+SpfP22+/rcjISI0cOVLXX3+9Zs6cedEehap8/ypT1e9mjx49lJycrGeffVbdunXT2rVrNX/+fI919e/fXw8++KDuvvtuNW/eXM8995wk6amnntLhw4fldDprPNYLtcdmnX9yGaiiTz75RIMHD1Z2drZXDs7R0dHq2bMnt6yuQ377299q3759+uSTT0yXclEV3bETwOXHmBFUW2FhoX744Qc98cQTGjFihFd7CXBlW7RokW677TYFBATo/fff12uvveZxEy8AKA+naVBtb775pq655hrl5OS4uz5rKisry+PyxvNfZZcVX+nqy35cqh07dui2225T9+7d9cc//lFLly7V+PHjJUk33HBDhZ/Lxe4qWhvuuOOOCrf/zDPPXPbt15a6uh91tW54B6dpcEUoLi7W4cOHK5zfoUMH2e1XfkdefdmPy+HIkSMVXmLcsmVLBQUFXdbtHzt2TGfOnCl3XrNmzerMM4Pq6n7U1brhHYQRAABgFKdpAACAUYQRAABgFGEEAAAYRRgBAABGEUYAAIBRhBEAAGAUYQQAABj1/wAgaodmGtOl8QAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "metrics_df_k3.boxplot(column='layer_power_including_idle_power_micro_watt', grid=False)" + ] + }, + { + "cell_type": "markdown", + "id": "5a14f58b-7d36-4022-8c62-eb2c688ab00a", + "metadata": { + "jp-MarkdownHeadingCollapsed": true + }, + "source": [ + "### Kernel 1 Stride 1 Output 24" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "5fc0b0b7-0406-46c9-9a15-9174a2ffd0c0", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 3511/3511 [00:00<00:00, 95994.95it/s]\n", + "Computing layer execution times: 3000it [00:00, 45603.31it/s]\n" + ] + } + ], + "source": [ + "model_name = 'conv_k1_s1_o24'\n", + "\n", + "with open((DATA_PATH/model_name/f'{model_name}_power_log.log'), 'r') as fp:\n", + " data = fp.readlines()\n", + "power_data = parse_power_log(data)\n", + "\n", + "with open((DATA_PATH/model_name/f'{model_name}_layerwise_latency.json'), 'r') as fp:\n", + " data = json.load(fp)\n", + "latency_data = parse_latencies(data)" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "id": "a2a103d9-5cf8-4f6d-bae0-db4d081c7beb", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Number of power entries for conv_k1_s1_o24: 3511\n", + "Number of TensorRT layers in conv_k1_s1_o24: 1\n", + "Number of latency entries for each layer: 3000\n", + "Inference for 3000 cycles: 4.439339 seconds\n" + ] + } + ], + "source": [ + "print(f\"Number of power entries for {model_name}: {len(power_data)}\")\n", + "print(f\"Number of TensorRT layers in {model_name}: {len(latency_data[0])}\")\n", + "print(f\"Number of latency entries for each layer: {len(latency_data)}\")\n", + "print(f\"Inference for {len(latency_data)} cycles: {(latency_data[len(latency_data)-1][0][2]-latency_data[0][0][1]).total_seconds()} seconds\")" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "id": "7175b0c4-a455-4404-9025-412629b8ee50", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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d97B559/jk6dOuHo0aOYOHEi3N3dMXbs2BJ1T09Px6hRo/DBBx9g2LBhyM3NxW+//QYhBKZPn46zZ88iJydHatHy9fUFAHh6eiI+Ph5BQUE4efIkJk6cCE9PT7z++uvSsZOTk/Hjjz/ip59+glKpREhICM6fP4927dph3rx5ACDN/URkL5iM2JACw73537s08ZExEso35MMj1kOWc+tm6+CurviYoQ0bNsDD416sAwYMwOrVq0st++ijj+K1116TltPS0tCiRQv06tULCoUCISEh0jbzBc3b29vqbhgAePfdd9G3b18AwKxZszBw4EAUFBRILQXmc5iPPXfuXMyaNUu6uDdt2hTz58/H66+/bpFUPP3003juueek5eeff75C+40bN06aLfq9997Dp59+ioMHDyI6OhpffPEFvLy8sHLlSqnbp2XLltK+c+bMQVxcHP7+978DAEJDQ3HmzBksWbKkzGSkqKgIf//736X31NwaBACurq7Q6/Ul3te33npL+rtJkyaYPn06Vq5caZGMFBYWYvny5RYJh1qthpubW6U+JyJbwGTEhpgHrwKAmt00VEGPPPIIFi9eLC27u5edyHTt2tViedy4cfjb3/6GsLAwREdHY9CgQXjssceqJa7w8HDpb/O4kMzMTDRu3LjU8sePH8eePXukrhcAMBqNKCgoQH5+Ptzc3EqtQ0X3uz8ed3d3aLVaZGZmAgCOHTuG3r17lzr+JC8vDykpKRg/fjwmTpworS8qKoKXl1epdenQoQP69++P9u3bIyoqCo899hiGDx8OH5/y/5Px3//+F59++ilSUlKg0+lQVFQErVZrUSYkJIQtH1TnMBmxIYVFxcmIWulUY830VDFuKjfoZutkO7c13N3d0bx58wqXvV/nzp2RmpqKzZs3Y/v27XjyyScRGRmJNWvWWBVDae6/sJu/z6Zynv6o0+kwd+5cqfXhfi4u925z/2sdKrrfXxMNhUIhxePqWvacPjpd8ffg66+/Rvfu3S22ldV1pVQqsW3bNuzduxdbt27FZ599hjfffBMHDhxAaGhoqfvs27cPo0ePxty5cxEVFSW11MTFxVmUKy/ZJLJXTEZsSJ6+uH9apWQiIjeFQmFVV4k902q1GDlyJEaOHInhw4cjOjoat27dgq+vL1QqFYxG44MPUg06d+6MpKSkCidWVd3vfuHh4fjuu+9K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W7euRFJDREREjkkhhBByB/EgOTk58PLyQnZ2NrRardzhVFleYR48Yj0AALrZOrir3WWOiIiI6qy8PMCj+JoDnQ5wr71rTkWv33w2DREREcmKyQgRERHJiskIERERyYrJCBEREcmKyQgRERHJiskIERERyYrJCBEREcmKyQgRERHJiskIERERyYrJCBEREcmKyQgRERHJiskIERERyYrJCBEREcmKyQgRERHJiskIERERyYrJCBEREcmKyQgRERHJiskIERERyYrJCBEREcmKyQgRERHJiskIERERyYrJCBEREcmKyQgRERHJiskIERERyYrJCBEREcmKyQgRERHJiskIERERyYrJCBEREcmKyQgRERHJiskIERERyYrJCBEREcmKyQgRERHJiskIERERyYrJCBEREcmKyQgRERHJiskIERERyYrJCBEREcmKyQgRERHJiskIERERyYrJCBEREcmKyQgRERHJiskIERERyYrJCBEREcmKyQgRERHJiskIERERycpZ7gCsUZhXiEJlYYn1TkonOLs4W5Qri8JJAZWrqlJlDfkGCCFKL6tQQOVWsbIGg8Fy+Y4BwlR6WQBQu6srVbaooAgmo6layqrcVFAoFMVl9UUwFVVTWVcVFE7FZY2FRhgNxmop6+ziDCelk/VlDUYYC8spq3GGk7P1ZU1FJhTpi8osq1QroVQprS9rNKGooJyyKiWUauvLCpOA4Y6hWso6OTvBWVP871MIAUN+NZW14t+9vf1GlCjL3wgA/I2o9G9EXiHMn2Tx9/ned6s2fiMqwq6SkbigOLjApcT6Fo+3wNMbn5aWFzZYWOaPWEjfEIxLGCctL2qyCPl/5pdaNqhrECYemigtf9HmC2Rfyi61rF8bP7x0+iVp+etuX+PGmRullnVp5gI8e285vk88rh2+VmpZt/pumHFjhrS8YsAKXEq8VGpZlZsKb+S9IS2v+scqXNh0odSyADBHzJH+XvvsWpxZc6bMsrN1s6Ufpg3/twHHvzteZtnpmdPh7ucOAPjl1V9w+N+Hyyw7NXUqvJt4AwB2vLkD+xbuK7Psi6deRIO2DQAAv733GxLnJpZZdsLBCWjYrSEAYP+i/dj++vYyy47dNRZN+jUBABz56gg2T9lcZtlRG0ah5cCWAICTK05i/XPryyw7fNVwtB3RFgBwdu1ZrHlyTZllhywbgo7j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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot([power for (_, power) in power_data])\n", + "plt.axhline(avg_power, color='purple', linestyle='--', label='Average IDLE power')\n", + "first_inference_start_index = get_power_index(power_data, latency_data[0][0][1])\n", + "last_inference_end_index = get_power_index(power_data, latency_data[2999][0][2])\n", + "plt.axvline(first_inference_start_index, color='green', label='First inference start')\n", + "plt.axvline(last_inference_end_index, color='red', label='Last inference end')\n", + "plt.legend()" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "id": "fb0d5747-4547-41a9-bb33-5d9949ff24f5", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Computing layer metrics...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Mapping power to layer: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████| 3000/3000 [00:00<00:00, 688531.44it/s]\n" + ] + } + ], + "source": [ + "metrics = compute_layer_metrics_by_cycle(power_data, latency_data, avg_power)\n", + "metrics_df_k4 = pd.DataFrame.from_dict(metrics)" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "id": "1caaf39c-ccb5-4dc0-a9c2-bead7906c506", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
cyclelayer_power_including_idle_power_micro_wattlayer_power_excluding_idle_power_micro_wattlayer_run_time
count3000.0000002.107000e+032.107000e+033000.000000
mean1500.5000005.891314e+062.312136e+061.101710
std866.1697293.207206e+053.207206e+050.141573
min1.0000004.614720e+061.035542e+060.452960
25%750.7500005.698176e+062.118998e+061.059888
50%1500.5000006.019200e+062.440022e+061.094816
75%2250.2500006.139584e+062.560406e+061.114008
max3000.0000006.179712e+062.600534e+063.807552
\n", + "
" + ], + "text/plain": [ + " cycle layer_power_including_idle_power_micro_watt \\\n", + "count 3000.000000 2.107000e+03 \n", + "mean 1500.500000 5.891314e+06 \n", + "std 866.169729 3.207206e+05 \n", + "min 1.000000 4.614720e+06 \n", + "25% 750.750000 5.698176e+06 \n", + "50% 1500.500000 6.019200e+06 \n", + "75% 2250.250000 6.139584e+06 \n", + "max 3000.000000 6.179712e+06 \n", + "\n", + " layer_power_excluding_idle_power_micro_watt layer_run_time \n", + "count 2.107000e+03 3000.000000 \n", + "mean 2.312136e+06 1.101710 \n", + "std 3.207206e+05 0.141573 \n", + "min 1.035542e+06 0.452960 \n", + "25% 2.118998e+06 1.059888 \n", + "50% 2.440022e+06 1.094816 \n", + "75% 2.560406e+06 1.114008 \n", + "max 2.600534e+06 3.807552 " + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "metrics_df_k4.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "id": "1a07ab82-19c8-4462-a59e-6acf172486e7", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "cycle 3000\n", + "layer_power_including_idle_power_micro_watt 2107\n", + "layer_power_excluding_idle_power_micro_watt 2107\n", + "layer_run_time 3000\n", + "dtype: int64" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "metrics_df_k4.count()" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "id": "e382b2e4-c62b-4cec-b207-b1d65a6f660e", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 31, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiMAAAGsCAYAAAAPJKchAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAOyNJREFUeJzt3XtYVOX+///XCIKCCGqAoCgGAuYpSzNPaTuNTL3UvrnbaKmVHUyLKNIo22opmAey9ufSPJRYWyUrM7eiWe0wj2mUbW17AiWUPOw0TmIgsH5/+GNqFJARmiXwfFzXXDX3utda7zUyzIt73bOWxTAMQwAAACapZ3YBAACgbiOMAAAAUxFGAACAqQgjAADAVIQRAABgKsIIAAAwFWEEAACYijACAABMRRgBAACmIowAAABT1agw8vXXX2vIkCHy9/eXxWLR2rVr7d6GYRiaO3euQkJC5OrqqhYtWmjmzJnVXywAAKgUZ7MLsMf58+fVuXNnPfLII7rvvvuuaRuRkZHavHmz5s6dq44dO+rcuXM6d+5cNVcKAAAqy1JTb5RnsVj0ySefaNiwYda2goICvfzyy1q1apWysrLUoUMHvf766+rXr58k6cCBA+rUqZP279+v0NBQcwoHAAA2atRpmquZOHGidu7cqcTERP3nP//RiBEjdM899+jIkSOSpH/961+68cYbtX79erVp00aBgYEaN24cIyMAAJio1oSRjIwMLVu2TB9++KH69OmjoKAgRUdHq3fv3lq2bJkk6ejRo/rpp5/04Ycf6r333lNCQoJSUlJ0//33m1w9AAB1V42aM1KRffv2qbi4WCEhITbtBQUFatasmSSppKREBQUFeu+996z93nnnHd166606dOgQp24AADBBrQkjeXl5cnJyUkpKipycnGyWNWrUSJLk5+cnZ2dnm8DSrl07SZdGVggjAAA4Xq0JI126dFFxcbHOnDmjPn36lNmnV69eKioqUlpamoKCgiRJhw8fliS1bt3aYbUCAIDf1ahv0+Tl5Sk1NVXSpfARHx+vO++8U02bNlWrVq304IMPavv27Zo3b566dOmi//3vf/ryyy/VqVMnDRo0SCUlJerWrZsaNWqk+fPnq6SkRBMmTFDjxo21efNmk48OAIC6qUaFkeTkZN15551XtI8ZM0YJCQm6ePGiZsyYoffee0+ZmZm64YYbdPvtt2v69Onq2LGjJOnnn3/W008/rc2bN8vd3V0DBw7UvHnz1LRpU0cfDgAAUA0LIwAAoPapNV/tBQAANRNhBAAAmKpGfJumpKREP//8szw8PGSxWMwuBwAAVIJhGMrNzZW/v7/q1St//KNGhJGff/5ZAQEBZpcBAACuwfHjx9WyZctyl9eIMOLh4SHp0sE0btzY5GoAAEBl5OTkKCAgwPo5Xp4aEUZKT800btyYMAIAQA1ztSkWTGAFAACmIowAAABTEUYAAICpCCMAAMBUhBEAAGAqu8NIZmamHnzwQTVr1kwNGzZUx44d9e2335bbf82aNRowYIC8vb3VuHFj9ejRQ5999lmVigYAALWHXWHk119/Va9evVS/fn1t3LhR//3vfzVv3jw1adKk3HW+/vprDRgwQElJSUpJSdGdd96pIUOG6Pvvv69y8QAAoOaz6669L774orZv366tW7dWaaft27fXAw88oL///e+V6p+TkyNPT09lZ2dznREAAGqIyn5+2zUysm7dOnXt2lUjRoyQj4+PunTpoiVLlthVWElJiXJzc9W0adNy+xQUFCgnJ8fmAQAAaie7wsjRo0e1cOFCtW3bVp999pnGjx+vZ555RsuXL6/0NubOnau8vDz99a9/LbdPXFycPD09rQ/uSwMAQO1l12kaFxcXde3aVTt27LC2PfPMM9qzZ4927tx51fVXrlypxx57TJ9++qn69+9fbr+CggIVFBRYn5de257TNAAA1Bx/ymkaPz8/3XTTTTZt7dq1U0ZGxlXXTUxM1Lhx47R69eoKg4gkubq6Wu9Dw/1oAACo3ey6UV6vXr106NAhm7bDhw+rdevWFa63atUqPfLII0pMTNSgQYPsrxLAdSU/P18HDx6slm39drFYJ37NV8smbmpQ36nK2wsLC5Obm1s1VAbAUewKI1FRUerZs6diY2P117/+Vbt379bixYu1ePFia5+YmBhlZmbqvffek3Tp1MyYMWP05ptvqnv37jp16pQkqWHDhvL09KzGQwHgKAcPHtStt95qdhllSklJ0S233GJ2GQDsYNecEUlav369YmJidOTIEbVp00bPPfecHnvsMevysWPHKj09XcnJyZKkfv36acuWLVdsZ8yYMUpISKjUPvlqL3B9qc6RkdQzuYpM3Ks3/3azgn08qrw9RkaA60dlP7/tDiNmIIwAtdf+zGwN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2KDY2FhNmDCheo8CAADUWHadpjlx4oQiIiJ09uxZeXt7q3fv3tq1a5e8vb0lSRkZGapX7/d8ExAQoM8++0xRUVHq1KmTWrRoocjISE2ePLl6jwIAANRYdoWRxMTECpcnJydf0dajRw/t2rXLrqIAAEDdwb1pAACAqQgjAADAVIQRAABgKsIIAAAwFWEEAACYijACAABMRRgBAACmIowAAABTEUYAAICpCCMAAMBUhBEAAGAqwggAADAVYQQAAJiKMAIAAExFGAEAAKYijAAAAFMRRgAAgKkIIwAAwFSEEQAAYCrCCAAAMBVhBAAAmIowAgAATEUYAQAApiKMAAAAUxFGAACAqQgjAADAVIQRAABgKsIIAAAwFWEEAACYijACAABMRRgBAACmIowAAABT2RVGpk2bJovFYvMICwur1LqJiYmyWCwaNmzYtdQJAABqKWd7V2jfvr2++OKL3zfgfPVNpKenKzo6Wn369LF3dwAAoJazO4w4OzurefPmle5fXFysUaNGafr06dq6dauysrLs3SUAAKjF7J4zcuTIEfn7++vGG2/UqFGjlJGRUWH/V199VT4+Pnr00UcrvY+CggLl5OTYPAAAQO1kVxjp3r27EhIStGnTJi1cuFDHjh1Tnz59lJubW2b/bdu26Z133tGSJUvsKiouLk6enp7WR0BAgF3rAwCAmsOuMDJw4ECNGDFCnTp1Unh4uJKSkpSVlaXVq1df0Tc3N1cPPfSQlixZohtuuMGuomJiYpSdnW19HD9+3K71AQBAzWH3nJE/8vLyUkhIiFJTU69YlpaWpvT0dA0ZMsTaVlJScmmnzs46dOiQgoKCytyuq6urXF1dq1IaAACoIaoURvLy8pSWlqaHHnroimVhYWHat2+fTduUKVOUm5urN998k1MvAABAkp1hJDo6WkOGDFHr1q31888/a+rUqXJyclJERIQkafTo0WrRooXi4uLUoEEDdejQwWZ9Ly8vSbqiHQAA1F12hZETJ04oIiJCZ8+elbe3t3r37q1du3bJ29tbkpSRkaF69bioKwAAqDy7wkhiYmKFy5OTkytcnpCQYM/uAABAHcAwBgAAMBVhBAAAmIowAgAATEUYAQAApiKMAAAAUxFGAACAqQgjAADAVIQRAABgKsIIAAAwFWEEAACYijACAABMRRgBAACmIowAAABTEUYAAICpCCMA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xuXgAThUdna29Zsy58+fl5ubm3VZfn6+3N3dlZaWpuzsbHl6eppVJgAHYmQEgEMNGjRIknTPPffYBBFJcnNz0913323TD0DtV6UwMmvWLFksFj377LMV9ps/f75CQ0PVsGFDBQQEKCoqSr/99ltVdg2ghsrIyJAkTZ06tczlU6ZMsekHoPa75jCyZ88eLVq0SJ06daqw38qVK/Xiiy9q6tSpOnDggN555x198MEHeumll6511wBqsFatWkmSpk+fXubyGTNm2PQDUPtdUxjJy8vTqFGjtGTJEjVp0qTCvjt27FCvXr00cuRIBQYG6u6771ZERIR27959TQUDqNk2bNggSdq0aZPy8/NtluXn52vz5s02/QDUftcURiZMmKBBgwapf//+V+3bs2dPpaSkWMPH0aNHlZSUpHvvvbfcdQoKCpSTk2PzAFA7eHp6Wq+u6u7urvDwcG3dulXh4eFyd3eXdOnqq0xeBeoOu79Nk5iYqO+++0579uypVP+RI0fql19+Ue/evWUYhoqKivTkk09WeJomLi6u3CFcADVfamqqgoODlZaWps2bN1tHQ6RLQSQ1NdXE6gA4ml0jI8ePH1dkZKRWrFihBg0aVGqd5ORkxcbGasGCBfruu++0Zs0abdiwQa+99lq568TExCg7O9v6OH78uD1lAqgBZs+erRYtWti0tWjRQrNnzzapIgBmsesKrGvXrtXw4cPl5ORkbSsuLpbFYlG9evVUUFBgs0yS+vTpo9tvv11z5syxtv3zn//U448/rry8PNWrd/U8xBVYgdplzZo1uv/++zV48GC99NJL6tChg/bv36/Y2FitX79eH330ke677z6zywRQRZX9/LbrNM1dd92lffv22bQ9/PDDCgsL0+TJk68IItKlCWmXB47SfjXgSvQAqllxcbGef/55DR48WGvXrrX+frj99tu1du1aDRs2TNHR0Ro6dGiZv1MA1D52hREPDw916NDBpq307pul7aNHj1aLFi0UFxcnSRoyZIji4+PVpUsXde/eXampqXrllVc0ZMgQftEAddDWrVuVnp6uVatWXfGHSr169RQTE6OePXtq69at6tevnzlFAnCoar8cfEZGhs0vmClTpshisWjKlCnKzMyUt7e3hgwZopkzZ1b3rgHUACdPnpSkK/6wKVXaXtoPQO1X5TCSnJxc4XNnZ2dNnTq13Kst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Fb0c5R6Hn5+fMXv2bOvzixcvGi1btjSGDh1a5rH+9NNPhpOTk5GZmWmz3bvuusuIiYm56v6XLVtmSDJ27dplbSt9XUp/1nv27Gk89thjNuuNGDHCuPfeew3DMIxff/3VqFevnrFnzx6jpKTEaNq0qREXF2d0797dMAzD+Oc//2m0aNHCum5QUJCxcuVKm+299tprRo8ePQzD+P11nz9//lXrv/w4UlNTrW1PPPGE4ebmZn0PG4ZhhIeHG0888YT1eevWra3//p999plRr14949ChQxXuY+/evda2yrz/KmLPe7MsH374odGsWTObGsv62fvjceL6wcgIrpCSkqIhQ4aoVatW8vDwUN++fSVJGRkZkiR/f38NGjRI7777riTpX//6lwoKCjRixAhJ0g8//KC8vDw1a9bMOg+gUaNGOnbsmNLS0qz7ad26td3nqW+//XabodUePXroyJEjKi4u1oEDB+Ts7Kzu3btblzdr1kyhoaE6cOCApEt/uf73v//V//73P23ZskX9+vVTv379lJycrIsXL2rHjh3Wv1r/zOO4XKdOnaz/b7FY1Lx5c+tIxd69e9WlS5dqm2tS+jrdeuut1rawsLBKnU75Y52lQ+ildR46dEi33XabTf/Ln1dWdna2Tp48afNv6ezsrK5du5a7zr59+1RcXKyQkBCbf68tW7bY/HtVxNnZWd26dbM+L31dSn9+Dhw4oF69etms06tXL+tyLy8vde7cWcnJydq3b59cXFz0+OOP6/vvv1deXp62bNlifT+dP39eaWlpevTRR23qnTFjxhX1VnTcZXFzc1NQUJD1ua+vrwIDA23m5Pj6+pY7GrZ37161bNlSISEh5e7DxcXF5uehMu+/itjz3pSkL774QnfddZdatGghDw8PPfTQQzp79qz1NA5qFiawwsb58+cVHh6u8PBwrVixQt7e3srIyFB4eLgKCwut/caNG6eHHnpIb7zxhpYtW6YHHnjAOnyal5cnPz+/Ms/V//EDz4yZ+x07dlTTpk21ZcsWbdmyRTNnzlTz5s31+uuva8+ePbp48aJ69uwpybHHcfmERIvFYj0N07BhQ7u2Va9evSvmVlxtmLyy/lhnaSisyumi6pSXlycnJyelpKTYnE6Q5NCJsaUfoK6ururbt6+aNm2qdu3aadu2bdqyZYuef/55a73SpXk2f/wAl3RF/fb+jJX181TRz9jlKvMz17Bhw2qdc2HPezM9PV2DBw/W+PHjNXPmTDVt2lTbtm3To48+qsLCQuvvItQchBHYOHjwoM6ePatZs2YpICBAkvTtt99e0e/ee++Vu7u7Fi5cqE2bNunrr7+2Lrvlllt06tQpOTs7KzAwsFrru3zS5q5du9S2bVs5OTmpXbt2Kioq0jfffGP9pXX27FkdOnRIN910k6RLv4D79OmjTz/9VD/++KN69+4tNzc3FRQUaNGiReratav1F/+feRz26NSpk5YuXapz585VanTE29vb5lx4cXGx9u/frzvvvFPSpb/2i4qKlJKSYh0FOHTo0BVfgbRXaGio9uzZY9N2+fPK8vT0lJ+fn7755hvdcccdkmSt+ZZbbilznS5duqi4uFhnzpxRnz59rmm/RUVF+vbbb60jOqWvS7t27SRJ7dq10/bt2zVmzBjrOtu3b7f+fEmX/sJ/99135ezsrHvuuUfSpYCyatUqHT582PrXva+vr/z9/XX06FGNGjXqmur9s3Tq1EknTpzQ4cOHKxwd+aPKvP8qYs97MyUlRSUlJZo3b571GzyrV6+22Z6Li4vNBN2rtcNcnKaBjVatWsnFxUX/+Mc/dPToUa1bt06vvfbaFf2cnJw0duxYxcTEqG3bturRo4d1Wf/+/dWjRw8NGzZMmzdvVnp6unbs2KGXX365zGBjj4yMDD333HM6dOiQVq1apX/84x+KjIyUJLVt21ZDhw7VY489pm3btumHH37Qgw8+qBYtWmjo0KHWbZR+MNx8881q1KiR6tWrpzvuuEMrVqywDqH/2cdhj4iICDVv3lzDhg3T9u3bdfToUX388cdXfJOl1F/+8hdt2LBBGzZs0MGDBzV+/HiboBEaGqp77rlHTzzxhL755hulpKRo3Lhxdo/AXO7pp59WUlKS4uPjdeTIES1atEgbN2685r+eIyMjNWvWLK1du1YHDx7UU089VWFgCgkJ0ahRozR69GitWbNGx44d0+7duxUXF6cNGzZUap/169fX008/bX1dxo4dq9tvv90aTl544QUlJCRo4cKFOnLkiOLj47VmzRpFR0dbt3HHHXcoNzdX69evtwaPfv36acWKFfLz87P5cJ8+fbri4uL01ltv6fDhw9q3b5+WLVum+Ph4+1+watS3b1/dcccd+n//7//p888/17Fjx7Rx40abbwVdrrLvv4pU9r0ZHBysixcvWn9Pvf/++3r77bdtthUYGKi8vDx9+eWX+uWXX6ynbwIDA/X1118rMzNTv/zyyzW8OvgzEEZgw9vbWwkJCfrwww910003adasWVd8jbdU6ZDoww8/bNNusViUlJSkO+64Qw8//LBCQkL0t7/9TT/99JN8fX2rVN/o0aN14cIF3XbbbZowYYIiIyP1+OOPW5cvW7ZMt956qwYPHqwePXrIMAwlJSXZDFH37dtXxcXFNuef+/Xrd0Xbn3kc9nBxcdHmzZvl4+Oje++9Vx07drzimw1/9Mgjj2jMmDEaPXq0+vbtqxtvvNE6KlJq2bJl8vf3V9++fXXffffp8ccfl4+PT5Xq7NWrl95++23Fx8erc+fO2rRpk6Kioir1deeyPP/883rooYc0ZswY9ejRQx4eHho+fHiF6yxbtkyjR4/W888/r9DQUA0bNkx79uxRq1atKrVPNzc3TZ48WSNHjlSvXr3UqFEjffDBB9blw4YN05tvvqm5c+eqffv2WrRokZYtW2bzc9OkSRN17NhR3t7eCgsLk3QpoJSUlNh8oEqXTncuXbpUy5YtU8eOHdW3b18lJCSoTZs2lXyV/jwff/yxunXrpoiICN10002aNGnSVUcUKvP+q0hl35udO3dWfHy8Xn/9dXXo0EErVqxQXFyczbZ69uypJ598Ug888IC8vb01e/ZsSdKrr76q9PR0BQUFVXmuF6qPxbj85DJQSVu3btVdd92l48ePO+TDuV+/frr55pu5ZHUN8thjj+ngwYPaunWr2aVcVXlX7ATw52POCOxWUFCg//3vf5o2bZpGjBjh0FECXN/mzp2rAQMGyN3dXRs3btTy5cttLuIFAGXhNA3stmrVKrVu3VpZWVnWoc+qysjIsPl64+WP0q8VX+9qy3Fcq927d2vAgAHq2LGj3n77bb311lsaN26cJKl9+/blvi5Xu6podRg4cGC5+4+Njf3T919daupx1NS64RicpsF1oaioSOnp6eUuDwwMlLPz9T+QV1uO48/w008/lfsVY19fX3l4ePyp+8/MzNSFCxfKXNa0adMac8+gmnocNbVuOAZhBAAAmIrTNAAAwFSEEQAAYCrCCAAAMBVhBAAAmIowAgAATEUYAQAApiKMAAAAU/1/ajDO+7+8kXQAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "metrics_df_k4.boxplot(column='layer_power_including_idle_power_micro_watt', grid=False)" + ] + }, + { + "cell_type": "markdown", + "id": "46ac528f-1526-4024-81ee-a21cb676919d", + "metadata": { + "jp-MarkdownHeadingCollapsed": true + }, + "source": [ + "### Kernel 1 Stride 1 Output 48" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "id": "6ef0f4ca-b361-45cf-aae9-7f9ab04a2a44", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 4318/4318 [00:00<00:00, 106853.37it/s]\n", + "Computing layer execution times: 3000it [00:00, 475311.15it/s]\n" + ] + } + ], + "source": [ + "model_name = 'conv_k1_s1_o48'\n", + "\n", + "with open((DATA_PATH/model_name/f'{model_name}_power_log.log'), 'r') as fp:\n", + " data = fp.readlines()\n", + "power_data = parse_power_log(data)\n", + "\n", + "with open((DATA_PATH/model_name/f'{model_name}_layerwise_latency.json'), 'r') as fp:\n", + " data = json.load(fp)\n", + "latency_data = parse_latencies(data)" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "id": "87779b48-dbb9-4ab2-beb5-607cc22c99ad", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Number of power entries for conv_k1_s1_o48: 4318\n", + "Number of TensorRT layers in conv_k1_s1_o48: 1\n", + "Number of latency entries for each layer: 3000\n", + "Inference for 3000 cycles: 5.523 seconds\n" + ] + } + ], + "source": [ + "print(f\"Number of power entries for {model_name}: {len(power_data)}\")\n", + "print(f\"Number of TensorRT layers in {model_name}: {len(latency_data[0])}\")\n", + "print(f\"Number of latency entries for each layer: {len(latency_data)}\")\n", + "print(f\"Inference for {len(latency_data)} cycles: {(latency_data[len(latency_data)-1][0][2]-latency_data[0][0][1]).total_seconds()} seconds\")" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "id": "59324a0b-2708-403c-94c5-21196f1e1212", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 34, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot([power for (_, power) in power_data])\n", + "plt.axhline(avg_power, color='purple', linestyle='--', label='Average IDLE power')\n", + "first_inference_start_index = get_power_index(power_data, latency_data[0][0][1])\n", + "last_inference_end_index = get_power_index(power_data, latency_data[2999][0][2])\n", + "plt.axvline(first_inference_start_index, color='green', label='First inference start')\n", + "plt.axvline(last_inference_end_index, color='red', label='Last inference end')\n", + "plt.legend()" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "id": "a547dce0-b6cf-465c-ae9f-32e8d2a3531c", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Computing layer metrics...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Mapping power to layer: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████| 3000/3000 [00:00<00:00, 538698.18it/s]\n" + ] + } + ], + "source": [ + "metrics = compute_layer_metrics_by_cycle(power_data, latency_data, avg_power)\n", + "metrics_df_k5 = pd.DataFrame.from_dict(metrics)" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "id": "7b72d3ab-6a79-4344-8ffa-b2143774b9bb", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
cyclelayer_power_including_idle_power_micro_wattlayer_power_excluding_idle_power_micro_wattlayer_run_time
count3000.0000002.970000e+032.970000e+033000.000000
mean1500.5000006.639495e+063.060317e+061.419628
std866.1697293.489482e+053.489482e+050.089745
min1.0000004.494336e+069.151579e+050.652544
25%750.7500006.741504e+063.162326e+061.408448
50%1500.5000006.781632e+063.202454e+061.413280
75%2250.2500006.781632e+063.202454e+061.425800
max3000.0000006.781632e+063.202454e+063.989472
\n", + "
" + ], + "text/plain": [ + " cycle layer_power_including_idle_power_micro_watt \\\n", + "count 3000.000000 2.970000e+03 \n", + "mean 1500.500000 6.639495e+06 \n", + "std 866.169729 3.489482e+05 \n", + "min 1.000000 4.494336e+06 \n", + "25% 750.750000 6.741504e+06 \n", + "50% 1500.500000 6.781632e+06 \n", + "75% 2250.250000 6.781632e+06 \n", + "max 3000.000000 6.781632e+06 \n", + "\n", + " layer_power_excluding_idle_power_micro_watt layer_run_time \n", + "count 2.970000e+03 3000.000000 \n", + "mean 3.060317e+06 1.419628 \n", + "std 3.489482e+05 0.089745 \n", + "min 9.151579e+05 0.652544 \n", + "25% 3.162326e+06 1.408448 \n", + "50% 3.202454e+06 1.413280 \n", + "75% 3.202454e+06 1.425800 \n", + "max 3.202454e+06 3.989472 " + ] + }, + "execution_count": 36, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "metrics_df_k5.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "id": "5c4b3175-1b91-4c59-ae69-3e8cbb15727a", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "cycle 3000\n", + "layer_power_including_idle_power_micro_watt 2970\n", + "layer_power_excluding_idle_power_micro_watt 2970\n", + "layer_run_time 3000\n", + "dtype: int64" + ] + }, + "execution_count": 37, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "metrics_df_k5.count()" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "id": "f4befb46-6729-41d4-a63f-3c435dbf0a61", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 38, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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+vp6LjBrCofD0ax6AN7txIkTpm23262XXnqpwbqoqCirugXARs2+ZmTfvn3q2LGjunbtqgkTJignJ6fR+rKyMsXHxys2NlY333yzdu7cec7nqKioUElJiekGwDvUrD2TlJTU4No0vXv3NtUB8H7NCiNXX321VqxYoQ8++EBLlixRVlaWhg8fftar3nv27KlXX31Vf/vb3/TGG2/I7XZryJAhOnLkSKPPM3/+fIWHh3tusbGxzekmgEtYzZGRZ599tsG1aebOnWuqA+D9zms6+KKiIsXHx2vRokX61a9+dc76qqoq9e7dW+PHj9fTTz991rqKigpVVFR4tktKShQbG8t08IAXSEhI0KFDh5SUlKRPP/1UqampOnr0qDp27KhNmzZp2LBh2r17t7p06aKsrCy7uwvgPDR1OvhmXzNSW9u2bdWjRw/t37+/SfV+fn7q37//OesDAgIUEBBwPl0DcIn68ssv1b59e+3cudO0Rk3dNWu+/PJLO7oHwAbnNc9IWVmZDhw4oJiYmCbVu1wuZWZmNrkegPepe1FqQECAZs6cWe8PEC5eBVqPZoWRKVOmaNOmTTp06JA+++wzjR07Vk6nU+PHj5ckTZo0SdOmTfPUz549Wx999JEOHjyof//737rtttuUnZ2tu++++8K+CgAtRmFhoWm7oqJCM2fONJ2abagOgPdqVhg5cuSIxo8fr549e+rnP/+5IiMj9fnnn3v+gsnJyVFeXp6n/uTJk7rnnnvUu3dv3XTTTSopKdFnn32mPn36XNhXAaDFSE1NlSQNGjRIx48fV5cuXRQcHKwuXbro+PHjnlE0NXUAvN95XcBqlaZeAAPg0hcZGanCwkJ98skn+tGPflRv/4cffqgbbrhBERERKigosKGHAC6Upn5/szYNAEt17NhRkjR9+vQG16Z56qmnTHUAvB9HRgBYqu6ombMpKChQRESEBT0CcLFwZATAJaluwAgICNCsWbPqjaYhiACtB2EEgKXqzqxaUVGhGTNm1BtNwwysQOtBGAFgqdpr0xQUFCg5OVkRERFKTk5WQUEBa9MArRBhBIClaq9NExERoczMTBUUFCgzM1MRERGsTQO0QoQRAJaqmZdo6tSpDY6mmT59uqkOgPdjNA0AS504cULt27c/Z93x48cJJEALx2gaAJekugHDz89PTzzxhPz8/BqtA+C9CCMALFX3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nu2qqiqjc+fOxs0339zga83OzjacTqeRm5tretxrr73WmDZt2jmff/ny5YYk4/PPP/e01fxcan7XhwwZYtxzzz2m+40bN8646aabDMMwjJMnTxo+Pj7Gtm3bDLfbbURERBjz5883rr76asMwDOONN94wOnXq5Llvt27djD//+c+mx3v66aeNwYMHG4bxfz/3xYsXn7P/dV/H/v37PW333nuvERQU5HkPG4ZhjBo1yrj33ns92/Hx8Z7//w8//NDw8fEx9u7d2+hzZGRkeNqa8v5rTHPemw156623jMjISFMfG/rdq/06cengyAjq2b59u3784x8rLi5OoaGhSk1NlSTl5ORIkjp27KjRo0fr1VdflST9/e9/V0VFhcaNGydJ+uabb1RWVqbIyEjPdQAhISHKysrSgQMHPM8THx/f7PPUgwYNMh1aHTx4sPbt2yeXy6Xdu3fL19dXV199tWd/ZGSkevbsqd27d0v6/i/XXbt26cSJE9q0aZNGjhypkSNHauPGjaqqqtJnn33m+av1Yr6Ouvr27ev5t8PhUHR0tOdIRUZGhvr373/BrjWp+TkNGDDA09arV68mnU6p3c+aQ+g1/dy7d6+uuuoqU33d7aYqLi5WXl6e6f/S19dXAwcOPOt9MjMz5XK51KNHD9P/16ZNm0z/X43x9fXVlVde6dmu+bnU/P7s3r1bQ4cONd1n6NChnv1t27bV5Zdfro0bNyozM1P+/v769a9/ra+//lplZWXatGmT5/106tQpHThwQL/61a9M/Z0zZ069/jb2uhsSFBSkbt26ebY7dOigLl26mK7J6dChw1mPhmVkZKhz587q0aPHWZ/D39/f9PvQlPdfY5rz3pSkf/zjH7r22mvVqVMnhYaGauLEiSooKPCcxkHLwgWsMDl16pRGjRqlUaNGadWqVYqKilJOTo5GjRqlyspKT93dd9+tiRMn6vnnn9fy5ct16623eg6flpWVKSYmpsFz9bW/8Oy4cj8lJUURERHatGmTNm3apLlz5yo6OlrPPvustm3bpqqqKg0ZMkSSta+j7gWJDofDcxqmTZs2zXosHx+fetdWnOsweVPV7mdNKDyf00UXUllZmZxOp7Zv3246nSDJ0gtja75AAwIClJqaqoiICPXu3VubN2/Wpk2b9Nhjj3n6K31/nU3tL3BJ9frf3N+xhn6fGvsdq6spv3Nt2rS5oNdcNOe9eejQIY0ZM0b333+/5s6dq4iICG3evFm/+tWvVFlZ6fksQstBGIHJnj17VFBQoGeeeUaxsbGSpK+++qpe3U033aTg4GAtWbJEH3zwgT799FPPviuuuEL5+fny9fVVly5dLmj/6l60+fnnn6t79+5yOp3q3bu3qqur9cUXX3g+tAoKCrR371716dNH0vcfwMOHD9ff/vY37dy5U8OGDVNQUJAqKiq0dOlSDRw40PPBfzFfR3P07dtXy5YtU2FhYZOOjkRFRZnOhbtcLu3YsUPXXHONpO//2q+urtb27ds9RwH27t1bbwhkc/Xs2VPbtm0ztdXdbqrw8HDFxMToiy++0IgRIyTJ0+crrriiwfv0799fLpdLx48f1/Dhw3/Q81ZXV+urr77yHNGp+bn07t1bktS7d29t2bJFt99+u+c+W7Zs8fx+Sd//hf/qq6/K19dXN9xwg6TvA8rq1av13Xffef6679Chgzp27KiDBw9qwoQJP6i/F0vfvn115MgRfffdd40eHamtKe+/xjTnvbl9+3a53W4tXLjQM4Lnr3/9q+nx/P39TRfonqsd9uI0DUzi4uLk7++vl156SQcPHtS7776rp59+ul6d0+nUHXfcoWnTpql79+4aPHiwZ991112nwYMHKy0tTR999JEOHTqkzz77TNOnT28w2DRHTk6Ofvvb32rv3r1avXq1XnrpJU2ePFmS1L17d91888265557tHnzZn3zzTe67bbb1KlTJ918882ex6j5YujXr59CQkLk4+OjESNGaNWqVZ5D6Bf7dTTH+PHjFR0drbS0NG3ZskUHDx7UO++8U28kS40f/ehH2rBhgzZs2KA9e/bo/vvvNwWNnj176oYbbtC9996rL774Qtu3b9fdd9/d7CMwdT388MN67733tGjRIu3bt09Lly7V+++//4P/ep48ebKeeeYZrVu3Tnv27NEDDzzQaGDq0aOHJkyYoEmTJmnNmjXKysrSl19+qfnz52vDhg1Nek4/Pz89/PDDnp/LHXfcoUGDBnnCye9+9zutWLFCS5Ys0b59+7Ro0SKtWbNGU6ZM8TzGiBEjVFpaqvXr13uCx8iRI7Vq1SrFxMSYvtxnzZql+fPn68UXX9R3332nzMxMLV++XIsWLWr+D+wCSk1N1YgRI/TTn/5UH3/8sbKysvT++++bRgXV1dT3X2Oa+t5MTExUVVWV53Nq5cqVeuWVV0yP1aVLF5WVlemTTz7Rf/7zH8/pmy5duujTTz9Vbm6u/vOf//yAnw4uBsIITKKiorRixQq99dZb6tOnj5555pl6w3hr1BwSvfPOO03tDodD7733nkaMGKE777xTPXr00C9+8QtlZ2erQ4cO59W/SZMm6fTp07rqqqv04IMPavLkyfr1r3/t2b98+XINGDBAY8aM0eDBg2UYht577z3TIerU1FS5XC7T+eeRI0fWa7uYr6M5/P399dFHH6l9+/a66aablJKSUm9kQ2133XWXbr/9dk2aNEmpqanq2rWr56hIjeXLl6tjx45KTU3VLbfcol//+tdq3779efVz6NCheuWVV7Ro0SJdfvnl+uCDD/Sb3/ymScOdG/LYY49p4sSJuv322zV48GCFhoZq7Nixjd5n+fLlmjRpkh577DH17NlTaWlp2rZtm+Li4pr0nEFBQZo6dap++ctfaujQoQoJCdFf/vIXz/60tDS98MILWrBggZKSkrR06VItX77c9HvTrl07paSkKCoqSr169ZL0fUBxu92mL1Tp+9Ody5Yt0/Lly5WSkqLU1FStWLFCCQkJTfwpXTzvvPOOrrzySo0fP159+vTR448/fs4jCk15/zWmqe/Nyy+/XIsWLdKzzz6r5ORkrVq1SvPnzzc91pAhQ3Tffffp1ltvVVRUlJ577jlJ0uzZs3Xo0CF169btvK/1woXjMOqeXAaaKD09Xddee60OHz5syZfzyJEj1a9fP6asbkHuuece7dmzR+np6XZ35ZzONmMngIuPa0bQbBUVFTpx4oRmzpypcePGWXqUAJe2BQsW6Prrr1dwcLDef/99vfbaa6ZJvACgIZymQbOtXr1a8fHxKioq8hz6PF85OTmm4Y11bzXDii913vI6fqgvv/xS119/vVJSUvTKK6/oxRdf1N133y1JSkpKOuvP5Vyzil4IN95441mff968eRf9+S+Ulvo6Wmq/YQ1O0+CSUF1drUOHDp11f5cuXeTre+kfyPOW13ExZGdnn3WIcYcOHRQaGnpRnz83N1enT59ucF9ERESLWTOopb6OltpvWIMwAgAAbMVpGgAAYCvCCAAAsBVhBAAA2IowAgAAbEUYAQAAtiKMAAAAWxFGAACArf4/vWLOOzVkM7gAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "metrics_df_k5.boxplot(column='layer_power_including_idle_power_micro_watt', grid=False)" + ] + }, + { + "cell_type": "markdown", + "id": "ec67d0d3-d112-4fe4-b428-260cdeadd177", + "metadata": {}, + "source": [ + "## Output shape Plot" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "id": "b7b1a726-98ae-4dca-bd4c-22042cd8530d", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0.5, 0, 'Output shape')" + ] + }, + "execution_count": 39, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "df = pd.concat(\n", + " [\n", + " metrics_df_k1[\"layer_power_including_idle_power_micro_watt\"] * 1e-3,\n", + " metrics_df_k2[\"layer_power_including_idle_power_micro_watt\"] * 1e-3,\n", + " metrics_df_k3[\"layer_power_including_idle_power_micro_watt\"] * 1e-3,\n", + " metrics_df_k4[\"layer_power_including_idle_power_micro_watt\"] * 1e-3,\n", + " metrics_df_k5[\"layer_power_including_idle_power_micro_watt\"] * 1e-3,\n", + " ],\n", + " axis=1,\n", + ")\n", + "\n", + "# set column names (will be displayed as plot labels)\n", + "df.columns = ['3', '6', '12', '24', '48'] \n", + "\n", + "# use pandas' boxplot method\n", + "df.boxplot().set_ylabel('Power (milliWatts)')\n", + "df.boxplot().set_xlabel('Output shape')" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "id": "e0c376f3-928a-46e0-8699-0e1b3082d8b4", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0.5, 0, 'Output shape')" + ] + }, + "execution_count": 40, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAGwCAYAAABVdURTAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAZzRJREFUeJzt3XlclNX+B/DPwDDAsIM6ouC+p4glFlaa3ouYadfULLOUyiwNF7wBejVTolxIRw2xtFBvaHbVIjNc0BDzauXaNbdS3BMUULZBhoHn94e/mRxZnMGZeWb5vF8vXjXPc+aZ73CE+XKe7zlHIgiCACIiIiI74SR2AERERESmxOSGiIiI7AqTGyIiIrIrTG6IiIjIrjC5ISIiIrvC5IaIiIjsCpMbIiIisitSsQOwtOrqavz555/w8vKCRCIROxwiIiIygCAIKCkpQbNmzeDkVP/YjMMlN3/++SeCg4PFDoOIiIga4PLlywgKCqq3jcMlN15eXgDufHO8vb1FjqbhVCoVsrKy0K9fP8jlcrHDcWjsC+vBvrAe7AvrYg/9UVxcjODgYN3neH0cLrnR3ory9va26eRGKpVCLpfD29vbZv+h2gv2hfVgX1gP9oV1saf+MKSkhAXFREREZFeY3BAREZFdYXJDREREdoXJDREREdkVJjdERERkV5jcEBERkV1hckNERER2hckNERER2RUmN0RERGRXrCa5mT9/PiQSCaZOnVpvu40bN6JTp05wc3NDt27dkJGRYZkAiYiIbJBarUZycjJWrlyJ5ORkqNVqsUMyO6tIbg4ePIhPP/0UISEh9bbbv38/Ro0ahddffx1Hjx7F0KFDMXToUPz2228WipSIiMh2xMXFwcPDA/Hx8cjIyEB8fDw8PDwQFxcndmhmJXpyU1paitGjR2PVqlXw8/Ort+3SpUsxcOBAxMbGonPnznj//ffx8MMPIzk52ULREhER2Ya4uDgkJSUhICAAy5cvx+rVq7F8+XIEBAQgKSnJrhMc0TfOfPvtt/HMM8/g73//OxITE+tte+DAAUybNk3vWGRkJNLT0+t8TkVFBSoqKnSPi4uLAQCVlZWorKxseOAi02g0uv/a8vuwB+wL68G+sB7sC3Gp1WoolUo0adIE58+fR2VlJbKysjBs2DC8+uqraNWqFZRKJd577z3IZDKxwzWIMf+ORE1uNmzYgCNHjuDgwYMGtc/NzYVCodA7plAokJubW+dz5s2bh7lz59Y4vnPnTpvfGRUAsrKyxA6B/h/7wnqwL6wH+0IcW7ZsgUajwYgRI7Bz507dcW1/DB8+HCtWrMDkyZPx7LPPihWmUVQqlcFtRUtuLl++jClTpiAzMxNubm5me50ZM2bojfYUFxcjODgYAwYMgLe3t9le15zUajWWLVuGffv24YknnsDkyZNtJvO2R+Xl5cjKykK/fv3g7u4udjgOjX1hPdgX4tqxYwcAYPr06WjatGmN/ggNDcWKFSvg6uqKQYMGiRytYbR3XgwhWnJz+PBhXL9+HQ8//LDuWFVVFfbu3Yvk5GRUVFTA2dlZ7zlNmzZFXl6e3rG8vDw0bdq0ztdxdXWFq6trjeMuLi5wcXF5wHdheXFxcVAqlboh34yMDMyePRsxMTFYuHChyNE5Ju1QqVQqtcl/U/aEfWE92Bfi6tChA4A7Sc64ceNq9Ic2+enQoYPN9I8xcYpWUPy3v/0Nx48fx7Fjx3RfPXv2xOjRo3Hs2LEaiQ0AhIeHY/fu3XrHMjMzER4ebqmwReXIxWFERGS4iRMnQiqVYtasWbo/hrU0Gg1mz54NqVSKiRMnihSheYmW3Hh5eaFr1656Xx4eHggICEDXrl0BAGPGjMGMGTN0z5kyZQq2b9+ORYsW4fTp05gzZw4OHTqE6Ohosd6GxWiLwxQKBa5cuYKoqCj4+fkhKioKV65cgUKhgFKpdIj1C4iIqH4ymQwxMTHIy8tDUFAQUlNTUVhYiNTUVAQFBSEvLw8xMTF2W9Ig+myp+ly6dAlOTn/lX71798b69esxa9Ys/Otf/0L79u2Rnp6uS4bsWUpKCjQaDRITEyGVSvWSGKlUioSEBLz55ptISUm570KIRERk/7SlCkqlEpMmTdIdl0qliI2NtetSBqtKbvbs2VPvYwB4/vnn8fzzz1smICty7tw5AMDgwYNrPa89rm1HRES0cOFCJCYmYsmSJcjOzkbfvn0xdepUux2x0bKq5Ibq1rZtWwDA1q1bMW7cuBrnt27dqteOiIgIuHOLKjo6Gh07dkRERITdJzaAFaxQTIZx9OIwIiIiQzG5sRGOXhxGRERkKN6WsiGOXBxGRERkKI7c2JiFCxeirKwMCxYswKBBg7BgwQKUlZUxsSEiIvp/HLmxQY5YHEZERGQojtwQEZFJqdVqJCcnY+XKlUhOTubiomRxTG6IiMhk4uLi4OHhgfj4eGRkZCA+Ph4eHh7cHoYsireliIjIJLT73ykUCsyePRtyuRwqlQoJCQlISkoCANYHkkVw5IaIiB4Y978ja8LkhoiIHti9+9/dTbv/nUajQUpKikgRkiNhckNEdoFFrOLi/ndkTZjcEJHNYxGr+O7e/6423P+OLInJDRHZNG0Ra0BAAJYvX47Vq1dj+fLlCAgIQFJSEhMcC+H+d2RNmNwQkc1iEav14P53ZE04FZyIbNa9Rax3JzHaItY333wTKSkpmDp1qniBOgjuf0fWgiM3RGSzWMRqfbj/HVkDJjdEZLNYxEpEtWFyQ0Q2i0Ws1ocz18gaMLkhIpvFIlbrop255u/vj+HDh6N///4YPnw4/P39OXONLIoFxURk01jEah20M9fkcjkKCgqwefNm3TlnZ2fI5XIolUokJiYy2SSz48gNEdk8FrGKTztzTaVSoVGjRnprDjVq1AgqlYrbL5DFcOSGiOyCTCZDdHQ0OnbsiIiICI4OWNiZM2cAAI0aNcKVK1egVquRmZmJkSNHYvz48QgMDER+fr6uHZE5ceSGiIgeWG5uLgDg6aefrnXjzMjISL12RObE5IaIiB5YYGAgAGDbtm21zlzbsWOHXjsic2JyQ0RED6xDhw4AgPz8/FpnruXn5+u1IzIn1twQEdEDmzhxImJjYyGTyXDjxg29mWva2VJqtZprDpFFcOSGiIgemHbNIe1sqWHDhqF///4YNmwYAgICoFKpuOYQWQxHboiIyCTuXnPo66+/1h3nmkNkaRy5ISIik+GaQ2QNOHJDREQmxTWHSGwcuSEiIiK7wuSGiIiI7AqTG6IHoFarkZycjJUrVyI5ORlqtVrskIiIHB6TG6IGiouLg4eHB+Lj45GRkYH4+Hh4eHggLi5O7NCIiBwaC4qJGiAuLg5JSUlQKBSYPXs25HI5VCoVEhISkJSUBACcHUJEJBJRR25WrFiBkJAQeHt7w9vbG+Hh4di2bVud7desWQOJRKL35ebmZsGIie7cilIqlVAoFMjJyUFpaSk2btyI0tJS5OTkQKFQQKlU8hYVEZFIRE1ugoKCMH/+fBw+fBiHDh1C//798Y9//AMnTpyo8zne3t64du2a7uvixYsWjJgISElJgUajQWhoKHx8fPRuS/n4+KB79+7QaDRISUkRO1QiIock6m2pIUOG6D3+4IMPsGLFCvz000946KGHan2ORCJB06ZNLREeUa3OnTsHANixY0ett6V27typ146IiCzLampuqqqqsHHjRpSVlSE8PLzOdqWlpWjZsiWqq6vx8MMP48MPP6wzEQKAiooKVFRU6B4XFxcDACorK1FZWWm6N2BhGo1G919bfh+2qHnz5gAALy8vnD9/HpWVlcjKysKwYcPw6quvQqFQoKSkBM2bN2ffWBh/LqwH+8K62EN/GBO36MnN8ePHER4ejtu3b8PT0xPffPMNunTpUmvbjh07IjU1FSEhISgqKsJHH32E3r1748SJEwgKCqr1OfPmzcPcuXNrHN+5cyfkcrlJ34sYsrKyxA7B4Zw+fRrAnV8SGRkZkErv/BhlZWVBo9HofomcPn0aGRkZosXpyPhzYT3YF9bFlvtDpVIZ3FYiCIJgxljuS61W49KlSygqKsKmTZvw2WefITs7u84E526VlZXo3LkzRo0ahffff7/WNrWN3AQHByM/Px/e3t4mex+WVl5ejqysLPTr1w/u7u5ih+NQpkyZghUrVgAAmjRpgpkzZ8LLywslJSX44IMPcP36dQDAhAkTsHTpUjFDdTj8ubAe7AvrYg/9UVxcjEaNGqGoqOi+n9+ij9zIZDK0a9cOAPDII4/g4MGDWLp0KT799NP7PtfFxQU9evTA2bNn62zj6uoKV1fXWp/r4uLS8MBFph2ek0qlNv0+bFGHDh0AAJGRkdi9ezemTJmiOyeVShEREYHMzEx06NCBfWNh/LmwHuwL62IP/WFM3Fa3iF91dbXeSEt9qqqqcPz4cQQGBpo5KqK/TJw4EVKpFMeOHUNRUZHe7sdFRUX43//+B6lUiokTJ4odKhGRQxI1uZkxYwb27t2LCxcu4Pjx45gxYwb27NmD0aNHAwDGjBmDGTNm6NprZ6Lk5OTgyJEjePnll3Hx4kWMGzdOrLdADkgmkyEmJgZ5eXlo06YN5HI5RowYAblcjjZt2iAvLw8xMTHcCZmISCSi3pa6fv06xowZg2vXrsHHxwchISHYsWMHIiIiAACXLl2Ck9Nf+dfNmzfxxhtvIDc3F35+fnjkkUewf/9+g+pziExJu/qwUqnEpEmTdMelUiliY2O5OjERkYhETW4+//zzes/v2bNH77FSqYRSqTRjRESGW7hwIRITE7FkyRJkZ2ejb9++mDp1KkdsiIhEJnpBMZEtk8lkiI6ORseOHREREcHEhojIClhdQTERERHRg2ByQ0RERHaFyQ0RERHZFSY3REREZFeY3BA9ALVajeTkZKxcuRLJyclQq9Vih0RE5PCY3BA1UFxcHDw8PBAfH4+MjAzEx8fDw8MDcXFxYodGROTQOBWcqAHi4uKQlJQEhUKB2bNnQy6XQ6VSISEhAUlJSQDAhfyIiETCkRsiI6nVaiiVSigUCly5cgVRUVHw8/NDVFQUrly5AoVCAaVSyVtUREQiYXJDZKSUlBRoNBokJiZCKtUf/JRKpUhISIBGo0FKSopIERIROTYmN0RGOnfuHABg8ODBtZ7XHte2IyIiy2JyQ2Sktm3bAgC2bt1a63ntcW07IiKyLCY3REaaOHEipFIpZs2aBY1Go3dOo9Fg9uzZkEqlmDhxokgREhE5NiY3REaSyWSIiYlBXl4egoKCkJqaisLCQqSmpiIoKAh5eXmIiYnhJppERCLhVHCiBtBO81YqlZg0aZLuuFQqRWxsLKeBExGJiCM3RA20cOFClJWVYcGCBRg0aBAWLFiAsrIyJjZERCLjyA3RA5DJZIiOjkbHjh0RERHBW1FERFaAIzdERERkV5jcEBERkV1hckNERER2hckNERER2RUmN0RERGRXmNwQERGRXWFyQ0RERHaFyQ0RERHZFSY3REREZFeY3BAREZFdYXJDREREdoXJDREREdkVJjdERERkV5jcEBERkV1hckNERER2hckNERER2RUmN0RERGRXmNwQERGRXRE1uVmxYgVCQkLg7e0Nb29vhIeHY9u2bfU+Z+PGjejUqRPc3NzQrVs3ZGRkWChaIiIisgWiJjdBQUGYP38+Dh8+jEOHDqF///74xz/+gRMnTtTafv/+/Rg1ahRef/11HD16FEOHDsXQoUPx22+/WThyIiIislaiJjdDhgzBoEGD0L59e3To0AEffPABPD098dNPP9XafunSpRg4cCBiY2PRuXNnvP/++3j44YeRnJxs4ciJiIjIWknFDkCrqqoKGzduRFlZGcLDw2ttc+DAAUybNk3vWGRkJNLT0+u8bkVFBSoqKnSPi4uLAQCVlZWorKx88MBFotFodP+15fdhD9gX1oN9YT3YF9bFHvrDmLhFT26OHz+O8PBw3L59G56envjmm2/QpUuXWtvm5uZCoVDoHVMoFMjNza3z+vPmzcPcuXNrHN+5cyfkcvmDBW8FsrKyxA6B/h/7wnqwL6wH+8K62HJ/qFQqg9sandycP38eP/74Iy5evAiVSoXGjRujR48eCA8Ph5ubm7GXQ8eOHXHs2DEUFRVh06ZNGDt2LLKzs+tMcIw1Y8YMvdGe4uJiBAcHY8CAAfD29jbJa4ihvLwcWVlZ6NevH9zd3cUOx6GxL6wH+8J6sC+siz30h/bOiyEMTm7WrVuHpUuX4tChQ1AoFGjWrBnc3d1RWFiIc+fOwc3NDaNHj0Z8fDxatmxpcAAymQzt2rUDADzyyCM4ePAgli5dik8//bRG26ZNmyIvL0/vWF5eHpo2bVrn9V1dXeHq6lrjuIuLC1xcXAyO09poh+ekUqlNvw97wL6wHuwL68G+sC720B/GxG1QQXGPHj2wbNkyREVF4eLFi7h27RoOHz6Mffv24eTJkyguLsa3336L6upq9OzZExs3bmxw8NXV1Xo1MncLDw/H7t279Y5lZmbWWaNDREREjsegkZv58+cjMjKyzvOurq546qmn8NRTT+GDDz7AhQsXDHrxGTNm4Omnn0aLFi1QUlKC9evXY8+ePdixYwcAYMyYMWjevDnmzZsHAJgyZQr69u2LRYsW4ZlnnsGGDRtw6NAhrFy50qDXIyIiIvtnUHJTX2Jzr4CAAAQEBBjU9vr16xgzZgyuXbsGHx8fhISEYMeOHYiIiAAAXLp0CU5Ofw0u9e7dG+vXr8esWbPwr3/9C+3bt0d6ejq6du1qcHxERERk34wuKD5y5AhcXFzQrVs3AMC3336L1atXo0uXLpgzZw5kMpnB1/r888/rPb9nz54ax55//nk8//zzRsVMREREjsPoRfzefPNN/P777wCAnJwcvPjii5DL5di4cSPi4uJMHiARERGRMYxObn7//XeEhoYCuLPPU58+fbB+/XqsWbMGmzdvNnV8REREREYxOrkRBAHV1dUAgF27dmHQoEEAgODgYOTn55s2OiIiIiIjGZ3c9OzZE4mJifjiiy+QnZ2NZ555BsCdxf3uXT2YiIiIyNKMTm6WLFmCI0eOIDo6GjNnztQtwLdp0yb07t3b5AESERERGcPo2VIhISE4fvx4jeNJSUlwdnY2SVBEREREDWWyjTMbsq8UERERkakZlNz4+flBIpEYdMHCwsIHCoiIiIjoQRiU3CxZskT3/wUFBUhMTERkZKRuT6cDBw5gx44dePfdd80SJBEREZGhDEpuxo4dq/v/4cOHIyEhAdHR0bpjkydPRnJyMnbt2oWYmBjTR0lERERkIKNnS+3YsQMDBw6scXzgwIHYtWuXSYIiIiIiaiijk5uAgAB8++23NY5/++23Bm+YSURERGQuRs+Wmjt3LsaNG4c9e/bg0UcfBQD8/PPP2L59O1atWmXyAImIiIiMYXRyExUVhc6dO2PZsmX4+uuvAQCdO3fGvn37dMkOERERkVgatM7No48+inXr1pk6FiIiIqIH1qDkprq6GmfPnsX169d1m2hq9enTxySBERERETWE0cnNTz/9hJdeegkXL16EIAh65yQSCaqqqkwWHBEREZGxjE5u3nrrLfTs2RPff/89AgMDDV65mIiIiMgSjE5u/vjjD2zatEm3GzgRERGRNTF6nZtHH30UZ8+eNUcsRERERA/M6JGbSZMm4Z///Cdyc3PRrVs3uLi46J0PCQkxWXBERERExjI6uRk+fDgA4LXXXtMdk0gkEASBBcVEREQkOqOTm/Pnz5sjDiIiIiKTMDq5admypTniICIiIjKJBi3id+7cOSxZsgSnTp0CAHTp0gVTpkxB27ZtTRocERERkbGMni21Y8cOdOnSBb/88gtCQkIQEhKCn3/+GQ899BAyMzPNESMRERGRwYweuZk+fTpiYmIwf/78Gsfj4+MRERFhsuCIiIiIjGX0yM2pU6fw+uuv1zj+2muv4eTJkyYJioiIiKihjE5uGjdujGPHjtU4fuzYMTRp0sQUMRERERE1mNG3pd544w2MHz8eOTk56N27NwDgv//9LxYsWIBp06aZPEAiIiIiYxid3Lz77rvw8vLCokWLMGPGDABAs2bNMGfOHEyePNnkARIREREZw+jkRiKRICYmBjExMSgpKQEAeHl5mTwwIiIiooZo0ArFGo0G7du310tq/vjjD7i4uKBVq1amjI+IiIjIKEYXFEdFRWH//v01jv/888+IiooyRUxEREREDWZ0cnP06FE8/vjjNY4/9thjtc6iIiIiIrIko5MbiUSiq7W5W1FREXcEJyIiItEZndz06dMH8+bN00tkqqqqMG/ePDzxxBNGXWvevHkICwuDl5cXmjRpgqFDh+LMmTP1PmfNmjWQSCR6X25ubsa+DSIiIrJTRhcUL1iwAH369EHHjh3x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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "df = pd.concat(\n", + " [\n", + " metrics_df_k1[\"layer_run_time\"],\n", + " metrics_df_k2[\"layer_run_time\"],\n", + " metrics_df_k3[\"layer_run_time\"],\n", + " metrics_df_k4[\"layer_run_time\"],\n", + " metrics_df_k5[\"layer_run_time\"],\n", + " ],\n", + " axis=1,\n", + ")\n", + "\n", + "# set column names (will be displayed as plot labels)\n", + "df.columns = ['3', '6', '12', '24', '48'] \n", + "\n", + "# use pandas' boxplot method\n", + "df.boxplot().set_ylabel('Latency (milliseconds)')\n", + "df.boxplot().set_xlabel('Output shape')" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "id": "7ded5c22-3a2d-46ba-b1e3-49cc0a0e5f2c", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0.5, 0, 'Output shape')" + ] + }, + "execution_count": 41, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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vKIrc3FxgaenJ27duoWamhrk5ORYK0ynkJqaanC9bt26mTka+5FzxgWVN59ElREtMjXVVai+WdJgedVtJVQHNzR5HmnvsXDz8Gqw3NUnAC6ubobHVSnD2T+OIOdS07N0nEXtpR8EQcCXX36JL7/8st56/B1lXj/++CMAwN3dXe9nvXPnTgCAh4eHrl7HjqZrqTS32oP3G2PTiczjjz+u+7p79+7o27cvwsPD8eWXX2LatGn1fs8//vEPvPrqq7rn5eXlCAsLw4gRI+yqa2nMmDFYtWoVbt26VaespqZGd3zMmDEYNWqUpcNzKhUVFQbX4734n/uvV+CDn86hh9wPvh6GJQ27t/8H76Un3/O1y/ataLT8lSVZGPDYEwafL8DLDf07cpbT3V599VW8++67jZaPGTPGcgE5qbNnzyInJweVlZUYNWoUbt26hZ07d2LIkCHw9PTUzYIdOnSoXf2O0vaoNMWmx8jUp3fv3njsscewZMkSg+rb6xiZjIwMxMXF6Z57enqiffv2+PPPP/WSG4VCwenXZiYSiQyua2dvJ5tj7EaFAUEt0aHXAOQd2Y2Sout6ZY0ti8/p16aTkJCAd955p85g31dffdVhB5faGmcfI2NXiUxFRQXatGmDRYsWGdzPZ6+JTElJCQIDA5usV1xcjICAAAtE5LyYyNiO2veitLQUEolE9wtbrVbD399fV857YTlqtRoZGRm6wb5OsXaJjak9a2nBggXw8vKCUqlESkoKCgsLER8fb3eJpUMM9p03bx6efPJJhIeH4/Lly1i4cCFcXV0xceJEa4dmdg11ndVX75tvvjFzNES259q1a9i4caNu4S92YViPRCJBTEwMIiIidK0AZFnaJEWhUCA2NlZ3XCwW22USYwybTmQKCgowceJEFBcXo2XLlujfvz/27duHli0dfwokd/klalxERITu65ycHM4YI6eXlpaG1157Df3799dtabNnzx6Hb7W36URm3bp11g7BatRqwxYRM7QekSPw9fU1aACgPXUjE5lKnz59cPDgQd3zkydPIjAwEL1798aBAwesGJl5uVg7AKrf2bNndV/7+/tj2bJlWLFiBZYtW6Y3DqB2PSJHd/z4cZPWI3IUdycxtR08eBB9+vSxcESWw0TGRtUeqFhaWordu3ejpKQEu3fvRmlpab31iBzdv//9b5PWI3IEFRUVDSYx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DBEREdktJjJERERkt5jIEBERkd1iIkNERER2i4mMDZs4cSI8PT0hEokgEong4+OD5ORka4fltA4dOoR27drBxcUFIpEIHh4e+PTTT60dllN4//33IZPJ4OrqCpFIhH/84x+6MpVKhb59+8LDwwMikQiurq7o0KEDDh8+bMWIHVNkZCS8vLwgEong4uKCVq1a4Ycffqi3bk1NDVq2bFnnfpF5jBw5EiKRCL169dIdO3bsGNq3b69730ilUsTHx1sxSvNgImPDOnbsiNdeew1bt27F5s2b0b17dyxcuBDffvuttUNzOufOncPDDz8MsViMTz75BLm5uVi4cKFDrBptD0pLS9GpUyfMmzevTllRURHOnj2LWbNmIScnB//+979RWFiIAQMGWCFSx/brr79i4sSJ2LhxI9atW4fq6mo8+eSTuHbtWp26Y8eOtettYezJqlWrsGPHDnh4eOgdHzJkCK5du4aPP/4YO3fuxCOPPIK3334ba9eutVKkZiKQXRGJRMKUKVOsHYbT6du3r+Dr62vtMEgQBADCa6+91midlStXCgCEX375xUJROacTJ04IAISlS5fqHV+3bp3g4uIi/PbbbwbdL2q+K1euCG5ubkJqaqrg5+cn9OzZU1cGQJgxY4ZefZFIJEyePNnSYZoVW2TshFqtxpw5cyAIAsaOHWvtcJzOkSNH0KFDB8jlcri4uEAqlWLy5MnWDosaUFhYCIC73pvb5cuXAUCvZbKoqAiTJ09GYmIiunfvbq3QnMajjz6Krl27IiEhoU5ZQEAAvvnmG+Tl5UGj0eg+Qxztd5fDbxpp777++ms888wzuueLFi3CU089ZcWInJNarcaRI0fQr18/pKen4z//+Q9Wr14Nd3d3fPTRR9YOj2q5ceMGFi1ahPDwcHb9mZFGo8Hzzz8PHx8fPP3007rjAwYMQNu2bfHmm29aMTrnMGfOHFy6dAm//vprveWHDx/Ggw8+iI4dO+qOvfnmmxg2bJilQrQItsjYuMjISGzfvh2rV6/Gww8/jMWLF+O7776zdlhOydvbG7/88gsmTpyINWvWoHv37li3bp21w6JaVCoV7r//fgDAnj17rByNY+vRoweKi4uxY8cO3bH58+cjLy8Pubm5VozMOezfvx+ZmZlYs2YNWrRoUW+dJ598Erdv30ZaWhq++OILDB48GK+//jq+/vprywZr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BMDd3R0XLlxgNxKRmXDWEhEBADIzM1FZWYnIyEj89NNPuHjxIjZv3ozhw4ejdevWeoNxhw4diszMTBw5cgSHDh3CzJkz9Vo3goOD4enpic2bN6OwsBBlZWW6MrVajWnTpuHEiRPIycnBwoULERMToxsfM3ToUKxevRq7d+/G8ePHMWXKlDoDetu2bYsdO3bg6tWrKC0trff1vPvuu1i7di3++9//4vTp01i/fj1CQkLQokULg34enTp1wqFDh7BlyxacPn0ab7zxBg4ePFinXmOvx8fHB/PmzUNcXBxWrVqFvLw8HD58GO+//z5WrVplUBxE1ASBiOj/nT9/XpgyZYogk8kENzc3ISwsTIiNjRWKior06l26dEkYMWKE4OXlJXTq1EnIyckR/Pz8hBUrVujqfPTRR0JYWJjg4uIiDBo0SBAEQZgyZYrw17/+VUhKShICAwMFb29v4eWXXxZu376t+76ysjJhwoQJgq+vrxAWFiasXLlS6NGjh7Bw4UJdne+++07o2LGjIBaLhfDw8Hpfy/Lly4WePXsKXl5egq+vrzBs2DDh8OHDunIAwjfffKP3PbVfw+3bt4WoqCjBz89PaNGihTBr1izhtddeE3r06KGrb8jrqampETIyMoSIiAjBzc1NaNmypRAZGSnk5uY2fUOIqEkiQbDA6D4iItwZgHvjxg2HWZXX0V4PkT1i1xIRERHZLSYyREREZLfYtURERER2iy0yREREZLeYyBAREZHdYiJDREREdouJDBEREdktJjJERERkt5jIEBERkd1iIkNERER2i4kMERER2a3/A2IT2shPwElnAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "df = pd.concat(\n", + " [ # microwatts converted to milliwatts * millseconds converted to seconds\n", + " metrics_df_k1[\"layer_power_including_idle_power_micro_watt\"] * 1e-3 * metrics_df_k1[\"layer_run_time\"] * 1e-3,\n", + " metrics_df_k2[\"layer_power_including_idle_power_micro_watt\"] * 1e-3 * metrics_df_k2[\"layer_run_time\"] * 1e-3,\n", + " metrics_df_k3[\"layer_power_including_idle_power_micro_watt\"] * 1e-3 * metrics_df_k3[\"layer_run_time\"] * 1e-3,\n", + " metrics_df_k4[\"layer_power_including_idle_power_micro_watt\"] * 1e-3 * metrics_df_k4[\"layer_run_time\"] * 1e-3,\n", + " metrics_df_k5[\"layer_power_including_idle_power_micro_watt\"] * 1e-3 * metrics_df_k5[\"layer_run_time\"] * 1e-3,\n", + " ],\n", + " axis=1,\n", + ")\n", + "\n", + "\n", + "# set column names (will be displayed as plot labels)\n", + "df.columns = ['3', '6', '12', '24', '48'] \n", + "\n", + "# use pandas' boxplot method\n", + "df.boxplot().set_ylabel('Energy mWs (milliWattssecond)')\n", + "df.boxplot().set_xlabel('Output shape')" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.11" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/jetson/power_logging/notebooks/explore_pt_stride_single_conv_layer.ipynb b/jetson/power_logging/notebooks/explore_pt_stride_single_conv_layer.ipynb new file mode 100644 index 00000000..8189c446 --- /dev/null +++ b/jetson/power_logging/notebooks/explore_pt_stride_single_conv_layer.ipynb @@ -0,0 +1,1754 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "092683ca-8ae8-4f0f-b841-fa38b65260f9", + "metadata": {}, + "outputs": [], + "source": [ + "from pathlib import Path\n", + "import json\n", + "import matplotlib.pyplot as plt\n", + "import pandas as pd\n", + "\n", + "from utils import parse_latencies, parse_power_log, get_power_index, compute_layer_metrics_by_cycle" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "50d04548-6650-4a0e-9a58-e9c49e7bce30", + "metadata": {}, + "outputs": [], + "source": [ + "DATA_PATH = Path('../raw_data/single_conv_layer')" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "bbde6bce-f561-4508-b283-440b8cdcccde", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Average power consumed in IDLE state: 3579178.0650697174\n" + ] + } + ], + "source": [ + "with open((DATA_PATH/'idling_power.json'), 'r') as fp:\n", + " data = json.load(fp)\n", + "\n", + "avg_power = data['avg_idle_power']\n", + "print(f'Average power consumed in IDLE state: {avg_power}')" + ] + }, + { + "cell_type": "markdown", + "id": "457c527c-035d-4955-a230-90385a803b6e", + "metadata": {}, + "source": [ + "## Single Convolution Layers\n" + ] + }, + { + "cell_type": "markdown", + "id": "bd5813c0-be9c-4512-a154-abc079f70749", + "metadata": {}, + "source": [ + "### Kernel 1 Stride 1 Output 3" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "ae671960-9d2f-4cc7-89d1-53b35cbdbd7d", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 2859/2859 [00:00<00:00, 59737.74it/s]\n", + "Computing layer execution times: 3000it [00:00, 324159.83it/s]\n" + ] + } + ], + "source": [ + "model_name = 'conv_k1_s1_o3'\n", + "\n", + "with open((DATA_PATH/model_name/f'{model_name}_power_log.log'), 'r') as fp:\n", + " data = fp.readlines()\n", + "power_data = parse_power_log(data)\n", + "\n", + "with open((DATA_PATH/model_name/f'{model_name}_layerwise_latency.json'), 'r') as fp:\n", + " data = json.load(fp)\n", + "latency_data = parse_latencies(data)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "f4d50a23-75b0-4dd9-8d64-195445a02bbc", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Number of power entries for conv_k1_s1_o3: 2859\n", + "Number of TensorRT layers in conv_k1_s1_o3: 1\n", + "Number of latency entries for each layer: 3000\n", + "Inference for 3000 cycles: 3.6732 seconds\n" + ] + } + ], + "source": [ + "print(f\"Number of power entries for {model_name}: {len(power_data)}\")\n", + "print(f\"Number of TensorRT layers in {model_name}: {len(latency_data[0])}\")\n", + "print(f\"Number of latency entries for each layer: {len(latency_data)}\")\n", + "print(f\"Inference for {len(latency_data)} cycles: {(latency_data[len(latency_data)-1][0][2]-latency_data[0][0][1]).total_seconds()} seconds\")" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "431ae3c5-a518-44b5-b507-1bd345cbd268", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot([power for (_, power) in power_data])\n", + "plt.axhline(avg_power, color='purple', linestyle='--', label='Average IDLE power')\n", + "first_inference_start_index = get_power_index(power_data, latency_data[0][0][1])\n", + "last_inference_end_index = get_power_index(power_data, latency_data[2999][0][2])\n", + "plt.axvline(first_inference_start_index, color='green', label='First inference start')\n", + "plt.axvline(last_inference_end_index, color='red', label='Last inference end')\n", + "plt.legend()" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "50df5f3d-3fcb-4677-807e-36d66706b288", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Computing layer metrics...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Mapping power to layer: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████| 3000/3000 [00:00<00:00, 534215.50it/s]\n" + ] + } + ], + "source": [ + "metrics = compute_layer_metrics_by_cycle(power_data, latency_data, avg_power)\n", + "metrics_df_k1 = pd.DataFrame.from_dict(metrics)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "4be08b80-2db9-4f6e-a964-f0b269f73dbb", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
cyclelayer_power_including_idle_power_micro_wattlayer_power_excluding_idle_power_micro_wattlayer_run_time
count3000.0000001.747000e+031.747000e+033000.000000
mean1500.5000004.608916e+061.029738e+060.816979
std866.1697298.262556e+048.262556e+040.115955
min1.0000004.454208e+068.750299e+050.381344
25%750.7500004.534464e+069.552859e+050.804736
50%1500.5000004.574592e+069.954139e+050.826864
75%2250.2500004.694976e+061.115798e+060.855008
max3000.0000004.775232e+061.196054e+063.931040
\n", + "
" + ], + "text/plain": [ + " cycle layer_power_including_idle_power_micro_watt \\\n", + "count 3000.000000 1.747000e+03 \n", + "mean 1500.500000 4.608916e+06 \n", + "std 866.169729 8.262556e+04 \n", + "min 1.000000 4.454208e+06 \n", + "25% 750.750000 4.534464e+06 \n", + "50% 1500.500000 4.574592e+06 \n", + "75% 2250.250000 4.694976e+06 \n", + "max 3000.000000 4.775232e+06 \n", + "\n", + " layer_power_excluding_idle_power_micro_watt layer_run_time \n", + "count 1.747000e+03 3000.000000 \n", + "mean 1.029738e+06 0.816979 \n", + "std 8.262556e+04 0.115955 \n", + "min 8.750299e+05 0.381344 \n", + "25% 9.552859e+05 0.804736 \n", + "50% 9.954139e+05 0.826864 \n", + "75% 1.115798e+06 0.855008 \n", + "max 1.196054e+06 3.931040 " + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "metrics_df_k1.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "9dab2065-5d9d-45fb-9e01-e150634a83fd", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "cycle 3000\n", + "layer_power_including_idle_power_micro_watt 1747\n", + "layer_power_excluding_idle_power_micro_watt 1747\n", + "layer_run_time 3000\n", + "dtype: int64" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "metrics_df_k1.count()" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "e13d24ab-0ad1-40d8-b885-703cb3b47767", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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kzIyMhQfH1+h/7Rp0zRp0iR7vaSkRBEREZ6cCgAAaEA8CizZ2dkqKipyu5HO5XLp008/1auvvqqysjK3GZHdu3dr7969uvXWW+228vLyMwd2OpWXl6dOnTpVOE7Hjh3Vpk0b5efnnzOweHt7c1MuAACXEI8CS3x8vHJzc93axo0bp65du2rq1KkVLt907dq1Qv8//OEPOn78uF555ZVKZ0X279+vw4cPKywszJPyAABAI+VRYPH391d0dLRbm5+fn4KCguz2MWPGKDw8XCkpKfLx8anQv2XLlpJkt5eWlmr69Om64447FBoaqt27d2vKlCnq3LmzEhISanpeAACgEanzT7otKChQkybVf/ORl5eXvvzySy1btkzFxcVq166dbrrpJs2YMYPLPgAAQJLksCzLqu8iaqukpESBgYE6duyYAgIC6rscAABQDZ68fvNtzQAAwHgEFgAAYDwCCwAAMB6BBQAAGK/O3yVUH87eN8x3CgEA0HCcfd2uzvt/GkVgOX78uCTx8fwAADRAx48fV2BgYJV9GsXbmsvLy/XNN9/I399fDoejvssBUIfOfldYYWEhH1sANDKWZen48eNq167deT/DrVEEFgCNF5+zBEDiplsAANAAEFgAAIDxCCwAjObt7a2nn36a7xYDLnHcwwIAAIzHDAsAADAegQUAABiPwAIAAIxHYAEAAMYjsKDaBg0apIkTJ9Z3GZeEun6sn3nmGfXs2bPW40RGRmrevHn2usPh0KpVq2o9bnVV5zzGjh2rESNG2Ov83tadX/78gYupUXyXENDYrFy5Uk2bNq3vMs7r22+/VatWrS7a8SZPnqxHHnnkoh0P7rKysuTn51ffZdSZpUuXauLEiSouLnZrj4yM1MSJEwm6hiGwoME4efKkmjVrVt9l1Fp1zqN169YXqZraCQ0NvajHa9GihVq0aHFRj9kQnTp16oIE3rZt29Z4X5fLJYfDcd7viwEqw28OauSNN95Qnz595O/vr9DQUP3mN79RUVGRpDNfZtW5c2e99NJLbvvk5OTI4XAoPz9fklRcXKzx48erbdu2CggI0K9+9St98cUXdv+z0/+LFi1Shw4d5OPjc966Bg0apIcfflgPP/ywAgMD1aZNGz355JNuX11+9OhRjRkzRq1atZKvr6+GDh2qXbt22bW3bdtW7733nt2/Z8+eCgsLs9c3bNgg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nfkX8H/+8x999913yszM1KBBgzRo0CBlZGTo1KlT+uyzz+x//V7I8/il2NhY+/8dDodCQ0PtGY+cnBxdddVVdXbvy9nHqXfv3nZb165dq3Xp5ud1np2uP1tnXl6errnmGrf+v1yvrmPHjunbb791+1k6nU716dOn0n1yc3PlcrnUpUsXt59XZmam28+rKk6nU1dffbW9fvZxOfv7s337dvXv399tn/79+9vbW7ZsqR49eigjI0O5ublq1qyZHnjgAf373/9WaWmpMjMz7efTiRMntHv3bt13331u9c6cObNCvVWd97n4+vqqU6dO9npISIgiIyPd7hEKCQmpdFYtJydHl112mbp06VLpMZo1a+b2+1Cd519VPHluStLf/vY3xcfHKzw8XP7+/rr77rt1+PBh+5IRGhZuuoXHTpw4oYSEBCUkJGjFihVq27atCgoKlJCQoJMnT9r9xo8fr7vvvlsvv/yy0tLSdOedd9pTtaWlpQoLCzvnvQM/f1Gsj3ckxMTEqHXr1srMzFRmZqaee+45hYaG6vnnn1dWVpZOnTqlfv36Sbq45/HLmygdDod9yad58+YejdWkSZMK93qcb0q+un5e59ngWJtLU3WptLRUXl5eys7Odrt0Iemi3sx79kXW29tbAwcOVOvWrdWtWzdt2LBBmZmZeuyxx+x6pTP3/fz8RV5Shfo9/R071+9TVb9jv1Sd37nmzZvX6T0gnjw39+7dq1tuuUUTJkzQc889p9atW2vDhg267777dPLkSftvERoOAgs8tmPHDh0+fFizZ89WRESEJOlf//pXhX4333yz/Pz89Nprr2nNmjX69NNP7W29evXSwYMH5XQ6FRkZWaf1/fJG088//1xXXHGFvLy81K1bN50+fVqbN2+2/7AdPnxYeXl56t69u6Qzf6Svv/56/eUvf9FXX32l6667Tr6+viorK1Nqaqr69OljvzhcyPPwRGxsrBYtWqQjR45Ua5albdu2btfmXS6Xtm3bphtuuEHSmVmD06dPKzs7255NyMvLq/D2T09FRUUpKyvLre2X69UVGBiosLAwbd68WQMGDJAku+ZevXqdc5+rrrpKLpdLRUVFuv7662t03NOnT+tf//qXPTN09nHp1q2bJKlbt27auHGj7rnnHnufjRs32r9f0pmZgiVLlsjpdGrIkCGSzoSYt956Szt37rRnCUJCQtSuXTt9/fXXSkxMrFG9F0psbKz279+vnTt3VjnL8nPVef5VxZPnZnZ2tsrLyzVnzhz7nUnvvPOO23jNmjVzu6n4fO2oX1wSgscuv/xyNWvWTH/84x/19ddf64MPPtCMGTMq9PPy8tLYsWM1bdo0XXHFFYqLi7O3DR48WHFxcRoxYoTWrl2rvXv36rPPPtMTTzxxzvDjiYKCAk2aNEl5eXl666239Mc//lHJycmSpCuuuELDhw/X/fffrw0bNuiLL77QXXfdpfDwcA0fPtwe4+yLR8+ePdWiRQs1adJEAwYM0IoVK+zp+gt9Hp4YPXq0QkNDNWLECG3cuFFff/21/vznP1d4h85Zv/rVr/TRRx/po48+0o4dOzRhwgS3MBIVFaUhQ4bowQcf1ObNm5Wdna3x48d7PJPzS4888ohWr16tuXPnateuXUpNTdXHH39c43+FJycna/bs2Vq1apV27Nihhx56qMpQ1aVLFyUmJmrMmDFauXKl9uzZoy1btiglJUUfffRRtY7ZtGlTPfLII/bjMnbsWF177bV2gPmf//kfLV26VK+99pp27dqluXPnauXKlZo8ebI9xoABA3T8+HF9+OGHdjgZNGiQVqxYobCwMLcAMH36dKWkpGj+/PnauXOncnNzlZaWprlz53r+gNWhgQMHasCAAbrjjju0bt067dmzRx9//LHbu51+qbrPv6pU97nZuXNnnTp1yv479cYbb2jBggVuY0VGRqq0tFTr16/X999/b18qioyM1KeffqoDBw7o+++/r8GjgwuBwAKPtW3bVkuXLtW7776r7t27a/bs2RXewnzW2enXcePGubU7HA6tXr1aAwYM0Lhx49SlSxeNGjVK+/btU0hISK3qGzNmjH788Uddc801SkpKUnJysh544AF7e1pamnr37q1bbrlFcXFxsixLq1evdpsOHzhwoFwul9v18EGDBlVou5Dn4YlmzZpp7dq1Cg4O1s0336yYmJgK79j4uXvvvVf33HOPxowZo4EDB6pjx4727MpZaWlpateunQYOHKjbb79dDzzwgIKDg2tVZ//+/bVgwQLNnTtXPXr00Jo1a/Too49W663e5/LYY4/p7rvv1j333KO4uDj5+/vrtttuq3KftLQ0jRkzRo899piioqI0YsQIZWVl6fLLL6/WMX19fTV16lT95je/Uf/+/dWiRQu9/fbb9vYRI0bolVde0UsvvaQrr7xSqampSktLc/u9adWqlWJiYtS2bVt17dpV0pkQU15e7vaiK525tLpo0SKlpaUpJiZGAwcO1NKlS9WhQ4dqPkoXzp///GddffXVGj16tLp3764pU6acd2aiOs+/qlT3udmjRw/NnTtXzz//vKKjo7VixQqlpKS4jdWvXz/99re/1Z133qm2bdvqhRdekCQ9++yz2rt3rzp16lTre89QdxzWLy9kA3Xon//8p+Lj41VYWHhRXsAHDRqknj178vHhDcj999+vHTt26J///Gd9l3JelX0yKoALj3tYcEGUlZXpu+++0zPPPKORI0de1NkGmO2ll17SjTfeKD8/P3388cdatmyZ2wehAcC5cEkIF8Rbb72l9u3bq7i42J5mra2CggK3t3b+cjn7lmrTNZbzqKktW7boxhtvVExMjBYsWKD58+dr/PjxkqQrr7yy0sflfJ/eWheGDh1a6fFnzZp1wY9fVxrqeTTUunFxcEkIDcbp06e1d+/eSrdHRkbK6TR/0rCxnMeFsG/fvkrfXh0SEiJ/f/8LevwDBw7oxx9/POe21q1bN5jveGqo59FQ68bFQWABAADG45IQAAAwHoEFAAAYj8ACAACMR2ABAADGI7AAAADjEVgAAIDxCCwAAMB4/w/NgmybnH8WqgAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "metrics_df_k1.boxplot(column='layer_power_including_idle_power_micro_watt', grid=False)" + ] + }, + { + "cell_type": "markdown", + "id": "7a171f59-3afa-4902-8cce-11e153df1586", + "metadata": { + "jp-MarkdownHeadingCollapsed": true + }, + "source": [ + "### Kernel 2 Stride 2 Output 3" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "5c43603b-a0c0-4725-96a9-5dda4585b2f4", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1471/1471 [00:00<00:00, 68028.99it/s]\n", + "Computing layer execution times: 3000it [00:00, 457377.49it/s]\n" + ] + } + ], + "source": [ + "model_name = 'conv_k1_s2_o3'\n", + "\n", + "with open((DATA_PATH/model_name/f'{model_name}_power_log.log'), 'r') as fp:\n", + " data = fp.readlines()\n", + "power_data = parse_power_log(data)\n", + "\n", + "with open((DATA_PATH/model_name/f'{model_name}_layerwise_latency.json'), 'r') as fp:\n", + " data = json.load(fp)\n", + "latency_data = parse_latencies(data)" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "811cd848-c95a-430d-840a-1442119757d7", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Number of power entries for conv_k1_s2_o3: 1471\n", + "Number of TensorRT layers in conv_k1_s2_o3: 1\n", + "Number of latency entries for each layer: 3000\n", + "Inference for 3000 cycles: 1.648978 seconds\n" + ] + } + ], + "source": [ + "print(f\"Number of power entries for {model_name}: {len(power_data)}\")\n", + "print(f\"Number of TensorRT layers in {model_name}: {len(latency_data[0])}\")\n", + "print(f\"Number of latency entries for each layer: {len(latency_data)}\")\n", + "print(f\"Inference for {len(latency_data)} cycles: {(latency_data[len(latency_data)-1][0][2]-latency_data[0][0][1]).total_seconds()} seconds\")" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "74c267eb-b722-43dc-a7c6-8e95712a40a6", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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IlkxjBAREZGsGEaIiIhIVgwjREREJCuGESIiIpIVwwgRERHJimGEiIiIZMUwQkRERLJiGCEiIiJZMYwQERGRrBhGiIiISFYMI0RERCQrhhEiIiKSFcMIERERyYphhIiIiGTFMEJERESyYhghIiIiWTGMEBERkawYRoiIiEhWDCNEREQkK4YRIiIikhXDCBEREcmKYYSIiIhkxTBCREREsmIYISIiIlkxjBAREZGsGEaIiIhIVgwjREREJCuGESIiIpIVwwgRERHJimGEiIiIZMUwQkRERLJiGCEiIiJZMYwQERGRrBhGiIiISFYMI0RERCQrhhEiIiKSFcMIERERyYphhIiIiGTFMEJERESyYhghIiIiWekVRpYuXQpfX1+o1Wqo1WoEBgZi165d5c6zaNEieHt7w9LSEm5ubpg8eTKys7OrVGkiIiKqO5T6FG7atCkiIyPRsmVLCCGwdu1aPP/880hISEC7du1KlN+wYQOmT5+O7777Dt26dcPly5cxevRoKBQKLFy4sNoaQURERMZLrzAyZMgQneF58+Zh6dKlOHbsWKlh5MiRI+jevTtee+01AICnpydGjBiB48ePV6HKREREVJdU+pyRgoICREdHIzMzE4GBgaWW6datG+Lj43HixAkAwPXr17Fz504MGjSo3GXn5OQgIyND50VERER1k149IwCQmJiIwMBAZGdnw8bGBlu3bkXbtm1LLfvaa6/hr7/+Qo8ePSCEQH5+PsaNG4cPP/yw3HVERERgzpw5+laNiIiIjJDePSPe3t44c+YMjh8/jvHjx2PUqFG4cOFCqWVjY2Px6aef4ptvvsHp06exZcsW7NixA3Pnzi13HeHh4UhPT5det2/f1reaREREZCQUQghRlQUEBQWhefPmWL58eYlpPXv2xFNPPYXPP/9cGvef//wHb7/9NjQaDUxMKpaFMjIyYGdnh/T0dKjV6qpUl8qQmZsJmwgbAIAmXANrc2uZa0RERBWWmQnYFG7DodEA1oaxDa/o/rvK9xnRarXIyckpdVpWVlaJwGFqagoAqGIGIiIiojpCr3NGwsPDMXDgQLi7u+Phw4fYsGEDYmNjsXv3bgBAaGgoXF1dERERAaDw6puFCxfCz88PXbt2xdWrVzFz5kwMGTJECiVERERUv+kVRtLS0hAaGoqUlBTY2dnB19cXu3fvxrPPPgsASEpK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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot([power for (_, power) in power_data])\n", + "plt.axhline(avg_power, color='purple', linestyle='--', label='Average IDLE power')\n", + "first_inference_start_index = get_power_index(power_data, latency_data[0][0][1])\n", + "last_inference_end_index = get_power_index(power_data, latency_data[2999][0][2])\n", + "plt.axvline(first_inference_start_index, color='green', label='First inference start')\n", + "plt.axvline(last_inference_end_index, color='red', label='Last inference end')\n", + "plt.legend()" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "f181155f-1e23-4821-b519-b360ae154ae6", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Computing layer metrics...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Mapping power to layer: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████| 3000/3000 [00:00<00:00, 982502.69it/s]\n" + ] + } + ], + "source": [ + "metrics = compute_layer_metrics_by_cycle(power_data, latency_data, avg_power)\n", + "metrics_df_k2 = pd.DataFrame.from_dict(metrics)" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "9b178496-105f-4b88-b3c5-13d5cfe74d64", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
cyclelayer_power_including_idle_power_micro_wattlayer_power_excluding_idle_power_micro_wattlayer_run_time
count3000.0000006.830000e+02683.0000003000.000000
mean1500.5000004.470247e+06891069.3844180.315634
std866.1697293.965092e+0439650.9223130.030667
min1.0000004.373952e+06794773.9349300.223872
25%750.7500004.454208e+06875029.9349300.308888
50%1500.5000004.494336e+06915157.9349300.312128
75%2250.2500004.494336e+06915157.9349300.319680
max3000.0000004.494336e+06915157.9349301.508768
\n", + "
" + ], + "text/plain": [ + " cycle layer_power_including_idle_power_micro_watt \\\n", + "count 3000.000000 6.830000e+02 \n", + "mean 1500.500000 4.470247e+06 \n", + "std 866.169729 3.965092e+04 \n", + "min 1.000000 4.373952e+06 \n", + "25% 750.750000 4.454208e+06 \n", + "50% 1500.500000 4.494336e+06 \n", + "75% 2250.250000 4.494336e+06 \n", + "max 3000.000000 4.494336e+06 \n", + "\n", + " layer_power_excluding_idle_power_micro_watt layer_run_time \n", + "count 683.000000 3000.000000 \n", + "mean 891069.384418 0.315634 \n", + "std 39650.922313 0.030667 \n", + "min 794773.934930 0.223872 \n", + "25% 875029.934930 0.308888 \n", + "50% 915157.934930 0.312128 \n", + "75% 915157.934930 0.319680 \n", + "max 915157.934930 1.508768 " + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "metrics_df_k2.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "56d3e44f-6121-4864-8b1a-4a518ff4e1c4", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "cycle 3000\n", + "layer_power_including_idle_power_micro_watt 683\n", + "layer_power_excluding_idle_power_micro_watt 683\n", + "layer_run_time 3000\n", + "dtype: int64" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "metrics_df_k2.count()" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "e30edc4b-a127-4e82-8452-2643f8c51045", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiwAAAGsCAYAAAD+L/ysAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAMftJREFUeJzt3X1YVHX+//HXAAqKiIqigghqKpriTbqmqdBKa2Um9s2tlsS8yUotXDP9utmNlkGtumpeKV80SPMbu23q18xcW/Mm1JRwKWoVzUSIMiqTG8sJ4fz+8OdsIygMoH6g5+O65rqaz3mfc95nnGFefc6ZGZtlWZYAAAAM5natGwAAAKgMgQUAABiPwAIAAIxHYAEAAMYjsAAAAOMRWAAAgPEILAAAwHgEFgAAYDwCCwAAMB6BBQAAGK/eBZbdu3dr5MiRCggIkM1m08aNG13ehmVZWrhwobp06SJPT08FBgZqwYIFtd8sAACoEo9r3UBtO3PmjHr16qUJEyborrvuqtY2YmNjtW3bNi1cuFA9e/bUqVOndOrUqVruFAAAVJWtPv/4oc1m04YNGxQVFeUYs9vtevLJJ/XGG2/o9OnT6tGjh1588UVFRERIkg4dOqSwsDB9+umn6tq167VpHAAAOKl3p4QqM23aNO3bt08pKSn65JNPNGbMGN166606evSoJOntt99Wx44dtXnzZnXo0EEhISGaNGkSMywAAFxDv6rAkpOTo6SkJL355psaMmSIOnXqpJkzZ2rw4MFKSkqSJH3xxRc6ceKE3nzzTa1Zs0bJyclKT0/X3XfffY27BwDg16veXcNyOZmZmSotLVWXLl2cxu12u/z8/CRJZWVlstvtWrNmjaNu9erVuuGGG5SVlcVpIgAAroFfVWApLi6Wu7u70tPT5e7u7rSsSZMmkqS2bdvKw8PDKdR069ZN0vkZGgILAABX368qsPTp00elpaXKz8/XkCFDKqy56aabdO7cOR07dkydOnWSJB05ckSSFBwcfNV6BQAA/1HvPiVUXFyszz//XNL5gLJ48WLdfPPNatGihdq3b6/7779fe/bs0aJFi9SnTx99++232r59u8LCwjRixAiVlZWpf//+atKkiZYsWaKysjJNnTpVTZs21bZt267x0QEA8OtU7wLLzp07dfPNN5cbHzdunJKTk1VSUqLnn39ea9asUV5enlq2bKkbb7xR8+bNU8+ePSVJX331lR599FFt27ZN3t7euu2227Ro0SK1aNHiah8OAABQPQwsAACg/qnRx5rj4+Nls9k0ffr0S9YkJyfLZrM53by8vJxqLMvS008/rbZt26pRo0aKjIx0fC8KAABAtQNLWlqaEhISFBYWVmlt06ZN9fXXXztuJ06ccFr+0ksvadmyZVq5cqX2798vb29vDR8+XGfPnq1uewAAoB6p1qeEiouLFR0drcTERD3//POV1ttsNrVp06bCZZZlacmSJZo7d65GjRolSVqzZo1at26tjRs36t577610+2VlZfrqq6/k4+Mjm83m2sEAAIBrwrIsFRUVKSAgQG5ul59DqVZgmTp1qkaMGKHIyMgqBZbi4mIFBwerrKxMffv21QsvvKDrr79eknT8+HGdPHlSkZGRjnpfX18NGDBA+/btqzCw2O122e12x/28vDx17969OocCAACusdzcXLVr1+6yNS4HlpSUFB08eFBpaWlVqu/atateffVVhYWFqaCgQAsXLtSgQYP02WefqV27djp58qQkqXXr1k7rtW7d2rHsYnFxcZo3b1658dzcXDVt2tTFIwIAANdCYWGhgoKC5OPjU2mtS4ElNzdXsbGxeu+998pdOHspAwcO1MCBAx33Bw0apG7duikhIUHPPfecK7t3mDNnjmbMmOG4f+GAmzZtSmABAKCOqcrlHC4FlvT0dOXn56tv376OsdLSUu3evVvLly+X3W4v95X3F2vQoIH69Onj+HK3C9e2fPPNN2rbtq2j7ptvvlHv3r0r3Ianp6c8PT1daR0AANRhLn1KaNiwYcrMzFRGRobj1q9fP0VHRysjI6PSsCKdDziZmZmOcNKhQwe1adNG27dvd9QUFhZq//79TjMzAADg18ulGRYfHx/16NHDaczb21t+fn6O8ZiYGAUGBiouLk6SNH/+fN1444267rrrdPr0af35z3/WiRMnNGnSJElyfI/L888/r86dO6tDhw566qmnFBAQoKioqFo4RAAAUNfV+o8f5uTkOH006YcfftCDDz6okydPqnnz5rrhhhu0d+9ep0/1zJo1S2fOnNHkyZN1+vRpDR48WFu3bq3ydTIAAKB+qxdfzV9YWChfX18VFBRw0S0AAHWEK+/fNfpqfgAAgKuBwAIAAIxHYAEAAMYjsAAAAOMRWAAAgPEILAAAwHgE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6u12u2bOnKnAwEB5e3trwIAB2rlzZ5X2n5ycrGbNmmnjxo3q3LmzvLy8NHz4cOXm5jrVrVixQp06dVLDhg3VtWtXrV271rFs5syZuuOOOxz3lyxZIpvNpq1btzrGrrvuOq1atcpxf9WqVerWrZu8vLwUGhqqV155xbHswuP+17/+VeHh4fLy8qrw36qi49i8ebO6du2qxo0b6+6779aPP/6o1157TSEhIWrevLkee+wxlZaWOta7+JTQ6dOn9dBDD6l169by8vJSjx49tHnzZqd9bNq0Sd27d5enp6dycnIu+/q7nOq8NhcvXqyePXvK29tbQUFBmjJlioqLiyVJO3fu1Pjx41VQUCCbzSabzaZnn31WEREROnHihP74xz86xmEGAguqpaSkRM8995w+/vhjbdy4UdnZ2Y43O5vNpgkTJigpKclpnaSkJA0dOlTXXXedJGnMmDHKz8/Xu+++q/T0dPXt21fDhg3TqVOnHOt8/vnneuutt7R+/XplZGRUqbfXXntNHh4eOnDggJYuXarFixc7/fF/4IEH9NFHH2nTpk3at2+fLMvS7bffrpKSEtlsNg0dOtTxBvbDDz/o0KFD+umnn3T48GFJ0q5du9S/f381btz4ih7HxRYtWqR+/frpX//6l6ZMmaJHHnlEWVlZkqTi4mKFh4crLy9PmzZt0scff6xZs2aprKysWvu68Djl5uZqx44d+vvf/65XXnnFEUov58knn9TMmTOVkZGhLl266L777tO5c+ckSXv27NHDDz+s2NhYZWRk6JZbbtGCBQuq3eOiRYuUnJysV199VampqTp16pQ2bNhw2XWmTZumffv2KSUlRZ988onGjBmjW2+9tUpvmpL0448/asGCBVqzZo327Nmj06dP695773Us37Bhg2JjY/X444/r008/1UMPPaTx48drx44dkqTw8HClpqY6gsCuXbvUsmVLx3MuLy9Px44dU0REhCRp3bp1evrpp7VgwQIdOnRIL7zwgp566im99tprTn3993//t2JjY3Xo0CENHz68SsexbNkypaSkaOvWrdq5c6dGjx6tLVu2aMuWLVq7dq0SEhKcAsIvlZWV6bbbbtOePXv0+uuv69///rfi4+Pl7u7utI8XX3xRq1at0meffSZ/f//Lvv4upzqvTTc3Ny1btkyfffaZXnvtNb3//vuaNWuWJGnQoEFa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X1ZsbKwkqXPnzho1apQefPBBpaam6uOPP9b999+vwMBAjRo1yrGNC28evXv3VpMmTeTm5qahQ4dq3bp1jun6K30crrjvvvvUpk0bRUVFac+ePfriiy/01ltvlfuEzgW//e1v9c477+idd97R4cOH9cgjjziFka5du+rWW2/VQw89pP379ys9PV2TJk1yeSbnYo8++qi2bNmixYsX6+jRo0pISNC7775b7f8Lj42NVXx8vDZu3KjDhw9rypQplw1VXbp0UXR0tGJiYrR+/XodP35cBw4cUFxcnN55550q7bNBgwZ69NFHHY/LAw88oBtvvNERYJ544gklJydrxYoVOnr0qBYvXqz169dr5syZjm0MHTpURUVF2rx5syOcREREaN26dWrbtq1TAJg3b57i4uK0bNkyHTlyRJmZmUpKStLixYtdf8BqUXh4uIYOHar/+q//0nvvvafjx4/r3Xffdfq008Wq+vq7nKq+Nq+77jqVlJQ4/k6tXbtWK1eudNpWSEiIiouLtX37dn333XeOU0UhISHavXu38vLy9N1331Xj0cGVQGCBy1q1aqXk5GS9+eab6t69u+Lj48t9hPmCC9Ov48ePdxq32WzasmWLhg4dqvHjx6tLly669957deLECbVu3bpG/cXExOinn37Sb37zG02dOlWxsbGaPHmyY3lSUpJuuOEG3XHHHRo4cKAsy9KWLVucpsPDw8NVWlrqdD48IiKi3NiVPA5XNGzYUNu2bZO/v79uv/129ezZs9wnNn5pwoQJGjdunGJiYhQeHq6OHTs6ZlcuSEpKUkBAgMLDw3XXXXdp8uTJ8vf3r1GfN910k1auXKnFixerV69e2rp1q/74xz9W6aPeFXn88cc1duxYjRs3TgMHDpSPj49Gjx592XWSkpIUExOjxx9/XF27dlVUVJTS0tLUvn37Ku2zcePGmj17tv7whz/opptuUpMmTfTXv/7VsTwqKkpLly7VwoULdf311yshIUFJSUlOz5vmzZurZ8+eatWqlUJDQyWdDzFlZWVOb7rS+VOrq1atUlJSknr27Knw8HAlJyerQ4cOVXyUrpy33npL/fv313333afu3btr1qxZlc5MVOX1dzlVfW326tVLixcv1osvvqgePXpo3bp1iouLc9rWoEGD9PDDD+uee+5Rq1at9NJLL0mS5s+fr+zsbHXq1KnG156h9tisi09kA7Xogw8+0LBhw5Sbm3tV3sAjIiLUu3dvvj68DnnwwQd1+PBhffDBB9e6lUpd6ptRAVx5XMOCK8Jut+vbb7/Vs88+qzFjxlzV2QaYbeHChbrlllvk7e2td999V6+99prTF6EBQEU4JYQr4o033lBwcLBOnz7tmGatqZycHKePdl58u/CRatPVl+OorgMHDuiWW25Rz549tXLlSi1btkyTJk2SJF1//fWXfFwq+/bW2nDbbbddcv8vvPDCFd9/bamrx1FX+8bVwSkh1Bnnzp1Tdnb2JZeHhITIw8P8ScP6chxXwokTJy758erWrVvLx8fniu4/Ly9PP/30U4XLWrRoUWd+46muHkdd7RtXB4EFAAAYj1NCAADAeAQWAABgPAILAAAwHoEFAAAYj8ACAACMR2ABAADGI7AAAADj/T8lUcb662SJhQAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "metrics_df_k2.boxplot(column='layer_power_including_idle_power_micro_watt', grid=False)" + ] + }, + { + "cell_type": "markdown", + "id": "1c568ab1-e5d5-49a6-913e-57eae02cd464", + "metadata": { + "jp-MarkdownHeadingCollapsed": true + }, + "source": [ + "### Kernel 3 Stride 3 Output 3" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "bc91735e-e9aa-4576-b444-81ab76cff484", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1285/1285 [00:00<00:00, 105653.08it/s]\n", + "Computing layer execution times: 3000it [00:00, 475382.98it/s]\n" + ] + } + ], + "source": [ + "model_name = 'conv_k1_s3_o3'\n", + "\n", + "with open((DATA_PATH/model_name/f'{model_name}_power_log.log'), 'r') as fp:\n", + " data = fp.readlines()\n", + "power_data = parse_power_log(data)\n", + "\n", + "with open((DATA_PATH/model_name/f'{model_name}_layerwise_latency.json'), 'r') as fp:\n", + " data = json.load(fp)\n", + "latency_data = parse_latencies(data)" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "12481a42-0095-4903-bb43-f5bc9ac3a53d", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Number of power entries for conv_k1_s3_o3: 1285\n", + "Number of TensorRT layers in conv_k1_s3_o3: 1\n", + "Number of latency entries for each layer: 3000\n", + "Inference for 3000 cycles: 1.368119 seconds\n" + ] + } + ], + "source": [ + "print(f\"Number of power entries for {model_name}: {len(power_data)}\")\n", + "print(f\"Number of TensorRT layers in {model_name}: {len(latency_data[0])}\")\n", + "print(f\"Number of latency entries for each layer: {len(latency_data)}\")\n", + "print(f\"Inference for {len(latency_data)} cycles: {(latency_data[len(latency_data)-1][0][2]-latency_data[0][0][1]).total_seconds()} seconds\")" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "98f3a4e8-c3a3-4b47-8fd7-b776fdec2e1f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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DVNycrI6duyogICAcn1nQGVFGAGqsL1792rLli1avHixpHOXGO69916999576t69u7y8vHTPPfdowYIFevDBB5WZmalPP/1USUlJks79R5+VlXXBASs3N1dt27Z1G1cYKAo5HA5NmDBBy5YtU2pqqvLz83X27FnXmZG9e/fKy8tL7dq1c81z1VVXqXbt2q7hnTt3yuFwKDQ01G3ZZ8+e1YEDB8rZOnKdISrN8zRatGihzz77zG2c3W6/6DyNGjVyBRFJiomJkdPp1N69exUQEKBjx46pS5cubvN06dLFdTmqVatWqlOnjtatWycfHx+1bdtWt99+u9566y1JcoVLqXzfGVBZEUaAi4h3xBc7zcPT/Srn6LTRxZa1ebgfDEceGlm+iv3Pe++9p/z8fEVERLjGGWPk6+urN998UyEhIYqLi1O3bt2UlpamVatWyd/fX7169ZIk1+WbZcuWuR1MJbnOVBQKDAx0Gx49erRWrVqlqVOn6qqrrpK/v7/69+9fqrceOxwOhYeHu12iKFSrVq0SL6c4P/74oySpSZMmJZ7Hx8dHV111VbnXXRo2m0033XSTkpOT5evrq+7duys6Olo5OTnavXu3vv76a40efe73qzzfGVBZEUaAi/AJLPnj4S9V2eLk5+dr/vz5SkxM1K233uo2rV+/fvroo480bNgwde7cWZGRkfrHP/6hFStW6O6775a3t7ck6ZprrpGvr69SUlLcTu+XxMaNGzV48GBX3xOHw+F2OaRFixbKz8/X9u3b1b59e0nn/qs/vzNpu3btdPz4cXl5eSkqKqoMrXBx06dPl91uV2xsbIUv+3wpKSk6duyYKxR+88038vDwUIsWLWS32xUREaGNGze6tfHGjRt1/fXXu4a7deum2bNny9fXV5MnT5aHh4duuukmvfbaa8rJyXGdWSnPdwZUVoQRoIpaunSpTp06paFDhyokJMRt2l/+8he99957GjZsmKRzd9W888472rdvn9auXesqFxwcrNGjR2vUqFFyOp268cYblZ6ero0bN8put2vQoEHFrr9Zs2b65JNP1LdvX9lsNr3wwgtyOp2u6S1btlRsbKweffRRzZw5U97e3nr66afl7+/vumwSGxurmJgY9evXT6+++qqaN2+uY8eOadmyZbrrrrtKdZnh9OnTOn78uHJycrRv3z7NmjVLS5Ys0fz58y84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nS86OloffPCB8vLyLggtDRo0UEREhH755RfFxcWVeJk2m01dunRRly5d9OKLL6px48ZavHix/vrXv8rHx+eCdv3666/VuHFjjRs3zjXu8OHDJVpXUcsDqpJShZHg4OALniUQGBio0NBQ1/iBAweqYcOGrh75I0eOVLdu3ZSYmKg+ffooKSlJ3377rd59990K2gQAZTVt2jSFh4erbdu28vDw0MKFCxUWFqZatWpJOtdvYc2aNerSpYt8fX3/8DJDebz44ou6/fbb1ahRI/Xv318eHh7auXOndu/efdGO8mWd73wjRozQG2+8ofvuu0/x8fEKCQnRN998o+uvv14tWrTQxIkT9eSTTyokJES9evVSTk6Ovv32W506deqCDvqStHnzZq1Zs0a33nqr6tevr82bN+vEiRO6+uqrJZ1r15UrV2rv3r0KDQ1VSEiImjVrppSUFCUlJaljx45atmyZFi9eXKL6R0VFafPmzTp06JCCgoJUp04deXjwTEtUHRX+25qSkqLU1FTXcOfOnfXhhx/q3XffVZs2bbRo0SItWbKkVA9IAnBpBAcH69VXX1WHDh3UsWNHHTp0SMuXL3cdyBITE7Vq1SpFRkaqbdu2l7QuPXv21NKlS/XFF1+oY8eOuuGGG/T3v//drVNtRc53vtDQUH355ZdyOBzq1q2b2rdvr9mzZ7vOkjz88MOaM2eO5s6dq9atW6tbt26aN29esZdc7Ha71q9fr9tuu03NmzfX888/r8TERPXu3VuS9Mgjj6hFixbq0KGD6tWrp40bN+qOO+7QqFGjNGLECF133XX6+uuv9cILL5So/qNHj5anp6euueYa1atXTykpKSXedqAysBljjNWV+CMZGRkKCQlRenr6BZ25UHlk5ma67kAp7R0hVsvOztbBgwddz24AagJ+76uBzEyp8G46h0OqZH2KSnr85jweAACwFGEEAABYijACAAAsRRgBAACWIowAAABLEUYAAIClCCMAAMBShBEAAGApwggAALAUYQRAucybN8/1LpuSMsbo0UcfVZ06dWSz2bRjx45LUrfqqHv37m4vHgWqA8IIUIUNHjxY/fr1uyTLTk5Ols1m0+nTpy9a7t5779W+fftKtex//etfmjdvnpYuXarU1FTeVQXUcKV6ay8A/J6/v7/8/f1LNc+BAwcUHh6uzp07l3m9xhgVFBTIy4vdGFDVcWYEqMamTZum1q1bKzAwUJGRkXr88cflcDhc0w8fPqy+ffuqdu3aCgwM1LXXXqvly5fr0KFDuvnmmyVJtWvXls1m0+DBg4tcx+8v00yYMEHXXXed/t//+3+KiopSSEiI7rvvPp05c0bSubM5TzzxhFJSUmSz2RQVFSVJcjqdSkhIUJMmTeTv7+96y3ehwjM1K1asUPv27eXr66sNGzaUeL41a9aoQ4cOCggIUOfOnbV371637fj888/VsWNH+fn5qW7durrrrrtc03JycjR69Gg1bNhQgYGB6tSpk5KTky/a9qdPn9bDDz+sevXqyW63609/+pN27txZ4naSpMzMTA0cOFBBQUEKDw9XYmLiRdcJVFWEEaAoxpx7G6YVnwp8kbaHh4def/11/fDDD/rggw/05Zdf6tlnn3VNHz58uHJycrR+/Xrt2rVLr7zyioKCghQZGal//vOfkqS9e/cqNTVVM2bMKPF6Dxw4oCVLlmjp0qVaunSp1q1bpylTpkiSZsyYoZdeeklXXHGFUlNTtXXrVklSQkKC5s+fr3feeUc//PCDRo0apQceeEDr1q1zW/bYsWM1ZcoU/fjjj4qOji7xfOPGjVNiYqK+/fZbeXl56aGHHnJNW7Zsme666y7ddttt2r59u9asWaPrr7/eNX3EiBHatGmTkpKS9P333+vuu+9Wr1699PPPPxfbBnfffbfS0tK0YsUKbdu2Te3atVOPHj108uTJErWTJD3zzDNat26dPv30U33xxRdKTk7Wd999V+LvAagyTBWQnp5uJJn09HSrq4KLcOQ4jCbIaIKMI8dhdXVK5ezZs2bPnj3m7Nmz50Y4HMaciwWX/+MoedsNGjTI3HnnnSUuv3DhQhMaGuoabt26tZkwYUKRZdeuXWskmVOnTl10mXPnzjUhISGu4fHjx5uAgACTkZHhGvfMM8+YTp06uYb//ve/m8aNG7uGs7OzTUBAgPn666/dlj106FAzYMAAt/osWbKkTPOtXr3aNX3ZsmVGkuv7jomJMXFxcUVu3+HDh42np6c5evSo2/gePXqY+Pj4Iuf56quvjN1uN9nZ2W7jmzZtambNmmWM+eN2OnPmjPHx8TEff/yxa/p///tf4+/vb0aOHFnkekvrgt97VD3n76tKse+4XEp6/OZiK1CNrV69WgkJCfrpp5+UkZGh/Px8ZWdnKysrSwEBAXryySf12GOP6YsvvlBsbKz+8pe/KDo6utzrjYqKUnBwsGs4PDxcaWlpxZbfv3+/srKydMstt7iNz83NVdu2bd3GdejQoUzznb9d4eHhkqS0tDQ1atRIO3bs0COPPFJk3Xbt2qWCggI1b97cbXxOTo5CQ0OLnGfnzp1yOBwXTD979qwOHDjgGr5YOx04cEC5ubnq1KmTa3qdOnXUokWLItcJVGWEEaAoAQHSeX0rLvu6K8ChQ4d0++2367HHHtPkyZNVp04dbdiwQUOHDlVubq4CAgL08MMPq2fPnlq2bJm++OILJSQkKDExUU888US51u3t7e02bLPZ5HQ6iy1f2I9l2bJlatiwods0X19ft+HAwMAyzXd+nWw2myS56nSxDrgOh0Oenp7atm2bPD093aYFBQUVO094eHiR/UrO719T2nYCqivCCFAUm00676BXFW3btk1Op1OJiYny8DjXPezjjz++oFxkZKSGDRumYcOGKT4+XrNnz9YTTzwhHx8fSVJBQcElr+s111wjX19fpaSkqFu3bpd8vt+Ljo7WmjVrNGTIkAumtW3bVgUFBUpLS1PXrl1LtLx27drp+PHj8vLycnXQLa2mTZvK29tbmzdvVqNGjSRJp06d0r59+8q1rUBlRBgBqrj09PQLHhoWGhqqq666Snl5eXrjjTfUt29fbdy4Ue+8845buaeeekq9e/dW8+bNderUKa1du1ZXX321JKlx48ay2WxaunSpbrvtNvn7+xd7JqC8goODNXr0aI0aNUpOp1M33nij0tPTtXHjRtntdg0aNKhC5/u98ePHq0ePHmratKnuu+8+5efna/ny5RozZoyaN2+uuLg4DRw4UImJiWrbtq1OnDihNWvWKDo6Wn369LlgebGxsYqJiVG/fv306quvqnnz5jp27Jiro+z5l5qKExQUpKFDh+qZZ55RaGio6tevr3HjxrmCJVCdEEaAKi45OfmC/hFDhw7VnDlzNG3aNL3yyiuKj4/XTTfdpISEBA0cONBVrqCgQMOHD9e///1v2e129erVS3//+98lSQ0bNtTEiRM1duxYDRkyRAMHDtS8efMu2XZMmjRJ9erVU0JCgn755RfVqlVL7dq103PPPXdJ5jtf9+7dtXDhQk2aNElTpkyR3W7XTTfd5Jo+d+5c/e1vf9PTTz+to0ePqm7durrhhht0++23F7k8m82m5cuXa9y4cRoyZIhOnDihsLAw3XTTTWrQoEGJ6/Xaa6/J4XCob9++Cg4O1tNPP6309PQSzw9UFTZjKvA+wkskIyNDISEhSk9Pl91ut7o6KEZmbqaCEs795+yIdyjQp+pc5sjOztbBgwfVpEkT+fn5WV0d4LLg974ayMyUCs9YOhyV7vJySY/fnO8DAACWIowAAABLEUYAAIClCCMAAMBShBHgPFWgPzdQYfh9R2VBGAEk15M1c3NzLa4JcPlkZWVJuvBJsMDlxnNGAEleXl4KCAjQiRMn5O3tzYOlUK0ZY5SVlaW0tDTVqlXrgsfcA5cbYQTQuYdUhYeH6+DBgzp8+LDV1QEui1q1aiksLMzqagCEEaCQj4+PmjVrxqUa1Aje3t6cEUGlQRgBzuPh4cGTKAHgMuPCOAAAsBRhBAAAWIowAgAALEUYAQAAliKMAAAASxFGAACApQgjAADAUoQRAABgKcIIAACwFGEEAABYijACAAAsRRgBAACWIowAAABLEUYAAIClCCMAAMBShBEAAGApwggAALAUYQQAAFiKMAIAACxFGAEAAJYijAAAAEsRRgAAgKUIIwAAwFKEEQAAYCnCCAAAsBRhBAAAWIowAgAALEUYAQAAliKMAAAASxFGAACApQgjAADAUoQRAABgKcIIAACwFGEEAABYijACAAAsRRgBAACWIowAAABLEUYAAIClCCMAAMBSpQojM2fOVHR0tOx2u+x2u2JiYrRixYqLzjN9+nS1aNFC/v7+ioyM1KhRo5SdnV2uSgMAgOrDqzSFr7jiCk2ZMkXNmjWTMUYffPCB7rzzTm3fvl3XXnvtBeU//PBDjR07Vu+//746d+6sffv2afDgwbLZbJo2bVqFbQQAAKi6ShVG+vbt6zY8efJkzZw5U998802RYeTrr79Wly5ddP/990uSoqKiNGDAAG3evLkcVQYAANVJmfuMFBQUKCkpSZmZmYqJiSmyTOfOnbVt2zZt2bJFkvTLL79o+fLluu222y667JycHGVkZLh9AABA9VSqMyOStGvXLsXExCg7O1tBQUFavHixrrnmmiLL3n///frPf/6jG2+8UcYY5efna9iwYXruuecuuo6EhARNnDixtFUDAABVUKnPjLRo0UI7duzQ5s2b9dhjj2nQoEHas2dPkWWTk5P18ssv6+2339Z3332nTz75RMuWLdOkSZMuuo74+Hilp6e7PkeOHCltNQEAQBVhM8aY8iwgNjZWTZs21axZsy6Y1rVrV91www167bXXXOP+7//+T48++qgcDoc8PEqWhTIyMhQSEqL09HTZ7fbyVBeXUGZupoISgiRJjniHAn0CLa4RAFRzmZlS0Ln9rhwOKbBy7XdLevwu93NGnE6ncnJyipyWlZV1QeDw9PSUJJUzAwEAgGqiVH1G4uPj1bt3bzVq1EhnzpzRhx9+qOTkZK1cuVKSNHDgQDVs2FAJCQmSzt19M23aNLVt21adOnXS/v379cILL6hv376uUAIAAGq2UoWRtLQ0DRw4UKmpqQoJCVF0dLRWrlypW265RZKUkpLidibk+eefl81m0/PPP6+jR4+qXr166tu3ryZPnlyxWwEAAKqscvcZuRzoM1I10GcEAC4z+owAAACUH2EEAABYijACAAAsRRgBAACWIowAAABLEUYAAIClCCMAAMBShBEAAGApwggAALAUYQQAAFiKMAIAACxFGAEAAJYijAAAAEsRRgAAgKUIIwAAwFKEEQAAYCnCCAAAsBRhBAAAWIowAgAALEUYAQAAliKMAAAASxFGAACApQgjAADAUoQRAABgKcIIAACwFGEEAABYijACAAAsRRgBAACWIowAAABLEUYAAIClCCMAAMBShBEAAGApwggAALAUYQQAAFiKMAIAACxFGAEAAJYijAAAAEsRRgAAgKUIIwAAwFKEEQAAYCnCCAAAsBRhBAAAWIowAgAALEUYAQAAliKMAAAASxFGAACApQgjAADAUoQRAABgKcIIAACwFGEEAABYijACAAAsRRgBAACWIowAAABLEUYAAIClCCMAAMBShBEAAGApwggAALAUYQQAAFiKMAIAACxFGAEAAJYijAAAAEsRRgAAgKUIIwAAwFKEEQAAYCnCCAAAsBRhBAAAWIowAgAALEUYAQAAliKMAAAAS5UqjMycOVPR0dGy2+2y2+2KiYnRihUrLjrP6dOnNXz4cIWHh8vX11fNmzfX8uXLy1VpAABQfXiVpvAVV1yhKVOmqFmzZjLG6IMPPtCdd96p7du369prr72gfG5urm655RbVr19fixYtUsOGDXX48GHVqlWrouoPAACquFKFkb59+7oNT548WTNnztQ333xTZBh5//33dfLkSX399dfy9vaWJEVFRZW9tgAAoNopc5+RgoICJSUlKTMzUzExMUWW+eyzzxQTE6Phw4erQYMGatWqlV5++WUVFBRcdNk5OTnKyMhw+wAAgOqpVGdGJGnXrl2KiYlRdna2goKCtHjxYl1zzTVFlv3ll1/05ZdfKi4uTsuXL9f+/fv1+OOPKy8vT+PHjy92HQkJCZo4cWJpqwYAAKogmzHGlGaG3NxcpaSkKD09XYsWLdKcOXO0bt26IgNJ8+bNlZ2drYMHD8rT01OSNG3aNL322mtKTU0tdh05OTnKyclxDWdkZCgyMlLp6emy2+2lqS4uo8zcTAUlBEmSHPEOBfoEWlwjAKjmMjOloHP7XTkcUmDl2u9mZGQoJCTkD4/fpT4z4uPjo6uuukqS1L59e23dulUzZszQrFmzLigbHh4ub29vVxCRpKuvvlrHjx9Xbm6ufHx8ilyHr6+vfH19S1s1AABQBZX7OSNOp9PtLMb5unTpov3798vpdLrG7du3T+Hh4cUGEQAAULOUKozEx8dr/fr1OnTokHbt2qX4+HglJycrLi5OkjRw4EDFx8e7yj/22GM6efKkRo4cqX379mnZsmV6+eWXNXz48IrdCgAAUGWV6jJNWlqaBg4cqNTUVIWEhCg6OlorV67ULbfcIklKSUmRh8dv+SYyMlIrV67UqFGjFB0drYYNG2rkyJEaM2ZMxW4FAACoskrdgdUKhR1gThw7UWQHGA9PD3n5/ZarcjNzi12WzcMmb3/vMpXNy8pTcc1ls9nkHVDGsmfzZJzFfw0+gT5lKpufnS9ngbNCynoHeMtms50rm5MvZ/6FZTNzM1Xn9TqSfuvAWlxZ13L9vWXzOLfcgtwCFeQVf9t3acp6+XnJw9Oj9GXzClSQe5Gyvl7y8Cp9WWe+U/k5+cWW9fTxlKe3Z+nLFjiVn32Rst6e8vQpfVnjNMo7m1chZT28POTle+7v0xijvKwKKluKv3v2EUWXvdz7iDKVZR8h6SL7iMxM+TQ4t9/N/fWkFBhYqfYRl6wDq5USIxLlJ78Lxje7rZnuX3a/a3hq/anF7sQad2uswcmDXcMzomYo6z9ZRZaN6BChR7Y+4hp+65q3lH44vciy9a6pp8d/eNw1PLvjbJ3Yc6LIsiGNQ/TUoadcw/Numqdj3x4rsmxA3QA9c+IZ1/CC3gt0eN3hIst6B3jrucznXMMf/+Vj/bz85yLLStJ489vt1YsfXKw9i/YUWzbeEe/aMS39/5Zq5wc7LyiT650rjXMft/KvK/Xt298Wu9yRB0eqVlQtSdKacWu0aeqmYss+tvsx1b+2viTpq5e/0rqJ64ot+/CWh9WwY0NJ0jczvtHqZ1cXW3bQ2kGK6h4lSdr27jatGFH8Kw4GLB2g5n2aS5J2LdilT4d8WmzZ/h/317V3n3sY4I+Lf9SiexYVW/bOuXfqusHXSZL2r9yvj27/qNiyvd/sreuHXy9JSvkqRR/c/EGxZWNfjVWXZ7pIklK/S9Wc6+cUW7bb+G7qPqG7JOnEjyc0s9XMYsvGjI7Rra/dKklKT0nXjCYzii3b4fEO6vNWH0lS1n+yNLX+1GLLthnURv3m9ZN07mCdEJRQbNlr+l+juxfe7Rq+WFn2EedYvY8oNDpttALrnbvrg31E+fYR3spV4Tc6tcFU5cmn0u0jSoIX5QEAAEtxmYZTsCUqy2Wa/5XlMk2py3KZ5n9l2UeUrSz7CEnV/zJNlQojPPSscuOhZwBwmVWTh55xmQYAAFiKMAIAACxFGAEAAJYijAAAAEsRRgAAgKUIIwAAwFKEEQAAYCnCCAAAsBRhBAAAWIowAgAALEUYAQAAliKMAAAASxFGAACApbz+uIj1Cl8snJGRYXFNcDGZuZlS9rmfMzIyVOBT/KuzAQAVIDPzt58zMqSCyrXfLTxuFx7Hi2Mzf1SiEvj3v/+tyMhIq6sBAADK4MiRI7riiiuKnV4lwojT6dSxY8cUHBwsm81WYcvNyMhQZGSkjhw5IrvdXmHLrQ5om6LRLkWjXYpGuxSNdiledWsbY4zOnDmjiIgIeXgU3zOkSlym8fDwuGiiKi+73V4tvvRLgbYpGu1SNNqlaLRL0WiX4lWntgkJCfnDMnRgBQAAliKMAAAAS9XoMOLr66vx48fL19fX6qpUOrRN0WiXotEuRaNdika7FK+mtk2V6MAKAACqrxp9ZgQAAFiPMAIAACxFGAEAAJYijAAAAEvV6DDy1ltvKSoqSn5+furUqZO2bNlidZUumYSEBHXs2FHBwcGqX7+++vXrp71797qVyc7O1vDhwxUaGqqgoCD95S9/0a+//upWJiUlRX369FFAQIDq16+vZ555Rvn5+ZdzUy6pKVOmyGaz6amnnnKNq8ntcvToUT3wwAMKDQ2Vv7+/WrdurW+//dY13RijF198UeHh4fL391dsbKx+/vlnt2WcPHlScXFxstvtqlWrloYOHSqHw3G5N6XCFBQU6IUXXlCTJk3k7++vpk2batKkSW7v3qgJ7bJ+/Xr17dtXERERstlsWrJkidv0imqD77//Xl27dpWfn58iIyP16quvXupNK7eLtU1eXp7GjBmj1q1bKzAwUBERERo4cKCOHTvmtozq2jbFMjVUUlKS8fHxMe+//7754YcfzCOPPGJq1aplfv31V6urdkn07NnTzJ071+zevdvs2LHD3HbbbaZRo0bG4XC4ygwbNsxERkaaNWvWmG+//dbccMMNpnPnzq7p+fn5plWrViY2NtZs377dLF++3NStW9fEx8dbsUkVbsuWLSYqKspER0ebkSNHusbX1HY5efKkady4sRk8eLDZvHmz+eWXX8zKlSvN/v37XWWmTJliQkJCzJIlS8zOnTvNHXfcYZo0aWLOnj3rKtOrVy/Tpk0b880335ivvvrKXHXVVWbAgAFWbFKFmDx5sgkNDTVLly41Bw8eNAsXLjRBQUFmxowZrjI1oV2WL19uxo0bZz755BMjySxevNhtekW0QXp6umnQoIGJi4szu3fvNh999JHx9/c3s2bNulybWSYXa5vTp0+b2NhY849//MP89NNPZtOmTeb666837du3d1tGdW2b4tTYMHL99deb4cOHu4YLCgpMRESESUhIsLBWl09aWpqRZNatW2eMOfcH4u3tbRYuXOgq8+OPPxpJZtOmTcaYc39gHh4e5vjx464yM2fONHa73eTk5FzeDahgZ86cMc2aNTOrVq0y3bp1c4WRmtwuY8aMMTfeeGOx051OpwkLCzOvvfaaa9zp06eNr6+v+eijj4wxxuzZs8dIMlu3bnWVWbFihbHZbObo0aOXrvKXUJ8+fcxDDz3kNu7Pf/6ziYuLM8bUzHb5/QG3otrg7bffNrVr13b7OxozZoxp0aLFJd6iilNUUPu9LVu2GEnm8OHDxpia0zbnq5GXaXJzc7Vt2zbFxsa6xnl4eCg2NlabNm2ysGaXT3p6uiSpTp06kqRt27YpLy/PrU1atmypRo0audpk06ZNat26tRo0aOAq07NnT2VkZOiHH364jLWveMOHD1efPn3ctl+q2e3y2WefqUOHDrr77rtVv359tW3bVrNnz3ZNP3jwoI4fP+7WNiEhIerUqZNb29SqVUsdOnRwlYmNjZWHh4c2b958+TamAnXu3Flr1qzRvn37JEk7d+7Uhg0b1Lt3b0k1t13OV1FtsGnTJt10003y8fFxlenZs6f27t2rU6dOXaatufTS09Nls9lUq1YtSTWzbarEi/Iq2n/+8x8VFBS4HTwkqUGDBvrpp58sqtXl43Q69dRTT6lLly5q1aqVJOn48ePy8fFx/TEUatCggY4fP+4qU1SbFU6rqpKSkvTdd99p69atF0yrye3yyy+/aObMmfrrX/+q5557Tlu3btWTTz4pHx8fDRo0yLVtRW37+W1Tv359t+leXl6qU6dOlW2bsWPHKiMjQy1btpSnp6cKCgo0efJkxcXFSVKNbZfzVVQbHD9+XE2aNLlgGYXTateufUnqfzllZ2drzJgxGjBggOvFeDWxbWpkGKnphg8frt27d2vDhg1WV8VyR44c0ciRI7Vq1Sr5+flZXZ1Kxel0qkOHDnr55ZclSW3bttXu3bv1zjvvaNCgQRbXzjoff/yxFixYoA8//FDXXnutduzYoaeeekoRERE1ul1Qenl5ebrnnntkjNHMmTOtro6lauRlmrp168rT0/OCOyJ+/fVXhYWFWVSry2PEiBFaunSp1q5dqyuuuMI1PiwsTLm5uTp9+rRb+fPbJCwsrMg2K5xWFW3btk1paWlq166dvLy85OXlpXXr1un111+Xl5eXGjRoUCPbRZLCw8N1zTXXuI27+uqrlZKSIum3bbvY31FYWJjS0tLcpufn5+vkyZNVtm2eeeYZjR07Vvfdd59at26tBx98UKNGjVJCQoKkmtsu56uoNqiuf1vSb0Hk8OHDWrVqleusiFQz26ZGhhEfHx+1b99ea9ascY1zOp1as2aNYmJiLKzZpWOM0YgRI7R48WJ9+eWXF5zea9++vby9vd3aZO/evUpJSXG1SUxMjHbt2uX2R1L4R/T7g1ZV0aNHD+3atUs7duxwfTp06KC4uDjXzzWxXSSpS5cuF9z+vW/fPjVu3FiS1KRJE4WFhbm1TUZGhjZv3uzWNqdPn9a2bdtcZb788ks5nU516tTpMmxFxcvKypKHh/uu09PTU06nU1LNbZfzVVQbxMTEaP369crLy3OVWbVqlVq0aFHlLkOcrzCI/Pzzz1q9erVCQ0PdptfItrG6B61VkpKSjK+vr5k3b57Zs2ePefTRR02tWrXc7oioTh577DETEhJikpOTTWpqquuTlZXlKjNs2DDTqFEj8+WXX5pvv/3WxMTEmJiYGNf0wltYb731VrNjxw7zr3/9y9SrV6/K38L6e+ffTWNMzW2XLVu2GC8vLzN58mTz888/mwULFpiAgADzf//3f64yU6ZMMbVq1TKffvqp+f77782dd95Z5O2bbdu2NZs3bzYbNmwwzZo1q1K3sP7eoEGDTMOGDV239n7yySembt265tlnn3WVqQntcubMGbN9+3azfft2I8lMmzbNbN++3XVHSEW0wenTp02DBg3Mgw8+aHbv3m2SkpJMQEBApb999WJtk5uba+644w5zxRVXmB07drjtj8+/M6a6tk1xamwYMcaYN954wzRq1Mj4+PiY66+/3nzzzTdWV+mSkVTkZ+7cua4yZ8+eNY8//ripXbu2CQgIMHfddZdJTU11W86hQ4dM7969jb+/v6lbt655+umnTV5e3mXemkvr92GkJrfL559/blq1amV8fX1Ny5Ytzbvvvus23el0mhdeeME0aNDA+Pr6mh49epi9e/e6lfnvf/9rBgwYYIKCgozdbjdDhgwxZ86cuZybUaEyMjLMyJEjTaNGjYyfn5+58sorzbhx49wOJDWhXdauXVvkPmXQoEHGmIprg507d5obb7zR+Pr6moYNG5opU6Zcrk0ss4u1zcGDB4vdH69du9a1jOraNsWxGXPeYwMBAAAusxrZZwQAAFQehBEAAGApwggAALAUYQQAAFiKMAIAACxFGAEAAJYijAAAAEsRRgAAgKUIIwAAwFKEEQAAYCnCCAAAsBRhBAAAWOr/BxeuKk2uTATrAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot([power for (_, power) in power_data])\n", + "plt.axhline(avg_power, color='purple', linestyle='--', label='Average IDLE power')\n", + "first_inference_start_index = get_power_index(power_data, latency_data[0][0][1])\n", + "last_inference_end_index = get_power_index(power_data, latency_data[2999][0][2])\n", + "plt.axvline(first_inference_start_index, color='green', label='First inference start')\n", + "plt.axvline(last_inference_end_index, color='red', label='Last inference end')\n", + "plt.legend()" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "4968dca2-cfe9-4a62-995e-a86cd8c8fa56", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Computing layer metrics...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Mapping power to layer: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████| 3000/3000 [00:00<00:00, 731649.73it/s]\n" + ] + } + ], + "source": [ + "metrics = compute_layer_metrics_by_cycle(power_data, latency_data, avg_power)\n", + "metrics_df_k3 = pd.DataFrame.from_dict(metrics)" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "439b7e9c-1f07-446c-864b-9795ee650c35", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
cyclelayer_power_including_idle_power_micro_wattlayer_power_excluding_idle_power_micro_wattlayer_run_time
count3000.0000004.970000e+02497.0000003000.000000
mean1500.5000004.366685e+06787507.2950910.234826
std866.1697291.954785e+0419547.8497060.064445
min1.0000004.293696e+06714517.9349300.130816
25%750.7500004.373952e+06794773.9349300.225272
50%1500.5000004.373952e+06794773.9349300.228768
75%2250.2500004.373952e+06794773.9349300.238248
max3000.0000004.373952e+06794773.9349302.862304
\n", + "
" + ], + "text/plain": [ + " cycle layer_power_including_idle_power_micro_watt \\\n", + "count 3000.000000 4.970000e+02 \n", + "mean 1500.500000 4.366685e+06 \n", + "std 866.169729 1.954785e+04 \n", + "min 1.000000 4.293696e+06 \n", + "25% 750.750000 4.373952e+06 \n", + "50% 1500.500000 4.373952e+06 \n", + "75% 2250.250000 4.373952e+06 \n", + "max 3000.000000 4.373952e+06 \n", + "\n", + " layer_power_excluding_idle_power_micro_watt layer_run_time \n", + "count 497.000000 3000.000000 \n", + "mean 787507.295091 0.234826 \n", + "std 19547.849706 0.064445 \n", + "min 714517.934930 0.130816 \n", + "25% 794773.934930 0.225272 \n", + "50% 794773.934930 0.228768 \n", + "75% 794773.934930 0.238248 \n", + "max 794773.934930 2.862304 " + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "metrics_df_k3.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "2a0a92ee-ddcd-4ebe-a838-ddf6142a6b3f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "cycle 3000\n", + "layer_power_including_idle_power_micro_watt 497\n", + "layer_power_excluding_idle_power_micro_watt 497\n", + "layer_run_time 3000\n", + "dtype: int64" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "metrics_df_k3.count()" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "7c354213-2702-4238-9327-15da7621284c", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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JSQkNFp/+/btio6O1muvvabExMST9rvdbrndbs9jp9OpqKgo1dbWKjg4uLmHAwAAziOn06mQkJBmnb99CixFRUVKTU31mvWor6+XxWKRn5+fZwbldKZNm6aamhqtWbPmlHW6du2q+fPn66677jptf74cMAAAMAdfzt8+XRJKTExURUWFV1l6errsdruysrKaFVakozMux8+QnGjXrl3av3+/evTo4cvwAABAO+VTYLHZbBo8eLBXmdVqVXh4uKc8LS1NkZGRcjgcko6uN4mLi1N0dLTcbreKi4uVn5+vnJwcSUc/cTR37lz95Cc/UUREhLZt26b7779f/fv39/rYMwAAuHC1+D4sp1JdXS0/v+8/fFRXV6fp06dr165d6tixo+x2u1auXKmJEydKkvz9/fXBBx9oxYoVOnjwoHr27Knrr79e8+bN414sAABAko9rWMyKNSwAALQ9vpy/+S4hAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgeq0KLNnZ2bJYLJo5c+Yp6xQWFiouLk6hoaGyWq2KjY1Vfn7+Kev/8pe/lMVi0eLFi1szNAAA0I50aGnD0tJS5ebmKiYmpsl6YWFhmjNnjux2uwICArR69Wqlp6erW7duSk5O9qr7wgsv6J133lHPnj1bOiwAANAOtWiGxeVyafLkyVq6dKm6dOnSZN2EhASlpqZq0KBBio6OVkZGhmJiYrRhwwavert379a9996rVatW6aKLLmqyT7fbLafT6bUBAID2q0WBZcaMGUpJSVFSUpJP7QzDUElJiaqqqhQfH+8pb2ho0JQpU/Sb3/xGl19++Wn7cTgcCgkJ8WxRUVE+HwMAAGg7fL4kVFBQoLKyMpWWlja7TW1trSIjI+V2u+Xv768lS5ZozJgxnv0LFy5Uhw4d9Ktf/apZ/c2ePVuZmZmex06nk9ACAEA75lNgqampUUZGhtauXaugoKBmt7PZbCovL5fL5VJJSYkyMzPV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GTOUkpKipKQkn9oZhqGSkhJVVVUpPj7+lPVqa2tlsVgUGhra6H632y2n0+m1AQCA9quDrw0KCgpUVlam0tLSZrepra1VZGSk3G63/P39tWTJEo0ZM6bRut99952ysrI0adKkU6Yth8OhuXPn+jp0AADQRvkUWGpqapSRkaG1a9cqKCio2e1sNpvKy8vlcrlUUlKizMxM9evXTwkJCV71Dh8+rJ/+9KcyDEM5OTmn7G/27NnKzMz0PHY6nYqKivLlUAAAQBvi0xqWoqIipaamyt/f31NWX18vi8UiPz8/zwzK6UybNk01NTWehbfS92Fl+/btev311xUeHt7sg2ANCwAAbY8v52+fZlgSExNVUVHhVZaeni673a6srKxmhRVJamhokNvt9jw+Fla2bt2qN954w6ewAgAA2j+fAovNZtPgwYO9yqxWq8LDwz3laWlpioyMlMPhkHR0vUlcXJyio6PldrtVXFys/Px8zyWfw4cP65ZbblFZWZlWr16t+vp6ffHFF5KOfiQ6ICCg1QcJAADaNp8X3Z5OdXW1/Py+//BRXV2dpk+frl27dqljx46y2+1auXKlJk6cKEnavXu3XnzxRUlSbGysV19vvPHGSetcAADAhadF92ExG9awAADQ9pz1+7AAAACcSwQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgegQWAABgeq0KLNnZ2bJYLJo5c+Yp6xQWFiouLk6hoaGyWq2KjY1Vfn7+SXWuv/56hYeHy2KxqLy8vDXDAgAA7UyLA0tpaalyc3MVExPTZL2wsDDNmTNHmzZt0gcffKD09HSlp6drzZo1njp1dXW69tprtXDhwpYOBwAAtGMdWtLI5XJp8uTJWrp0qebPn99k3YSEBK/HGRkZWrFihTZs2KDk5GRJ0pQpUyRJO3bsaMlwAABAO9eiGZYZM2YoJSVFSUlJPrUzDEMlJSWqqqpSfHx8S55akuR2u+V0Or02AADQfvk8w1JQUKCysjKV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Tp06ndXjONFjjz2muLg4/fvf/9b06dN19913q6qqSpLkcrk0atQo7d69Wy+++KLef/993X///WpoaGjRcx17nWpqavTGG2/oH//4h5YsWeIJpU2ZM2eOZs2apfLycg0YMECTJk3SkSNHJEkbN27UL3/5S2VkZKi8vFxjxozRggULWjzGxx57TMuXL9fTTz+tDRs26MCBA3rhhReabHPPPfdo06ZNKigo0AcffKAJEyZo7NixzTppStI333yjBQsW6JlnntHGjRt18OBB3XrrrZ79L7zwgjIyMnTffffpww8/1F133aX09HS98cYbkqRRo0Zpw4YNniCwfv16XXzxxZ7fud27d2vbtm1KSEiQJK1atUq/+93vtGDBAlVWVurhhx/WAw88oBUrVniN63/+53+UkZGhyspKJScnN+s4nnjiCRUUFOiVV17RunXrlJqaquLiYhUXFys/P1+5ubleAeF4DQ0NuuGGG7Rx40atXLlSH3/8sbKzs+Xv7+/1HAsXLtSyZcv00UcfqVu3bk2+/5rSkvemn5+fnnjiCX300UdasWKFXn/9dd1///2SpKuvvlqLFy9WcHCw9u7dq71792rWrFkqLCzUJZdcot///veecpiEATTTqFGjjIyMjEb3lZaWGpKMr7/+2jAMw9i9e7fh7+9vbN682TAMwzh06JBx8cUXG8uXLzcMwzDeeustIzg42Pjuu++8+omOjjZyc3MNwzCMBx980LjooouMffv2+TTGQYMGGQ0NDZ6yrKwsY9CgQYZhGMann35qSDI2btzo2f/VV18ZHTt2NP7+978bhmEYTzzxhHH55ZcbhmEYRUVFxogRI4xx48YZOTk5hmEYRlJSkvHb3/72rB/H8a917969jZ///Oeexw0NDUa3bt08Y8rNzTVsNpuxf//+Rvt78MEHjaFDh56yf8MwjHHjxhm33XabYRiGUVVVZUgy3n33Xc/+yspKQ5Lx+OOPe8okGS+88IJhGIbx+eefG5KMZcuWefZ/9NFHhiSjsrLSMAzDmDhxopGSkuL1vJMnTzZCQkKaejlOeRw9evQwHnnkEc/jw4cPG5dccokxbty4Ro91586dhr+/v7F7926vfhMTE43Zs2ef9vnz8vIMScY777zjKTv2uhz7Xb/66quNX/ziF17tJkyYYNx4442GYRjGf//7X8PPz88oLS01GhoajLCwMMPhcBgjRowwDMMwVq5caURGRnraRkdHG3/961+9+ps3b54xcuRIwzC+f90XL1582vGfeByfffaZp+yuu+4yOnXq5HkPG4ZhJCcnG3fddZfnce/evT0//zVr1hh+fn5GVVVVk89RXl7uKWvO+68pvrw3G/Pcc88Z4eHhXmNs7Hfv+OOEeTDDghbZsmWLfvzjH6tXr16y2WwaNWqUpKNffilJPXv2VEpKip5++mlJ0r/+9S+53W5NmDBBkvT+++/L5XIpPDzcsy6hc+fO+vzzz7Vt2zbP8/Tu3dvn6+ZXXXWV1zTuyJEjtXXrVtXX16uyslIdOnTQiBEjPPvDw8M1cOBAVVZWSjr6P+CPP/5Y//nPf7R+/XolJCQoISFB69at0+HDh/X22297/vd7No/jRDExMZ5/WywWRUREeGY8ysvLdcUVV5yxtS/HXqcrr7zSU2a325t16eb4cR6brj82zqqqKv3gBz/wqn/i4+aqra3V3r17vX6WHTp0UFxc3CnbVFRUqL6+XgMGDPD6ea1fv97r59WUDh06aPjw4Z7Hx16XY78/lZWVuuaaa7zaXHPNNZ79oaGhGjp0qNatW6eKigoFBATozjvv1L///W+5XC6tX7/e836qq6vTtm3bdMcdd3iNd/78+SeNt6njbkynTp0UHR3tedy9e3f16dPHa41Q9+7dTzmrVl5erksuuUQDBgw45XMEBAR4/T405/3XFF/em5L02muvKTExUZGRkbLZbJoyZYr279/vuWSEtoVFt/BZXV2dkpOTlZycrFWrVqlr166qrq5WcnKyDh065Kk3bdo0TZkyRY8//rjy8vI0ceJEz1Sty+VSjx49Gl07cPxJ8Xx8ImHIkCEKCwvT+vXrtX79ei1YsEARERFauHChSktLdfjwYV199dWSzu1xnLiI0mKxeC75dOzY0ae+/Pz8Tlrrcbop+eY6fpzHgmNrLk2dSS6XS/7+/tqyZYvXpQtJ53Qx77GTbGBgoEaNGqWwsDANGjRIGzZs0Pr163Xfffd5xisdXfdz/Ele0knj9/V3rLHfp6Z+x07UnN+5jh07ntE1IL68N3fs2KEf/ehHuvvuu7VgwQKFhYVpw4YNuuOOO3To0CHP3yK0HQQW+OyTTz7R/v37lZ2draioKEnSe++9d1K9G2+8UVarVTk5OXrllVf05ptvevYNGzZMX3zxhTp06KA+ffqc0fGduND0nXfe0aWXXip/f38NGjRIR44c0ebNmz1/2Pbv36+qqipddtllko7+kb7uuuv0z3/+Ux999JGuvfZaderUSW63W7m5uYqLi/OcHM7mcfgiJiZGy5Yt04EDB5o1y9K1a1eva/P19fX68MMPNXr0aElHZw2OHDmiLVu2eGYTqqqqTvr4p68GDhyo0tJSr7ITHzdXSEiIevTooc2bNys+Pl6SPGMeNmxYo22uuOIK1dfXa9++fbruuuta9LxHjhzRe++955kZOva6DBo0SJI0aNAgbdy4UbfddpunzcaNGz2/X9LRmYKnn35aHTp00NixYyUdDTHPPvusPv30U88sQffu3dWzZ09t375dkydPbtF4z5aYmBjt2rVLn376aZOzLMdrzvuvKb68N7ds2aKGhgY99thjnk8m/f3vf/fqLyAgwGtR8enKcX5xSQg+69WrlwICAvTHP/5R27dv14svvqh58+adVM/f319Tp07V7Nmzdemll2rkyJGefUlJSRo5cqTGjx+vV199VTt27NDbb7+tOXPmNBp+fFFdXa3MzExVVVXp2Wef1R//+EdlZGRIki699FKNGzdOv/jFL7Rhwwa9//77+vnPf67IyEiNGzfO08exk0dsbKw6d+4sPz8/xcfHa9WqVZ7p+rN9HL6YNGmSIiIiNH78eG3cuFHbt2/X888/f9IndI754Q9/qJdeekkvvfSSPvnkE919991eYWTgwIEaO3as7rrrLm3evFlbtmzRtGnTfJ7JOdG9996r4uJiLVq0SFu3blVubq5efvnlFv8vPCMjQ9nZ2SoqKtInn3yi6dOnNxmqBgwYoMmTJystLU2FhYX6/PPP9e6778rhcOill15q1nNedNFFuvfeez2vy9SpU3XVVVd5AsxvfvMbLV++XDk5Odq6dasWLVqkwsJCzZo1y9NHfHy8vv76a61evdoTThISErRq1Sr16NHDKwDMnTtXDodDTzzxhD799FNVVFQoLy9PixYt8v0FO4NGjRql+Ph4/eQnP9HatWv1+eef6+WXX/b6tNOJmvv+a0pz35v9+/fX4cOHPX+n8vPz9dRTT3n11adPH7lcLpWUlOirr77yXCrq06eP3nzzTe3evVtfffVVC14dnA0EFvisa9euWr58uZ577jlddtllys7OPukjzMccm35NT0/3KrdYLCouLlZ8fLzS09M1YMAA3Xrrrdq5c6e6d+/eqvGlpaXp22+/1Q9+8APNmDFDGRkZuvPOOz378/LydOWVV+pHP/qRRo4cKcMwVFxc7DUdPmrUKNXX13tdD09ISDip7Gwehy8CAgL06quvqlu3brrxxhs1ZMiQkz6xcbzbb79dt912m9LS0jRq1Cj169fPM7tyTF5ennr27KlRo0bp5ptv1p133qlu3bq1apzXXHONnnrqKS1atEhDhw7VK6+8ol//+tfN+qh3Y+677z5NmTJFt912m0aOHCmbzabU1NQm2+Tl5SktLU333XefBg4cqPHjx6u0tFS9evVq1nN26tRJWVlZ+tnPfqZrrrlGnTt31t/+9jfP/vHjx+sPf/iDHn30UV1++eXKzc1VXl6e1+9Nly5dNGTIEHXt2lV2u13S0RDT0NDgddKVjl5aXbZsmfLy8jRkyBCNGjVKy5cvV9++fZv5Kp09zz//vIYPH65Jkybpsssu0/3333/amYnmvP+a0tz35tChQ7Vo0SItXLhQgwcP1qpVq+RwOLz6uvrqq/XLX/5SEydOVNeuXfXII49Ikn7/+99rx44dio6ObvXaM5w5FuPEC9nAGfTWW28pMTFRNTU15+QEnpCQoNjYWG4f3ob84he/0CeffKK33nrrfA/ltE51Z1QAZx9rWHBWuN1u/ec//9FDDz2kCRMmnNPZBpjbo48+qjFjxshqterll1/WihUrvG6EBgCN4ZIQzopnn31WvXv31sGDBz3TrK1VXV3t9dHOE7djH6k2u/ZyHC317rvvasyYMRoyZIieeuopPfHEE5o2bZok6fLLLz/l63K6u7eeCTfccMMpn//hhx8+689/prTV42ir48a5wSUhtBlHjhzRjh07Trm/T58+6tDB/JOG7eU4zoadO3ee8uPV3bt3l81mO6vPv3v3bn377beN7gsLC2sz3/HUVo+jrY4b5waBBQAAmB6XhAAAgOkRWAAAgOkRWAAAgOkRWAAAgOkRWAAAgOkRWAAAgOkRWAAAgOn9P6KkK4pkXqLtAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "metrics_df_k3.boxplot(column='layer_power_including_idle_power_micro_watt', grid=False)" + ] + }, + { + "cell_type": "markdown", + "id": "5a14f58b-7d36-4022-8c62-eb2c688ab00a", + "metadata": { + "jp-MarkdownHeadingCollapsed": true + }, + "source": [ + "### Kernel 1 Stride 4 Output 3" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "5fc0b0b7-0406-46c9-9a15-9174a2ffd0c0", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1251/1251 [00:00<00:00, 107980.04it/s]\n", + "Computing layer execution times: 3000it [00:00, 497741.77it/s]\n" + ] + } + ], + "source": [ + "model_name = 'conv_k1_s4_o3'\n", + "\n", + "with open((DATA_PATH/model_name/f'{model_name}_power_log.log'), 'r') as fp:\n", + " data = fp.readlines()\n", + "power_data = parse_power_log(data)\n", + "\n", + "with open((DATA_PATH/model_name/f'{model_name}_layerwise_latency.json'), 'r') as fp:\n", + " data = json.load(fp)\n", + "latency_data = parse_latencies(data)" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "id": "a2a103d9-5cf8-4f6d-bae0-db4d081c7beb", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Number of power entries for conv_k1_s4_o3: 1251\n", + "Number of TensorRT layers in conv_k1_s4_o3: 1\n", + "Number of latency entries for each layer: 3000\n", + "Inference for 3000 cycles: 1.341596 seconds\n" + ] + } + ], + "source": [ + "print(f\"Number of power entries for {model_name}: {len(power_data)}\")\n", + "print(f\"Number of TensorRT layers in {model_name}: {len(latency_data[0])}\")\n", + "print(f\"Number of latency entries for each layer: {len(latency_data)}\")\n", + "print(f\"Inference for {len(latency_data)} cycles: {(latency_data[len(latency_data)-1][0][2]-latency_data[0][0][1]).total_seconds()} seconds\")" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "id": "7175b0c4-a455-4404-9025-412629b8ee50", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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bNDWrVsVERGhm2++WSdOnCjtrgEAQDVSqjDicDgUGxur+fPnq3bt2kWWXbx4sR599FFde+21at26td555x05nU6tX7++VBUGAADVS6nCyKhRo9S/f3/FxMSUeN309HRlZ2erTp06hZbJzMxUamqq2wsAAFRPXiVdIT4+Xt9995127NhRqh1OmDBB4eHhRQaZuLg4TZs2rVTbBwAAVUuJrowcP35cY8aM0eLFi+Xn51finc2cOVPx8fFatmxZketPmjRJKSkprtfx48dLvC8AAFA1lOjKyM6dO5WcnKwOHTq45uXm5mrTpk16/fXXlZmZKU9PzwLXnTVrlmbOnKl169b94aBXX19f+fr6lqRqAACgiipRGOndu7f27t3rNm/48OFq3bq1JkyYUGgQefHFFzVjxgytWbNGnTp1Kn1tAQBAtVOiMBIcHKw2bdq4zQsMDFTdunVd84cMGaJGjRopLi5OkvTCCy/o2Wef1fvvv6/IyEidOnVKkhQUFKSgoKCyOAYAAFCFlfkdWBMTE5WUlOSanjt3rrKysjRo0CCFhYW5XrNmzSrrXQMAgCqoxN+m+b2EhIQip48ePXq5uwAAANUYz6YBAACWIowAAABLEUYAAIClCCMAAMBShBEAAGApwggAALAUYQQAAFiKMAIAACxFGAEAAJYijAAAAEsRRgAAgKUIIwAAwFKEEQAAYCnCCAAAsBRhBAAAWIowAgAALEUYAQAAliKMAAAASxFGAACApQgjAADAUoQRAABgKcIIAACwFGEEAABYijACAAAsRRgBAACWIowAAABLEUYAAIClCCMAAMBShBEAAGApwggAALAUYQQAAFiKMAIAACxFGAEAAJYijAAAAEsRRgAAgKUIIwAAwFKEEQAAYCnCCAAAsBRhBAAAWIowAgAALOVldQWAysTpdCorK8vqagDlztvbW56enlZXA5BEGAFcsrKydOTIETmdTqurAlSIWrVqKTQ0VDabzeqqoIYjjACSjDFKSkqSp6enIiIi5OFBDyaqL2OM0tPTlZycLEkKCwuzuEao6QgjgKScnBylp6crPDxcAQEBVlcHKHf+/v6SpOTkZDVo0IAuG1iKf/8ASbm5uZIkHx8fi2sCVJy84J2dnW1xTVDTEUaAfOg7R03C+x2VBWEEAABYijACAAAsRRgBqoGtW7fK09NT/fv3t7oqFcJms2n58uVu03mvwMBAtWjRQsOGDdPOnTvd1ktISJDNZtO5c+cK3O7UqVPdtpX3at26dTkeDQDCCFANvPvuu3rssce0adMmnTx5slz3ZYxRTk5Oue6jNBYsWKCkpCT98MMPeuONN+RwONSlSxctWrSoRNu55pprlJSU5PbavHlzOdW6YlTW3xmQhzACVHEOh0MffvihHnnkEfXv318LFy50Lbv33nt19913u5XPzs5WvXr1XB/STqdTcXFxatasmfz9/dWuXTstXbrUVT7vasLq1avVsWNH+fr6avPmzTp8+LBuv/12NWzYUEFBQercubPWrVvntq+kpCT1799f/v7+atasmd5//31FRkbqlVdecZU5d+6cHnzwQdWvX192u11/+tOftGfPnhK3Q94NvCIjI3XzzTdr6dKlio2N1ejRo3X27Nlib8fLy0uhoaFur3r16hVafurUqbr22ms1b948RUREKCAgQHfddZdSUlJcZZxOp5577jk1btxYvr6+uvbaa/X555+7lg8aNEijR492TY8dO1Y2m00//fSTpIs35AsMDHS1b2l/Z0BlRRgBipCVllXoKycjp9hlsy9kF6tsaXz00Udq3bq1WrVqpfvuu0///Oc/ZYyRJMXGxuqzzz6Tw+FwlV+zZo3S09N1xx13SJLi4uK0aNEivfXWW/rhhx80btw43Xfffdq4caPbfiZOnKiZM2fqxx9/VFRUlBwOh2655RatX79eu3btUt++fTVgwAAlJia61hkyZIhOnjyphIQE/etf/9Lbb7/tutFWnjvvvFPJyclavXq1du7cqQ4dOqh37946c+ZMqdojv3Hjxun8+fNau3btZW+rKIcOHdJHH32kzz77TJ9//rl27dqlRx991LV8zpw5mj17tmbNmqXvv/9effr00W233aaff/5ZktSzZ08lJCS4ym/cuFH16tVzzduxY4eys7PVtWtXSaX/nQGVFTc9A4oQFxRX6LIWt7TQvSvvdU3PajBL2ekF36+hac+mGpYwzDU9J3KO0v+Tfkm5KWZKiev47rvv6r777pMk9e3bVykpKdq4caN69eqlPn36KDAwUMuWLdP9998vSXr//fd12223KTg4WJmZmXr++ee1bt06RUdHS5KuuOIKbd68WfPmzVPPnj1d+3nuued00003uabr1Kmjdu3auaanT5+uZcuW6dNPP9Xo0aP1008/ad26ddqxY4c6deokSXrnnXfUokUL1zqbN2/W9u3blZycLF9fX0nSrFmztHz5ci1dulQPP/xwidsjv7yxHkePHi32Onv37lVQUJDbvPvuu09vvfVWoetkZGRo0aJFatSokSTptddeU//+/TV79myFhoZq1qxZmjBhgu655x5J0gsvvKANGzbolVde0RtvvKFevXppzJgxOn36tLy8vLR//34988wzSkhI0MiRI5WQkKDOnTsrICDgsn5nQGVFGAGqsAMHDmj79u1atmyZpItdDHfffbfeffdd9erVS15eXrrrrru0ePFi3X///UpLS9Mnn3yi+Ph4SRf/o09PT7/kAysrK0vt27d3m5cXKPI4HA5NnTpVK1euVFJSknJycnThwgXXlZEDBw7Iy8tLHTp0cK1z5ZVXqnbt2q7pPXv2yOFwqG7dum7bvnDhgg4fPnyZrSPXFaKS3E+jVatW+vTTT93m2e32Itdp0qSJK4hIUnR0tJxOpw4cOKCAgACdPHlS3bp1c1unW7duru6oNm3aqE6dOtq4caN8fHzUvn173XrrrXrjjTckyRUupcv7nQGVFWEEKMIkx6RCl3l4uvdyjk8eX2hZm4f7h+GYo2Mur2L/8+677yonJ0fh4eGuecYY+fr66vXXX1dISIhiY2PVs2dPJScna+3atfL391ffvn0lydV9s3LlSrcPU0muKxV5AgMD3abHjx+vtWvXatasWbryyivl7++vQYMGleipxw6HQ2FhYW5dFHlq1apV7O0U5scff5QkNWvWrNjr+Pj46Morr7zsfZeEzWbTDTfcoISEBPn6+qpXr16KiopSZmam9u3bp6+//lrjx198f13O7wyorAgjQBF8Aot/e/jyKluYnJwcLVq0SLNnz9bNN9/stmzgwIH64IMPNHLkSHXt2lURERH68MMPtXr1at15553y9vaWJF199dXy9fVVYmKi2+X94tiyZYuGDRvmGnvicDjcukNatWqlnJwc7dq1Sx07dpR08b/6/INJO3TooFOnTsnLy0uRkZGlaIWivfLKK7Lb7YqJiSnzbeeXmJiokydPukLhN998Iw8PD7Vq1Up2u13h4eHasmWLWxtv2bJF1113nWu6Z8+emj9/vnx9fTVjxgx5eHjohhtu0EsvvaTMzEzXlZXL+Z0BlRVhBKiiVqxYobNnz2rEiBEKCQlxW/aXv/xF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ly5uywrruvL09NTatWv19ddf64svvtBrr72myZMna9u2bWrWrFmB62zdulWxsbGaNm2a+vTp47pSM3v2bLdyRYVNoKoqURjp3bu39u7d6zZv+PDhat26tSZMmFDgH2Z0dLTWr1/vNpBu7dq1io6OLl2NgQpgs9lK1FVSldntdt199926++67NWjQIPXt21dnzpxRnTp15O3trdzc3AqpR4cOHXTgwIFiB6vLXS+/qKgovffee8rOzr4ktDRs2FDh4eH65ZdfFBsbW+xt2mw2devWTd26ddOzzz6rpk2batmyZfrb3/4mHx+fS9r166+/VtOmTTV58mTXvGPHjhVrXwVtD6hKShRGgoODL7mXQGBgoOrWreuaP2TIEDVq1Mg1In/MmDHq2bOnZs+erf79+ys+Pl7ffvut3n777TI6BACl9fLLLyssLEzt27eXh4eHlixZotDQUNWqVUvSxXEL69evV7du3eTr6/uH3QyX49lnn9Wtt96qJk2aaNCgQfLw8NCePXu0b9++IgfKl3a9/EaPHq3XXntN99xzjyZNmqSQkBB98803uu6669SqVStNmzZNf/3rXxUSEqK+ffsqMzNT3377rc6ePXvJAH1J2rZtm9avX6+bb75ZDRo00LZt23T69GldddVVki6265o1a3TgwAHVrVtXISEhatGihRITExUfH6/OnTtr5cqVWrZsWbHqHxkZqW3btuno0aMKCgpSnTp15OHBPS1RdZT5uzUxMVFJSUmu6a5du+r999/X22+/rXbt2mnp0qVavnx5iW6QBKB8BAcH68UXX1SnTp3UuXNnHT16VKtWrXJ9kM2ePVtr165VRESE2rdvX6516dOnj1asWKEvvvhCnTt31vXXX69//OMfboNqy3K9/OrWrasvv/xSDodDPXv2VMeOHTV//nzXVZIHH3xQ77zzjhYsWKC2bduqZ8+eWrhwYaFdLna7XZs2bdItt9yili1b6umnn9bs2bPVr18/SdJDDz2kVq1aqVOnTqpfv762bNmi2267TePGjdPo0aN17bXX6uuvv9YzzzxTrPqPHz9enp6euvrqq1W/fn0lJiYW+9iBysBmjDFWV+KPpKamKiQkRCkpKZcM5kLFSstKc33LpKTf+qjMMjIydOTIEde9G4CagPd9NZCWJuV9m87hkCrZmKLifn5zHQ8AAFiKMAIAACxFGAEA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Oin1mJHc3FzFx8crLS1N0dHRBZbp2rWrdu7cqe3bt0uSfvnlF61atUq33HJLkdvOzMxUamqq2wsAAFRPJboyIkl79+5VdHS0MjIyFBQUpGXLlunqq68usOy9996r//znP+revbuMMcrJydHIkSP11FNPFbmPuLg4TZs2raRVAwAAVVCJr4y0atVKu3fv1rZt2/TII49o6NCh2r9/f4FlExIS9Pzzz+vNN9/Ud999p48//lgrV67U9OnTi9zHpEmTlJKS4nodP368pNUEAABVhM0YYy5nAzExMWrevLnmzZt3ybIePXro+uuv10svveSa93//9396+OGH5XA45OFRvCyUmpqqkJAQpaSkyG63X051cZnSstIUFBckSXJMcijQJ9DiGgFADZaWJgVdPCfL4ZACK9c5ubif35d9nxGn06nMzMwCl6Wnp18SODw9PSVJl5mBAABANVGiMSOTJk1Sv3791KRJE50/f17vv/++EhIStGbNGknSkCFD1KhRI8XFxUm6+O2bl19+We3bt1eXLl106NAhPfPMMxowYIArlAAAgJqtRGEkOTlZQ4YMUVJSkkJCQhQVFaU1a9bopptukiQlJia6XQl5+umnZbPZ9PTTT+vEiROqX7++BgwYoBkzZpTtUQAAgCrrsseMVATGjFQejBkBgEqEMSMAAACXjzACAAAsRRgBAACWIowAAABLEUYAAIClCCMAAMBShBEAAGApwggAALAUYQQAAFiKMAIAACxFGAEAAJYijAAAAEsRRgAAgKUIIwAAwFKEEQAAYCnCCAAAsBRhBAAAWIowAgAALEUYAQAAliKMAAAASxFGAACApQgjAADAUoQRAABgKcIIAACwFGEEAABYijACAAAsRRgBAACWIowAAABLEUYAAIClCCMAAMBShBEAAGApwggAALAUYQQAAFiKMAIAACxFGAEAAJYijAAAAEsRRgAAgKUIIwAAwFKEEQAAYCnCCAAAsBRhBAAAWIowAgAALEUYAQAAliKMAAAASxFGAACApQgjAADAUoQRAABgKcIIAACwFGEEAABYijACAAAsRRgBAACWIowAAABLEUYAAIClCCMAAMBShBEAAGApwggAALAUYQQAAFiKMAIAACxFGAEAAJYijAAAAEsRRgAAgKUIIwAAwFKEEQAAYCnCCAAAsBRhBAAAWIowAgAALEUYAQAAliKM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Tu1TJQawAgCA6qtGXxkBAADWI4wAAABLEUYAAIClCCMAAMBSNTqMvPHGG4qMjJSfn5+6dOmi7du3W12lchcXF6fOnTsrODhYDRo00MCBA3XgwAG3MhkZGRo1apTq1q2roKAg/eUvf9Gvv/7qViYxMVH9+/dXQECAGjRooCeeeEI5OTkVeSgVYubMmbLZbBo7dqxrHu0jnThxQvfdd5/q1q0rf39/tW3bVt9++61ruTFGzz77rMLCwuTv76+YmBj9/PPPbts4c+aMYmNjZbfbVatWLY0YMUIOh6OiD6XM5ebm6plnnlGzZs3k7++v5s2ba/r06W7P5qhJ7bNp0yYNGDBA4eHhstlsWr58udvysmqL77//Xj169JCfn58iIiL04osvlvehlYmi2ic7O1sTJkxQ27ZtFRgYqPDwcA0ZMkQnT55020a1aB9TQ8XHxxsfHx/zz3/+0/zwww/moYceMrVq1TK//vqr1VUrV3369DELFiww+/btM7t37za33HKLadKkiXE4HK4yI0eONBEREWb9+vXm22+/Nddff73p2rWra3lOTo5p06aNiYmJMbt27TKrVq0y9erVM5MmTbLikMrN9u3bTWRkpImKijJjxoxxza/p7XPmzBnTtGlTM2zYMLNt2zbzyy+/mDVr1phDhw65ysycOdOEhISY5cuXmz179pjbbrvNNGvWzFy4cMFVpm/fvqZdu3bmm2++MV999ZW58sorzeDBg604pDI1Y8YMU7duXbNixQpz5MgRs2TJEhMUFGTmzJnjKlOT2mfVqlVm8uTJ5uOPPzaSzLJly9yWl0VbpKSkmIYNG5rY2Fizb98+88EHHxh/f38zb968ijrMUiuqfc6dO2diYmLMhx9+aH766SezdetWc91115mOHTu6baM6tE+NDSPXXXedGTVqlGs6NzfXhIeHm7i4OAtrVfGSk5ONJLNx40ZjzMU3v7e3t1myZImrzI8//mgkma1btxpjLv7xeHh4mFOnTrnKzJ0719jtdpOZmVmxB1BOzp8/b1q0aGHWrl1revbs6QojtI8xEyZMMN27dy90udPpNKGhoeall15yzTt37pzx9fU1H3zwgTHGmP379xtJZseOHa4yq1evNjabzZw4caL8Kl8B+vfvbx544AG3eX/+859NbGysMaZmt8/vP2zLqi3efPNNU7t2bbe/rwkTJphWrVqV8xGVrYLC2u9t377dSDLHjh0zxlSf9qmR3TRZWVnauXOnYmJiXPM8PDwUExOjrVu3WlizipeSkiJJqlOnjiRp586dys7Odmub1q1bq0mTJq622bp1q9q2bauGDRu6yvTp00epqan64YcfKrD25WfUqFHq37+/WztItI8kffrpp+rUqZPuvPNONWjQQO3bt9f8+fNdy48cOaJTp065tVFISIi6dOni1ka1atVSp06dXGViYmLk4eGhbdu2VdzBlIOuXbtq/fr1OnjwoCRpz5492rx5s/r16yeJ9smvrNpi69atuuGGG+Tj4+Mq06dPHx04cEBnz56toKOpGCkpKbLZbKpVq5ak6tM+VeJBeWXtP//5j3Jzc90+LCSpYcOG+umnnyyqVcVzOp0aO3asunXrpjZt2kiSTp06JR8fH9cbPU/Dhg116tQpV5mC2i5vWVUXHx+v7777Tjt27LhkGe0j/fLLL5o7d67+9re/6amnntKOHTv017/+VT4+Pho6dKjrGAtqg/xt1KBBA7flXl5eqlOnTpVvo4kTJyo1NVWtW7eWp6encnNzNWPGDMXGxkpSjW+f/MqqLU6dOqVmzZpdso28ZbVr1y6X+le0jIwMTZgwQYMHD3Y9GK+6tE+NDCO4aNSoUdq3b582b95sdVUqjePHj2vMmDFau3at/Pz8rK5OpeR0OtWpUyc9//zzkqT27dtr3759euuttzR06FCLa2e9jz76SIsXL9b777+va665Rrt379bYsWMVHh5O+6DUsrOzddddd8kYo7lz51pdnTJXI7tp6tWrJ09Pz0u+AfHrr78qNDTUolpVrNGjR2vFihXasGGDGjdu7JofGhqqrKwsnTt3zq18/rYJDQ0tsO3yllVlO3fuVHJysjp06CAvLy95eXlp48aNevXVV+Xl5aWGDRvW6PaRpLCwMF199dVu86666iolJiZK+u0Yi/r7Cg0NVXJystvynJwcnTlzpsq30RNPPKGJEyfqnnvuUdu2bXX//fdr3LhxiouLk0T75FdWbVHd/+bygsixY8e0du1a11URqfq0T40MIz4+PurYsaPWr1/vmud0OrV+/XpFR0dbWLPyZ4zR6NGjtWzZMn355ZeXXLrr2LGjvL293drmwIEDSkxMdLVNdHS09u7d6/YHkPcH8vsPqaqmd+/e2rt3r3bv3u16derUSbGxsa6fa3L7SFK3bt0u+Tr4wYMH1bRpU0lSs2bNFBoa6tZGqamp2rZtm1sbnTt3Tjt37nSV+fLLL+V0OtWlS5cKOIryk56eLg8P91Orp6ennE6nJNonv7Jqi+joaG3atEnZ2dmuMmvXrlWrVq0qRRfE5cgLIj///LPWrVununXrui2vNu1j9Qhaq8THxxtfX1+zcOFCs3//fvPwww+bWrVquX0Dojp65JFHTEhIiElISDBJSUmuV3p6uqvMyJEjTZMmTcyXX35pvv32WxMdHW2io6Ndy/O+unrzzTeb3bt3m88//9zUr1+/2nx19ffyf5vGGNpn+/btxsvLy8yYMcP8/PPPZvHixSYgIMD83//9n6vMzJkzTa1atcwnn3xivv/+e3P77bcX+HXN9u3bm23btpnNmzebFi1aVMmvrv7e0KFDTaNGjVxf7f34449NvXr1zJNPPukqU5Pa5/z582bXrl1m165dRpJ5+eWXza5du1zfBimLtjh37pxp2LChuf/++82+fftMfHy8CQgIqFRfXS1MUe2TlZVlbrvtNtO4cWOze/dut3N2/m/GVIf2qbFhxBhjXnvtNdOkSRPj4+NjrrvuOvPNN99YXaVyJ6nA14IFC1xlLly4YB599FFTu3ZtExAQYO644w6TlJTktp2jR4+afv36GX9/f1OvXj3z+OOPm+zs7Ao+morx+zBC+xjz2WefmTZt2hhfX1/TunVr8/bbb7stdzqd5plnnjENGzY0vr6+pnfv3ubAgQNuZf773/+awYMHm6CgIGO3283w4cPN+fPnK/IwykVqaqoZM2aMadKkifHz8zNXXHGFmTx5stuHR01qnw0bNhR4zhk6dKgxpuzaYs+ePaZ79+7G19fXNGrUyMycObOiDvGyFNU+R44cKfScvWHDBtc2qkP72IzJd1tAAACAClYjx4wAAIDKgzACAAAsRRgBAACWIowAAABLEUYAAIClCCMAAMBShBEAAGApwggAALAUYQQAAFiKMAIAACxFGAEAAJYijAAAAEv9/6ByrSzuXRNcAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot([power for (_, power) in power_data])\n", + "plt.axhline(avg_power, color='purple', linestyle='--', label='Average IDLE power')\n", + "first_inference_start_index = get_power_index(power_data, latency_data[0][0][1])\n", + "last_inference_end_index = get_power_index(power_data, latency_data[len(latency_data)-1][0][2])\n", + "plt.axvline(first_inference_start_index, color='green', label='First inference start')\n", + "plt.axvline(last_inference_end_index, color='red', label='Last inference end')\n", + "plt.legend()" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "id": "fb0d5747-4547-41a9-bb33-5d9949ff24f5", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Computing layer metrics...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Mapping power to layer: 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████| 3000/3000 [00:00<00:00, 1185054.81it/s]\n" + ] + } + ], + "source": [ + "metrics = compute_layer_metrics_by_cycle(power_data, latency_data, avg_power)\n", + "metrics_df_k4 = pd.DataFrame.from_dict(metrics)" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "id": "1caaf39c-ccb5-4dc0-a9c2-bead7906c506", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
cyclelayer_power_including_idle_power_micro_wattlayer_power_excluding_idle_power_micro_wattlayer_run_time
count3000.0000005.160000e+02516.0000003000.000000
mean1500.5000004.269744e+06690565.5628370.232483
std866.1697291.970271e+0419702.7149950.037869
min1.0000004.253568e+06674389.9349300.102400
25%750.7500004.253568e+06674389.9349300.223552
50%1500.5000004.253568e+06674389.9349300.228048
75%2250.2500004.293696e+06714517.9349300.238064
max3000.0000004.293696e+06714517.9349301.790592
\n", + "
" + ], + "text/plain": [ + " cycle layer_power_including_idle_power_micro_watt \\\n", + "count 3000.000000 5.160000e+02 \n", + "mean 1500.500000 4.269744e+06 \n", + "std 866.169729 1.970271e+04 \n", + "min 1.000000 4.253568e+06 \n", + "25% 750.750000 4.253568e+06 \n", + "50% 1500.500000 4.253568e+06 \n", + "75% 2250.250000 4.293696e+06 \n", + "max 3000.000000 4.293696e+06 \n", + "\n", + " layer_power_excluding_idle_power_micro_watt layer_run_time \n", + "count 516.000000 3000.000000 \n", + "mean 690565.562837 0.232483 \n", + "std 19702.714995 0.037869 \n", + "min 674389.934930 0.102400 \n", + "25% 674389.934930 0.223552 \n", + "50% 674389.934930 0.228048 \n", + "75% 714517.934930 0.238064 \n", + "max 714517.934930 1.790592 " + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "metrics_df_k4.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "id": "1a07ab82-19c8-4462-a59e-6acf172486e7", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "cycle 3000\n", + "layer_power_including_idle_power_micro_watt 516\n", + "layer_power_excluding_idle_power_micro_watt 516\n", + "layer_run_time 3000\n", + "dtype: int64" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "metrics_df_k4.count()" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "id": "e382b2e4-c62b-4cec-b207-b1d65a6f660e", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 31, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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QyDU4IoaMGCApk2bdrWHcV240o/17Nmz1a1bt8vuJywsTIsWLbLtm0wmrV279rL7vVSXch0PPPCARowYYdvneXvl/PzvH/g1XTe//QQYzerVq9WkSZOrPYyLKi0tla+v7692vscff1xTp0791c4He3l5efLw8Ljaw7hili1bpmnTpun06dN25WFhYZo2bRph+DeGUANDqaqqkqur69UexmW7lOvw8/P7lUZzeQICAn7V83l6esrT0/NXPee1qLq6+hcJxS1btmx025qaGplMpov+vg9QH545+MW8/vrrio6OlpeXlwICAnTvvfeqrKxM0o8/UHbjjTcqJSXFrk1BQYFMJpOOHDkiSTp9+rQeeughtWzZUt7e3rr99tv18ccf2+qfv9WQkZGhdu3ayd3d/aLjGjBggKZMmaIpU6bIx8dHLVq00NNPP233s/bffPON4uPj5evrq2bNmumOO+7Q4cOHbWNv2bKl/vnPf9rqd+vWTYGBgbb9HTt2yM3NTWfPnv1Fr+On/0sMCwvTc889pwcffFBeXl5q27at/v73v9u1+eqrrzRmzBj5+fnJw8ND0dHR2rNnzyX1L0kjRozQAw88YNsvKyvTH//4RzVt2lTt2rVTVlbWBf389PbTsWPHZDKZtHr1ag0cOFDNmjVT165dlZuba9cmPT1dISEhatasme68804tXLhQzZs3v+hjIl14+6mmpkYzZsxQ8+bN5e/vryeffFIX+3quyspKPf744woODpaHh4d69uwpi8VySedftmyZmjdvrrVr1+qmm26Su7u7Bg8erOLiYrt6qampat++vVxdXdWxY0e9/vrrtmOPP/64/vCHP9j2Fy1aJJPJpA0bNtjKbrzxRmVkZNj2MzIy1KlTJ7m7uys8PFwvv/yy7dj5x/2tt95S//795e7uXuffVV3X8c4776hjx45q1qyZRo8erbNnz2r58uUKCwuTr6+vHn30UdXU1Nja/fz20+nTpzVx4kS1bt1a7u7uioiI0DvvvGN3jnXr1qlz585yc3NTUVFRg6+/hjTmtblw4UJ16dJFHh4eCgkJ0aRJk1RRUSFJslgsGjt2rM6cOSOTySSTyaTZs2drwIAB+vLLLzV9+nRbOX4bCDX4xVRXV2vu3Ln6+OOPtXbtWh07dsz2hmgymfTggw8qMzPTrk1mZqb69eunG2+8UZJ01113qaysTO+//77y8/MVFRWlmJgYnTp1ytbmyJEjWrVqlVavXq2CgoJLGtvy5cvl4uKivXv36q9//asWLlxo9wbxwAMP6MMPP9S6deuUm5srq9WqoUOHqrq6WiaTSf369bO9yX3zzTc6ePCgvv/+e3322WeSpJycHPXo0UPNmjX7Ra/j51544QVFR0fro48+0qRJk/TII4+osLBQklRRUaH+/furpKRE69at08cff6wnn3xStbW1jTrX+cepuLhY27Zt0z//+U+9/PLLtuDakKeeekqPP/64CgoK1KFDB40ZM0bnzp2TJO3cuVMPP/ywEhISVFBQoN///veaN29eo8f4wgsvaNmyZXr11Ve1Y8cOnTp1SmvWrGmwzZQpU5Sbm6vs7Gzt379fd911l4YMGXJJb6ySdPbsWc2bN0+vvfaadu7cqdOnT+uee+6xHV+zZo0SEhL02GOP6ZNPPtHEiRM1duxYbdu2TZLUv39/7dixwxYWcnJy1KJFC9tzrqSkREePHtWAAQMkSVlZWZo5c6bmzZungwcP6rnnntPTTz+t5cuX243r//2//6eEhAQdPHhQgwcPvqTrWLx4sbKzs7VhwwZZLBbdeeedeu+99/Tee+/p9ddfV1paml2I+Kna2lrdcccd2rlzp9544w39+9//ltlslrOzs9055s+fr4yMDH366adq1apVg6+/hjTmtenk5KTFixfr008/1fLly/Wvf/1LTz75pCSpd+/eWrRokby9vVVaWqrS0lI9/vjjWr16tdq0aaNnnnnGVo7fCCtwBfXv39+akJBQ57G8vDyrJOu3335rtVqt1pKSEquzs7N1z549VqvVaq2qqrK2aNHCumzZMqvVarV+8MEHVm9vb+sPP/xg10/79u2taWlpVqvVap01a5a1SZMm1rKyMofG2KlTJ2ttba2tLDEx0dqpUyer1Wq1Hjp0yCrJunPnTtvx//73v9amTZta//GPf1itVqt18eLF1ptvvtlqtVqta9eutfbs2dM6fPhwa2pqqtVqtVpjY2Otf/nLX37x6/jpYx0aGmq97777bPu1tbXWVq1a2caUlpZm9fLysn799dd19jdr1ixr165d6+3farVahw8fbr3//vutVqvVWlhYaJVk3bt3r+34wYMHrZKsL774oq1MknXNmjVWq9Vq/eKLL6ySrBkZGbbjn376qVWS9eDBg1ar1Wq9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tHnzZn3xxRd6//337T7F9XOX+vpryKW+Nm+88UZVV1fb/p16/fXXtXTpUru+wsLCVFFRoa1bt+q///2v7bZUWFiYtm/frpKSEv33v/9txKODXwKhBr+Ili1batmyZVq5cqU6d+4ss9l8wce3zzs/1Tt27Fi7cpPJpPfee0/9+vXT2LFj1aFDB91zzz368ssv1bp168saX3x8vL7//nv97ne/0+TJk5WQkKAJEybYjmdmZqp79+76wx/+oF69eslqteq9996zm3rv37+/ampq7O7PDxgw4IKyX/I6HOHq6qpNmzapVatWGjp0qLp06XLBJ1F+6sEHH9T999+v+Ph49e/fXzfccINtlua8zMxMBQUFqX///ho5cqQmTJigVq1aXdY4b7vtNi1dulQLFy5U165dtWHDBk2fPv2SPuZel8cee0x//vOfdf/996tXr17y8vLSnXfe2WCbzMxMxcfH67HHHlPHjh01YsQI5eXlqW3btpd0zmbNmikxMVH33nuvbrvtNnl6euqtt96yHR8xYoT++te/KiUlRTfffLPS0tKUmZlp97zx9fVVly5d1LJlS4WHh0v6MejU1tbavTFLP97GzcjIUGZmprp06aL+/ftr2bJlateu3SU+Sr+cVatWqUePHhozZow6d+6sJ5988qIzHJfy+mvIpb42u3btqoULF2r+/PmKiIhQVlaWkpOT7frq3bu3Hn74Yd19991q2bKlFixYIEl65plndOzYMbVv3/6y18LhyjFZf37THPiVffDBB4qJiVFxcfGv8iY/YMAAdevWja9yv4aMHz9en332mT744IOrPZSLqu8baAH88lhTg6umsrJS//nPfzR79mzdddddv+qsBX7bUlJS9Pvf/14eHh56//33tXz5crsvkwOAunD7CVfNm2++qdDQUJ0+fdo2pXu5ioqK7D7W+vPt/MfJf+uMch2NtXfvXv3+979Xly5dtHTpUi1evFgPPfSQJOnmm2+u93G52LfkXgl33HFHved/7rnnfvHzXynX6nVcq+PGr4PbTzCUc+fO6dixY/UeDwsLk4vLb3+C0ijX8Uv48ssv6/1oeevWreXl5fWLnr+kpETff/99ncf8/Pyumd/kulav41odN34dhBoAAGAI3H4CAACGQKgBAACGQKgBAACGQKgBAACGQKgBAACGQKgBAACGQKgBAACG8P8Bq2wclmt0j4UAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "metrics_df_k4.boxplot(column='layer_power_including_idle_power_micro_watt', grid=False)" + ] + }, + { + "cell_type": "markdown", + "id": "46ac528f-1526-4024-81ee-a21cb676919d", + "metadata": { + "jp-MarkdownHeadingCollapsed": true + }, + "source": [ + "### Kernel 1 Stride 5 Output 3" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "id": "6ef0f4ca-b361-45cf-aae9-7f9ab04a2a44", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1274/1274 [00:00<00:00, 46374.86it/s]\n", + "Computing layer execution times: 3000it [00:00, 294737.00it/s]\n" + ] + } + ], + "source": [ + "model_name = 'conv_k1_s5_o3'\n", + "\n", + "with open((DATA_PATH/model_name/f'{model_name}_power_log.log'), 'r') as fp:\n", + " data = fp.readlines()\n", + "power_data = parse_power_log(data)\n", + "\n", + "with open((DATA_PATH/model_name/f'{model_name}_layerwise_latency.json'), 'r') as fp:\n", + " data = json.load(fp)\n", + "latency_data = parse_latencies(data)" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "id": "87779b48-dbb9-4ab2-beb5-607cc22c99ad", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Number of power entries for conv_k1_s5_o3: 1274\n", + "Number of TensorRT layers in conv_k1_s5_o3: 1\n", + "Number of latency entries for each layer: 3000\n", + "Inference for 3000 cycles: 1.307009 seconds\n" + ] + } + ], + "source": [ + "print(f\"Number of power entries for {model_name}: {len(power_data)}\")\n", + "print(f\"Number of TensorRT layers in {model_name}: {len(latency_data[0])}\")\n", + "print(f\"Number of latency entries for each layer: {len(latency_data)}\")\n", + "print(f\"Inference for {len(latency_data)} cycles: {(latency_data[len(latency_data)-1][0][2]-latency_data[0][0][1]).total_seconds()} seconds\")" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "id": "59324a0b-2708-403c-94c5-21196f1e1212", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 34, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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qJubm5tatWrlWKdBgwZO/6Hv2bNHdrtdlSs791BevHhRhw8fLmbryPGcoaLczK5x48b68ssvnebZbLYrrlO7dm1HEJGk8PBw5eTk6MCBA/L29tapU6fUoUMHp3U6dOjgOB3VrFkzBQYGasOGDfLw8FDLli1111136f3335ckR7iUiveeAaUVYSQfHn98yWTSM1LhefgU/gFi16vslcydO1dZWVlOA1YNw5DVatV7770nf39/RUZGqkuXLkpMTNTq1avl5eWlHj16SMoNFJK0fPlypy9TSY6eijw+Pj5O06NHj9bq1as1bdo0NWjQQF5eXrr//vuVkVH4sS92u13BwcGKi4u7bFlAQECht1OQn376SZJUt27dQq/j4eGhBg0aFHvfRWGxWNS5c2fFxcXJarWqa9euCgsLU3p6uvbt26ctW7Zo9OjcsFuc9wworQgj+XB3zf0vijCC0iwrK0sLFixQTEyM7rzzTqdlffv21aeffqqhQ4eqffv2CgkJ0b///W+tXLlSDzzwgNzd3SVJTZs2ldVqVXx8vFP3fmFs3rxZgwYNcow9sdvtTqdDGjdurKysLO3atUutW7eWlPtf/aWDSVu1aqXTp0/Lzc1NoaGh19AKV/b222/LZrMpIiKixLd9qfj4eKermL799lu5uLiocePGstlsqlGjhjZv3uzUxps3b9att97qmO7SpYtmz54tq9WqyZMny8XFRZ07d9Zbb72l9PR0R89Kcd4zoLQijOQj7zQNY0ZQmi1btkznzp3TkCFD5O/v77Tsvvvu09y5czV06FBJuVfVfPDBBzp48KDWr1/vKOfn56fRo0dr1KhRysnJUceOHZWUlKTNmzfLZrNp4MCBBe6/YcOG+vzzz9WnTx9ZLBa9+uqrysn582+mSZMmioiI0FNPPaWZM2fK3d1dL7zwgry8vBynTSIiIhQeHq6+fftq6tSpatSokU6dOqXly5erX79+RTrNcP78eZ0+fVrp6ek6ePCgZs2apaVLl2rBggWX9bLs3btXfn5+jmmLxeIY/5KVlaXTp087lbdYLKpevXqB+/b09NTAgQM1bdo0JScn67nnntODDz6ooKAgSdKYMWM0fvx41a9fX7fccovmzZun3bt3Owa4SlLXrl01atQoeXh4qGPHjo55o0ePVtu2bR29HMV5z4DSijCSD3e3P07TZDFmBKXX3LlzFRERcVkQkXLDyNSpU/XDDz8oLCxMkZGRmjx5surUqXPZ2IVJkyapatWqio6O1pEjRxQQEKBWrVrp5ZdfvuL+p0+frscff1zt27dXlSpVNHbsWCUnJzuVWbBggYYMGaLOnTsrKChI0dHR2r9/v+MJsRaLRStWrNC4ceM0ePBgnTlzRkFBQercufMVv/zzM3jwYEm5waBmzZrq2LGjtm/f7jRmJU/nzp2dpl1dXZWVlXv13P79+xUcHOy03Gq1Ki0trcB9N2jQQPfee6969eqls2fP6q677tI///lPx/LnnntOSUlJeuGFF5SYmKimTZvqyy+/dBrM27x5cwUEBKhRo0aOAbRdu3ZVdna2Y7xInmt9z4DSymLkjfAqxZKTk+Xv76+kpKSrDiQrCRO+3K/5W45p+O0NNLp74+u+v4okJSNFvtG5H7T2KLt8PErHOe20tDQdPXpUdevW5VHq19Gvv/6qkJAQrVmzRt26dTO7OiViwoQJWrp0qXbv3m12VYqM3/tyICVFyrv6y26XStk4ocJ+f9Mzkg/HmJEcTtMAxbFu3TrZ7XY1b95cCQkJevHFFxUaGnpZzwSAio0wkg83V07TACUhMzNTL7/8so4cOSI/Pz+1b99eCxcudAygBQCJMJIvdy7tBUpE9+7d1b17d7OrcV1NmDBBEyZMMLsaQJlWoZ9NUxAPLu0FAOCGIYzkg0t7AQC4cThNk4+8MHIuJUOHEu1XLW91c1GtSl5FuuU0AADIRRjJR959RtYfOKP1BzYUap0X7mikZ7s1vHpBAADghDCSj44NqqheFR/9L+Xqz9hIz8pWWmaO9p9KvmpZAABwuWKFkSlTpigqKkojRozQ22+/fdXysbGx6t+/v+655x4tXbq0OLu+rupW8dG60V0LVfazHSf04n9+YLArAADX6JoHsO7YsUOzZs1SWFhYocofO3ZMo0ePVqdOna51l6WSu1vuOBEGu6K06dq1q0aOHHnd93Ps2DFZLJYi34H0ww8/VEhIiFxcXAr1zwyA8uuawojdbldkZKRmz56tSpUqXbV8dna2IiMjNXHiRNWrV+9adllqcU8SmGnQoEGyWCyXvQ4dOqTPP/9ckyZNKtb2LRbLVXsxQ0JClJCQoGbNmhV6u8nJyRo+fLjGjh2rkydP6qmnnipWPcuaQYMGqW/fviW2vRsVPIHr5ZrCyLBhw9S7d+9CP5b79ddfV7Vq1TRkyJBClU9PT1dycrLTq7T6M4xwt1aYo0ePHkpISHB61a1bV4GBgU5Ppv2rjIyrj4kqDFdXVwUFBcnNrfBnfePj45WZmanevXsrODhY3t7e17TvzMzMa1qvvCip9xAwW5HDSGxsrL7//ntFR0cXqvymTZs0d+5czZ49u9D7iI6Olr+/v+MVEhJS1GreMO7cIK1cMgxDKRkppryK+uxKq9WqoKAgp5erq+tl/y2HhoZq0qRJGjBggGw2m5566illZGRo+PDhCg4Olqenp+rUqeP42w4NDZUk9evXTxaLxTH9V389TRMXFyeLxaK1a9eqTZs28vb2Vvv27XXgwAFJ0vz589W8eXNJUr169WSxWHTs2DFJ0hdffKFWrVrJ09NT9erV08SJEx1P05Vye2pmzpypu+++Wz4+Ppo8eXKh15szZ4769esnb29vNWzYUF9++aXTcezfv1933XWXbDab/Pz81KlTJx0+fNixfM6cObrpppvk6empJk2aOD2VNz+LFy9W8+bN5eXlpcqVKysiIkIpKSmaMGGCPv74Y33xxReOnqy4uDhJ0tixY9WoUSN5e3urXr16evXVV50C14QJE3TLLbdozpw5jofbDRo0SBs2bNCMGTMc28trT6CsKNIA1hMnTmjEiBFavXp1oZ7weOHCBT322GOaPXu2qlSpUuj9REVF6fnnn3dMJycnl9pA4rhBWhZhpDxJzUx1PF34RrueTzOeNm2aXnvtNY0fP16S9M477+jLL7/UZ599ptq1a+vEiRM6ceKEpNxxYdWqVdO8efPUo0cPubq6Fmlf48aNU0xMjKpWraqhQ4fq8ccf1+bNm/XQQw8pJCREERER2r59u0JCQlS1alV98803GjBggN555x1HEMg7fZNXXyn3C3nKlCl6++235ebmVuj1Jk6cqKlTp+qtt97Su+++q8jISB0/flyBgYE6efKkOnfurK5du2rdunWy2WzavHmzI9AsXLhQr732mt577z21bNlSu3bt0pNPPikfHx8NHDjwsmNPSEhQ//79NXXqVPXr108XLlzQN998I8MwNHr0aP30009KTk7WvHnzJEmBgYGSJD8/P82fP181atTQ3r179eSTT8rPz08vvviiY9uHDh3Sf/7zH33++edydXVVnTp1dPDgQTVr1kyvv/66JKlq1apFeq8AsxUp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MGCAatasqejoaEnSm2++qddee02ffPKJQkNDdfr0aUmSr6+vfH19S+IYAABAGVbid2CNj49XQkKCY3rmzJnKyMjQ/fffr+DgYMdr2rRpJb1rAABQBhX5apq/iouLu+L0sWPHirsLAABQjvFsGgAAYCrCCAAAMBVhBAAAmIowAgAATEUYAQAApiKMAAAAUxFGAACAqQgjAADAVIQRAABgKsIIAAAwFWEEAACYijACAABMRRgBAACmIowAAABTEUYAAICpCCMAAMBUhBEAAGAqwggAADAVYQQAAJiKMAIAAExFGAEAAKYijAAAAFMRRgAAgKkIIwAAwFSEEQAAYCrCCAAAMBVhBAAAmIowAgAATEUYAQAApiKMAAAAUxFGAACAqQgjAADAVIQRAABgKsIIAAAwFWEEAACYijACAABMRRgBAACmIowAAABTEUYAAICpCCMAAMBUhBEAAGAqwggAADAVYQQAAJiKMAIAAExFGAEAAKYijAAAAFMRRgAAgKkIIwAAwFSEEQAAYCrCCAAAMBVhBAAAmIowAgAATEUYAQAApiKMAAAAUxFGAACAqQgjAADAVIQRAABgKsIIAAAwFWEEAACYijACAABMRRgBAACmIowAAABTEUYAAICpCCMAAMBUhBEAAGAqwggAADBVscLIlClTZLFYNHLkyCuWW7RokZo0aSJPT081b95cK1asKM5uAQBAOXLNYWTHjh2aNWuWwsLCrlhuy5Yt6t+/v4YMGaJdu3apb9++6tu3r/bt23etuwYAAOXINYURu92uyMhIzZ49W5UqVbpi2RkzZqhHjx4aM2aMbrrpJk2aNEmtWrXSe++9d00VBgAA5cs1hZFhw4apd+/eioiIuGrZrVu3Xlaue/fu2rp1a4HrpKenKzk52ekFAADKJ7eirhAbG6vvv/9eO3bsKFT506dPq3r16k7zqlevrtOnTxe4TnR0tCZOnFjUqgEAgDKoSD0jJ06c0IgRI7Rw4UJ5enperzopKipKSUlJjteJEyeu274AAIC5itQzsnPnTiUmJqpVq1aOednZ2dq4caPee+89paeny9XV1WmdoKAg/fbbb07zfvvtNwUFBRW4H6vVKqvVWpSqAQCAMqpIPSPdunXT3r17tXv3bserTZs2ioyM1O7duy8LIpIUHh6utWvXOs1bvXq1wsPDi1dzAABQLhSpZ8TPz0/NmjVzmufj46PKlSs75g8YMEA1a9ZUdHS0JGnEiBHq0qWLYmJi1Lt3b8XGxuq7777Thx9+WEKHAAAAyrISvwNrfHy8EhISHNPt27fXJ598og8//FAtWrTQ4sWLtXTp0stCDQAAqJgshmEYZlfiapKTk+Xv76+kpCTZbDazq4NiSMlIkW+0ryTJHmWXj4ePyTUCgDIsJUXyzf1Mld0u+ZSuz9TCfn/zbBoAAGAqwggAADAVYQQAAJiKMAIAAExFGAEAAKYijAAAAFMRRgAAgKkIIwAAwFSEEQAAYCrCCAAAMBVhBAAAmIowAgAATEUYAQAApiKMAAAAUxFGAACAqQgjAADAVIQRAABgKsIIAAAwFWEEAACYijACAABMRRgBAACmIowAAABTEUYAAICpCCMAAMBUhBEAAGAqwggAADAVYQQAAJiKMAIAAExFGAEAAKYijAAAAFMRRgAAgKkIIwAAwFSEEQAAYCrCCAAAMBVhBAAAmIowAgAATEUYAQAApiKMAAAAUxFGAACAqQgjAADAVIQRAABgKsIIAAAwFWEEAACYijACAABMRRgBAACmIowAAABTEUYAAICpCCMAAMBUhBEAAGAqwggAADAVYQQAAJiKMAIAAExFGAEAAKYijAAAAFMRRgAAgKkIIwAAwFSEEQAAYCrCCAAAMBVhBAAAmIowAgAATEUYAQAApiKMAAAAUxFGAACAqQgjAADAVIQRAABgKsIIAAAwVZHCyMyZMxUWFiabzSabzabw8HCtXLnyiuu8/fbbaty4sby8vBQSEqJRo0YpLS2tWJUGAADlh1tRCteqVUtTpkxRw4YNZRiGPv74Y91zzz3atWuXbr755svKf/LJJ3rppZf00UcfqX379jp48KAGDRoki8Wi6dOnl9hBAACAsqtIYaRPnz5O05MnT9bMmTP17bff5htGtmzZog4dOuiRRx6RJIWGhqp///7atm1bMaoMAADKk2seM5Kdna3Y2FilpKQoPDw83zLt27fXzp07tX37dknSkSNHtGLFCvXq1euK205PT1dycrLTCwAAlE9F6hmRpL179yo8PFxpaWny9fXVkiVL1LRp03zLPvLII/r999/VsWNHGYahrKwsDR06VC+//PIV9xEdHa2JEycWtWoAAKAMKnLPSOPGjbV7925t27ZNTz/9tAYOHKgff/wx37JxcXF644039M9/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Qr/88ovTNs6ePavIyEjZbDYFBARoyJAhstvtN/pQSkx2drZeffVV1a1bV15eXqpfv74mTZrk9AyOitIuGzduVJ8+fVSjRg1ZLBYtXbrUaXlJtcMPP/ygTp06ydPTUyEhIZo6der1PrRiu1LbZGZmauzYsWrevLl8fHxUo0YNDRgwQKdOnXLaRnltGydGBRUbG2t4eHgYH330kbF//37jySefNAICAozffvvN7KpdN927dzfmzZtn7Nu3z9i9e7fRq1cvo3bt2obdbneUGTp0qBESEmKsXbvW+O6774zbbrvNaN++vWN5VlaW0axZMyMiIsLYtWuXsWLFCqNKlSpGVFSUGYd0XWzfvt0IDQ01wsLCjBEjRjjmV9S2OXv2rFGnTh1j0KBBxrZt24wjR44Yq1atMg4dOuQoM2XKFMPf399YunSpsWfPHuPuu+826tata1y8eNFRpkePHkaLFi2Mb7/91vjmm2+MBg0aGP379zfjkErE5MmTjcqVKxvLli0zjh49aixatMjw9fU1ZsyY4ShTUdplxYoVxrhx44zPP//ckGQsWbLEaXlJtENSUpJRvXp1IzIy0ti3b5/x6aefGl5eXsasWbNu1GFekyu1zfnz542IiAjj3//+t/Hzzz8bW7duNW699VajdevWTtsor21zqQobRm699VZj2LBhjuns7GyjRo0aRnR0tIm1urESExMNScaGDRsMw8j9w3B3dzcWLVrkKPPTTz8ZkoytW7cahpH7h+Xi4mKcPn3aUWbmzJmGzWYz0tPTb+wBXAcXLlwwGjZsaKxevdro0qWLI4xU5LYZO3as0bFjxwKX5+TkGEFBQcZbb73lmHf+/HnDarUan376qWEYhvHjjz8akowdO3Y4yqxcudKwWCzGyZMnr1/lr6PevXsbjz/+uNO8e++914iMjDQMo+K2y1+/cEuqHf75z38alSpVcvpbGjt2rNG4cePrfEQlJ7+g9lfbt283JBnHjx83DKPitE2FPE2TkZGhnTt3KiIiwjHPxcVFERER2rp1q4k1u7GSkpIkSYGBgZKknTt3KjMz06ldmjRpotq1azvaZevWrWrevLmqV6/uKNO9e3clJydr//79N7D218ewYcPUu3dvpzaQKnbbfPnll2rTpo0eeOABVatWTS1bttTs2bMdy48eParTp087tY2/v7/atWvn1DYBAQFq06aNo0xERIRcXFy0bdu2G3cwJah9+/Zau3atDh48KEnas2ePNm3apJ49e0qquO3yVyXVDlu3blXnzp3l4eHhKNO9e3cdOHBA586du0FHc/0lJSXJYrEoICBAUsVpmzLxoLyS9vvvvys7O9vpS0OSqlevrp9//tmkWt1YOTk5GjlypDp06KBmzZpJkk6fPi0PDw/HH0Ge6tWr6/Tp044y+bVb3rKyLDY2Vt9//7127Nhx2bKK3DZHjhzRzJkz9fzzz+vll1/Wjh079Nxzz8nDw0MDBw50HFt+x35p21SrVs1puZubmwIDA8ts27z00ktKTk5WkyZN5OrqquzsbE2ePFmRkZGSVGHb5a9Kqh1Onz6tunXrXraNvGWVKlW6LvW/kdLS0jR27Fj179/f8WC8itI2FTKMILcHYN++fdq0aZPZVSkVTpw4oREjRmj16tXy9PQ0uzqlSk5Ojtq0aaM33nhDktSyZUvt27dPH3zwgQYOHGhy7czz2WefaeHChfrkk0908803a/fu3Ro5cqRq1KhRodsF1yYzM1MPPvigDMPQzJkzza7ODVchT9NUqVJFrq6ul10J8dtvvykoKMikWt04w4cP17Jly7R+/XrVqlXLMT8oKEgZGRk6f/68U/lL2yUoKCjfdstbVlbt3LlTiYmJatWqldzc3OTm5qYNGzbonXfekZubm6pXr15h2yY4OFhNmzZ1mnfTTTcpPj5e0p/HdqW/p6CgICUmJjotz8rK0tmzZ8ts24wZM0YvvfSSHn74YTVv3lyPPfaYRo0apejoaEkVt13+qqTaobz+fUl/BpHjx49r9erVjl4RqeK0TYUMIx4eHmrdurXWrl3rmJeTk6O1a9cqPDzcxJpdX4ZhaPjw4VqyZInWrVt3Wbde69at5e7u7tQuBw4cUHx8vKNdwsPDtXfvXqc/jrw/nr9+YZUl3bp10969e7V7927Hq02bNoqMjHT8XFHbpkOHDpddAn7w4EHVqVNHklS3bl0FBQU5tU1ycrK2bdvm1Dbnz5/Xzp07HWXWrVunnJwctWvX7gYcRclLTU2Vi4vzR6irq6tycnIkVdx2+auSaofw8HBt3LhRmZmZjjKrV69W48aNy8RpiILkBZFffvlFa9asUeXKlZ2WV5i2MXsErVliY2MNq9VqzJ8/3/jxxx+Np556yggICHC6EqK8efrppw1/f38jLi7OSEhIcLxSU1MdZYYOHWrUrl3bWLdunfHdd98Z4eHhRnh4uGN53uWrd955p7F7927jv//9r1G1atUyf/lqfi69msYwKm7bbN++3XBzczMmT55s/PLLL8bChQsNb29v41//+pejzJQpU4yAgADjiy++MH744QfjnnvuyffSzZYtWxrbtm0zNm3aZDRs2LDMXcJ6qYEDBxo1a9Z0XNr7+eefG1WqVDFefPFFR5mK0i4XLlwwdu3aZezatcuQZEyfPt3YtWuX44qQkmiH8+fPG9WrVzcee+wxY9++fUZsbKzh7e1d6i9fvVLbZGRkGHfffbdRq1YtY/fu3U6fy5deGVNe2+ZSFTaMGIZhvPvuu0bt2rUNDw8P49ZbbzW+/fZbs6t0XUnK9zVv3jxHmYsXLxrPPPOMUalSJcPb29vo16+fkZCQ4LSdY8eOGT179jS8vLyMKlWqGC+88IKRmZl5g4/m+vtrGKnIbfPVV18ZzZo1M6xWq9GkSRPjww8/dFqek5NjvPrqq0b16tUNq9VqdOvWzThw4IBTmf/9739G//79DV9fX8NmsxmDBw82Lly4cCMPo0QlJycbI0aMMGrXrm14enoa9erVM8aNG+f0JVJR2mX9+vX5frYMHDjQMIySa4c9e/YYHTt2NKxWq1GzZk1jypQpN+oQr9mV2ubo0aMFfi6vX7/esY3y2jaXshjGJbcLBAAAuMEq5JgRAABQehBGAACAqQgjAADAVIQRAABgKsIIAAAwFWEEAACYijACAABMRRgBAACmIowAAABTEUYAAICpCCMAAMBUhBEAAGCq/w+wh0juwQ9FNgAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot([power for (_, power) in power_data])\n", + "plt.axhline(avg_power, color='purple', linestyle='--', label='Average IDLE power')\n", + "first_inference_start_index = get_power_index(power_data, latency_data[0][0][1])\n", + "last_inference_end_index = get_power_index(power_data, latency_data[2999][0][2])\n", + "plt.axvline(first_inference_start_index, color='green', label='First inference start')\n", + "plt.axvline(last_inference_end_index, color='red', label='Last inference end')\n", + "plt.legend()" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "id": "a547dce0-b6cf-465c-ae9f-32e8d2a3531c", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Computing layer metrics...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Mapping power to layer: 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████| 3000/3000 [00:00<00:00, 1132983.25it/s]\n" + ] + } + ], + "source": [ + "metrics = compute_layer_metrics_by_cycle(power_data, latency_data, avg_power)\n", + "metrics_df_k5 = pd.DataFrame.from_dict(metrics)" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "id": "7b72d3ab-6a79-4344-8ffa-b2143774b9bb", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
cyclelayer_power_including_idle_power_micro_wattlayer_power_excluding_idle_power_micro_wattlayer_run_time
count3000.0000004.900000e+02490.0000003000.000000
mean1500.5000004.259956e+06680777.6573790.226191
std866.1697291.469572e+0414695.7229070.024286
min1.0000004.253568e+06674389.9349300.125248
25%750.7500004.253568e+06674389.9349300.217856
50%1500.5000004.253568e+06674389.9349300.222400
75%2250.2500004.253568e+06674389.9349300.232584
max3000.0000004.293696e+06714517.9349301.378752
\n", + "
" + ], + "text/plain": [ + " cycle layer_power_including_idle_power_micro_watt \\\n", + "count 3000.000000 4.900000e+02 \n", + "mean 1500.500000 4.259956e+06 \n", + "std 866.169729 1.469572e+04 \n", + "min 1.000000 4.253568e+06 \n", + "25% 750.750000 4.253568e+06 \n", + "50% 1500.500000 4.253568e+06 \n", + "75% 2250.250000 4.253568e+06 \n", + "max 3000.000000 4.293696e+06 \n", + "\n", + " layer_power_excluding_idle_power_micro_watt layer_run_time \n", + "count 490.000000 3000.000000 \n", + "mean 680777.657379 0.226191 \n", + "std 14695.722907 0.024286 \n", + "min 674389.934930 0.125248 \n", + "25% 674389.934930 0.217856 \n", + "50% 674389.934930 0.222400 \n", + "75% 674389.934930 0.232584 \n", + "max 714517.934930 1.378752 " + ] + }, + "execution_count": 36, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "metrics_df_k5.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "id": "5c4b3175-1b91-4c59-ae69-3e8cbb15727a", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "cycle 3000\n", + "layer_power_including_idle_power_micro_watt 490\n", + "layer_power_excluding_idle_power_micro_watt 490\n", + "layer_run_time 3000\n", + "dtype: int64" + ] + }, + "execution_count": 37, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "metrics_df_k5.count()" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "id": "f4befb46-6729-41d4-a63f-3c435dbf0a61", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 38, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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SXl5eaqsrHTqLyIiQm3btlVOTk6N/TgcDpWVlTltAADAulwONZmZmdq1a5eSk5Pr1WFiYqKCg4PNgHI6nCQlJemHH35QRUWF5s6dq++++07FxcWSpCNHjqhx48Zq1qyZ07latWqlI0eO1NhPcnKy/Pz8zC00NLRe4wUAAA2DS6GmqKhICQkJysjIcJpZqSu73a7MzEy98cYbZvtGjRppzZo12rdvnwICAtS0aVNt3bpVN998s9zc6r+OOSkpSaWlpeZWVFRU73MBAIA/Pg9XKufl5amkpEQ9evQwy6qqqrRt2za98MILcjgccnd3r7Ftamqq7Ha7Nm/efMbi4p49eyo/P1+lpaWqqKhQixYt1Lt3b0VGRkqSgoKCVFFRoePHjzvN1hw9elRBQUE19ufp6SlPT09XLg8AADRgLk2FREdHa8+ePcrPzze3yMhIxcXFKT8/v9ZAk5KSoqefflobNmwwg0pN/Pz81KJFC+3fv1+ffPKJbrvtNkm/hJ5GjRppy5YtZt2CggIVFhaqT58+rlwCAACwKJdmanx8fNS5c2enMi8vLwUGBprl8fHxCgkJMdfczJ07V9OnT9fKlSsVHh5uroHx9vaWt7e3JGnVqlVq0aKF2rZtqz179ighIUHDhg1TbGyspF/CztixYzVt2jQFBATI19dXkydPVp8+fXT99def3yMAAAAswaVQUxeFhYVOa2EWLVqkiooKjRo1yqnejBkzNHPmTElScXGxpk2bpqNHj6p169aKj4/Xk08+6VT/+eefl5ubm0aOHCmHw6FBgwbpxRdfvNDDBwAADZTNMAzjUg/i91BWViY/Pz+VlpbK19f3Ug8HAADUgSuv33z3EwAAsARCDQAAsARCDQAAsARCDQAAsARCDQAAsARCDQAAsARCDQAAsARCDQAAsARCDQAAsARCDQAAsARCDQAAsARCDQAAsARCDQAAsARCDQAAsARCDQAAsARCDQAAsARCDQAAsARCDQAAsARCDQAAsARCDQAAsARCDQAAsARCDQAAsARCDQAAsARCDQAAsARCDQAAsARCDQAAsARCDQAAsARCDQAAsARCDQAAsARCDQAAsARCDQAAsITzCjV2u102m01TpkyptU56err69esnf39/+fv7KyYmRjt37nSqU15erkmTJqlNmza64oor1KlTJy1evNipTlRUlGw2m9P24IMP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YYLKy8vl6el5xnGHwyGHw2Hul5WVKTQ0VKWlpfL19T3nWAEAwKVXVlYmPz+/Or1+uzRTk5eXp5KSEvXo0cMsq6qq0rZt2/TCCy/I4XDI3d29xrapqamy2+3avHlzrYHmgw8+UEFBgV5//fVzjqV37946deqUDh48qA4dOpxx3NPTs8awAwAArMmlUBMdHa09e/Y4lY0ZM0YRERFKTEysNdCkpKRozpw5eu+99xQZGVnr+V966SX17NlT3bp1O+dY8vPz5ebmppYtW7pyCQAAwKJcCjU+Pj7q3LmzU5mXl5cCAwPN8vj4eIWEhCg5OVmSNHfuXE2fPl0rV65UeHi4jhw5Ikny9vaWt7e3eZ6ysjKtWrVKzz333Bn95uTkaMeOHRo4cKB8fHyUk5OjqVOn6u6775a/v79rVwwAACypXm/pPpvCwkK5uf3vTVWLFi1SRUWFRo0a5VRvxowZmjlzprmfmZkpwzA0evToM87p6empzMxMzZw5Uw6HQ1deeaWmTp2qadOmXejhAwCABsqlhcINmSsLjQAAwB+DK6/ffPcTAACwBEINAACwBEINAACwBEINAACwBEINAACwBEINAACwBEINAACwBEINAACwBEINAACwBEINAACwBEINAACwBEINAACwBEINAACwBEINAACwBEINAACwBEINAACwBEINAACwBEINAACwBEINAACwBEINAACwBEINAACwBEINAACwBEINAACwBEINAACwBEINAACwBEINAACwBEINAACwBEINAACwBEINAACwBEINAACwBEINAACwhPMKNXa7XTabTVOmTKm1Tnp6uvr16yd/f3/5+/srJiZGO3fudKpjs9lq3J599lmzzrFjxxQXFydfX181a9ZMY8eOVXl5+fkMHwAAWEi9Q01ubq7S0tLUtWvXs9bLysrS6NGjtXXrVuXk5Cg0NFSxsbE6dOiQWae4uNhpW7p0qWw2m0aOHGnWiYuL0xdffKFNmzbprbfe0rZt2zR+/Pj6Dh8AAFiMzTAMw9VG5eXl6tGjh1588UXNnj1b3bt31/z58+vUtqqqSv7+/nrhhRcUHx9fY51hw4bpxIkT2rJliyRp79696tSpk3JzcxUZGSlJ2rBhg4YMGaLvvvtOwcHB5+y3rKxMfn5+Ki0tla+vb90uFAAAXFKuvH7Xa6Zm4sSJGjp0qGJiYlxue/LkSVVWViogIKDG40ePHtXbb7+tsWPHmmU5OTlq1qyZGWgkKSYmRm5ubtqxY0eN53E4HCorK3PaAACAdXm42iAzM1O7du1Sbm5uvTpMTExUcHBwrYFoxYoV8vHx0YgRI8yyI0eOqGXLlk71PDw8FBAQoCNHjtR4nuTkZM2aNateYwQAAA2PSzM1RUVFSkhIUEZGhpo0aeJyZ3a7XZmZmXrjjTdqbb906VLFxcXV6/y/lpSUpNLSUnMrKio6r/MBAIA/NpdmavLy8lRSUqIePXqYZVVVVdq2bZteeOEFORwOubu719g2NTVVdrtdmzdvrnVx8QcffKCCggK9/vrrTuVBQUEqKSlxKjt16pSOHTumoKCgGs/l6ekpT09PVy4PAAA0YC6FmujoaO3Zs8epbMyYMYqIiFBiYmKtgSYlJUVz5szRe++957Qu5rdeeukl9ezZU926dXMq79Onj44fP668vDz17NlTkvT++++rurpavXv3duUSAACARbkUanx8fNS5c2enMi8vLwUGBprl8fHxCgkJUXJysiRp7ty5mj59ulauXKnw8HBzDYy3t7e8vb3N85SVlWnVqlV67rnnzui3Y8eOGjx4sMaNG6fFixersrJSkyZN0p133lmndz4BAADru+CfKFxYWKji4mJzf9GiRaqoqNCoUaPUunVrc0tNTXVql5mZKcMwNHr06BrPm5GRoYiICEVHR2vIkCG68cYb9Y9//ONCDx8AADRQ9fqcmoaIz6kBAKDhueifUwMAAPBHQ6gBAACWQKgBAACWQKgBAACWQKgBAACWQKgBAACWQKgBAACWQKgBAACWQKgBAACWQKgBAACWQKgBAACWQKgBAACWQKgBAACWQKgBAACWQKgBAACWQKgBAACWQKgBAACWQKgBAACWQKgBAACWQKgBAACWQKgBAACWQKgBAACWQKgBAACWQKgBAACWQKgBAACWQKgBAACWQKgBAACWQKgBAACWQKgBAACWQKgBAACWQKgBAACWcF6hxm63y2azacqUKbXWSU9PV79+/eTv7y9/f3/FxMRo586dZ9Tbu3evbr31Vvn5+cnLy0u9evVSYWGheTwqKko2m81pe/DBB89n+AAAwELqHWpyc3OVlpamrl27nrVeVlaWRo8era1btyonJ0ehoaGKjY3VoUOHzDoHDhzQjTfeqIiICGVlZWn37t168skn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uFj+/v6/W3+PPfaYJk+e/Lv1B2e5ubny8vK61MO4YJYvX64pU6bo+PHjTuXh4eGaMmUKYfgPhlADS6moqFDjxo0v9TDOW12uIyAg4HcazfkJCgr6Xfvz9vaWt7f379pnQ1RZWXlRQnGLFi3q3baqqko2m+2c3+8D1IbfHFw0r7zyiiIjI+Xj46OgoCDdddddKikpkfTLF5RdffXVSk1NdWqTn58vm82mr776SpJ0/PhxPfDAA2rRooV8fX315z//WZ999plZ//SthiVLlujKK69UkyZNzjmuqKgoTZo0SZMmTZKfn5+aN2+uJ5980ulr7X/44QfFx8fL399fTZs21c0336z9+/ebY2/RooX+9a9/mfW7d++u1q1bm/sffvihPD09dfLkyYt6Hb/+X2J4eLieeeYZ3X///fLx8VHbtm31j3/8w6nNd999p9GjRysgIEBeXl6KjIzUjh076nR+SRo2bJjuu+8+c7+kpES33HKLrrjiCl155ZXKyMg44zy/vv108OBB2Ww2rVmzRgMHDlTTpk3VrVs35eTkOLVJT09XaGiomjZtquHDh2vevHlq1qzZOR8T6czbT1VVVZo2bZqaNWumwMBAPfHEEzrXx3M5HA499thjCgkJkZeXl3r37q2srKw69b98+XI1a9ZMa9eu1TXXXKMmTZpo0KBBKioqcqq3aNEitWvXTo0bN1aHDh30yiuvmMcee+wx/eUvfzH358+fL5vNpg0bNphlV199tZYsWWLuL1myRB07dlSTJk0UERGhF1980Tx2+nF//fXXNWDAADVp0qTGn1VN1/HWW2+pQ4cOatq0qUaNGqWTJ09qxYoVCg8Pl7+/vx555BFVVVWZ7X57++n48eOaMGGCWrVqpSZNmqhz58566623nPpYt26dOnXqJE9PTxUWFp71+Xc29Xluzps3T126dJGXl5dCQ0P18MMPq7y8XJKUlZWlMWPGqLS0VDabTTabTTNnzlRUVJS+/fZbTZ061SzHHwOhBhdNZWWlnn76aX322Wdau3atDh48aL4g2mw23X///Vq2bJlTm2XLlql///66+uqrJUm33367SkpK9O677yovL089evRQdHS0jh07Zrb56quvtHr1aq1Zs0b5+fl1GtuKFSvk4eGhnTt36u9//7vmzZvn9AJx33336ZNPPtG6deuUk5MjwzA0ZMgQVVZWymaz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KnXq1El2u/2Mt2+fdnqqd8yYMU7lNptN77zzjvr3768xY8aoffv2uvPOO/Xtt9+qVatW5zW++Ph4/fTTT/rTn/6kiRMnKiEhQePHjzePL1u2TD179tRf/vIX9enTR4Zh6J133nGaeh8wYICqqqqc7s9HRUWdUXYxr8MVjRs31saNG9WyZUsNGTJEXbp0OeOdKL92//33695771V8fLwGDBigq666ypylOW3ZsmUKDg7WgAEDNGLECI0fP14tW7Y8r3HecMMNWrx4sebNm6du3bppw4YNmjp1ap3e5l6TRx99VPfcc4/uvfde9enTRz4+Pho+fPhZ2yxbtkzx8fF69NFH1aFDBw0bNky5ublq27Ztnfps2rSpEhMTddddd+mGG26Qt7e3Xn/9dfP4sGHD9Pe//12pqam69tprlZaWpmXLljn93vj7+6tLly5q0aKFIiIiJP0SdKqrq51emKVfbuMuWbJEy5YtU5cuXTRgwAAtX75cV155ZR0fpYtn9erV6tWrl0aPHq1OnTrpiSeeOOcMR12ef2dT1+dmt27dNG/ePM2dO1edO3dWRkaGkpOTnc7Vt29fPfjgg7rjjjvUokULpaSkSJKeeuopHTx4UO3atTvvtXC4cGzGb2+aA7+zDz74QNHR0SoqKvpdXuSjoqLUvXt3Psq9ARk3bpy+/PJLffDBB5d6KOdU2yfQArj4WFODS8bhcOg///mPZs6cqdtvv/13nbXAH1tqaqpuuukmeXl56d1339WKFSucPkwOAGrC7SdcMq+99prCwsJ0/Phxc0r3fBUWFjq9rfW32+m3k//RWeU66mvnzp266aab1KVLFy1evFgLFizQAw88IEm69tpra31czvUpuRfCzTffXGv/zzzzzEXv/0JpqNfRUMeN3we3n2App06d0sGDB2s9Hh4eLg+PP/4EpVWu42L49ttva31reatWreTj43NR+z906JB++umnGo8FBAQ0mO/kaqjX0VDHjd8HoQYAAFgCt58AAIAlEGoAAIAlEGoAAIAlEGoAAIAlEGoAAIAlEGoAAIAlEGoAAIAl/H8UnSp3SglwEwAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "metrics_df_k5.boxplot(column='layer_power_including_idle_power_micro_watt', grid=False)" + ] + }, + { + "cell_type": "markdown", + "id": "ec67d0d3-d112-4fe4-b428-260cdeadd177", + "metadata": {}, + "source": [ + "## Strides Plot" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "id": "b7b1a726-98ae-4dca-bd4c-22042cd8530d", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0.5, 0, 'Stride size')" + ] + }, + "execution_count": 39, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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1K9fPx06dMiqbcSIEerQoYOmT59uCUPSL6fLBg8erKZNm1r1j42N1TPPPKO8vDw1a9ZMkpSamip/f39FRkZa+mzatMnqfampqYqNjXXEYf0pu778XmcLSx22/X0nz1l+Nmx4ymH7aeLbUL3aNr10RwAAXITTApGfn586depk1ebj46MmTZpYtWdnZ2vnzp1VQo0kDRgwQJGRkRo2bJjmz5+v3NxcPf744xo/frxlhmfs2LFavHixpk2bppEjR2rbtm1at26dNm7c6NgDtNOuL7/XsFf3XrpjDVj76Wmt/fS0Q/fxf6OuJxQBAOoMp99ldimvvfaarrjiCg0YMKDKOjc3N73//vsaN26cYmNj5ePjo+HDh2v27NmWPuHh4dq4caMmT56sF154QVdccYVWrFihxMTE2jyMS7o4MzS0W2t1vTLIIfvILzivjzKPqt+1HRXk7+OQfXz6db5W78lx6EwXAAA1zaUCUVpaWpW2Z599Vs8+++zvvicsLKza2aNfi4uL0/79+/9sebWi65VBGhLdyiHbLioqUpNzR9X/uiscerfc6j05Dts2AACO4PQHMwIAADgbgQgAABgegQgAABgegQgAABgegQgAABgegQgAABgegQgAABgegQgAABgegQgAABgegQgAABgegQgAABgegQgAABgegQgAABgegQgAABgegQgAABgegQgAABgegQgAABgegQgAABgegQgAABgegQgAABgegQgAABgegQgAABgegQgAABgegQgAABgegQgAABgegQgAABgegQgAABgegQgAABgegQgAABgegQgAABgegQgAABgegQgAABgegQgAABgegQgAABgegQgAABgegQgAABgegQgAABgegQgAABgegQgAABgegQgAABgegQgAABgegQgAABgegQgAABgegQgAABgegQgAABgegQgAABgegQgAABgegQgAABgegQgAABgegQgAABgegQgAABgegQgAABieuz2dKysrtWPHDu3atUvffPONioqK1LRpU0VHRyshIUGhoaGOqhMAAMBhbJohKi4u1ty5cxUaGqpBgwbpgw8+0Llz5+Tm5qbs7Gw99dRTCg8P16BBg/TJJ584umYAAIAaZVMgateunQ4ePKjly5eroKBA6enpeuedd7R69Wpt2rRJOTk5On78uHr16qW7775by5cvt7uQefPmyWQy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GB4XVQMAAMMjEAEAAMMjEAEAAMMjEAEAAMMjEAEAAMMjEAEAAMMjEAEAAMMjEAEAAMMjEAGoF+Li4jRp0qQ/7HPllVdq0aJFDqvBZDJpw4YNDts+AMchEAFwiu+//17jxo1T69at5enpqZCQECUmJmr37t2WPvYEjPXr12vOnDkOqtY2p0+f1o033ujUGgBcHr7cFYBT3H777SotLdUbb7yhq666SmfOnNFHH32ks2fP2rWd0tJSNWzY0CW+HDckJMTZJQC4TMwQAah1586d065du/Tcc88pPj5eYWFhuv766zVz5kwNHjxY0i+ntyTp1ltvlclksiw//fTT6tKli1asWKHw8HB5eXlJqnrKLC8vTzfffLMaNWqk8PBwrVmzpto6Ro8eraZNm8rf3199+/bVgQMHfrfu0tJSTZgwQS1atJCXl5fCwsKUkpJiWf/rGa2nn35aJpOpymvlypWSpMrKSqWkpCg8PFyNGjXSNddco7fffvsy/4sC+LMIRABqna+vr3x9fbVhwwaVlJRU2ycjI0OS9Prrr+v06dOWZUnKzs7WO++8o/Xr1ysrK6va999///06efKktm/frrffflsvv/yy8vLyrPrceeedysvL0wcffKDMzEzFxMSoX79+ys/Pr3abL774ot577z2tW7dOx44d05o1ayxB7bceeeQRnT592vJ6/vnn5e3tra5du0qSUlJStGrVKi1dulSHDx/W5MmTNXToUO3YseOP/tMBcBQzADjB22+/bQ4MDDR7eXmZu3fvbp45c6b5wIEDVn0kmd99912rtqeeesrs4eFhzsvLs2rv06ePeeLEiWaz2Ww+duyYWZJ57969lvVHjx41SzIvXLjQbDabzbt27TL7+/ubL1y4YLWdNm3amJctW1ZtzQ899JC5b9++5srKymrXV1ev2Ww2p6enm728vMxvvfWW2Ww2my9cuGD29vY2f/zxx1b9Ro0aZb7nnnuq3TYAx2KGCIBT3H777fruu+/03nvvaeDAgUpLS1NMTIzllNIfCQsLU9OmTX93/dGjR+Xu7q5rr73W0tahQwcFBARYlg8cOKDCwkI1adLEMmPl6+urEydO6Pjx49Vu9/7771dWVpbat2+vhx9+WFu2bLlkrTk5ORoyZIgeeeQR3XXXXZJ+meEqKipS//79rfa9atWq3903AMfiomoATuPl5aX+/furf//+euKJJzR69Gg99dRTuv/++//wfT4+Pn9634WFhWrRooXS0tKqrPt1cPq1mJgYnThxQh988IG2bt2qu+66SwkJCb977c/58+c1ePBgxcbGavbs2Vb7lqSNGzeqVatWVu/x9PS8vAMC8KcQiAC4jMjISKvb7D08PFRRUWH3djp06KDy8nJlZmbquuuukyQdO3ZM586ds/SJiYlRbm6u3N3df/c6oOr4+/vrL3/5i/7yl7/ojjvu0MCBA5Wfn1/lLjez2ayhQ4eqsrJS//d//yeTyWR1nJ6ensrJyVGfPn3sPj4ANY9ABKDWnT17VnfeeadGjhypqKgo+fn56dNPP9X8+fN1yy23WPpdeeWV+uijj9SjRw95enoqMDDQpu23b99eAwcO1IMPPqhXXnlF7u7umjRpkho1amTpk5CQoNjYWA0ZMkTz589Xu3bt9N1332njxo269dZbLRc//9rf//53tWjRQtHR0WrQoIH+9a9/KSQkpNoZpaefflpbt27Vli1bVFhYaJkVaty4sfz8/PTII49o8uTJqqysVM+ePfXTTz9p9+7d8vf31/Dhw+38Lwrgz+IaIgC1ztfXV926ddPChQvVu3dvderUSU888YQeeOABLV682NJvwYIFSk1NVWhoqKKjo+3ax+uvv66WLVuqT58+uu222zRmzBg1a9bMst5kMmnTpk3q3bu3RowYoXbt2unuu+/WN998o+bNm1e7TT8/P82fP19du3bVddddp6+//lqbNm1SgwZV/yrdsWOHCgsL1b17d7Vo0cLyeuuttyRJc+bM0RNPPKGUlBR17NhRAwcO1MaNGxUeHm7XcQKoGSaz2Wx2dhEAAADOxAwRAAAwPAIRAAAwPAIRAAAwPAIRAAAwPAIRAAAwPAIRAAAwPAIRAAAwPAIRAAAwPAIRAAAwPAIRAAAwPAIRAAAwvP8HIIxzq86+1DAAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "df = pd.concat(\n", + " [\n", + " metrics_df_k1[\"layer_power_including_idle_power_micro_watt\"] * 1e-3,\n", + " metrics_df_k2[\"layer_power_including_idle_power_micro_watt\"] * 1e-3,\n", + " metrics_df_k3[\"layer_power_including_idle_power_micro_watt\"] * 1e-3,\n", + " metrics_df_k4[\"layer_power_including_idle_power_micro_watt\"] * 1e-3,\n", + " metrics_df_k5[\"layer_power_including_idle_power_micro_watt\"] * 1e-3,\n", + " ],\n", + " axis=1,\n", + ")\n", + "\n", + "\n", + "# set column names (will be displayed as plot labels)\n", + "df.columns = ['1', '2', '3', '4', '5'] \n", + "\n", + "# use pandas' boxplot method\n", + "df.boxplot().set_ylabel('Power (milliWatts)')\n", + "df.boxplot().set_xlabel('Stride size')" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "id": "a33cb157-7942-46dc-b69c-e2da20c2a5cf", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0.5, 0, 'Stride size')" + ] + }, + "execution_count": 40, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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iIhsgKDFzYsvvmjw+N///jdWrFiBH374odriRiKRwNfXtz7CIyIiIhskaHHzoHv37mHDhg0oLy9HUFBQtf3KysrQsmVLaDQa9OzZE++//361hRAAVFRUoKKiQv+4tLQUAFBZWYnKysq6+wD1TK1W6/9ry59DDJgL68FcWA/mwrqIIR/mxC3RarVaC8ZSq1OnTiEoKAh3795FgwYNkJmZiaFDhxrte+DAAfz6668IDAzErVu3sHDhQnz33Xc4ffo0/Pz8jD5nzpw5mDt3bpX2zMxMyGSyOv0sREREZBlKpRJjxozBrVu34OnpWWNfwYsblUqFy5cv49atW9i4cSNWr16N3NxcBAQE1PrcyspKdO7cGaNHj8a8efOM9jE2cuPv74/CwsJavznW7M6dO8jJyUFwcDDc3NyEDseuMRfWg7mwHsyFdRFDPkpLS+Hj42NScSP4bSlnZ2e0a9cOANCrVy8cOnQIS5cuxYcffljrc52cnNCjRw+cP3++2j4uLi5wcXEx+lwnJ6eHD1xguuE5qVRq059DDJgL68FcWA/mwrqIIR/mxG11+9xoNBqDkZaa3Lt3D6dOnULTpk0tHBURERHZCkFHbmbMmIHnn38eLVq0wO3bt5GZmYk9e/Zg+/btAICwsDA0b94cycnJAIDExEQ8+eSTaNeuHUpKSpCamopLly5hwoQJQn4MIiIisiKCFjcFBQUICwvD9evX0bBhQwQGBmL79u0ICQkBAFy+fBkODn8OLt28eRMTJ05EXl4evLy80KtXL+zfv9+k+TlERERkHwQtbj766KMar+/Zs8fgsUKhgEKhsGBEREREZOusbs4NERER0aNgcUNERESiwuKGiIiIRIXFDREREYkKixsiIiISFRY3REREJCosboiIiEhUWNwQERGRqLC4ISIiIlFhcUNERESiwuKGiIiIRIXFDREREYkKixsiIiISFRY3REREJCosboiIiEhUWNwQERGRqLC4ISIiIlFhcUNERESiwuKGiIiIRIXFDREREYkKixsiIiISFRY3REREJCosboiIiEhUWNwQERGRqLC4ISIiIlFhcUNERESiwuKGiIiIRIXFDREREYkKixsiIiISFRY3REREJCosboiIiEhUWNwQERGRqLC4ISIiIlERtLhZsWIFAgMD4enpCU9PTwQFBWHr1q01PmfDhg3o1KkTXF1d0bVr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33yD//znPzh37hzWr1+vL7r+atq0abh+/br+a+HChZDJZOjduzcAIDk5GZ988gk++OADnD59GjExMRg7dixyc3Nr+tYRkaUIfSw5Edm+jRs3ar28vLSurq7afv36aWfMmKE9ceKEQR8A2q+++sqgbfbs2VonJydtQUGBQfvAgQO1U6ZM0Wq1Wu25c+e0ALQ//vij/vrPP/+sBaBVKBRarVar3bt3r9bT01N79+5dg9dp27at9sMPPzQac1RUlPaZZ57RajQao9eNxavVarUHDhzQurq6ar/44gutVqvV3r17VyuTybT79+836Pfmm29qR48ebfS1iciyOHJDRI/slVdewbVr1/DNN99gyJAh2LNnD3r27Km/bVOTli1b4rHHHqv2+s8//wypVIpevXrp2zp16oRGjRrpH584cQJlZWXw9vbWjyQ1aNAAFy9exIULF4y+bnh4OI4fP46OHTti8uTJ2LFjR62xXr58GcOHD8e0adMwatQoAPdHnpRKJUJCQgze+5NPPqn2vYnIsjihmIjqhKurK0JCQhASEoL33nsPEyZMwOzZsxEeHl7j89zd3R/5vcvKytC0aVPs2bOnyrUHi6AH9ezZExcvXsTWrVuxa9cujBo1Cs8991y1c2XKy8vx0ksvISgoCImJiQbvDQBbtmxB8+bNDZ7j4uLycB+IiB4JixsisoiAgACDpd9OTk64d++e2a/TqVMnqNVqHDlyBH369AEAnDt3DiUlJfo+PXv2RF5eHqRSabXzZozx9PTEq6++ildffRV///vfMWTIEBQXF1dZraXVajF27FhoNBp8+umnkEgkBp/TxcUFly9fxsCBA83+fERU91jcENEjKSoqwsiRIzF+/HgEBgbCw8MDhw8fRkpKCv72t7/p+7Vq1Qq7d+/GU089BRcXF3h5eZn0+h07dsSQIUPw9ttvY8WKFZBKpYiOjoabm5u+z3PPPYegoCAMHz4cKSkp6NChA65du4YtW7bg5Zdf1k/8fdDixYvRtGlT9OjRAw4ODtiwYQN8fX2NjvTMmTMHu3btwo4dO1BWVqYfrWnYsCE8PDwwbdo0xMTEQKPRoH///rh16xa+//57eHp6Yty4cWZ+R4noUXHODRE9kgYNGqBv375QKBQYMGAAunTpgvfeew8TJ05EWlqavt+iRYuwc+dO+Pv7o0ePHma9x5o1a9CsWTMMHDgQI0aMwFtvvYUmTZror0skEmRnZ2PAgAF444030KFDB7z22mu4dOkS5HK50df08PBASkoKevfujT59+uD3339HdnY2HByq/rOYm5uLsrIy9OvXD02bNtV/ffHFFwCAefPm4b333kNycjI6d+6MIUOGYMuWLWjdurVZn5OI6oZEq9VqhQ6CiIiIqK5w5IaIiIhEhcUNERERiQqLGyIiIhIVFjdEREQkKixuiIiISFRY3BAREZGosLghIiIiUWFxQ0RERKLC4oaIiIhEhcUNERERiQqLGyIiIhKV/wc1o8t8E4K57QAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "df = pd.concat(\n", + " [\n", + " metrics_df_k1[\"layer_run_time\"],\n", + " metrics_df_k2[\"layer_run_time\"],\n", + " metrics_df_k3[\"layer_run_time\"],\n", + " metrics_df_k4[\"layer_run_time\"],\n", + " metrics_df_k5[\"layer_run_time\"],\n", + " ],\n", + " axis=1,\n", + ")\n", + "\n", + "# set column names (will be displayed as plot labels)\n", + "df.columns = ['3', '6', '12', '24', '48'] \n", + "\n", + "# use pandas' boxplot method\n", + "df.boxplot().set_ylabel('Latency (milliseconds)')\n", + "df.boxplot().set_xlabel('Stride size')" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "id": "c97601c0-20ee-4a9d-a671-460d2d739dd2", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0.5, 0, 'Stride size')" + ] + }, + "execution_count": 41, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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CAwMrPN1Tk5OD/3epaWl8PDwQFZWVrV99walez322GO4cOECduzYgT179mDChAl46qmnap27o1AoMHbsWAwYMADR0dE67w0A33//PVq2bKnzGjs7uwf7QET0UBiAiMhkunTponPZu1QqRWVlpejjdO7cGSqVCj///DP69u0LADhz5gwKCwu1bR577DHk5uZCIpHUOo+nJi4uLpg4cSImTpyIF154ASNGjEBBQUG1q9A0Gg0mT54MtVqNzz//HIIg6HxOOzs7XL58GUOGDBH9+YjI8BiAiMjobt26hfHjx2PatGno0aMHnJ2dcfz4ccTHx+PZZ5/VtvP29sbevXvxxBNPwM7ODk2aNNHr+J06dcKIESPw2muv4cMPP4REIsH8+fPh4OCgbfPUU09hwIABCAgIQHx8PDp27Ihr167h+++/x3PPPaedrHyvxMREeHh4wMfHBzY2Nvjyyy/h7u5e44jRsmXLsGfPHuzevRulpaXaUR9XV1c4OztjwYIFCAkJgVqtxqBBg1BUVISffvoJLi4umDp1qsivKBE9LM4BIiKja9SoEfr374+kpCQMHjwY3bp1w1tvvYWZM2ciOTlZ227FihXIyMhAq1at4OPjI+o91qxZA09PTwwZMgTPP/88Zs2ahRYtWmj3C4KA9PR0DB48GK+++io6duyIF198EZcuXYJcLq/xmM7OzoiPj0efPn3Qt29fXLx4Eenp6bCxqf6jc9++fSgtLcXAgQPh4eGhfWzevBkA8Pbbb+Ott95CbGwsHn30UYwYMQLff/892rZtK+pzEpFhCBqNRmPqIoiIiIjqE0eAiIiIyOowABEREZHVYQAiIiIiq8MARERERFaHAYiIiIisDgMQERERWR0GICIiIrI6DEBERERkdRiAiIiIyOowABEREZHVYQAiIiIiq/N/8xllPeCuh2YAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "df = pd.concat(\n", + " [ # microwatts converted to milliwatts * millseconds converted to seconds\n", + " metrics_df_k1[\"layer_power_including_idle_power_micro_watt\"] * 1e-3 * metrics_df_k1[\"layer_run_time\"] * 1e-3,\n", + " metrics_df_k2[\"layer_power_including_idle_power_micro_watt\"] * 1e-3 * metrics_df_k2[\"layer_run_time\"] * 1e-3,\n", + " metrics_df_k3[\"layer_power_including_idle_power_micro_watt\"] * 1e-3 * metrics_df_k3[\"layer_run_time\"] * 1e-3,\n", + " metrics_df_k4[\"layer_power_including_idle_power_micro_watt\"] * 1e-3 * metrics_df_k4[\"layer_run_time\"] * 1e-3,\n", + " metrics_df_k5[\"layer_power_including_idle_power_micro_watt\"] * 1e-3 * metrics_df_k5[\"layer_run_time\"] * 1e-3,\n", + " ],\n", + " axis=1,\n", + ")\n", + "\n", + "\n", + "# set column names (will be displayed as plot labels)\n", + "df.columns = ['1', '2', '3', '4', '5']\n", + "\n", + "# use pandas' boxplot method\n", + "df.boxplot().set_ylabel('Energy mWs (milliWattssecond)')\n", + "df.boxplot().set_xlabel('Stride size')" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.11" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/jetson/power_logging/notebooks/explore_trt_kernel_single_conv_layer.ipynb b/jetson/power_logging/notebooks/explore_trt_kernel_single_conv_layer.ipynb new file mode 100644 index 00000000..3c00df11 --- /dev/null +++ b/jetson/power_logging/notebooks/explore_trt_kernel_single_conv_layer.ipynb @@ -0,0 +1,1763 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "092683ca-8ae8-4f0f-b841-fa38b65260f9", + "metadata": {}, + "outputs": [], + "source": [ + "from pathlib import Path\n", + "import json\n", + "import matplotlib.pyplot as plt\n", + "import pandas as pd\n", + "\n", + "from utils import parse_latencies_trt, parse_power_log, get_power_index, compute_layer_metrics_by_cycle" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "50d04548-6650-4a0e-9a58-e9c49e7bce30", + "metadata": {}, + "outputs": [], + "source": [ + "DATA_PATH = Path('../raw_data/single_conv_layer_trt')" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "bbde6bce-f561-4508-b283-440b8cdcccde", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Average power consumed in IDLE state: 3576245.017657479\n" + ] + } + ], + "source": [ + "with open((DATA_PATH/'idling_power.json'), 'r') as fp:\n", + " data = json.load(fp)\n", + "\n", + "avg_power = data['avg_idle_power']\n", + "print(f'Average power consumed in IDLE state: {avg_power}')" + ] + }, + { + "cell_type": "markdown", + "id": "457c527c-035d-4955-a230-90385a803b6e", + "metadata": {}, + "source": [ + "## Single Convolution Layers\n" + ] + }, + { + "cell_type": "markdown", + "id": "bd5813c0-be9c-4512-a154-abc079f70749", + "metadata": {}, + "source": [ + "### Kernel 1 Stride 1 Output 3" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "ae671960-9d2f-4cc7-89d1-53b35cbdbd7d", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 17278/17278 [00:00<00:00, 85471.54it/s]\n", + "Preprocessing latency data: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1/1 [00:00<00:00, 16.77it/s]\n" + ] + } + ], + "source": [ + "model_name = 'conv_k1_s1_o3'\n", + "\n", + "with open((DATA_PATH/model_name/f'{model_name}_power_log.log'), 'r') as fp:\n", + " data = fp.readlines()\n", + "power_data = parse_power_log(data)\n", + "\n", + "with open((DATA_PATH/model_name/'trt_profiling/trt_layer_latency.json'), 'r') as fp:\n", + " data = json.load(fp)\n", + "latency_data = parse_latencies_trt(data)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "f4d50a23-75b0-4dd9-8d64-195445a02bbc", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Number of power entries for conv_k1_s1_o3: 17278\n", + "Number of TensorRT layers in conv_k1_s1_o3: 1\n", + "Number of latency entries for each layer: 3000\n", + "Inference for 3000 cycles: 3.771303 seconds\n" + ] + } + ], + "source": [ + "print(f\"Number of power entries for {model_name}: {len(power_data)}\")\n", + "print(f\"Number of TensorRT layers in {model_name}: {len(latency_data[0])}\")\n", + "print(f\"Number of latency entries for each layer: {len(latency_data)}\")\n", + "print(f\"Inference for {len(latency_data)} cycles: {(latency_data[len(latency_data)-1][0][2]-latency_data[0][0][1]).total_seconds()} seconds\")" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "431ae3c5-a518-44b5-b507-1bd345cbd268", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot([power for (_, power) in power_data])\n", + "plt.axhline(avg_power, color='purple', linestyle='--', label='Average IDLE power')\n", + "first_inference_start_index = get_power_index(power_data, latency_data[0][0][1])\n", + "last_inference_end_index = get_power_index(power_data, latency_data[len(latency_data)-1][0][2])\n", + "plt.axvline(first_inference_start_index, color='green', label='First inference start')\n", + "plt.axvline(last_inference_end_index, color='red', label='Last inference end')\n", + "plt.legend()" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "50df5f3d-3fcb-4677-807e-36d66706b288", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Computing layer metrics...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Mapping power to layer: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████| 3000/3000 [00:00<00:00, 665269.75it/s]\n" + ] + } + ], + "source": [ + "metrics = compute_layer_metrics_by_cycle(power_data, latency_data, avg_power)\n", + "metrics_df_k1 = pd.DataFrame.from_dict(metrics)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "4be08b80-2db9-4f6e-a964-f0b269f73dbb", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
cyclelayer_power_including_idle_power_micro_wattlayer_power_excluding_idle_power_micro_wattlayer_run_time
count3000.0000005.880000e+02588.0000003000.000000
mean1500.5000004.461032e+06884787.4721380.273359
std866.1697291.485564e+05148556.3788900.053302
min1.0000003.731904e+06155658.9823430.251808
25%750.7500004.494336e+06918090.9823430.274720
50%1500.5000004.534464e+06958218.9823430.275648
75%2250.2500004.534464e+06958218.9823430.276352
max3000.0000004.534464e+06958218.9823432.946720
\n", + "
" + ], + "text/plain": [ + " cycle layer_power_including_idle_power_micro_watt \\\n", + "count 3000.000000 5.880000e+02 \n", + "mean 1500.500000 4.461032e+06 \n", + "std 866.169729 1.485564e+05 \n", + "min 1.000000 3.731904e+06 \n", + "25% 750.750000 4.494336e+06 \n", + "50% 1500.500000 4.534464e+06 \n", + "75% 2250.250000 4.534464e+06 \n", + "max 3000.000000 4.534464e+06 \n", + "\n", + " layer_power_excluding_idle_power_micro_watt layer_run_time \n", + "count 588.000000 3000.000000 \n", + "mean 884787.472138 0.273359 \n", + "std 148556.378890 0.053302 \n", + "min 155658.982343 0.251808 \n", + "25% 918090.982343 0.274720 \n", + "50% 958218.982343 0.275648 \n", + "75% 958218.982343 0.276352 \n", + "max 958218.982343 2.946720 " + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "metrics_df_k1.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "9dab2065-5d9d-45fb-9e01-e150634a83fd", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "cycle 3000\n", + "layer_power_including_idle_power_micro_watt 588\n", + "layer_power_excluding_idle_power_micro_watt 588\n", + "layer_run_time 3000\n", + "dtype: int64" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "metrics_df_k1.count()" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "e13d24ab-0ad1-40d8-b885-703cb3b47767", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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+fLl6ty5swICAhQeHq7HHntMOTk5ki7e9Khp06aaNWuW3XPS0tJksVh04MABSVJubq5GjRqlunXrKjAwUL/73e/0008/2fqXD8kvXrxYTZo0kbe393Xr6tWrl8aOHauxY8cqKChIt99+u15++WW7W1P/9ttvGj58uIKDg+Xr66sHHnhA+/fvt9Vet25dffjhh7b+HTp0UP369W3bW7dulZeXl4qKim7q+7j0r7KoqCi9/vrrevLJJxUQEKBGjRpp0aJFds85duyYBg8erJCQEPn5+alz58767rvvKvX6khQXF6cnnnjCtp2Tk6OHHnpIPj4+atKkiVauXHnF61x6mubIkSOyWCxau3at7rvvPvn6+qp9+/bavn273XOSk5MVGRkpX19fDRo0SLNnz1adOnWu+zWRrjxNU1paqgkTJqhOnToKDQ1VQkLCdW9DbrVaNXHiRDVs2FB+fn666667tHnz5kodf9myZapTp45SUlLUrFkzeXt7q2/fvsrMzLTrt2DBAkVHR8vT01MtWrTQ8uXLbW0TJ07Ugw8+aNueO3euLBaLPv/8c9u+pk2bavHixbbtxYsXq1WrVvL29lbLli01f/58W1v51/0f//iHevbsKW9v7wr/ryp6H+vXr1eLFi3k6+urhx9+WEVFRXrvvfcUFRWl4OBg/b//9/9UWlpqe97lp2lyc3M1evRohYWFydvbW23bttX69evtjvHJJ5+odevW8vLyUkZGxjV//q6lKj+bs2fPVrt27eTn56fIyEg999xzKigokCRt3rxZI0aMUF5eniwWiywWi/7617+qV69eOnr0qMaPH2/bj1sDYQRXuHDhgl577TX99NNPSklJ0ZEjR2wfZBaLRU8++aSWLl1q95ylS5eqR48eatq0qSTpkUceUU5Ojj777DPt3LlTHTt2VO/evXXmzBnbcw4cOKCPPvpIa9euVVpaWqVqe++99+Th4aEdO3bo7bff1uzZs+1+sT/xxBP6/vvv9cknn2j79u0yDEP9+/fXhQsXZLFY1KNHD9uH02+//abdu3fr3Llz2rNnjyRpy5Yt6tKli3x9fW/q+7jcW2+9pc6dO+vHH3/Uc889p2effVZ79+6VJBUUFKhnz546fvy4PvnkE/30009KSEhQWVlZlY5V/nXKzMzUv//9b3344YeaP3++LXBey4svvqiJEycqLS1NzZs31+DBg1VSUiJJ2rZtm5555hnFx8crLS1N999/v2bMmFHlGt966y0tW7ZM7777rrZu3aozZ85o3bp113zO2LFjtX37dq1evVo///yzHnnkEfXr169SH4iSVFRUpBkzZuj999/Xtm3blJubq0cffdTWvm7dOsXHx+uFF17QL7/8otGjR2vEiBH697//LUnq2bOntm7davuQ37Jli26//Xbb99zx48d18OBB9erVS5K0cuVK/eUvf9GMGTO0e/duvf7663r55Zf13nvv2dU1ZcoUxcfHa/fu3erbt2+l3se8efO0evVqff7559q8ebMGDRqkDRs2aMOGDVq+fLkWLlxo9+F/qbKyMj3wwAPatm2bVqxYoV9//VUzZ86Uu7u73THeeOMNLV68WLt27VK9evWu+fN3LVX52XRzc9O8efO0a9cuvffee/q///s/JSQkSJK6deumuXPnKjAwUFlZWcrKytLEiRO1du1aRUREaNq0abb9uEUYgGEYPXv2NOLj4ytsS01NNSQZZ8+eNQzDMI4fP264u7sb3333nWEYhlFcXGzcfvvtxrJlywzDMIyvv/7aCAwMNM6fP2/3OtHR0cbChQsNwzCMV155xbjtttuMnJwch2ps1aqVUVZWZts3efJko1WrVoZhGMa+ffsMSca2bdts7f/5z38MHx8f45///KdhGIYxb948o02bNoZhGEZKSopx1113GQMHDjQWLFhgGIZh9OnTx/jzn/9809/HpV/rxo0bG0OHDrVtl5WVGfXq1bPVtHDhQiMgIMA4ffp0ha/3yiuvGO3bt7/q6xuGYQwcONB4/PHHDcMwjL179xqSjB07dtjad+/ebUgy5syZY9snyVi3bp1hGIZx+PBhQ5KxePFiW/uuXbsMScbu3bsNwzCMP/3pT8aAAQPsjjtkyBAjKCjoWl+Oq76P+vXrG2+++aZt+8KFC0ZERIQxcODACt/r0aNHDXd3d+P48eN2r9u7d29j6tSp1z3+0qVLDUnGt99+a9tX/nUp/17v1q2b8dRTT9k975FHHjH69+9vGIZh/Pbbb4abm5uRmppqlJWVGSEhIUZiYqJx1113GYZhGCtWrDAaNmxoe250dLSxatUqu9d77bXXjNjYWMMw/vt1nzt37nXrv/x9HDhwwLZv9OjRhq+vr+1n2DAMo2/fvsbo0aNt240bN7b9/2/cuNFwc3Mz9u7de81jpKWl2fZV5ufvWhz52azImjVrjNDQULsaK/reu/R94tbByAiusHPnTj300ENq1KiRAgIC1LNnT0lSRkaGJKlBgwYaMGCA3n33XUnSp59+KqvVqkceeUSS9NNPP6mgoEChoaG2eQD+/v46fPiwDh48aDtO48aNHT5Pfffdd9sNrcbGxmr//v0qLS3V7t275eHhobvuusvWHhoaqhYtWmj37t2SLv7l+uuvv+rUqVPasmWLevXqpV69emnz5s26cOGCvvnmG9tfrTfzfVwuJibG9m+LxaLw8HDbSEVaWpruvPPOaptrUv516tSpk21fy5YtK3U65dI6y4fQy+vcu3evunbtatf/8u3KysvLU1ZWlt3/pYeHhzp37nzV56Snp6u0tFTNmze3+//asmWL3f/XtXh4eKhLly627fKvS/n3z+7du9W9e3e753Tv3t3WXqdOHbVv316bN29Wenq6PD099fTTT+vHH39UQUGBtmzZYvt5Kiws1MGDBzVy5Ei7eqdPn35Fvdd63xXx9fVVdHS0bTssLExRUVF2c3LCwsKuOhqWlpamiIgINW/e/KrH8PT0tPt+qMzP37U48rMpSf/7v/+r3r17q2HDhgoICNCwYcN0+vRp22kc1CxMYIWdwsJC9e3bV3379tXKlStVt25dZWRkqG/fviouLrb1GzVqlIYNG6Y5c+Zo6dKl+tOf/mQbPi0oKFD9+vUrPFd/6QeeGTP327Vrp5CQEG3ZskVbtmzRjBkzFB4erjfeeEOpqam6cOGCunXrJsm57+PyCYkWi8V2GsbHx8eh13Jzc7tibsX1hskr69I6y0PhjZwuqk4FBQVyd3fXzp077U4nSHLqxNjyD1AvLy/17NlTISEhatWqlbZu3aotW7bohRdesNUrXZxnc+kHuKQr6nf0e6yi76drfY9drjLfcz4+PtU658KRn80jR47owQcf1LPPPqsZM2YoJCREW7du1ciRI1VcXGz7XYSagzACO3v27NHp06c1c+ZMRUZGSpK+//77K/r1799ffn5+WrBggT7//HN99dVXtraOHTvq5MmT8vDwUFRUVLXWd/mkzW+//VbNmjWTu7u7WrVqpZKSEn333Xe2X1qnT5/W3r171bp1a0kXfwHfe++9+vjjj7Vr1y7dc8898vX1ldVq1cKFC9W5c2fbL/6b+T4cERMTo8WLF+vMmTOVGh2pW7eu3bnw0tJS/fLLL7rvvvskXfxrv6SkRDt37rSNAuzdu/eKSyAd1aJFC6Wmptrtu3y7soKCglS/fn1999136tGjhyTZau7YsWOFz7nzzjtVWlqqnJwc3XvvvVU6bklJib7//nvbiE7516VVq1aSpFatWmnbtm16/PHHbc/Ztm2b7ftLuvgX/rvvvisPDw/169dP0sWA8sEHH2jfvn22v+7DwsLUoEEDHTp0SEOGDKlSvTdLTEyMjh07pn379l1zdORSlfn5uxZHfjZ37typsrIyvfXWW7YreP75z3/avZ6np6fdBN3r7Ye5OE0DO40aNZKnp6f+9re/6dChQ/rkk0/02muvXdHP3d1dTzzxhKZOnapmzZopNjbW1tanTx/FxsYqLi5OX3zxhY4cOaJvvvlGL774YoXBxhEZGRmaMGGC9u7dqw8++EB/+9vfFB8fL0lq1qyZBg4cqKeeekpbt27VTz/9pKFDh6phw4YaOHCg7TXKPxg6dOggf39/ubm5qUePHlq5cqVtCP1mvw9HDB48WOHh4YqLi9O2bdt06NAhffTRR1dcyVLud7/7nf71r3/pX//6l/bs2aNnn33WLmi0aNFC/fr10+jRo/Xdd99p586dGjVqlMMjMJd7/vnntWHDBs2ePVv79+/XwoUL9dlnn1X5r+f4+HjNnDlTKSkp2rNnj5577rlrBqbmzZtryJAhGj58uNauXavDhw9rx44dSkxM1L/+9a9KHfO2227T888/b/u6PPHEE7r77rtt4WTSpElatmyZFixYoP3792v27Nlau3atJk6caHuNHj166OzZs1q/fr0tePTq1UsrV65U/fr17T7cX331VSUmJmrevHnat2+f0tPTtXTpUs2ePdvxL1g16tmzp3r06KE//vGP+vLLL3X48GF99tlndlcFXa6yP3/XUtmfzaZNm+rChQu231PLly/X3//+d7vXioqKUkFBgTZt2qT//Oc/ttM3UVFR+uqrr3T8+HH95z//qcJXBzcDYQR26tatq2XLlmnNmjVq3bq1Zs6cecVlvOXKh0RHjBhht99isWjDhg3q0aOHRowYoebNm+vRRx/V0aNHFRYWdkP1DR8+XOfOnVPXrl01ZswYxcfH6+mnn7a1L126VJ06ddKDDz6o2NhYGYahDRs22A1R9+zZU6WlpXbnn3v16nXFvpv5Phzh6empL774QvXq1VP//v3Vrl27K65suNSTTz6pxx9/XMOHD1fPnj11xx132EZFyi1dulQNGjRQz5499Yc//EFPP/206tWrd0N1du/eXX//+981e/ZstW/fXp9//rnGjx9fqcudK/LCCy9o2LBhevzxxxUbG6uAgAANGjToms9ZunSphg8frhdeeEEtWrRQXFycUlNT1ahRo0od09fXV5MnT9Zjjz2m7t27y9/fX//4xz9s7XFxcXr77bc1a9YstWnTRgsXLtTSpUvtvm+Cg4PVrl071a1bVy1btpR0MaCUlZXZfaBKF093Ll68WEuXLlW7du3Us2dPLVu2TE2aNKnkV+nm+eijj9SlSxcNHjxYrVu3VkJCwnVHFCrz83ctlf3ZbN++vWbPnq033nhDbdu21cqVK5WYmGj3Wt26ddMzzzyjP/3pT6pbt67efPNNSdK0adN05MgRRUdH3/BcL1Qfi3H5yWWgkr7++mv17t1bmZmZTvlw7tWrlzp06MCS1TXIU089pT179ujrr782u5TrutqKnQBuPuaMwGFWq1WnTp3SX//6Vz3yyCNOHSXArW3WrFm6//775efnp88++0zvvfee3SJeAFARTtPAYR988IEaN26s3Nxc29DnjcrIyLC7vPHyR/llxbc6V3kfVbVjxw7df//9ateunf7+979r3rx5GjVqlCSpTZs2V/26XG9V0erwwAMPXPX4r7/++k0/fnWpqe+jptYN5+A0DW4JJSUlOnLkyFXbo6Ki5OFx6w/kucr7uBmOHj161UuMw8LCFBAQcFOPf/z4cZ07d67CtpCQkBpzz6Ca+j5qat1wDsIIAAAwFadpAACAqQgjAADAVIQRAABgKsIIAAAwFWEEAACYijACAABMRRgBAACm+v8AD2NacndNjZ0AAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "metrics_df_k1.boxplot(column='layer_power_including_idle_power_micro_watt', grid=False)" + ] + }, + { + "cell_type": "markdown", + "id": "7a171f59-3afa-4902-8cce-11e153df1586", + "metadata": { + "jp-MarkdownHeadingCollapsed": true + }, + "source": [ + "### Kernel 2 Stride 1 Output 3" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "5c43603b-a0c0-4725-96a9-5dda4585b2f4", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 15522/15522 [00:00<00:00, 104059.82it/s]\n", + "Preprocessing latency data: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1/1 [00:00<00:00, 34.80it/s]\n" + ] + } + ], + "source": [ + "model_name = 'conv_k2_s1_o3'\n", + "\n", + "with open((DATA_PATH/model_name/f'{model_name}_power_log.log'), 'r') as fp:\n", + " data = fp.readlines()\n", + "power_data = parse_power_log(data)\n", + "\n", + "with open((DATA_PATH/model_name/'trt_profiling/trt_layer_latency.json'), 'r') as fp:\n", + " data = json.load(fp)\n", + "latency_data = parse_latencies_trt(data)" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "811cd848-c95a-430d-840a-1442119757d7", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Number of power entries for conv_k2_s1_o3: 15522\n", + "Number of TensorRT layers in conv_k2_s1_o3: 1\n", + "Number of latency entries for each layer: 3000\n", + "Inference for 3000 cycles: 3.797045 seconds\n" + ] + } + ], + "source": [ + "print(f\"Number of power entries for {model_name}: {len(power_data)}\")\n", + "print(f\"Number of TensorRT layers in {model_name}: {len(latency_data[0])}\")\n", + "print(f\"Number of latency entries for each layer: {len(latency_data)}\")\n", + "print(f\"Inference for {len(latency_data)} cycles: {(latency_data[len(latency_data)-1][0][2]-latency_data[0][0][1]).total_seconds()} seconds\")" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "74c267eb-b722-43dc-a7c6-8e95712a40a6", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot([power for (_, power) in power_data])\n", + "plt.axhline(avg_power, color='purple', linestyle='--', label='Average IDLE power')\n", + "first_inference_start_index = get_power_index(power_data, latency_data[0][0][1])\n", + "last_inference_end_index = get_power_index(power_data, latency_data[len(latency_data)-1][0][2])\n", + "plt.axvline(first_inference_start_index, color='green', label='First inference start')\n", + "plt.axvline(last_inference_end_index, color='red', label='Last inference end')\n", + "plt.legend()" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "f181155f-1e23-4821-b519-b360ae154ae6", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Computing layer metrics...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Mapping power to layer: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████| 3000/3000 [00:00<00:00, 712589.87it/s]\n" + ] + } + ], + "source": [ + "metrics = compute_layer_metrics_by_cycle(power_data, latency_data, avg_power)\n", + "metrics_df_k2 = pd.DataFrame.from_dict(metrics)" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "9b178496-105f-4b88-b3c5-13d5cfe74d64", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
cyclelayer_power_including_idle_power_micro_wattlayer_power_excluding_idle_power_micro_wattlayer_run_time
count3000.0000007.770000e+02777.0000003000.000000
mean1500.5000004.460147e+06883902.1329220.350930
std866.1697291.739263e+05173926.3249330.005246
min1.0000003.691776e+06115530.9823430.324928
25%750.7500004.454208e+06877962.9823430.350368
50%1500.5000004.534464e+06958218.9823430.351168
75%2250.2500004.534464e+06958218.9823430.351968
max3000.0000004.574592e+06998346.9823430.426112
\n", + "
" + ], + "text/plain": [ + " cycle layer_power_including_idle_power_micro_watt \\\n", + "count 3000.000000 7.770000e+02 \n", + "mean 1500.500000 4.460147e+06 \n", + "std 866.169729 1.739263e+05 \n", + "min 1.000000 3.691776e+06 \n", + "25% 750.750000 4.454208e+06 \n", + "50% 1500.500000 4.534464e+06 \n", + "75% 2250.250000 4.534464e+06 \n", + "max 3000.000000 4.574592e+06 \n", + "\n", + " layer_power_excluding_idle_power_micro_watt layer_run_time \n", + "count 777.000000 3000.000000 \n", + "mean 883902.132922 0.350930 \n", + "std 173926.324933 0.005246 \n", + "min 115530.982343 0.324928 \n", + "25% 877962.982343 0.350368 \n", + "50% 958218.982343 0.351168 \n", + "75% 958218.982343 0.351968 \n", + "max 998346.982343 0.426112 " + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "metrics_df_k2.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "56d3e44f-6121-4864-8b1a-4a518ff4e1c4", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "cycle 3000\n", + "layer_power_including_idle_power_micro_watt 777\n", + "layer_power_excluding_idle_power_micro_watt 777\n", + "layer_run_time 3000\n", + "dtype: int64" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "metrics_df_k2.count()" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "e30edc4b-a127-4e82-8452-2643f8c51045", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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Y/+r9dd8HZeKi4uz/9tisSgkJMQ+UrFjxw7ddtttdTbXpPJ9uv322+3bYmJianQ45eI6K4fQK+vcs2ePunbt6tD/0vs1lZ+fr9zcXIf/Sw8PD3Xp0uWyj8nMzFRFRYXatm3r8P+1ceNGh/+vK/Hw8FB8fLz9fuX7Uvnzs2vXLvXo0cPhMT169LC3N2nSRLfeeqs2bNigzMxMeXp66plnntH333+voqIibdy40f55OnfunLKysvTkk0861Dtt2rQq9V7pdVfHarUqKirKfr9FixaKiIhwmJPTokWLy46G7dixQ61atVLbtm0vuw9PT0+Hn4eafP6upDafTUn6xz/+ob59+yosLEx+fn5KSkrS6dOn7YdxUL8wgRUOzp07p/79+6t///5avny5mjVrpuzsbPXv31+lpaX2fk899ZSSkpL0xhtvaPHixXr44Yftw6dFRUUKDQ2t9lj9xV94Zszcj42NVVBQkDZu3KiNGzdq+vTpCgkJ0axZs5Senq6ysjJ1795dknNfx6UTEi0Wi/0wTOPGjWv1XG5ublXmVlxtmLymLq6zMhRez+GiulRUVCR3d3dlZGQ4HE6Q5NSJsZVfoF5eXurdu7eCgoLUvn17bd68WRs3btT48ePt9UoX5tlc/AUuqUr9tf0Zq+7n6Uo/Y5eqyc9c48aN63TORW0+m4cOHdL999+vZ599VtOnT1dQUJA2b96sJ598UqWlpfbfRag/CCNwsHv3bp0+fVozZ85UeHi4JOm7776r0u++++6Tj4+P5s+fr88++0xff/21va1z5846fvy4PDw8FBERUaf1XTpp89///rduvvlmubu7q3379iovL9e3335r/6V1+vRp7dmzRx06dJB04Rdwz5499X//93/68ccfddddd8lqtaqkpEQLFixQly5d7L/4f83XURtxcXFatGiR8vLyajQ60qxZM4dj4RUVFfrhhx909913S7rw1355ebkyMjLsowB79uypcgpkbbVr107p6ekO2y69X1MBAQEKDQ3Vt99+q169ekmSvebOnTtX+5jbbrtNFRUVOnnypHr27HlN+y0vL9d3331nH9GpfF/at28vSWrfvr22bNmixx57zP6YLVu22H++pAt/4b/33nvy8PDQgAEDJF0IKB988IH27t1r/+u+RYsWatmypQ4cOKBhw4ZdU72/lri4OB09elR79+694ujIxWry+buS2nw2MzIyZLPZNGfOHPsZPH/9618dns/T09Nhgu7VtsNcHKaBg9atW8vT01N/+tOfdODAAX388cd69dVXq/Rzd3fX448/rkmTJunmm29Wt27d7G39+vVTt27dlJCQoC+++EKHDh3SN998oz/84Q/VBpvayM7O1rhx47Rnzx598MEH+tOf/qTk5GRJ0s0336wHHnhATz/9tDZv3qydO3cqMTFRYWFheuCBB+zPUfnF0KlTJ/n6+srNzU29evXS8uXL7UPov/brqI1HH31UISEhSkhI0JYtW3TgwAH97W9/q3ImS6Xf/OY3+uSTT/TJJ59o9+7devbZZx2CRrt27TRgwACNHDlS3377rTIyMvTUU0/VegTmUs8//7zWr1+vtLQ07du3TwsWLNCnn356zX89Jycna+bMmVq7dq12796tUaNGXTEwtW3bVsOGDdPw4cO1evVqHTx4UNu2bVNqaqo++eSTGu2zUaNGev755+3vy+OPP64777zTHk5eeOEFLVmyRPPnz9e+ffuUlpam1atXKyUlxf4cvXr1UmFhodatW2cPHn369NHy5csVGhrq8OU+depUpaamat68edq7d68yMzO1ePFipaWl1f4Nq0O9e/dWr1699D//8z/68ssvdfDgQX366acOZwVdqqafvyup6WczOjpaZWVl9t9Ty5Yt05///GeH54qIiFBRUZG++uornTp1yn74JiIiQl9//bVycnJ06tSpa3h38GsgjMBBs2bNtGTJEn300Ufq0KGDZs6cWeU03kqVQ6IjRoxw2G6xWLR+/Xr16tVLI0aMUNu2bfXII4/o8OHDatGixXXVN3z4cP3yyy/q2rWrRo8ereTkZD3zzDP29sWLF+v222/X/fffr27duskwDK1fv95hiLp3796qqKhwOP7cp0+fKtt+zddRG56envriiy/UvHlz3XfffYqNja1yZsPFnnjiCT322GMaPny4evfurZtuusk+KlJp8eLFatmypXr37q0HH3xQzzzzjJo3b35ddfbo0UN//vOflZaWpltvvVWfffaZxo4dW6PTnaszfvx4JSUl6bHHHlO3bt3k5+enwYMHX/Exixcv1vDhwzV+/Hi1a9dOCQkJSk9PV+vWrWu0T6vVqokTJ2ro0KHq0aOHfH199eGHH9rbExIS9Oabb2r27Nm65ZZbtGDBAi1evNjh5yYwMFCxsbFq1qyZYmJiJF0IKDabzeELVbpwuHPRokVavHixYmNj1bt3by1ZskSRkZE1fJd+PX/7298UHx+vRx99VB06dNCECROuOqJQk8/fldT0s3nrrbcqLS1Ns2bNUseOHbV8+XKlpqY6PFf37t31u9/9Tg8//LCaNWum1157TZL0yiuv6NChQ4qKirruuV6oOxbj0oPLQA1t2rRJffv21ZEjR5zy5dynTx916tSJJavrkaefflq7d+/Wpk2bzC7lqi63YieAXx9zRlBrJSUl+vnnn/Xyyy/roYcecuooAW5ss2fP1j333CMfHx99+umnev/99x0W8QKA6nCYBrX2wQcfqE2bNjp79qx96PN6ZWdnO5zeeOmt8rTiG52rvI5rtW3bNt1zzz2KjY3Vn//8Z82bN09PPfWUJOmWW2657PtytVVF68K999572f3PmDHjV99/Xamvr6O+1g3n4DANbgjl5eU6dOjQZdsjIiLk4XHjD+S5yuv4NRw+fPiypxi3aNFCfn5+v+r+c3Jy9Msvv1TbFhQUVG+uGVRfX0d9rRvOQRgBAACm4jANAAAwFWEEAACYijACAABMRRgBAACmIowAAABTEUYAAICpCCMAAMBU/x/ViTj95u9YgwAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "metrics_df_k2.boxplot(column='layer_power_including_idle_power_micro_watt', grid=False)" + ] + }, + { + "cell_type": "markdown", + "id": "1c568ab1-e5d5-49a6-913e-57eae02cd464", + "metadata": { + "jp-MarkdownHeadingCollapsed": true + }, + "source": [ + "### Kernel 3 Stride 1 Output 3" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "bc91735e-e9aa-4576-b444-81ab76cff484", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 16724/16724 [00:00<00:00, 98889.58it/s]\n", + "Preprocessing latency data: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 3/3 [00:00<00:00, 32.01it/s]\n" + ] + } + ], + "source": [ + "model_name = 'conv_k3_s1_o3'\n", + "\n", + "with open((DATA_PATH/model_name/f'{model_name}_power_log.log'), 'r') as fp:\n", + " data = fp.readlines()\n", + "power_data = parse_power_log(data)\n", + "\n", + "with open((DATA_PATH/model_name/'trt_profiling/trt_layer_latency.json'), 'r') as fp:\n", + " data = json.load(fp)\n", + "latency_data = parse_latencies_trt(data)" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "12481a42-0095-4903-bb43-f5bc9ac3a53d", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Number of power entries for conv_k3_s1_o3: 16724\n", + "Number of TensorRT layers in conv_k3_s1_o3: 3\n", + "Number of latency entries for each layer: 3000\n", + "Inference for 3000 cycles: 4.139796 seconds\n" + ] + } + ], + "source": [ + "print(f\"Number of power entries for {model_name}: {len(power_data)}\")\n", + "print(f\"Number of TensorRT layers in {model_name}: {len(latency_data[0])}\")\n", + "print(f\"Number of latency entries for each layer: {len(latency_data)}\")\n", + "print(f\"Inference for {len(latency_data)} cycles: {(latency_data[len(latency_data)-1][0][2]-latency_data[0][0][1]).total_seconds()} seconds\")" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "98f3a4e8-c3a3-4b47-8fd7-b776fdec2e1f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot([power for (_, power) in power_data])\n", + "plt.axhline(avg_power, color='purple', linestyle='--', label='Average IDLE power')\n", + "first_inference_start_index = get_power_index(power_data, latency_data[0][0][1])\n", + "last_inference_end_index = get_power_index(power_data, latency_data[len(latency_data)-1][0][2])\n", + "plt.axvline(first_inference_start_index, color='green', label='First inference start')\n", + "plt.axvline(last_inference_end_index, color='red', label='Last inference end')\n", + "plt.legend()" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "4968dca2-cfe9-4a62-995e-a86cd8c8fa56", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Computing layer metrics...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Mapping power to layer: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████| 9000/9000 [00:00<00:00, 865717.27it/s]\n" + ] + } + ], + "source": [ + "metrics = compute_layer_metrics_by_cycle(power_data, latency_data, avg_power)\n", + "metrics_df_k3 = pd.DataFrame.from_dict(metrics)" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "439b7e9c-1f07-446c-864b-9795ee650c35", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
cyclelayer_power_including_idle_power_micro_wattlayer_power_excluding_idle_power_micro_wattlayer_run_time
count9000.0000009.550000e+029.550000e+029000.000000
mean1500.5000004.687245e+061.111000e+060.154072
std866.0734722.059150e+052.059150e+050.059956
min1.0000003.772032e+061.957870e+050.081920
25%750.7500004.735104e+061.158859e+060.083200
50%1500.5000004.775232e+061.198987e+060.152000
75%2250.2500004.775232e+061.198987e+060.227680
max3000.0000004.815360e+061.239115e+060.354176
\n", + "
" + ], + "text/plain": [ + " cycle layer_power_including_idle_power_micro_watt \\\n", + "count 9000.000000 9.550000e+02 \n", + "mean 1500.500000 4.687245e+06 \n", + "std 866.073472 2.059150e+05 \n", + "min 1.000000 3.772032e+06 \n", + "25% 750.750000 4.735104e+06 \n", + "50% 1500.500000 4.775232e+06 \n", + "75% 2250.250000 4.775232e+06 \n", + "max 3000.000000 4.815360e+06 \n", + "\n", + " layer_power_excluding_idle_power_micro_watt layer_run_time \n", + "count 9.550000e+02 9000.000000 \n", + "mean 1.111000e+06 0.154072 \n", + "std 2.059150e+05 0.059956 \n", + "min 1.957870e+05 0.081920 \n", + "25% 1.158859e+06 0.083200 \n", + "50% 1.198987e+06 0.152000 \n", + "75% 1.198987e+06 0.227680 \n", + "max 1.239115e+06 0.354176 " + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "metrics_df_k3.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "2a0a92ee-ddcd-4ebe-a838-ddf6142a6b3f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "cycle 9000\n", + "layer_power_including_idle_power_micro_watt 955\n", + "layer_power_excluding_idle_power_micro_watt 955\n", + "layer_run_time 9000\n", + "dtype: int64" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "metrics_df_k3.count()" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "7c354213-2702-4238-9327-15da7621284c", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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lqlLly7y8fG5aF2DBw/WpEmTNGnSJAUGBqpNmzZ65plnHLam/umnnzR27Fi1bt1aNptNt99+uzIyMuy1t23bVu+++669f69evRQWFmZ/vGXLFnl7e6u4uPhnfR/V/1XWuXNnvfDCC3rggQcUEBCgjh076i9/+YvDc77//nvdc889CgoKkp+fn/r06aOvvvqqXq8vSfHx8br//vvtj0+cOKGRI0fK19dXXbp00apVq2q9TvXLNIcPH5bFYtG6det08803y2az6eqrr9a2bdscnrN06VKFh4fLZrNp1KhRSklJUatWrS76PZFqX6apqKjQlClT1KpVKwUHB+vJJ5+86DbkpaWlmjp1qjp06CA/Pz/169dPmzZtqtf5V65cqVatWik1NVVRUVHy8fHRsGHDlJ2d7dBv8eLFioiIkNVqVbdu3fTmm2/a26ZOnapf/OIX9seLFi2SxWLRxx9/bD8WGRmpZcuW2R8vW7ZM3bt3l4+Pj6Kjo/XKK6/Y26q+7++8844GDRokHx+fOv9f1fU+PvjgA3Xr1k02m0133nmniouL9frrr6tz585q3bq1fvOb36iiosL+vJqXafLy8vTwww8rJCREPj4+6tmzpz744AOHc7z//vvq0aOHvL29lZWVdcHfvwu5lN/NlJQUxcTEyM/PT+Hh4XrsscdUWFgoSdq0aZPGjRun/Px8WSwWWSwWPfvssxo8eLCOHDmi3/72t/bjaBoII6ilvLxczz//vL755hulpqbq8OHD9g8yi8WiBx54QCtWrHB4zooVK3TTTTcpMjJSknTXXXfpxIkT+uijj5Senq7evXtryJAhys3NtT8nMzNTf/vb37Ru3Trt3LmzXrW9/vrratGihbZv364//vGPSklJcfjDfv/99+vrr7/W+++/r23btskwDN1xxx0qLy+XxWLRTTfdZP9w+umnn7Rnzx6VlJRo7969kqTNmzerb9++stlsP+v7qGnhwoXq06eP/vOf/+ixxx7To48+qn379kmSCgsLNWjQIB09elTvv/++vvnmGz355JOqrKy8pHNVfZ+ys7P1r3/9S++++65eeeUVe+C8kKefflpTp07Vzp071bVrV91zzz06e/asJGnr1q165JFHlJiYqJ07d+rWW2/V3LlzL7nGhQsXauXKlXrttde0ZcsW5ebm6r333rvgcyZNmqRt27ZpzZo1+u9//6u77rpLw4cPr9cHoiQVFxdr7ty5euONN7R161bl5eXp17/+tb39vffeU2Jiop544gl9++23evjhhzVu3Dj961//kiQNGjRIW7ZssX/Ib968WW3atLH/zB09elQHDhzQ4MGDJUmrVq3S7373O82dO1d79uzRCy+8oGeeeUavv/66Q13Tp09XYmKi9uzZo2HDhtXrfbz00ktas2aNPv74Y23atEmjRo3Shg0btGHDBr355ptasmSJw4d/dZWVlbr99tu1detWvfXWW/ruu+80b948eXp6OpzjxRdf1LJly7R79261a9fugr9/F3Ipv5seHh566aWXtHv3br3++uv65z//qSeffFKSNGDAAC1atEgtW7ZUTk6OcnJyNHXqVK1bt05XXHGFnnvuOftxNBEGYBjGoEGDjMTExDrb0tLSDElGQUGBYRiGcfToUcPT09P46quvDMMwjLKyMqNNmzbGypUrDcMwjC+++MJo2bKlcebMGYfXiYiIMJYsWWIYhmHMmjXL8PLyMk6cONGgGrt3725UVlbajyUlJRndu3c3DMMw9u/fb0gytm7dam8/efKk4evra/z1r381DMMwXnrpJeOqq64yDMMwUlNTjX79+hlxcXHG4sWLDcMwjKFDhxpPPfXUz/4+qn+vO3XqZIwZM8b+uLKy0mjXrp29piVLlhgBAQHGqVOn6ny9WbNmGVdfffV5X98wDCMuLs647777DMMwjH379hmSjO3bt9vb9+zZY0gy/vCHP9iPSTLee+89wzAM49ChQ4YkY9myZfb23bt3G5KMPXv2GIZhGHfffbcxYsQIh/OOHj3aCAwMvNC347zvIywszPj9739vf1xeXm5cccUVRlxcXJ3v9ciRI4anp6dx9OhRh9cdMmSIMWPGjIuef8WKFYYk49///rf9WNX3pepnfcCAAcaDDz7o8Ly77rrLuOOOOwzDMIyffvrJ8PDwMNLS0ozKykojKCjISE5ONvr162cYhmG89dZbRocOHezPjYiIMFavXu3wes8//7zRv39/wzD+7/u+aNGii9Zf831kZmbajz388MOGzWaz/w4bhmEMGzbMePjhh+2PO3XqZP///8knnxgeHh7Gvn37LniOnTt32o/V5/fvQhryu1mXtWvXGsHBwQ411vWzV/19oulgZAS1pKena+TIkerYsaMCAgI0aNAgSVJWVpYkqX379hoxYoRee+01SdLf//53lZaW6q677pIkffPNNyosLFRwcLB9HoC/v78OHTqkAwcO2M/TqVOnBl+nvv766x2GVvv376+MjAxVVFRoz549atGihfr162dvDw4OVrdu3bRnzx5J5/7l+t133+nHH3/U5s2bNXjwYA0ePFibNm1SeXm5vvzyS/u/Wn/O91FTbGys/b8tFotCQ0PtIxU7d+7UNddc02hzTaq+T9dee639WHR0dL0up1Svs2oIvarOffv26brrrnPoX/NxfeXn5ysnJ8fh/2WLFi3Up0+f8z5n165dqqioUNeuXR3+f23evNnh/9eFtGjRQn379rU/rvq+VP387NmzRwMHDnR4zsCBA+3trVq10tVXX61NmzZp165dslqteuihh/Sf//xHhYWF2rx5s/33qaioSAcOHND48eMd6p0zZ06tei/0vutis9kUERFhfxwSEqLOnTs7zMkJCQk572jYzp07dcUVV6hr167nPYfVanX4eajP79+FNOR3U5L+8Y9/aMiQIerQoYMCAgKUkJCgU6dO2S/joHlhAiscFBUVadiwYRo2bJhWrVqltm3bKisrS8OGDVNZWZm934QJE5SQkKA//OEPWrFihe6++2778GlhYaHCwsLqvFZf/QPPjJn7MTExCgoK0ubNm7V582bNnTtXoaGhevHFF5WWlqby8nINGDBAknPfR80JiRaLxX4ZxtfXt0Gv5eHhUWtuxcWGyeurep1VofByLhc1psLCQnl6eio9Pd3hcoIkp06MrfoA9fb21qBBgxQUFKTu3btry5Yt2rx5s5544gl7vdK5eTbVP8Al1aq/oT9jdf08XehnrKb6/Mz5+vo26pyLhvxuHj58WL/4xS/06KOPau7cuQoKCtKWLVs0fvx4lZWV2f8WofkgjMDB3r17derUKc2bN0/h4eGSpK+//rpWvzvuuEN+fn5avHixPv74Y33++ef2tt69e+vYsWNq0aKFOnfu3Kj11Zy0+e9//1tRUVHy9PRU9+7ddfbsWX311Vf2P1qnTp3Svn371KNHD0nn/gDfeOONWr9+vXbv3q0bbrhBNptNpaWlWrJkifr06WP/w/9zvo+GiI2N1bJly5Sbm1uv0ZG2bds6XAuvqKjQt99+q5tvvlnSuX/tnz17Vunp6fZRgH379tW6BbKhunXrprS0NIdjNR/XV2BgoMLCwvTVV1/ppptukiR7zb17967zOddcc40qKip04sQJ3XjjjZd03rNnz+rrr7+2j+hUfV+6d+8uSerevbu2bt2q++67z/6crVu32n++pHP/wn/ttdfUokULDR8+XNK5gPL2229r//799n/dh4SEqH379jp48KBGjx59SfX+XGJjY/X9999r//79Fxwdqa4+v38X0pDfzfT0dFVWVmrhwoX2O3j++te/Orye1Wp1mKB7seMwF5dp4KBjx46yWq3605/+pIMHD+r999/X888/X6ufp6en7r//fs2YMUNRUVHq37+/vW3o0KHq37+/4uPj9emnn+rw4cP68ssv9fTTT9cZbBoiKytLU6ZM0b59+/T222/rT3/6kxITEyVJUVFRiouL04MPPqgtW7bom2++0ZgxY9ShQwfFxcXZX6Pqg6FXr17y9/eXh4eHbrrpJq1atco+hP5zv4+GuOeeexQaGqr4+Hht3bpVBw8e1N/+9rdad7JUueWWW/Thhx/qww8/1N69e/Xoo486BI1u3bpp+PDhevjhh/XVV18pPT1dEyZMaPAITE2PP/64NmzYoJSUFGVkZGjJkiX66KOPLvlfz4mJiZo3b55SU1O1d+9ePfbYYxcMTF27dtXo0aM1duxYrVu3TocOHdL27duVnJysDz/8sF7n9PLy0uOPP27/vtx///26/vrr7eFk2rRpWrlypRYvXqyMjAylpKRo3bp1mjp1qv01brrpJhUUFOiDDz6wB4/Bgwdr1apVCgsLc/hwnz17tpKTk/XSSy9p//792rVrl1asWKGUlJSGf8Ma0aBBg3TTTTfpf/7nf/TZZ5/p0KFD+uijjxzuCqqpvr9/F1Lf383IyEiVl5fb/069+eabevXVVx1eq3PnziosLNTGjRt18uRJ++Wbzp076/PPP9fRo0d18uTJS/ju4OdAGIGDtm3bauXKlVq7dq169OihefPm1bqNt0rVkOi4ceMcjlssFm3YsEE33XSTxo0bp65du+rXv/61jhw5opCQkMuqb+zYsSopKdF1112niRMnKjExUQ899JC9fcWKFbr22mv1i1/8Qv3795dhGNqwYYPDEPWgQYNUUVHhcP158ODBtY79nO+jIaxWqz799FO1a9dOd9xxh2JiYmrd2VDdAw88oPvuu09jx47VoEGDdOWVV9pHRaqsWLFC7du316BBg/SrX/1KDz30kNq1a3dZdQ4cOFCvvvqqUlJSdPXVV+vjjz/Wb3/723rd7lyXJ554QgkJCbrvvvvUv39/BQQEaNSoURd8zooVKzR27Fg98cQT6tatm+Lj45WWlqaOHTvW65w2m01JSUm69957NXDgQPn7++udd96xt8fHx+uPf/yjFixYoKuuukpLlizRihUrHH5uWrdurZiYGLVt21bR0dGSzgWUyspKhw9U6dzlzmXLlmnFihWKiYnRoEGDtHLlSnXp0qWe36Wfz9/+9jf17dtX99xzj3r06KEnn3zyoiMK9fn9u5D6/m5effXVSklJ0YsvvqiePXtq1apVSk5OdnitAQMG6JFHHtHdd9+ttm3b6ve//70k6bnnntPhw4cVERFx2XO90HgsRs2Ly0A9ffHFFxoyZIiys7Od8uE8ePBg9erViyWrm5EHH3xQe/fu1RdffGF2KRd1vhU7Afz8mDOCBistLdWPP/6oZ599VnfddZdTRwnQtC1YsEC33nqr/Pz89NFHH+n11193WMQLAOrCZRo02Ntvv61OnTopLy/PPvR5ubKyshxub6z5VXVbcVPnKu/jUm3fvl233nqrYmJi9Oqrr+qll17ShAkTJElXXXXVeb8vF1tVtDHcfvvt5z3/Cy+88LOfv7E01/fRXOuGc3CZBk3C2bNndfjw4fO2d+7cWS1aNP2BPFd5Hz+HI0eOnPcW45CQEAUEBPys5z969KhKSkrqbAsKCmo2ewY11/fRXOuGcxBGAACAqbhMAwAATEUYAQAApiKMAAAAUxFGAACAqQgjAADAVIQRAABgKsIIAAAw1f8DQAbQ9ciVSGoAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "metrics_df_k3.boxplot(column='layer_power_including_idle_power_micro_watt', grid=False)" + ] + }, + { + "cell_type": "markdown", + "id": "5a14f58b-7d36-4022-8c62-eb2c688ab00a", + "metadata": { + "jp-MarkdownHeadingCollapsed": true + }, + "source": [ + "### Kernel 4 Stride 1 Output 3" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "5fc0b0b7-0406-46c9-9a15-9174a2ffd0c0", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 16621/16621 [00:00<00:00, 108677.43it/s]\n", + "Preprocessing latency data: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 3/3 [00:00<00:00, 27.87it/s]\n" + ] + } + ], + "source": [ + "model_name = 'conv_k4_s1_o3'\n", + "\n", + "with open((DATA_PATH/model_name/f'{model_name}_power_log.log'), 'r') as fp:\n", + " data = fp.readlines()\n", + "power_data = parse_power_log(data)\n", + "\n", + "with open((DATA_PATH/model_name/'trt_profiling/trt_layer_latency.json'), 'r') as fp:\n", + " data = json.load(fp)\n", + "latency_data = parse_latencies_trt(data)" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "id": "a2a103d9-5cf8-4f6d-bae0-db4d081c7beb", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Number of power entries for conv_k4_s1_o3: 16621\n", + "Number of TensorRT layers in conv_k4_s1_o3: 3\n", + "Number of latency entries for each layer: 3000\n", + "Inference for 3000 cycles: 4.498755 seconds\n" + ] + } + ], + "source": [ + "print(f\"Number of power entries for {model_name}: {len(power_data)}\")\n", + "print(f\"Number of TensorRT layers in {model_name}: {len(latency_data[0])}\")\n", + "print(f\"Number of latency entries for each layer: {len(latency_data)}\")\n", + "print(f\"Inference for {len(latency_data)} cycles: {(latency_data[len(latency_data)-1][0][2]-latency_data[0][0][1]).total_seconds()} seconds\")" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "id": "7175b0c4-a455-4404-9025-412629b8ee50", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot([power for (_, power) in power_data])\n", + "plt.axhline(avg_power, color='purple', linestyle='--', label='Average IDLE power')\n", + "first_inference_start_index = get_power_index(power_data, latency_data[0][0][1])\n", + "last_inference_end_index = get_power_index(power_data, latency_data[len(latency_data)-1][0][2])\n", + "plt.axvline(first_inference_start_index, color='green', label='First inference start')\n", + "plt.axvline(last_inference_end_index, color='red', label='Last inference end')\n", + "plt.legend()" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "id": "fb0d5747-4547-41a9-bb33-5d9949ff24f5", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Computing layer metrics...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Mapping power to layer: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████| 9000/9000 [00:00<00:00, 943907.18it/s]\n" + ] + } + ], + "source": [ + "metrics = compute_layer_metrics_by_cycle(power_data, latency_data, avg_power)\n", + "metrics_df_k4 = pd.DataFrame.from_dict(metrics)" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "id": "1caaf39c-ccb5-4dc0-a9c2-bead7906c506", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
cyclelayer_power_including_idle_power_micro_wattlayer_power_excluding_idle_power_micro_wattlayer_run_time
count9000.0000008.090000e+028.090000e+029000.000000
mean1500.5000004.669084e+061.092839e+060.155649
std866.0734721.890895e+051.890895e+050.068940
min1.0000003.772032e+061.957870e+050.079808
25%750.7500004.654848e+061.078603e+060.081312
50%1500.5000004.694976e+061.118731e+060.152544
75%2250.2500004.775232e+061.198987e+060.231296
max3000.0000004.815360e+061.239115e+062.817216
\n", + "
" + ], + "text/plain": [ + " cycle layer_power_including_idle_power_micro_watt \\\n", + "count 9000.000000 8.090000e+02 \n", + "mean 1500.500000 4.669084e+06 \n", + "std 866.073472 1.890895e+05 \n", + "min 1.000000 3.772032e+06 \n", + "25% 750.750000 4.654848e+06 \n", + "50% 1500.500000 4.694976e+06 \n", + "75% 2250.250000 4.775232e+06 \n", + "max 3000.000000 4.815360e+06 \n", + "\n", + " layer_power_excluding_idle_power_micro_watt layer_run_time \n", + "count 8.090000e+02 9000.000000 \n", + "mean 1.092839e+06 0.155649 \n", + "std 1.890895e+05 0.068940 \n", + "min 1.957870e+05 0.079808 \n", + "25% 1.078603e+06 0.081312 \n", + "50% 1.118731e+06 0.152544 \n", + "75% 1.198987e+06 0.231296 \n", + "max 1.239115e+06 2.817216 " + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "metrics_df_k4.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "id": "1a07ab82-19c8-4462-a59e-6acf172486e7", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "cycle 9000\n", + "layer_power_including_idle_power_micro_watt 809\n", + "layer_power_excluding_idle_power_micro_watt 809\n", + "layer_run_time 9000\n", + "dtype: int64" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "metrics_df_k4.count()" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "id": "e382b2e4-c62b-4cec-b207-b1d65a6f660e", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 31, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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d0VGRmrBggXWtsr3/dNPP1VcXJzc3d2r/Leq6nWkpKSodevW8vDw0KBBg1RcXKwPP/xQoaGh8vf31//93/+pvLzc+riLD9Pk5eXpySefVHBwsNzd3RUVFaWUlBSbfXz++edq27at3NzclJmZecXP35Vcy2dz3rx5io6Olqenp1q0aKFnnnlGRUVFkqSNGzdq5MiRys/Pl8VikcVi0SuvvKIePXro6NGjGjNmjHU76gbCCC5x7tw5vfrqq9qxY4fWrFmjI0eOWL/ILBaLHnnkES1dutTmMUuXLtWdd96piIgISdL999+vnJwcffHFF8rIyFCHDh3Uq1cv5ebmWh9z4MAB/f3vf1dycrK2b99erdo+/PBDubi4KC0tTW+99ZbmzZtn84v94Ycf1o8//qjPP/9cqampMgxD9957r86dOyeLxaI777zT+uX066+/avfu3Tp79qz27NkjSdq0aZM6deokDw+PP/R1XGzu3Lnq2LGj/vOf/+iZZ57R008/rb1790qSioqKFBcXp2PHjunzzz/Xjh07NGHCBFVUVFzTvirfp6ysLH3zzTdatWqVFixYYA2cVzJlyhSNGzdO27dvV6tWrTR48GCVlZVJkrZu3aqnnnpKiYmJ2r59u+666y7NnDnzmmucO3euli1bpg8++EBbtmxRbm6uVq9efcXHPPvss0pNTdXKlSv13//+V/fff7/69u1brS9ESSouLtbMmTP10UcfaevWrcrLy9ODDz5obV+9erUSExM1duxY7dq1S08++aRGjhypb775RpIUFxenLVu2WL/kN23apBtvvNH6M3fs2DEdPHhQPXr0kCQtX75cL730kmbOnKndu3dr1qxZevHFF/Xhhx/a1PXCCy8oMTFRu3fvVp8+far1Ot5++22tXLlSX375pTZu3KgBAwZo3bp1WrdunT7++GMtWrTI5sv/QhUVFbrnnnu0detW/fWvf9X//vc/zZ49W87Ozjb7eO2117RkyRL99NNPaty48RU/f1dyLZ9NJycnvf322/rpp5/04Ycf6t///rcmTJggSerWrZvmz58vHx8fZWdnKzs7W+PGjVNycrKaN2+u6dOnW7ejjjAAwzDi4uKMxMTEKtvS09MNSUZhYaFhGIZx7Ngxw9nZ2fjhhx8MwzCM0tJS48YbbzSWLVtmGIZhbN682fDx8TF+++03m+cJDw83Fi1aZBiGYbz88svGDTfcYOTk5NSoxjZt2hgVFRXWbRMnTjTatGljGIZh7Nu3z5BkbN261dr+yy+/GI0aNTL+9re/GYZhGG+//bbRrl07wzAMY82aNUaXLl2M/v37GwsXLjQMwzB69+5tTJ48+Q9/HRe+1zfddJMxbNgw6/2KigqjcePG1poWLVpkeHt7G6dPn67y+V5++WXjlltuuezzG4Zh9O/f33jooYcMwzCMvXv3GpKMtLQ0a/vu3bsNScabb75p3SbJWL16tWEYhnH48GFDkrFkyRJr+08//WRIMnbv3m0YhmE88MADRnx8vM1+hw4davj6+l7p7bjs6wgJCTFef/116/1z584ZzZs3N/r371/laz169Kjh7OxsHDt2zOZ5e/XqZUyaNOmq+1+6dKkhyfj++++t2yrfl8qf9W7duhmPP/64zePuv/9+49577zUMwzB+/fVXw8nJyUhPTzcqKiqMgIAAIykpyejSpYthGIbx17/+1WjWrJn1seHh4caKFStsnu/VV181unbtahjG7+/7/Pnzr1r/xa/jwIED1m1PPvmk4eHhYf0MG4Zh9OnTx3jyySet92+66Sbrv//69esNJycnY+/evVfcx/bt263bqvP5u5KafDar8tlnnxmBgYE2NVb1s3fh60TdwcgILpGRkaF+/fqpZcuW8vb2VlxcnCQpMzNTktS0aVPFx8frgw8+kCT985//VElJie6//35J0o4dO1RUVKTAwEDrPAAvLy8dPnxYBw8etO7npptuqvFx6ttvv91maLVr167av3+/ysvLtXv3brm4uKhLly7W9sDAQLVu3Vq7d++WdP4v1//97386deqUNm3apB49eqhHjx7auHGjzp07p++++876V+sf+TouFhMTY/1/i8WiJk2aWEcqtm/frltvvbXW5ppUvk+33XabdVtkZGS1DqdcWGflEHplnXv37lXnzp1t+l98v7ry8/OVnZ1t82/p4uKijh07XvYxO3fuVHl5uVq1amXz77Vp0yabf68rcXFxUadOnaz3K9+Xyp+f3bt3q3v37jaP6d69u7Xdz89Pt9xyizZu3KidO3fK1dVVTzzxhP7zn/+oqKhImzZtsn6ezpw5o4MHD+rRRx+1qXfGjBmX1Hul110VDw8PhYeHW+8HBwcrNDTUZk5OcHDwZUfDtm/frubNm6tVq1aX3Yerq6vNz0N1Pn9XUpPPpiT961//Uq9evdSsWTN5e3tr+PDhOn36tPUwDuoXJrDCxpkzZ9SnTx/16dNHy5cvV1BQkDIzM9WnTx+VlpZa+z322GMaPny43nzzTS1dulQPPPCAdfi0qKhIISEhVR6rv/ALz4yZ+9HR0QoICNCmTZu0adMmzZw5U02aNNFrr72m9PR0nTt3Tt26dZNk39dx8YREi8ViPQzTqFGjGj2Xk5PTJXMrrjZMXl0X1lkZCq/ncFFtKioqkrOzszIyMmwOJ0iy68TYyi9QNzc3xcXFKSAgQG3atNGWLVu0adMmjR071lqvdH6ezYVf4JIuqb+mP2NV/Txd6WfsYtX5mWvUqFGtzrmoyWfzyJEjuu+++/T0009r5syZCggI0JYtW/Too4+qtLTU+rsI9QdhBDb27Nmj06dPa/bs2WrRooUk6ccff7yk37333itPT08tXLhQX375pb799ltrW4cOHXTixAm5uLgoNDS0Vuu7eNLm999/r5tvvlnOzs5q06aNysrK9MMPP1h/aZ0+fVp79+5V27ZtJZ3/BRwbG6t//OMf+umnn3THHXfIw8NDJSUlWrRokTp27Gj9xf9Hvo6aiImJ0ZIlS5Sbm1ut0ZGgoCCbY+Hl5eXatWuXevbsKen8X/tlZWXKyMiwjgLs3bv3klMga6p169ZKT0+32Xbx/ery9fVVSEiIfvjhB915552SZK25Q4cOVT7m1ltvVXl5uXJychQbG3tN+y0rK9OPP/5oHdGpfF/atGkjSWrTpo22bt2qhx56yPqYrVu3Wn++pPN/4X/wwQdycXFR3759JZ0PKJ988on27dtn/es+ODhYTZs21aFDhzR06NBrqvePEhMTo59//ln79u274ujIharz+buSmnw2MzIyVFFRoblz51rP4Pnb3/5m83yurq42E3Svth3m4jANbLRs2VKurq76y1/+okOHDunzzz/Xq6++ekk/Z2dnPfzww5o0aZJuvvlmde3a1drWu3dvde3aVQkJCdqwYYOOHDmi7777TlOmTKky2NREZmamnn/+ee3du1effPKJ/vKXvygxMVGSdPPNN6t///56/PHHtWXLFu3YsUPDhg1Ts2bN1L9/f+tzVH4xtG/fXl5eXnJyctKdd96p5cuXW4fQ/+jXURODBw9WkyZNlJCQoK1bt+rQoUP6+9//fsmZLJX+/Oc/a+3atVq7dq327Nmjp59+2iZotG7dWn379tWTTz6pH374QRkZGXrsscdqPAJzseeee07r1q3TvHnztH//fi1atEhffPHFNf/1nJiYqNmzZ2vNmjXas2ePnnnmmSsGplatWmno0KEaMWKEkpOTdfjwYaWlpSkpKUlr166t1j5vuOEGPffcc9b35eGHH9btt99uDSfjx4/XsmXLtHDhQu3fv1/z5s1TcnKyxo0bZ32OO++8U4WFhUpJSbEGjx49emj58uUKCQmx+XKfNm2akpKS9Pbbb2vfvn3auXOnli5dqnnz5tX8DatFcXFxuvPOO/X//t//01dffaXDhw/riy++sDkr6GLV/fxdSXU/mxERETp37pz199THH3+sd9991+a5QkNDVVRUpK+//lq//PKL9fBNaGiovv32Wx07dky//PLLNbw7+CMQRmAjKChIy5Yt02effaa2bdtq9uzZl5zGW6lySHTkyJE22y0Wi9atW6c777xTI0eOVKtWrfTggw/q6NGjCg4Ovq76RowYobNnz6pz584aNWqUEhMT9cQTT1jbly5dqttuu0333XefunbtKsMwtG7dOpsh6ri4OJWXl9scf+7Ro8cl2/7I11ETrq6u2rBhgxo3bqx7771X0dHRl5zZcKFHHnlEDz30kEaMGKG4uDj96U9/so6KVFq6dKmaNm2quLg4DRw4UE888YQaN258XXV2795d7777rubNm6dbbrlFX375pcaMGVOt052rMnbsWA0fPlwPPfSQunbtKm9vbw0YMOCKj1m6dKlGjBihsWPHqnXr1kpISFB6erpatmxZrX16eHho4sSJGjJkiLp37y4vLy99+umn1vaEhAS99dZbmjNnjtq1a6dFixZp6dKlNj83/v7+io6OVlBQkCIjIyWdDygVFRU2X6jS+cOdS5Ys0dKlSxUdHa24uDgtW7ZMYWFh1XyX/jh///vf1alTJw0ePFht27bVhAkTrjqiUJ3P35VU97N5yy23aN68eXrttdcUFRWl5cuXKykpyea5unXrpqeeekoPPPCAgoKC9Prrr0uSpk+friNHjig8PPy653qh9liMiw8uA9W0efNm9erVS1lZWXb5cu7Ro4fat2/PktX1yOOPP649e/Zo8+bNZpdyVZdbsRPAH485I6ixkpISnTp1Sq+88oruv/9+u44SoG6bM2eO7rrrLnl6euqLL77Qhx9+aLOIFwBUhcM0qLFPPvlEN910k/Ly8qxDn9crMzPT5vTGi2+VpxXXdY7yOq5VWlqa7rrrLkVHR+vdd9/V22+/rccee0yS1K5du8u+L1dbVbQ23HPPPZfd/6xZs/7w/deW+vo66mvdsA8O06BOKCsr05EjRy7bHhoaKheXuj+Q5yiv449w9OjRy55iHBwcLG9v7z90/8eOHdPZs2erbAsICKg31wyqr6+jvtYN+yCMAAAAU3GYBgAAmIowAgAATEUYAQAApiKMAAAAUxFGAACAqQgjAADAVIQRAABgqv8Ps6WRwiHoUwcAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "metrics_df_k4.boxplot(column='layer_power_including_idle_power_micro_watt', grid=False)" + ] + }, + { + "cell_type": "markdown", + "id": "46ac528f-1526-4024-81ee-a21cb676919d", + "metadata": { + "jp-MarkdownHeadingCollapsed": true + }, + "source": [ + "### Kernel 5 Stride 1 Output 3" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "id": "6ef0f4ca-b361-45cf-aae9-7f9ab04a2a44", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 17380/17380 [00:00<00:00, 111066.93it/s]\n", + "Preprocessing latency data: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 3/3 [00:00<00:00, 20.97it/s]\n" + ] + } + ], + "source": [ + "model_name = 'conv_k5_s1_o3'\n", + "\n", + "with open((DATA_PATH/model_name/f'{model_name}_power_log.log'), 'r') as fp:\n", + " data = fp.readlines()\n", + "power_data = parse_power_log(data)\n", + "\n", + "with open((DATA_PATH/model_name/'trt_profiling/trt_layer_latency.json'), 'r') as fp:\n", + " data = json.load(fp)\n", + "latency_data = parse_latencies_trt(data)" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "id": "87779b48-dbb9-4ab2-beb5-607cc22c99ad", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Number of power entries for conv_k5_s1_o3: 17380\n", + "Number of TensorRT layers in conv_k5_s1_o3: 3\n", + "Number of latency entries for each layer: 3000\n", + "Inference for 3000 cycles: 4.651095 seconds\n" + ] + } + ], + "source": [ + "print(f\"Number of power entries for {model_name}: {len(power_data)}\")\n", + "print(f\"Number of TensorRT layers in {model_name}: {len(latency_data[0])}\")\n", + "print(f\"Number of latency entries for each layer: {len(latency_data)}\")\n", + "print(f\"Inference for {len(latency_data)} cycles: {(latency_data[len(latency_data)-1][0][2]-latency_data[0][0][1]).total_seconds()} seconds\")" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "id": "59324a0b-2708-403c-94c5-21196f1e1212", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 34, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot([power for (_, power) in power_data])\n", + "plt.axhline(avg_power, color='purple', linestyle='--', label='Average IDLE power')\n", + "first_inference_start_index = get_power_index(power_data, latency_data[0][0][1])\n", + "last_inference_end_index = get_power_index(power_data, latency_data[len(latency_data)-1][0][2])\n", + "plt.axvline(first_inference_start_index, color='green', label='First inference start')\n", + "plt.axvline(last_inference_end_index, color='red', label='Last inference end')\n", + "plt.legend()" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "id": "a547dce0-b6cf-465c-ae9f-32e8d2a3531c", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Computing layer metrics...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Mapping power to layer: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████| 9000/9000 [00:00<00:00, 999648.75it/s]\n" + ] + } + ], + "source": [ + "metrics = compute_layer_metrics_by_cycle(power_data, latency_data, avg_power)\n", + "metrics_df_k5 = pd.DataFrame.from_dict(metrics)" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "id": "7b72d3ab-6a79-4344-8ffa-b2143774b9bb", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
cyclelayer_power_including_idle_power_micro_wattlayer_power_excluding_idle_power_micro_wattlayer_run_time
count9000.0000001.302000e+031.302000e+039000.000000
mean1500.5000004.790858e+061.214613e+060.200675
std866.0734721.971570e+051.971570e+050.125470
min1.0000003.772032e+061.957870e+050.079296
25%750.7500004.815360e+061.239115e+060.081568
50%1500.5000004.855488e+061.279243e+060.151680
75%2250.2500004.895616e+061.319371e+060.372832
max3000.0000004.895616e+061.319371e+060.377056
\n", + "
" + ], + "text/plain": [ + " cycle layer_power_including_idle_power_micro_watt \\\n", + "count 9000.000000 1.302000e+03 \n", + "mean 1500.500000 4.790858e+06 \n", + "std 866.073472 1.971570e+05 \n", + "min 1.000000 3.772032e+06 \n", + "25% 750.750000 4.815360e+06 \n", + "50% 1500.500000 4.855488e+06 \n", + "75% 2250.250000 4.895616e+06 \n", + "max 3000.000000 4.895616e+06 \n", + "\n", + " layer_power_excluding_idle_power_micro_watt layer_run_time \n", + "count 1.302000e+03 9000.000000 \n", + "mean 1.214613e+06 0.200675 \n", + "std 1.971570e+05 0.125470 \n", + "min 1.957870e+05 0.079296 \n", + "25% 1.239115e+06 0.081568 \n", + "50% 1.279243e+06 0.151680 \n", + "75% 1.319371e+06 0.372832 \n", + "max 1.319371e+06 0.377056 " + ] + }, + "execution_count": 36, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "metrics_df_k5.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "id": "5c4b3175-1b91-4c59-ae69-3e8cbb15727a", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "cycle 9000\n", + "layer_power_including_idle_power_micro_watt 1302\n", + "layer_power_excluding_idle_power_micro_watt 1302\n", + "layer_run_time 9000\n", + "dtype: int64" + ] + }, + "execution_count": 37, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "metrics_df_k5.count()" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "id": "f4befb46-6729-41d4-a63f-3c435dbf0a61", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 38, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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4osv9O2335ptXbt2VWZmpry8vBQZGVmn46s8afOf//yn2rVrJ09PT3Xq1EmlpaX6/vvvzR9aJ06c0J49e9S5c2dJZ34A9+vXT3/961+1a9cuXXfddbLb7SouLtbixYvVrVs38wf/5XwftREXF6elS5cqOzu7RtWR5s2bO1wLLysr008//aQbbrhB0pm/9ktLS5WcnGxWAfbs2VPlFsja6tChg5KSkhyOVX5cU0FBQQoPD9f333+v66+/XpLMMXft2rXa51xzzTUqKytTVlaW+vXrd1HnLS0t1Q8//GBWdCo+L506dZIkderUSVu2bNE999xjPmfLli3m15d05i/8d999V15eXhoyZIikMwHlww8/1N69e82/7kNDQ9WiRQsdOHBAI0eOvKjxXi5xcXH697//rb179563OnK2mnz/nU9tvjeTk5NVXl6uefPmmXfw/PnPf3Z4PW9vb4cJuhc6DmtxmQYOWrduLW9vb/3xj3/UgQMH9Omnn+rll1+u0s/T01P33nuvpkyZonbt2ql3795m26BBg9S7d2/Fx8frq6++0qFDh/Tdd9/pueeeqzbY1EZaWpqefPJJ7dmzRx9++KH++Mc/KiEhQZLUrl07DR8+XA8++KA2b96snTt3atSoUWrZsqWGDx9uvkbFL4YuXbrI399fHh4euv7667VixQqzhH6530dt3HXXXQoLC1N8fLy2bNmiAwcO6C9/+UuVO1kq/O53v9Nnn32mzz77TL/88oseffRRh6DRoUMHDRkyRA8//LC+//57JScn64EHHqh1Baayxx9/XOvXr9f8+fO1b98+LV68WJ9//vlF//WckJCg2bNna+3atfrll1/02GOPnTcwtW/fXiNHjtSYMWO0Zs0aHTx4UNu2bVNiYqI+++yzGp2zUaNGevzxx83Py7333qtevXqZ4eTpp5/W8uXLtWjRIu3bt0/z58/XmjVrNHHiRPM1rr/+euXn52vdunVm8BgwYIBWrFih8PBwh1/u06dPV2Jiot544w3t3btXKSkpWrZsmebPn1/7T1gd6t+/v66//nr993//t77++msdPHhQn3/+ucNdQZXV9PvvfGr6vRkdHa2SkhLz59QHH3ygt956y+G1IiMjVVBQoG+++UbHjx83L99ERkbq22+/1ZEjR3T8+PGL+OzgciCMwEHz5s21fPlyffzxx+rcubNmz55d5TbeChUl0bFjxzoct9lsWr9+va6//nqNHTtW7du31+9//3sdPnxYoaGhlzS+MWPG6OTJk+rRo4fGjRunhIQEPfTQQ2b7smXLdO211+rWW29V7969ZRiG1q9f71Ci7t+/v8rKyhyuPw8YMKDKscv5PmrD29tbX331la644grdcsstio2NrXJnw9nuu+8+3XPPPRozZoz69++vK6+80qyKVFi2bJlatGih/v3767bbbtNDDz2kK6644pLG2bdvX7311luaP3++rr76an3xxRd64oknanS7c3WeeuopjR49Wvfcc4969+6tgIAAjRgx4rzPWbZsmcaMGaOnnnpKHTp0UHx8vJKSktS6desandNut2vy5Mm6++671bdvX/n7++ujjz4y2+Pj4/X6669r7ty5uuqqq7R48WItW7bM4eumadOmio2NVfPmzdWxY0dJZwJKeXm5wy9U6czlzqVLl2rZsmWKjY1V//79tXz5crVt27aGn6XL5y9/+Yu6d++uu+66S507d9akSZMuWFGoyfff+dT0e/Pqq6/W/Pnz9corrygmJkYrVqxQYmKiw2v16dNHjzzyiO688041b95cr776qiTppZde0qFDhxQVFXXJc71Qd2xG5YvLQA1t2rRJAwcOVHp6ulN+OQ8YMEBdunRhyeoG5MEHH9Qvv/yiTZs2WT2UCzrXip0ALj/mjKDWiouLdezYMb344ou64447nFolQP02d+5c3XjjjfLz89Pnn3+u9957z2ERLwCoDpdpUGsffvih2rRpo5ycHLP0eanS0tIcbm+s/FFxW3F95yrv42Jt27ZNN954o2JjY/XWW2/pjTfe0AMPPCBJuuqqq875ebnQqqJ14eabbz7n+WfNmnXZz19XGur7aKjjhnNwmQb1QmlpqQ4dOnTO9sjISHl51f9Cnqu8j8vh8OHD57zFODQ0VAEBAZf1/EeOHNHJkyerbQsODm4wewY11PfRUMcN5yCMAAAAS3GZBgAAWIowAgAALEUYAQAAliKMAAAASxFGAACApQgjAADAUoQRAABgqf8HEL6KvNuOTOMAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "metrics_df_k5.boxplot(column='layer_power_including_idle_power_micro_watt', grid=False)" + ] + }, + { + "cell_type": "markdown", + "id": "ec67d0d3-d112-4fe4-b428-260cdeadd177", + "metadata": {}, + "source": [ + "## Kernels Plot" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "id": "b7b1a726-98ae-4dca-bd4c-22042cd8530d", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0.5, 0, 'Kernel size')" + ] + }, + "execution_count": 39, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "df = pd.concat(\n", + " [\n", + " metrics_df_k1[\"layer_power_including_idle_power_micro_watt\"] * 1e-3,\n", + " metrics_df_k2[\"layer_power_including_idle_power_micro_watt\"] * 1e-3,\n", + " metrics_df_k3[\"layer_power_including_idle_power_micro_watt\"] * 1e-3,\n", + " metrics_df_k4[\"layer_power_including_idle_power_micro_watt\"] * 1e-3,\n", + " metrics_df_k5[\"layer_power_including_idle_power_micro_watt\"] * 1e-3,\n", + " ],\n", + " axis=1,\n", + ")\n", + "\n", + "\n", + "# set column names (will be displayed as plot labels)\n", + "df.columns = ['1', '2', '3', '4', '5'] \n", + "\n", + "# use pandas' boxplot method\n", + "df.boxplot().set_ylabel('Power (milliWatts)')\n", + "df.boxplot().set_xlabel('Kernel size')" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "id": "7032b32d-6b9c-4fc9-afb5-755717886dff", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0.5, 0, 'Kernel size')" + ] + }, + "execution_count": 40, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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wBBFREREJAJDFBEREZEIDFFEREREIjBEEREREYnAEEVEREQkAkMUERERkQgMUUREREQiMEQRERERicAQRURERCQCQxQRERGRCAxRRERERCIwRBERERGJwBBFREREJAJDFBEREZEIDFFEREREIjBEEREREYnAEEVEREQkAkMUERERkQgMUUREREQiMEQRERERicAQRURERCSCJELU6tWr4evrC4VCgaCgIBw5cuS+83ft2gV/f38oFAp0794d+/btM1guCALi4uLg5eUFJycnhIaG4uLFi/rlV65cQWRkJPz8/ODk5IQOHTpg8eLFqKioMJgjk8lq/fzwww/mffFERERklSweonbu3Ino6GgsXrwYx48fR8+ePREWFoabN2/WOf/w4cMYM2YMIiMjceLECURERCAiIgJnzpzRz0lKSsKqVauQnp6OvLw8uLi4ICwsDGVlZQCA8+fPQ6fT4cMPP8TZs2eRkpKC9PR0LFiwoNb+Dhw4gBs3buh/AgMDG+aNICIiIqsit3QB7733HiZNmoSJEycCANLT0/Hll19i48aNmD9/fq3577//PsLDwzF37lwAwLJly5CVlYW0tDSkp6dDEASkpqZi4cKFeO655wAAW7duhVKpREZGBkaPHo3w8HCEh4frt9m+fXtcuHABa9euxYoVKwz217JlS3h6ehr1WsrLy1FeXq7/W61WAwAqKytRWVlpwrsiHVVVVfrf1voabAV7IS3sh3SwF9JhK70wtnaLhqiKigocO3YMsbGx+jE7OzuEhoYiNze3znVyc3MRHR1tMBYWFoaMjAwAwOXLl6FSqRAaGqpf7ubmhqCgIOTm5mL06NF1bre0tBQtWrSoNT58+HCUlZXh0UcfRUxMDIYPH17v60lMTER8fHyt8f3798PZ2bne9axBTk6OpUug/2IvpIX9kA72QjqsvRdardaoeRYNUUVFRaiuroZSqTQYVyqVOH/+fJ3rqFSqOuerVCr98pqx+ub8WX5+Pj744AODo1BNmzbFypUr8cQTT8DOzg67d+9GREQEMjIy6g1SsbGxBgFPrVbDx8cHQ4cOhaura53rSN3du3eRk5ODwYMHw8nJydLlNGrshbSwH9LBXkiHrfSi5kzSg1j8dJ6lXbt2DeHh4RgxYgQmTZqkH/fw8DAIRH369MH169eRnJxcb4hydHSEo6NjrXF7e3vY29ubv/iHoOaQplwut9rXYCvYC2lhP6SDvZAOW+mFsbVb9MJyDw8PNGnSBIWFhQbjhYWF9V6H5Onped/5Nb+N2eb169cxePBghISEYN26dQ+sNygoCPn5+Q+cR0RERLbPoiHKwcEBgYGByM7O1o/pdDpkZ2cjODi4znWCg4MN5gNAVlaWfr6fnx88PT0N5qjVauTl5Rls89q1axg0aBACAwOxadMm2Nk9+K04efIkvLy8THqNREREZJssfjovOjoa48ePR+/evdG3b1+kpqZCo9Ho79YbN24cWrdujcTERADArFmzMHDgQKxcuRLDhg3Djh07cPToUf2RJJlMhtmzZyMhIQGdOnWCn58fFi1aBG9vb0RERAD4X4Bq164dVqxYgVu3bunrqTlatWXLFjg4OKBXr14AgM8//xwbN27Ehg0bHtZbQ0RERBJm8RA1atQo3Lp1C3FxcVCpVAgICEBmZqb+wvCCggKDo0QhISHYvn07Fi5ciAULFqBTp07IyMhAt27d9HNiYmKg0WgwefJklJSUoF+/fsjMzIRCoQBw78hVfn4+8vPz0aZNG4N6BEHQ//OyZctw9epVyOVy+Pv7Y+fOnXjppZca8u0gIiIiKyET/pgayKzUajXc3NxQWlpqtXfnabVaZGVlYciQIVb/mAZrx15IC/shHeyFdNhKL4z9/Lb4E8uJiIiIrBFDFBEREZEIDFFEREREIjBEEREREYnAEEVEREQkAkMUERERkQgMUUREREQiMEQRERERicAQRURERCQCQxQRERGRCAxRRERERCIwRBERERGJwBBFREREJAJDFBEREZEIDFFEREREIjBEEREREYnAEEVEREQkAkMUERERkQgMUUREREQiMEQRERERicAQRURERCQCQxQRERGRCAxRRERERCIwRBERERGJwBBFREREJAJDFBEREZEIDFFEREREIjBEEREREYnAEEVEREQkAkMUERERkQgMUUREREQiMEQRERERicAQRURERCQCQxQRERGRCAxRRERERCIwRBERERGJwBBFREREJAJDFBEREZEIDFFEREREIjBEEREREYnAEEVEREQkAkMUERERkQgMUUREREQiMEQRERERicAQRURERCQCQxQRERGRCAxRRERERCKYHKIuX76MrVu3YtmyZYiNjcV7772HnJwclJWViS5i9erV8PX1hUKhQFBQEI4c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vUAiIiIiKTI5RE2YMAFdunTBqlWr8PnnnwMAunTpgu+++04fqoiIiIhsnajnRAUFBWHbtm3mroWIiIjIaogKUTqdDvn5+bh586b+y4hrDBgwwCyFEREREUmZySHqhx9+wMsvv4yrV6/iz1+7J5PJUF1dbbbiiIiIiKTK5BD197//Hb1798aXX34JLy8vo59kTkRERGRLTA5RFy9exGeffYaOHTs2RD1EREREVsHk50QFBQUhPz+/IWohIiIishomH4maMWMG3nzzTahUKnTv3h329vYGy3v06GG24oiIiIikyuQQ9eKLLwIAXnvtNf2YTCaDIAi8sJyIiIgaDZND1OXLlxuiDiIiIiKrYnKIateuXUPUQURERGRVRD1s89KlS0hNTcW5c+cAAF27dsWsWbPQoUMHsxZHREREJFUm35331VdfoWvXrjhy5Ah69OiBHj16IC8vD3/729+QlZXVEDUSERERSY7JR6Lmz5+PqKgovPvuu7XG582bhyFDhpitOCIiIiKpMvlI1Llz5xAZGVlr/LXXXsNPP/1klqKIiIiIpM7kEPXII4/g5MmTtcZPnjyJVq1amaMmIiIiIskz+XTepEmTMHnyZPz8888ICQkBAHz//fdYvnw5oqOjzV4gERERkRSZHKIWLVqEZs2aYeXKlYiNjQUAeHt7Y8mSJZg5c6bZCyQiIiKSIpNDlEwmQ1RUFKKiovD7778DAJo1a2b2woiIiIikTNQTy6uqqtCpUyeD8HTx4kXY29vD19fXnPURERERSZLJF5ZPmDABhw8frjWel5eHCRMmmKMmIiIiIskzOUSdOHECTzzxRK3xxx9/vM679oiIiIhskckhSiaT6a+F+qPS0lJUV1ebpSgiIiIiqTM5RA0YMACJiYkGgam6uhqJiYno16+fWYsjIiIikiqTLyxfvnw5BgwYgM6dO6N///4AgG+//RZqtRpff/212QskIiIikiKTj0R17doVp06dwsiRI3Hz5k38/vvvGDduHM6fP49u3bo1RI1EREREkmPykSjg3sM133nnHXPXQkRERGQ1TD4SBdw7fffKK68gJCQE165dAwB89NFH+O6778xaHBEREZFUmRyidu/ejbCwMDg5OeH48eMoLy8HcO/uPB6dIiIiosbC5BCVkJCA9PR0rF+/Hvb29vrxJ554AsePHzdrcURERERSZXKIunDhAgYMGFBr3M3NDSUlJeaoiYiIiEjyTA5Rnp6eyM/PrzX+3XffoX379mYpioiIiEjqTA5RkyZNwqxZs5CXlweZTIbr169j27ZtmDNnDqZMmdIQNRIRERFJjsmPOJg/fz50Oh2eeuopaLVaDBgwAI6OjpgzZw5mzJjREDUSERERSY7JIUomk+Gtt97C3LlzkZ+fjzt37qBr165o2rRpQ9RHREREJEminhMFAA4ODujatSv8/f1x4MABnDt3zpx1EREREUmaySFq5MiRSEtLAwDcvXsXffr0wciRI9GjRw/s3r3b7AUSERERSZHJIerQoUP6Lx7+5z//CZ1Oh5KSEqxatQoJCQlmL5CIiIhIikwOUaWlpWjRogUAIDMzEy+++CKcnZ0xbNgwXLx40ewFEhEREUmRySHKx8cHubm50Gg0yMzMxNChQwEAt2/fhkKhMHuBRERERFJkcoiaPXs2xo4dizZt2sDb2xuDBg0CcO80X/fu3U0uYPXq1fD19YVCoUBQUBCOHDly3/m7du2Cv78/FAoFunfvjn379hksFwQBcXFx8PLygpOTE0JDQ2sdIXv77bcREhICZ2dnuLu717kfmUxW62fHjh0mvz4iIiKyTSaHqKlTp+KHH37Axo0b8d1338HO7t4m2rdvb/I1UTt37kR0dDQWL16M48ePo2fPnggLC8PNmzfrnH/48GGMGTMGkZGROHHiBCIiIhAREYEzZ87o5yQlJWHVqlVIT09HXl4eXFxcEBYWhrKyMv2ciooKjBgx4oEPB920aRNu3Lih/4mIiDDp9REREZHtMvk5UQAQGBiIwMBAg7Fhw4aZvJ333nsPkyZNwsSJEwEA6enp+PLLL7Fx40bMnz+/1vz3338f4eHhmDt3LgBg2bJlyMrKQlpaGtLT0yEIAlJTU7Fw4UI899xzAICtW7dCqVQiIyMDo0ePBgDEx8cDADZv3nzf+tzd3eHp6Wn06ykvL0d5ebn+b7VaDQCorKxEZWWl0duRkqqqKv1va30NtoK9kBb2QzrYC+mwlV4YW7tRIerdd9/FrFmz4OTk9MC5eXl5KCoqemCoqqiowLFjxxAbG6sfs7OzQ2hoKHJzc+tcJzc3F9HR0QZjYWFhyMjIAABcvnwZKpUKoaGh+uVubm4ICgpCbm6uPkQZa9q0aXj99dfRvn17/P3vf8fEiRMhk8nqnZ+YmKgPaH+0f/9+ODs7m7RvqcnJybF0CfRf7IW0sB/SwV5Ih7X3QqvVGjXPqBD1008/oW3bthgxYgSeffZZ9O7dG4888giAe2nzp59+wnfffYePP/4Y169fx9atWx+4zaKiIlRXV0OpVBqMK5VKnD9/vs51VCpVnfNVKpV+ec1YfXOMtXTpUjz55JNwdnbG/v37MXXqVNy5cwczZ86sd53Y2FiDkKdWq+Hj44OhQ4fC1dXVpP1Lxd27d5GTk4PBgwcbFaKp4bAX0sJ+SAd7IR220ouaM0kPYlSI2rp1K3788UekpaXh5ZdfhlqtRpMmTeDo6KhPa7169cLrr7+OCRMm2MRdeosWLdL/c69evaDRaJCcnHzfEOXo6AhHR8da4/b29rC3t2+QOhtazSFNuVxuta/BVrAX0sJ+SAd7IR220gtjazf6mqiePXti/fr1+PDDD3Hq1ClcvXoVd+/ehYeHBwICAuDh4WFSgR4eHmjSpAkKCwsNxgsLC+u9DsnT0/O+82t+FxYWwsvLy2BOQECASfX9WVBQEJYtW4by8vI6gxIRERE1LibfnWdnZ4eAgAA899xzGD16NEJDQ00OUMC9794LDAxEdna2fkyn0yE7OxvBwcF1rhMcHGwwHwCysrL08/38/ODp6WkwR61WIy8vr95tGuvkyZNo3rw5AxQREREBEHl3nrlER0dj/Pjx6N27N/r27YvU1FRoNBr93Xrjxo1D69atkZiYCACYNWsWBg4ciJUrV2LYsGHYsWMHjh49inXr1gG492yn2bNnIyEhAZ06dYKfnx8WLVoEb29vg8cTFBQUoLi4GAUFBaiursbJkycBAB07dkTTpk3xxRdfoLCwEI8//jgUCgWysrLwzjvvYM6cOQ/1/SEiIiLpsmiIGjVqFG7duoW4uDioVCoEBAQgMzNTf2F4QUGB/jlUABASEoLt27dj4cKFWLBgATp16oSMjAx069ZNPycmJgYajQaTJ09GSUkJ+vXrh8zMTIPrtOLi4rBlyxb937169QJw726CQYMGwd7eHqtXr0ZUVBQEQUDHjh31j2MgIiIiAgCZIAiCpYuwVWq1Gm5ubigtLbXau/O0Wi2ysrIwZMgQq39Mg7VjL6SF/ZAO9kI6bKUXxn5+m3xNFBERERGJCFGbNm0y+iFURERERLbK5BA1f/58eHp6IjIyEocPH26ImoiIiIgkz+QQde3aNWzZsgVFRUUYNGgQ/P39sXz5cpOfCE5ERERkzUwOUXK5HM8//zz27NmDX375BZMmTcK2bdvQtm1bDB8+HHv27IFOp2uIWomIiIgk4y9dWK5UKtGvXz8EBwfDzs4Op0+fxvjx49GhQwd88803ZiqRiIiISHpEhajCwkKsWLECf/vb3zBo0CCo1Wrs3bsXly9fxrVr1zBy5EiMHz/e3LUSERERSYbJIerZZ5+Fj48PNm/ejEmTJuHatWv45JNPEBoaCgBwcXHBm2++iV9++cXsxdLDVVFRgbS0NKxbtw5paWmoqKiwdElERESSYfITy1u1aoWDBw/e97voHnnkEVy+fPkvFUaWFRMTg5SUFFRVVQEA9u3bh7feegtRUVFISkqycHVERESWZ3KI+sc//vHAOTKZDO3atRNVEFleTEwMkpOToVQqERcXB2dnZ2i1WixduhTJyckAwCBFRESNnsmn82bOnIlVq1bVGk9LS8Ps2bPNURNZUEVFBVJSUqBUKvHrr79iwoQJaN68OSZMmIBff/0VSqUSKSkpPLVHRESNnskhavfu3XjiiSdqjYeEhOCzzz4zS1FkOWvWrEFVVRUSEhIglxseqJTL5Vi6dCmqqqqwZs0aC1VIREQkDSaHqN9++w1ubm61xl1dXVFUVGSWoshyLl26BAB45pln6lxeM14zj4iIqLEyOUR17NgRmZmZtcb//e9/o3379mYpiiynQ4cOAIC9e/fWubxmvGYeERFRY2XyheXR0dGYPn06bt26hSeffBIAkJ2djZUrVyI1NdXc9dFDNnXqVMydOxcLFy7EhAkTDJZVVVUhLi4OcrkcU6dOtUyBREREEmHykajXXnsNK1euxD/+8Q8MHjwYgwcPxscff4y1a9di0qRJDVEjPUQODg6IiopCYWEh2rRpg40bN6K4uBgbN25EmzZtUFhYiKioKDg4OFi6VCIiIosy+UgUAEyZMgVTpkzBrVu34OTkhKZNm5q7LrKgmscXpKSkYMaMGfpxuVyOuXPn8vEGRERE+IvfnffII48wQNmopKQkaDQaLF++HE8//TSWL18OjUbDAEVERPRfJh+JKiwsxJw5c5CdnY2bN29CEASD5dXV1WYrjizLwcEB06dPR+fOnTFkyBCewiMiIvoDk0PUhAkTUFBQgEWLFsHLywsymawh6iIiIiKSNJND1HfffYdvv/0WAQEBDVAOERERkXUw+ZooHx+fWqfwiIiIiBobk0NUamoq5s+fjytXrjRAOURERETWweTTeaNGjYJWq0WHDh3g7OwMe3t7g+XFxcVmK46IiIhIqkwOUXwqOREREZGIEDV+/PiGqIOIiIjIqoh62OalS5ewcOFCjBkzBjdv3gRw7wuIz549a9biiIiIiKTK5BB18OBBdO/eHXl5efj8889x584dAMCPP/6IxYsXm71AIiIiIikyOUTNnz8fCQkJyMrKMniC9ZNPPokffvjBrMURERERSZXJIer06dN4/vnna423atUKRUVFZimKiIiISOpMDlHu7u64ceNGrfETJ06gdevWZimKiIiISOpMDlGjR4/GvHnzoFKpIJPJoNPp8P3332POnDkYN25cQ9RIREREJDkmh6h33nkH/v7+8PHxwZ07d9C1a1cMGDAAISEhWLhwYUPUSERERCQ5Jj8nysHBAevXr0dcXBxOnz6NO3fuoFevXujUqVND1EdEREQkSSYfiVq6dCm0Wi18fHzw9NNPY+TIkejUqRPu3r2LpUuXNkSNRERERJJjcoiKj4/XPxvqj7RaLeLj481SFBEREZHUmRyiBEGATCarNf7jjz+iRYsWZimKiIiISOqMviaqefPmkMlkkMlkePTRRw2CVHV1Ne7cuYO///3vDVIkERERkdQYHaJSU1MhCAJee+01xMfHw83NTb/MwcEBvr6+CA4ObpAiiYiIiKTG6BA1fvx4AICfnx9CQkJgb2/fYEURERERSZ3JjzgYOHCg/p/LyspQUVFhsNzV1fWvV0VEREQkcSZfWK7VajF9+nS0atUKLi4uaN68ucEPERERUWNgcoiaO3cuvv76a6xduxaOjo7YsGED4uPj4e3tja1btzZEjURERESSY/LpvC+++AJbt27FoEGDMHHiRPTv3x8dO3ZEu3btsG3bNowdO7Yh6iQiIiKSFJOPRBUXF6N9+/YA7l3/VFxcDADo168fDh06ZN7qiIiIiCTK5BDVvn17XL58GQDg7++PTz/9FMC9I1Tu7u5mLY6IiIhIqkwOURMnTsSPP/4IAJg/fz5Wr14NhUKBqKgozJ071+wFEhEREUmRySEqKioKM2fOBACEhobi/Pnz2L59O06cOIFZs2aZXMDq1avh6+sLhUKBoKAgHDly5L7zd+3aBX9/fygUCnTv3h379u0zWC4IAuLi4uDl5QUnJyeEhobi4sWLBnPefvtthISEwNnZud6jZwUFBRg2bBicnZ3RqlUrzJ07F1VVVSa/PiIiIrJNJoeoP2vXrh1eeOEFtGjRApMnTzZp3Z07dyI6OhqLFy/G8ePH0bNnT4SFheHmzZt1zj98+DDGjBmDyMhInDhxAhEREYiIiMCZM2f0c5KSkrBq1Sqkp6cjLy8PLi4uCAsLQ1lZmX5ORUUFRowYgSlTptS5n+rqagwbNgwVFRU4fPgwtmzZgs2bNyMuLs6k10dEREQ2TDCTkydPCnZ2diat07dvX2HatGn6v6urqwVvb28hMTGxzvkjR44Uhg0bZjAWFBQkvPHGG4IgCIJOpxM8PT2F5ORk/fKSkhLB0dFR+OSTT2ptb9OmTYKbm1ut8X379gl2dnaCSqXSj61du1ZwdXUVysvLjX59paWlAgChtLTU6HWkRqPRCBkZGYJGo7F0KY0eeyEt7Id0sBfSYSu9MPbz2+RHHJhLRUUFjh07htjYWP2YnZ0dQkNDkZubW+c6ubm5iI6ONhgLCwtDRkYGAODy5ctQqVQIDQ3VL3dzc0NQUBByc3MxevRoo2rLzc1F9+7doVQqDfYzZcoUnD17Fr169apzvfLycpSXl+v/VqvVAIDKykpUVlYatW+pqTmFWVVVZbWvwVawF9LCfkgHeyEdttILY2u3WIgqKipCdXW1QVABAKVSifPnz9e5jkqlqnO+SqXSL68Zq2+OMerbzx/3UZfExETEx8fXGt+/fz+cnZ2N3r8U5eTkWLoE+i/2QlrYD+lgL6TD2nuh1WqNmmexEGWLYmNjDY6UqdVq+Pj4YOjQoVb7nYJ3795FTk4OBg8eDCcnJ0uX06ixF9LCfkgHeyEdttKLmjNJD2J0iHrhhRfuu7ykpMTYTQEAPDw80KRJExQWFhqMFxYWwtPTs851PD097zu/5ndhYSG8vLwM5gQEBBhdm6enZ627BGv2W19tAODo6AhHR8da4/b29rC3tzd6/1JSc0hTLpdb7WuwFeyFtLAf0sFeSIet9MLY2o2+O8/Nze2+P+3atcO4ceOMLtDBwQGBgYHIzs7Wj+l0OmRnZyM4OLjOdYKDgw3mA0BWVpZ+vp+fHzw9PQ3mqNVq5OXl1bvN+vZz+vRpg7sEs7Ky4Orqiq5duxq9HSIiIrJdRh+J2rRpk9l3Hh0djfHjx6N3797o27cvUlNTodFoMHHiRADAuHHj0Lp1ayQmJgIAZs2ahYEDB2LlypUYNmwYduzYgaNHj2LdunUAAJlMhtmzZyMhIQGdOnWCn58fFi1aBG9vb0REROj3W1BQgOLiYhQUFKC6uhonT54EAHTs2BFNmzbF0KFD0bVrV7z66qtISkqCSqXCwoULMW3atDqPNBEREVHjY9FrokaNGoVbt24hLi4OKpUKAQEByMzM1F/EXVBQADu7/x0sCwkJwfbt27Fw4UIsWLAAnTp1QkZGBrp166afExMTA41Gg8mTJ6OkpAT9+vVDZmYmFAqFfk5cXBy2bNmi/7vmbrucnBwMGjQITZo0wd69ezFlyhQEBwfDxcUF48ePx9KlSxv6LSEiIiIrIRMEQbB0EbZKrVbDzc0NpaWlVnthuVarRVZWFoYMGWL1dxhaO/ZCWtgP6WAvpMNWemHs5/dffmI5ERERUWPEEEVEREQkAkMUERERkQgMUUREREQiMEQRERERicAQRURERCQCQxQRERGRCAxRRERERCIwRBERERGJwBBFREREJAJDFBEREZEIDFFEREREIjBEEREREYnAEEVEREQkAkMUERERkQgMUUREREQiMEQRERERicAQRURERCQCQxQRERGRCAxRRERERCIwRBERERGJwBBFREREJAJDFBEREZEIDFFEREREIjBEEREREYnAEEVEREQkAkMUERERkQgMUUREREQiMEQRERERicAQRURERCQCQxQRERGRCAxRRERERCIwRBERERGJwBBFREREJAJDFBEREZEIDFFEREREIjBEEREREYnAEEVEREQkAkMUERERkQgMUUREREQiMEQRERERicAQRURERCQCQxQRERGRCAxRRERERCIwRBERERGJwBBFREREJAJDFBEREZEIDFFEREREIkgiRK1evRq+vr5QKBQICgrCkSNH7jt/165d8Pf3h0KhQPfu3bFv3z6D5YIgIC4uDl5eXnByckJoaCguXrxoMKe4uBhjx46Fq6sr3N3dERkZiTt37uiXX7lyBTKZrNbPDz/8YL4XTkRERFbL4iFq586diI6OxuLFi3H8+HH07NkTYWFhuHnzZp3zDx8+jDFjxiAyMhInTpxAREQEIiIicObMGf2cpKQkrFq1Cunp6cjLy4OLiwvCwsJQVlamnzN27FicPXsWWVlZ2Lt3Lw4d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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "df = pd.concat(\n", + " [\n", + " metrics_df_k1[\"layer_run_time\"] * 1e-3,\n", + " metrics_df_k2[\"layer_run_time\"] * 1e-3,\n", + " metrics_df_k3[\"layer_run_time\"] * 1e-3,\n", + " metrics_df_k4[\"layer_run_time\"] * 1e-3,\n", + " metrics_df_k5[\"layer_run_time\"] * 1e-3,\n", + " ],\n", + " axis=1,\n", + ")\n", + "\n", + "\n", + "# set column names (will be displayed as plot labels)\n", + "df.columns = ['1', '2', '3', '4', '5'] \n", + "\n", + "# use pandas' boxplot method\n", + "df.boxplot().set_ylabel('Latency (seconds)')\n", + "df.boxplot().set_xlabel('Kernel size')" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "id": "a33cb157-7942-46dc-b69c-e2da20c2a5cf", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0.5, 0, 'Kernel size')" + ] + }, + "execution_count": 41, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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Y1FkAACAx6LIAAAAj0WRAQAAHosiAwAAPBZFBgAAeCyKDAAA8FjeRt+QmZmp7du36/Dhw8rIyFD16tXVqlUr1a9f3xX5AAAAiuRwkdm6dav+8Y9/6OOPP1Z2draCg4Pl5+enc+fOKTMzUw0aNNCjjz6qxx9/XIGBga7MDAAAIMnBQ0u9e/dW//79FRERoXXr1unSpUs6e/asjh49qoyMDO3fv18TJ07Uxo0bdeONN2r9+vWuzg0AAODYjEzPnj21cuVKWa3WQtc3aNBADRo0UExMjH788UedOHHCqSEBAAAK41CReeyxxxzeYWRkpCIjI0scCAAAwFFctQQAADyWQzMyVapUkcVicWiH586d+1OBAAAAHOVQkUlKSrJ/f/bsWSUkJCg6Olq33XabJGnbtm1au3atnnvuOZeEBAAAKIxDRSYmJsb+/X333aepU6dq+PDh9mUjR47U/PnztWHDBsXFxTk/JQAAQCEMnyOzdu1adevWrcDybt26acOGDU4JBQAA4AjDRaZq1ar68MMPCyz/8MMPVbVqVaeEAgAAcIThRxRMmTJFf//735WSkqJ27dpJkrZv3641a9botddec3pAAACAohguMrGxsWrSpInmzZunVatWSZKaNGmiLVu22IsNAABAaTBcZCSpXbt2euedd5ydBQAAwJASFZm8vDwdOHBAp0+fVl5eXr51HTp0cEowAACA6zFcZL766is99NBDOnz4sGw2W751FotFubm5TgsHAABQHMNF5vHHH1fr1q3173//W7Vq1XL4jr8AAADOZrjI7N+/XytWrNANN9zgijwAAAAOM3wfmXbt2unAgQOuyAIAAGCI4RmZESNG6KmnntLJkyfVrFkzWa3WfOubN2/utHAAAADFMVxk7rvvPknSww8/bF9msVhks9k42RcAAJQqw4eWDh06VODrl19+sf9qxObNm9WrVy+FhYXJYrFo9erV+dbbbDZNmjRJtWrVkp+fn+666y7t37/faGQAAFBGGZ6RqVevntM+PD09XS1atNDDDz+se++9t8D6xMREzZs3T0uWLFH9+vX13HPPKTo6Wj/++KMqVqzotBwAAMAzleiGeAcPHlRSUpL27dsnSYqMjNSTTz6phg0bGtpP9+7d1b1790LX2Ww2JSUlaeLEibrnnnskSW+99ZZCQ0O1evVqPfDAA4W+LzMzU5mZmfbX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F5n//Oc/ys3NLbA8MzNTx44dc0ooAAAARzh8aOmjjz6yf7927dp8Vyjl5uZq48aNioiIcGo4AACA4hg+2ddisSgmJibfOqvVqoiICM2ePdup4QAAAIrjcJHJy8uTJNWvX187d+5UtWrVXBYKAADAEYYfUXDo0CFX5AAAADDMcJGRpPT0dG3atElHjhxRVlZWvnUjR450SjDp93Nv4uPjtXTpUp08eVJhYWGKjY3VxIkTC727MAAAKF8MF5lvvvlGPXr0UEZGhtLT0xUSEqIzZ87I399fNWrUcGqRmTlzpl555RUtWbJEN998s3bt2qXBgwcrODjYqZ8DAAA8k+EiExcXp169emnhwoUKDg7WV199JavVqoEDB+rJJ590argvv/xS99xzj3r27Cnp95vxvfvuu9qxY0eR78nMzFRmZqb9dVpamiQpOztb2dnZTs1XmnJycuy/evLPURYwFubBWJgHY2EeZWUsHM1usdlsNiM7rly5srZv366bbrpJlStX1rZt29SkSRNt375dMTEx+umnn0oUuDDTpk3Tq6++qnXr1unGG2/Ut99+q65du2rOnDkaMGBAoe+Jj4/XlClTCixftmyZ/P39nZYNAAC4TkZGhh566CFdvHhRQUFBRW5neEbGarXKy+v3++jVqFFDR44cUZMmTRQcHKxff/215IkLMX78eKWlpalx48aqUKGCcnNz9cILLxRZYiRpwoQJGj16tP11WlqawsPD1bVr12J/I8zuypUrSk5OVlRUlPz8/Nwdp1xjLMyDsTAPxsI8yspYXDuicj2Gi0yrVq20c+dONWrUSB07dtSkSZN05swZvf3222ratKnhoMX517/+pXfeeUfLli3TzTffrD179mjUqFEKCwsrcC+ba3x9fQt9DpTVapXVanVqvtJ0bYrN29vbo3+OsoCxMA/GwjwYC/MoK2PhaHbDRWbatGm6dOmSJOmFF17QoEGD9MQTT6hRo0Z68803je6uWGPGjNH48eP1wAMPSJKaNWumw4cPa/r06UUWGQAAUH44XGQWLVqkO++8U61bt7Yvq1GjhtasWeOSYNLvx8euHca6pkKFCvab8wEAgPLN4SIzdOhQZWVlqV69eoqKirJ/1a5d22XhevXqpRdeeEF169bVzTffrG+++UZz5szRww8/7LLPBAAAnsPhInPhwgV9+eWX2rRpk5KTk7Vs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xcXFadasWapfv74mTpyoSpUq6a233lJCQoJOnz6tMWPGqFKlSu6OWu5cm+709vb2qP+myiLGwjwYC/MoK2PhaHZTF5latWopMjIy37ImTZpo5cqVbkpUuhITEyVJc+fO1YgRI+zLvb29NWbMGPt6AADKK8MPjSxN7du3V2pqar5lP//8s+rVq+emRKUvMTFR6enpmjlzpnr06KGZM2cqPT2dEgMAgEowI7N7925ZrVY1a9ZMkvThhx9q0aJFioyMVHx8vFPP14iLi9Ptt9+uadOmqV+/ftqxY4deffVVvfrqq077DE/g4+Oj4cOH66abblKXLl04JwYAgP8yPCPz2GOP2S8N/uWXX/TAAw/I399f77//vtPvNNumTRt98MEHevfdd9W0aVM9//zzSkpK0oABA5z6OQAAwDMZnpH5+eef1bJlS0nS+++/rw4dOmjZsmXaunWrHnjgASUlJTk14N133627777bqfsEAABlg+EZGZvNpry8PEnShg0b1KNHD0myX+IMAABQWgwXmdatWyshIUFvv/22Nm3apJ49e0qSDh06pNDQUKcHBAAAKIrhIpOUlKTdu3dr+PDhevbZZ3XDDTdIklasWKHbb7/d6QEBAACKYvgcmebNm2vv3r0Fls+aNUsVKlRwSigAAABHODwjExMTo7feektHjhwpdH3FihU9+g6CAADA8zg8I3P48GE99thjysrKUkREhKKiohQVFaU777xTtWrVcmVGAACAQjlcZFJSUpSZmakvv/xSKSkpSklJ0dKlS5Wdna1GjRrZS03fvn1dmRcAAMDO0Dkyvr6+9pkYSbp69aq+/PJLffbZZ/Y77lJkAABAaSnRQyOzsrK0bds2paSkKDk5Wdu3b1dYWJjuu+8+Z+cDAAAoksNFZvPmzfmKS926ddWxY0c9+uijWrp0qerUqePKnAAAAAU4XGQ6deqkunXraty4cVq+fDk3vwMAAG7n8OXXY8eOVc2aNTVq1Ch16dJFI0aM0MqVK3ksAQAAcBuHi8yMGTP01Vdf6ezZs5o5c6b8/f2VmJiosLAwNW3aVMOGDdOKFStcmRUAACAfwyf7BgQEqHv37urevbsk6dy5c5ozZ45eeuklLVy4ULm5uU4PCQAAUBjDRSYvL087d+6030tm69atunz5surWrat7773XFRkBAAAK5XCRSUxMtBeXS5cuqXbt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2WxLly611apVy7Zy5UrbL7/8Ylu5cqUtJCTEtnjxYmf8NgNwEEUGgCExMTE2Hx8fmyTbxo0bC6zv3Lmzbdq0afmWvf3227ZatWrZX0uyjRo1Kt82kydPtvn7+9vS0tLsy8aMGWNr166dzWaz2a5evWrz9/e3ffnll/ne98gjj9gefPBBm812/SIze/Zs24033mjLysoqdP0fi8wfHThwwBYSEmJLTEy0L2vYsKFt2bJl+bZ7/vnnbbfddluh+wbgGpwjA8Cw5s2b68yZM5o8ebLatm2rgIAA+7pvv/1WW7du1QsvvGBflpubq6tXryojI0P+/v6SpNatWxfYb0REhAIDA+2va9WqpdOnT0uSDhw4oIyMDHXp0iXfe7KystSqVSuHcvft21dJSUlq0KCBunXrph49eqhXr17y9i76f4UXL17U3XffrZ49e2rMmDGSpPT0dB08eFCPPPKIhgwZYt82JydHwcHBDmUB4BwUGQCG1a5dWytWrFBUVJS6deumzz77zF5ALl++rClTpujee+8t8L6KFSvav69UqVKB9f97wq/FYlFeXp59v5L073//W7Vr1863na+vr0O5w8PDlZqaqg0bNmj9+vUaOnSoZs2apU2bNhV6snFubq769++voKAgvfrqq/bl17K89tprateuXb73VKhQwaEsAJyDIgOgROrVq6dNmzbZy8yaNWsUGBioW265Rampqbrhhhuc+nmRkZHy9fXVkSNH1LFjxxLvx8/PT7169VKvXr00bNgwNW7cWHv37tUtt9xSYNu4uDjt3btXu3btylfCQkNDFRYWpl9++UUDBgwocRYAfx5FBkCJhYeHKyUlRVFRUYqOjtaaNWs0adIk3X333apbt67uv/9+eXl56dtvv9X333+vhISEEn9WYGCgnn76acXFxSkvL0933HGHLl68qK1btyooKEgxMTHX3cfixYuVm5urdu3ayd/fX0uXLpWfn5/q1atXYNtFixZpwYIF+uCDD2SxWHTy5ElJUkBAgAICAjRlyhSNHDlSwcHB6tatmzIzM7Vr1y6dP39eo0ePLvHPCcAYLr8G8KfUqVNHKSkpOnPmjKKjo3Xbbbfpk08+0bp169SmTRv95S9/0dy5cwstC0Y9//zzeu655zR9+nQ1adJE3bp107///W/Vr1/fofdXrlxZr732mtq3b6/mzZtrw4YN+vjjj1W1atUC227atEm5ubnq3bu3atWqZf968cUXJUl///vf9frrr2vRokVq1qyZOnbsqMWLFzucBYBzWGw2m83dIQAAAEqCGRkAAOCxKDIAAMBjUWQAAIDHosgAAACPRZEBAAAeiyIDAAA8FkUGAAB4LIoMAADwWBQZAADgsSgyAADAY1FkAACAx/p/m66ZLBQSYmUAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "df = pd.concat(\n", + " [ # microwatts converted to milliwatts * millseconds converted to seconds\n", + " metrics_df_k1[\"layer_power_including_idle_power_micro_watt\"] * 1e-3 * metrics_df_k1[\"layer_run_time\"] * 1e-3,\n", + " metrics_df_k2[\"layer_power_including_idle_power_micro_watt\"] * 1e-3 * metrics_df_k2[\"layer_run_time\"] * 1e-3,\n", + " metrics_df_k3[\"layer_power_including_idle_power_micro_watt\"] * 1e-3 * metrics_df_k3[\"layer_run_time\"] * 1e-3,\n", + " metrics_df_k4[\"layer_power_including_idle_power_micro_watt\"] * 1e-3 * metrics_df_k4[\"layer_run_time\"] * 1e-3,\n", + " metrics_df_k5[\"layer_power_including_idle_power_micro_watt\"] * 1e-3 * metrics_df_k5[\"layer_run_time\"] * 1e-3,\n", + " ],\n", + " axis=1,\n", + ")\n", + "\n", + "\n", + "# set column names (will be displayed as plot labels)\n", + "df.columns = ['1', '2', '3', '4', '5']\n", + "\n", + "# use pandas' boxplot method\n", + "df.boxplot().set_ylabel('Energy mWs (milliWattssecond)')\n", + "df.boxplot().set_xlabel('Kernel size')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f3b94670-4420-4202-837d-56080af73559", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.11" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/jetson/power_logging/notebooks/explore_trt_output_single_conv_layer.ipynb b/jetson/power_logging/notebooks/explore_trt_output_single_conv_layer.ipynb new file mode 100644 index 00000000..aa782e1a --- /dev/null +++ b/jetson/power_logging/notebooks/explore_trt_output_single_conv_layer.ipynb @@ -0,0 +1,1753 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "092683ca-8ae8-4f0f-b841-fa38b65260f9", + "metadata": {}, + "outputs": [], + "source": [ + "from pathlib import Path\n", + "import json\n", + "import matplotlib.pyplot as plt\n", + "import pandas as pd\n", + "\n", + "from utils import parse_latencies_trt, parse_power_log, get_power_index, compute_layer_metrics_by_cycle" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "50d04548-6650-4a0e-9a58-e9c49e7bce30", + "metadata": {}, + "outputs": [], + "source": [ + "DATA_PATH = Path('../raw_data/single_conv_layer_trt')" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "bbde6bce-f561-4508-b283-440b8cdcccde", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Average power consumed in IDLE state: 3576245.017657479\n" + ] + } + ], + "source": [ + "with open((DATA_PATH/'idling_power.json'), 'r') as fp:\n", + " data = json.load(fp)\n", + "\n", + "avg_power = data['avg_idle_power']\n", + "print(f'Average power consumed in IDLE state: {avg_power}')" + ] + }, + { + "cell_type": "markdown", + "id": "457c527c-035d-4955-a230-90385a803b6e", + "metadata": {}, + "source": [ + "## Single Convolution Layers\n" + ] + }, + { + "cell_type": "markdown", + "id": "bd5813c0-be9c-4512-a154-abc079f70749", + "metadata": {}, + "source": [ + "### Kernel 1 Stride 1 Output 3" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "ae671960-9d2f-4cc7-89d1-53b35cbdbd7d", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 17278/17278 [00:00<00:00, 102004.91it/s]\n", + "Preprocessing latency data: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1/1 [00:00<00:00, 22.20it/s]\n" + ] + } + ], + "source": [ + "model_name = 'conv_k1_s1_o3'\n", + "\n", + "with open((DATA_PATH/model_name/f'{model_name}_power_log.log'), 'r') as fp:\n", + " data = fp.readlines()\n", + "power_data = parse_power_log(data)\n", + "\n", + "with open((DATA_PATH/model_name/'trt_profiling/trt_layer_latency.json'), 'r') as fp:\n", + " data = json.load(fp)\n", + "latency_data = parse_latencies_trt(data)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "f4d50a23-75b0-4dd9-8d64-195445a02bbc", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Number of power entries for conv_k1_s1_o3: 17278\n", + "Number of TensorRT layers in conv_k1_s1_o3: 1\n", + "Number of latency entries for each layer: 3000\n", + "Inference for 3000 cycles: 3.771303 seconds\n" + ] + } + ], + "source": [ + "print(f\"Number of power entries for {model_name}: {len(power_data)}\")\n", + "print(f\"Number of TensorRT layers in {model_name}: {len(latency_data[0])}\")\n", + "print(f\"Number of latency entries for each layer: {len(latency_data)}\")\n", + "print(f\"Inference for {len(latency_data)} cycles: {(latency_data[len(latency_data)-1][0][2]-latency_data[0][0][1]).total_seconds()} seconds\")" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "431ae3c5-a518-44b5-b507-1bd345cbd268", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot([power for (_, power) in power_data])\n", + "plt.axhline(avg_power, color='purple', linestyle='--', label='Average IDLE power')\n", + "first_inference_start_index = get_power_index(power_data, latency_data[0][0][1])\n", + "last_inference_end_index = get_power_index(power_data, latency_data[2999][0][2])\n", + "plt.axvline(first_inference_start_index, color='green', label='First inference start')\n", + "plt.axvline(last_inference_end_index, color='red', label='Last inference end')\n", + "plt.legend()" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "50df5f3d-3fcb-4677-807e-36d66706b288", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Computing layer metrics...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Mapping power to layer: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████| 3000/3000 [00:00<00:00, 696342.67it/s]\n" + ] + } + ], + "source": [ + "metrics = compute_layer_metrics_by_cycle(power_data, latency_data, avg_power)\n", + "metrics_df_k1 = pd.DataFrame.from_dict(metrics)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "4be08b80-2db9-4f6e-a964-f0b269f73dbb", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
cyclelayer_power_including_idle_power_micro_wattlayer_power_excluding_idle_power_micro_wattlayer_run_time
count3000.0000005.880000e+02588.0000003000.000000
mean1500.5000004.461032e+06884787.4721380.273359
std866.1697291.485564e+05148556.3788900.053302
min1.0000003.731904e+06155658.9823430.251808
25%750.7500004.494336e+06918090.9823430.274720
50%1500.5000004.534464e+06958218.9823430.275648
75%2250.2500004.534464e+06958218.9823430.276352
max3000.0000004.534464e+06958218.9823432.946720
\n", + "
" + ], + "text/plain": [ + " cycle layer_power_including_idle_power_micro_watt \\\n", + "count 3000.000000 5.880000e+02 \n", + "mean 1500.500000 4.461032e+06 \n", + "std 866.169729 1.485564e+05 \n", + "min 1.000000 3.731904e+06 \n", + "25% 750.750000 4.494336e+06 \n", + "50% 1500.500000 4.534464e+06 \n", + "75% 2250.250000 4.534464e+06 \n", + "max 3000.000000 4.534464e+06 \n", + "\n", + " layer_power_excluding_idle_power_micro_watt layer_run_time \n", + "count 588.000000 3000.000000 \n", + "mean 884787.472138 0.273359 \n", + "std 148556.378890 0.053302 \n", + "min 155658.982343 0.251808 \n", + "25% 918090.982343 0.274720 \n", + "50% 958218.982343 0.275648 \n", + "75% 958218.982343 0.276352 \n", + "max 958218.982343 2.946720 " + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "metrics_df_k1.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "9dab2065-5d9d-45fb-9e01-e150634a83fd", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "cycle 3000\n", + "layer_power_including_idle_power_micro_watt 588\n", + "layer_power_excluding_idle_power_micro_watt 588\n", + "layer_run_time 3000\n", + "dtype: int64" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "metrics_df_k1.count()" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "e13d24ab-0ad1-40d8-b885-703cb3b47767", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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+fLl6ty5swICAhQeHq7HHntMOTk5ki7e9Khp06aaNWuW3XPS0tJksVh04MABSVJubq5GjRqlunXrKjAwUL/73e/0008/2fqXD8kvXrxYTZo0kbe393Xr6tWrl8aOHauxY8cqKChIt99+u15++WW7W1P/9ttvGj58uIKDg+Xr66sHHnhA+/fvt9Vet25dffjhh7b+HTp0UP369W3bW7dulZeXl4qKim7q+7j0r7KoqCi9/vrrevLJJxUQEKBGjRpp0aJFds85duyYBg8erJCQEPn5+alz58767rvvKvX6khQXF6cnnnjCtp2Tk6OHHnpIPj4+atKkiVauXHnF61x6mubIkSOyWCxau3at7rvvPvn6+qp9+/bavn273XOSk5MVGRkpX19fDRo0SLNnz1adOnWu+zWRrjxNU1paqgkTJqhOnToKDQ1VQkLCdW9DbrVaNXHiRDVs2FB+fn666667tHnz5kodf9myZapTp45SUlLUrFkzeXt7q2/fvsrMzLTrt2DBAkVHR8vT01MtWrTQ8uXLbW0TJ07Ugw8+aNueO3euLBaLPv/8c9u+pk2bavHixbbtxYsXq1WrVvL29lbLli01f/58W1v51/0f//iHevbsKW9v7wr/ryp6H+vXr1eLFi3k6+urhx9+WEVFRXrvvfcUFRWl4OBg/b//9/9UWlpqe97lp2lyc3M1evRohYWFydvbW23bttX69evtjvHJJ5+odevW8vLyUkZGxjV//q6lKj+bs2fPVrt27eTn56fIyEg999xzKigokCRt3rxZI0aMUF5eniwWiywWi/7617+qV69eOnr0qMaPH2/bj1sDYQRXuHDhgl577TX99NNPSklJ0ZEjR2wfZBaLRU8++aSWLl1q95ylS5eqR48eatq0qSTpkUceUU5Ojj777DPt3LlTHTt2VO/evXXmzBnbcw4cOKCPPvpIa9euVVpaWqVqe++99+Th4aEdO3bo7bff1uzZs+1+sT/xxBP6/vvv9cknn2j79u0yDEP9+/fXhQsXZLFY1KNHD9uH02+//abdu3fr3Llz2rNnjyRpy5Yt6tKli3x9fW/q+7jcW2+9pc6dO+vHH3/Uc889p2effVZ79+6VJBUUFKhnz546fvy4PvnkE/30009KSEhQWVlZlY5V/nXKzMzUv//9b3344YeaP3++LXBey4svvqiJEycqLS1NzZs31+DBg1VSUiJJ2rZtm5555hnFx8crLS1N999/v2bMmFHlGt966y0tW7ZM7777rrZu3aozZ85o3bp113zO2LFjtX37dq1evVo///yzHnnkEfXr169SH4iSVFRUpBkzZuj999/Xtm3blJubq0cffdTWvm7dOsXHx+uFF17QL7/8otGjR2vEiBH697//LUnq2bOntm7davuQ37Jli26//Xbb99zx48d18OBB9erVS5K0cuVK/eUvf9GMGTO0e/duvf7663r55Zf13nvv2dU1ZcoUxcfHa/fu3erbt2+l3se8efO0evVqff7559q8ebMGDRqkDRs2aMOGDVq+fLkWLlxo9+F/qbKyMj3wwAPatm2bVqxYoV9//VUzZ86Uu7u73THeeOMNLV68WLt27VK9evWu+fN3LVX52XRzc9O8efO0a9cuvffee/q///s/JSQkSJK6deumuXPnKjAwUFlZWcrKytLEiRO1du1aRUREaNq0abb9uEUYgGEYPXv2NOLj4ytsS01NNSQZZ8+eNQzDMI4fP264u7sb3333nWEYhlFcXGzcfvvtxrJlywzDMIyvv/7aCAwMNM6fP2/3OtHR0cbChQsNwzCMV155xbjtttuMnJwch2ps1aqVUVZWZts3efJko1WrVoZhGMa+ffsMSca2bdts7f/5z38MHx8f45///KdhGIYxb948o02bNoZhGEZKSopx1113GQMHDjQWLFhgGIZh9OnTx/jzn/9809/HpV/rxo0bG0OHDrVtl5WVGfXq1bPVtHDhQiMgIMA4ffp0ha/3yiuvGO3bt7/q6xuGYQwcONB4/PHHDcMwjL179xqSjB07dtjad+/ebUgy5syZY9snyVi3bp1hGIZx+PBhQ5KxePFiW/uuXbsMScbu3bsNwzCMP/3pT8aAAQPsjjtkyBAjKCjoWl+Oq76P+vXrG2+++aZt+8KFC0ZERIQxcODACt/r0aNHDXd3d+P48eN2r9u7d29j6tSp1z3+0qVLDUnGt99+a9tX/nUp/17v1q2b8dRTT9k975FHHjH69+9vGIZh/Pbbb4abm5uRmppqlJWVGSEhIUZiYqJx1113GYZhGCtWrDAaNmxoe250dLSxatUqu9d77bXXjNjYWMMw/vt1nzt37nXrv/x9HDhwwLZv9OjRhq+vr+1n2DAMo2/fvsbo0aNt240bN7b9/2/cuNFwc3Mz9u7de81jpKWl2fZV5ufvWhz52azImjVrjNDQULsaK/reu/R94tbByAiusHPnTj300ENq1KiRAgIC1LNnT0lSRkaGJKlBgwYaMGCA3n33XUnSp59+KqvVqkceeUSS9NNPP6mgoEChoaG2eQD+/v46fPiwDh48aDtO48aNHT5Pfffdd9sNrcbGxmr//v0qLS3V7t275eHhobvuusvWHhoaqhYtWmj37t2SLv7l+uuvv+rUqVPasmWLevXqpV69emnz5s26cOGCvvnmG9tfrTfzfVwuJibG9m+LxaLw8HDbSEVaWpruvPPOaptrUv516tSpk21fy5YtK3U65dI6y4fQy+vcu3evunbtatf/8u3KysvLU1ZWlt3/pYeHhzp37nzV56Snp6u0tFTNmze3+//asmWL3f/XtXh4eKhLly627fKvS/n3z+7du9W9e3e753Tv3t3WXqdOHbVv316bN29Wenq6PD099fTTT+vHH39UQUGBtmzZYvt5Kiws1MGDBzVy5Ei7eqdPn35Fvdd63xXx9fVVdHS0bTssLExRUVF2c3LCwsKuOhqWlpamiIgINW/e/KrH8PT0tPt+qMzP37U48rMpSf/7v/+r3r17q2HDhgoICNCwYcN0+vRp22kc1CxMYIWdwsJC9e3bV3379tXKlStVt25dZWRkqG/fviouLrb1GzVqlIYNG6Y5c+Zo6dKl+tOf/mQbPi0oKFD9+vUrPFd/6QeeGTP327Vrp5CQEG3ZskVbtmzRjBkzFB4erjfeeEOpqam6cOGCunXrJsm57+PyCYkWi8V2GsbHx8eh13Jzc7tibsX1hskr69I6y0PhjZwuqk4FBQVyd3fXzp077U4nSHLqxNjyD1AvLy/17NlTISEhatWqlbZu3aotW7bohRdesNUrXZxnc+kHuKQr6nf0e6yi76drfY9drjLfcz4+PtU658KRn80jR47owQcf1LPPPqsZM2YoJCREW7du1ciRI1VcXGz7XYSagzACO3v27NHp06c1c+ZMRUZGSpK+//77K/r1799ffn5+WrBggT7//HN99dVXtraOHTvq5MmT8vDwUFRUVLXWd/mkzW+//VbNmjWTu7u7WrVqpZKSEn333Xe2X1qnT5/W3r171bp1a0kXfwHfe++9+vjjj7Vr1y7dc8898vX1ldVq1cKFC9W5c2fbL/6b+T4cERMTo8WLF+vMmTOVGh2pW7eu3bnw0tJS/fLLL7rvvvskXfxrv6SkRDt37rSNAuzdu/eKSyAd1aJFC6Wmptrtu3y7soKCglS/fn1999136tGjhyTZau7YsWOFz7nzzjtVWlqqnJwc3XvvvVU6bklJib7//nvbiE7516VVq1aSpFatWmnbtm16/PHHbc/Ztm2b7ftLuvgX/rvvvisPDw/169dP0sWA8sEHH2jfvn22v+7DwsLUoEEDHTp0SEOGDKlSvTdLTEyMjh07pn379l1zdORSlfn5uxZHfjZ37typsrIyvfXWW7YreP75z3/avZ6np6fdBN3r7Ye5OE0DO40aNZKnp6f+9re/6dChQ/rkk0/02muvXdHP3d1dTzzxhKZOnapmzZopNjbW1tanTx/FxsYqLi5OX3zxhY4cOaJvvvlGL774YoXBxhEZGRmaMGGC9u7dqw8++EB/+9vfFB8fL0lq1qyZBg4cqKeeekpbt27VTz/9pKFDh6phw4YaOHCg7TXKPxg6dOggf39/ubm5qUePHlq5cqVtCP1mvw9HDB48WOHh4YqLi9O2bdt06NAhffTRR1dcyVLud7/7nf71r3/pX//6l/bs2aNnn33WLmi0aNFC/fr10+jRo/Xdd99p586dGjVqlMMjMJd7/vnntWHDBs2ePVv79+/XwoUL9dlnn1X5r+f4+HjNnDlTKSkp2rNnj5577rlrBqbmzZtryJAhGj58uNauXavDhw9rx44dSkxM1L/+9a9KHfO2227T888/b/u6PPHEE7r77rtt4WTSpElatmyZFixYoP3792v27Nlau3atJk6caHuNHj166OzZs1q/fr0tePTq1UsrV65U/fr17T7cX331VSUmJmrevHnat2+f0tPTtXTpUs2ePdvxL1g16tmzp3r06KE//vGP+vLLL3X48GF99tlndlcFXa6yP3/XUtmfzaZNm+rChQu231PLly/X3//+d7vXioqKUkFBgTZt2qT//Oc/ttM3UVFR+uqrr3T8+HH95z//qcJXBzcDYQR26tatq2XLlmnNmjVq3bq1Zs6cecVlvOXKh0RHjBhht99isWjDhg3q0aOHRowYoebNm+vRRx/V0aNHFRYWdkP1DR8+XOfOnVPXrl01ZswYxcfH6+mnn7a1L126VJ06ddKDDz6o2NhYGYahDRs22A1R9+zZU6WlpXbnn3v16nXFvpv5Phzh6empL774QvXq1VP//v3Vrl27K65suNSTTz6pxx9/XMOHD1fPnj11xx132EZFyi1dulQNGjRQz5499Yc//EFPP/206tWrd0N1du/eXX//+981e/ZstW/fXp9//rnGjx9fqcudK/LCCy9o2LBhevzxxxUbG6uAgAANGjToms9ZunSphg8frhdeeEEtWrRQXFycUlNT1ahRo0od09fXV5MnT9Zjjz2m7t27y9/fX//4xz9s7XFxcXr77bc1a9YstWnTRgsXLtTSpUvtvm+Cg4PVrl071a1bVy1btpR0MaCUlZXZfaBKF093Ll68WEuXLlW7du3Us2dPLVu2TE2aNKnkV+nm+eijj9SlSxcNHjxYrVu3VkJCwnVHFCrz83ctlf3ZbN++vWbPnq033nhDbdu21cqVK5WYmGj3Wt26ddMzzzyjP/3pT6pbt67efPNNSdK0adN05MgRRUdH3/BcL1Qfi3H5yWWgkr7++mv17t1bmZmZTvlw7tWrlzp06MCS1TXIU089pT179ujrr782u5TrutqKnQBuPuaMwGFWq1WnTp3SX//6Vz3yyCNOHSXArW3WrFm6//775efnp88++0zvvfee3SJeAFARTtPAYR988IEaN26s3Nxc29DnjcrIyLC7vPHyR/llxbc6V3kfVbVjxw7df//9ateunf7+979r3rx5GjVqlCSpTZs2V/26XG9V0erwwAMPXPX4r7/++k0/fnWpqe+jptYN5+A0DW4JJSUlOnLkyFXbo6Ki5OFx6w/kucr7uBmOHj161UuMw8LCFBAQcFOPf/z4cZ07d67CtpCQkBpzz6Ca+j5qat1wDsIIAAAwFadpAACAqQgjAADAVIQRAABgKsIIAAAwFWEEAACYijACAABMRRgBAACm+v8AD2NacndNjZ0AAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "metrics_df_k1.boxplot(column='layer_power_including_idle_power_micro_watt', grid=False)" + ] + }, + { + "cell_type": "markdown", + "id": "7a171f59-3afa-4902-8cce-11e153df1586", + "metadata": { + "jp-MarkdownHeadingCollapsed": true + }, + "source": [ + "### Kernel 1 Stride 1 Output 6" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "5c43603b-a0c0-4725-96a9-5dda4585b2f4", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 17007/17007 [00:00<00:00, 107875.12it/s]\n", + "Preprocessing latency data: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1/1 [00:00<00:00, 35.08it/s]\n" + ] + } + ], + "source": [ + "model_name = 'conv_k1_s1_o6'\n", + "\n", + "with open((DATA_PATH/model_name/f'{model_name}_power_log.log'), 'r') as fp:\n", + " data = fp.readlines()\n", + "power_data = parse_power_log(data)\n", + "\n", + "with open((DATA_PATH/model_name/'trt_profiling/trt_layer_latency.json'), 'r') as fp:\n", + " data = json.load(fp)\n", + "latency_data = parse_latencies_trt(data)" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "811cd848-c95a-430d-840a-1442119757d7", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Number of power entries for conv_k1_s1_o6: 17007\n", + "Number of TensorRT layers in conv_k1_s1_o6: 1\n", + "Number of latency entries for each layer: 3000\n", + "Inference for 3000 cycles: 3.679834 seconds\n" + ] + } + ], + "source": [ + "print(f\"Number of power entries for {model_name}: {len(power_data)}\")\n", + "print(f\"Number of TensorRT layers in {model_name}: {len(latency_data[0])}\")\n", + "print(f\"Number of latency entries for each layer: {len(latency_data)}\")\n", + "print(f\"Inference for {len(latency_data)} cycles: {(latency_data[len(latency_data)-1][0][2]-latency_data[0][0][1]).total_seconds()} seconds\")" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "74c267eb-b722-43dc-a7c6-8e95712a40a6", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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Tvjll1+kxx944AFMmTJFuv3CCy9Ao9Hg1KlTAICioiJ4eXlJ+7emnxkRkbX+vpiFtzacwPKdyVi+MxnLdpzHWz+fkLtaNqPay7p47/gqH2s1vBUe3viwdHth4EIU51eehqBp/6aYmDBRuv1h+IfI/ye/QrlZwiyr6/j9998jMjISEREReOSRR/DCCy8gLi4OGo0GsbGxePDBB5Gbmwtvb28AwK+//or8/HyMHj269D3Gx+M///kPPv/8c7Rq1Qrbt2/HI488goCAAPTv31/azquvvoqFCxeiefPmqFevHlJTUzF8+HDMmzcPer0eK1euxMiRI5GYmIgmTZoAAMaPH49//vkHCQkJcHV1xUsvvYT09HSz+j/44IPw8PDA5s2b4efnhyVLlmDQoEE4ffo06tevb/X+MPXiiy9i5cqV+P333zFmzJhavVZ1zp49i++//x4///wzsrOz8fjjj+PZZ5/FqlWrAAAffvghFi1ahCVLlqBz58746quvcM899+D48eNo1aoV+vfvjyVLlkivt23bNjRs2BAJCQmIjIzE/v37UVxcjF69egGo+WdGRGStnFsX6w283NC7ZUP8dOQycgpLbvMs5VBtC4wSLFu2DI888ggAYOjQocjKysK2bdsAAEOGDIGXlxfWrVsnlf/mm29wzz33wMfHB4WFhZg/fz6++uorDBkyBM2bN8fEiRPxyCOPmP2gAsBbb72Fu+66Cy1atED9+vXRsWNH/Otf/0L79u3RqlUrzJ07Fy1atMBPP/0EADh16hS2bNmCpUuXomfPnujSpQu+/PJL3Lx5U3rNHTt2YN++fVizZg26deuGVq1aYeHChfD39zdrUagpcexKcnKyxc85evQovL29zf49/fTT1T6noKAAK1euRKdOndCvXz98/PHHWL16Na5cuQIAWLhwIWbMmIGHHnoIEREReOedd9CpUyepJWrAgAE4ceIErl27hhs3buDEiROYOnUqEhISAJS2qHTv3h2enp61+syIiKxluJVep5GvO8Z2DwMAGI3qSbmj2haYuNy4Kh/T6szjtmnp06osq9GaL5A3NXlq7Sp2S2JiIvbt2ycFKC4uLhg7diyWLVuGAQMGwMXFBWPGjMGqVavw6KOPIi8vDz/++CNWr14NoLTlID8/H3fddZfZ6xYVFaFz585m93Xr1s3sdm5uLmbPno2NGzciLS0N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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot([power for (_, power) in power_data])\n", + "plt.axhline(avg_power, color='purple', linestyle='--', label='Average IDLE power')\n", + "first_inference_start_index = get_power_index(power_data, latency_data[0][0][1])\n", + "last_inference_end_index = get_power_index(power_data, latency_data[2999][0][2])\n", + "plt.axvline(first_inference_start_index, color='green', label='First inference start')\n", + "plt.axvline(last_inference_end_index, color='red', label='Last inference end')\n", + "plt.legend()" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "f181155f-1e23-4821-b519-b360ae154ae6", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Computing layer metrics...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Mapping power to layer: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████| 3000/3000 [00:00<00:00, 957676.54it/s]\n" + ] + } + ], + "source": [ + "metrics = compute_layer_metrics_by_cycle(power_data, latency_data, avg_power)\n", + "metrics_df_k2 = pd.DataFrame.from_dict(metrics)" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "9b178496-105f-4b88-b3c5-13d5cfe74d64", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
cyclelayer_power_including_idle_power_micro_wattlayer_power_excluding_idle_power_micro_wattlayer_run_time
count3000.0000005.860000e+025.860000e+023000.000000
mean1500.5000004.542134e+069.658885e+050.275116
std866.1697291.682858e+051.682858e+050.007800
min1.0000003.731904e+061.556590e+050.253248
25%750.7500004.534464e+069.582190e+050.276448
50%1500.5000004.614720e+061.038475e+060.277184
75%2250.2500004.614720e+061.038475e+060.277856
max3000.0000004.694976e+061.118731e+060.323584
\n", + "
" + ], + "text/plain": [ + " cycle layer_power_including_idle_power_micro_watt \\\n", + "count 3000.000000 5.860000e+02 \n", + "mean 1500.500000 4.542134e+06 \n", + "std 866.169729 1.682858e+05 \n", + "min 1.000000 3.731904e+06 \n", + "25% 750.750000 4.534464e+06 \n", + "50% 1500.500000 4.614720e+06 \n", + "75% 2250.250000 4.614720e+06 \n", + "max 3000.000000 4.694976e+06 \n", + "\n", + " layer_power_excluding_idle_power_micro_watt layer_run_time \n", + "count 5.860000e+02 3000.000000 \n", + "mean 9.658885e+05 0.275116 \n", + "std 1.682858e+05 0.007800 \n", + "min 1.556590e+05 0.253248 \n", + "25% 9.582190e+05 0.276448 \n", + "50% 1.038475e+06 0.277184 \n", + "75% 1.038475e+06 0.277856 \n", + "max 1.118731e+06 0.323584 " + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "metrics_df_k2.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "56d3e44f-6121-4864-8b1a-4a518ff4e1c4", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "cycle 3000\n", + "layer_power_including_idle_power_micro_watt 586\n", + "layer_power_excluding_idle_power_micro_watt 586\n", + "layer_run_time 3000\n", + "dtype: int64" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "metrics_df_k2.count()" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "e30edc4b-a127-4e82-8452-2643f8c51045", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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j+vbb7/V+PHjNXbsWP3rX/+SJPXv31/bt293fMlv27ZN1157reNn7ujRo0pPT9eAAQMkSevWrdMf/vAHzZs3T3v37tWzzz6rJ598Uq+88opTXTNnzlRcXJz27t2r6OjoKr2OF154QRs2bND777+vrVu3avjw4dqyZYu2bNmi1157TStWrHD68j9XWVmZ7rzzTu3YsUOvv/66vv/+e82fP1+enp5O51iwYIFWr16t7777Tk2aNLno5+9iLuez6eHhoRdeeEHfffedXnnlFf3zn//UjBkzJEm9e/fW0qVLFRgYqGPHjunYsWOaNm2aNm7cqFatWunpp592bEctYQGWZfXv39+Ki4urdF9KSoolycrLy7Msy7KOHj1qeXp6Wl988YVlWZZVXFxsXXvttdbatWsty7KsTz/91AoMDLROnz7tdJzw8HBrxYoVlmVZ1pw5c6xrrrnGysrKqlaNHTt2tMrKyhzb4uPjrY4dO1qWZVkHDhywJFk7duxw7P/Pf/5j+fr6Wn/9618ty7KsF154wbrhhhssy7Ks5ORk65ZbbrFiYmKs5cuXW5ZlWYMGDbL+3//7f1f9dZz7Xl933XXWqFGjHI/LysqsJk2aOGpasWKFFRAQYP3yyy+VHm/OnDlWt27dLnh8y7KsmJgY6/7777csy7L2799vSbJ27drl2L93715LkvXcc885tkmy3n77bcuyLOvw4cOWJGv16tWO/d99950lydq7d69lWZZ1zz33WEOHDnU678iRI62goKCLvR0XfB3Nmze3Fi5c6Hh85swZq1WrVlZMTEylr/WHH36wPD09raNHjzodd+DAgdasWbMuef41a9ZYkqzPP//csa38fSn/We/du7f18MMPOz3v7rvvtoYMGWJZlmX9+uuvloeHh5WSkmKVlZVZjRo1shITE61bbrnFsizLev31162WLVs6nhseHm6tX7/e6XjPPPOMFRkZaVnWf9/3pUuXXrL+iq8jLS3NsW38+PGW3W53fIYty7Kio6Ot8ePHOx5fd911jv//H3zwgeXh4WHt37//oufYvXu3Y1tVPn8XU53PZmXefPNNKyQkxKnGyn72zn2dqD3oGcF5UlNTddddd6l169YKCAhQ//79JUkZGRmSpBYtWmjo0KF6+eWXJUl///vfVVRUpLvvvluS9M033yg/P18hISGOcQD+/v46fPiw0tPTHee57rrrqn2d+tZbb3XqWo2MjNTBgwdVWlqqvXv3ysvLS7fccotjf0hIiDp06KC9e/dKOvuX6/fff68TJ05o27ZtGjBggAYMGKCtW7fqzJkz+uyzzxx/tV7N11FR165dHf9ts9nUrFkzR0/F7t27ddNNN9XYWJPy96lHjx6ObREREVW6nHJuneVd6OV17t+/XzfffLNT+4qPqyonJ0fHjh1z+n/p5eWlnj17XvA5e/bsUWlpqdq3b+/0/2vbtm1O/78uxsvLS7169XI8Ln9fyn9+9u7dq6ioKKfnREVFOfYHBwerW7du2rp1q/bs2SNvb2898sgj+vrrr5Wfn69t27Y5Pk+nTp1Senq6HnroIad6ExISzqv3Yq+7Mna7XeHh4Y7HTZs2VVhYmNOYnKZNm16wN2z37t1q1aqV2rdvf8FzeHt7O/08VOXzdzHV+WxK0j/+8Q8NHDhQLVu2VEBAgEaPHq1ffvnFcRkHdQsDWOHk1KlTio6OVnR0tNatW6fGjRsrIyND0dHRKi4udrQbN26cRo8ereeee05r1qzRPffc4+g+zc/PV/PmzSu9Vn/uF56JkftdunRRo0aNtG3bNm3btk3z5s1Ts2bNtGDBAqWkpOjMmTPq3bu3JNe+jooDEm02m+MyjK+vb7WO5eHhcd7Yikt1k1fVuXWWh8IruVxUk/Lz8+Xp6anU1FSnywmSXDowtvwLtEGDBurfv78aNWqkjh07avv27dq2bZsef/xxR73S2XE2536BSzqv/ur+jFX283Sxn7GKqvIz5+vrW6NjLqrz2Txy5IiGDRumRx99VPPmzVOjRo20fft2PfTQQyouLnb8LkLdQRiBk3379umXX37R/PnzFRoaKkn68ssvz2s3ZMgQ+fn5afny5Xr//ff1ySefOPZ1795dP//8s7y8vBQWFlaj9VUctPn555+rXbt28vT0VMeOHVVSUqIvvvjC8Uvrl19+0f79+9WpUydJZ38B9+3bV5s2bdJ3332nPn36yG63q6ioSCtWrFDPnj0dv/iv5uuojq5du2r16tU6efJklXpHGjdu7HQtvLS0VN9++61uu+02SWf/2i8pKVFqaqqjF2D//v3n3QJZXR06dFBKSorTtoqPqyooKEjNmzfXF198oX79+kmSo+bu3btX+pybbrpJpaWlysrKUt++fS/rvCUlJfryyy8dPTrl70vHjh0lSR07dtSOHTt0//33O56zY8cOx8+XdPYv/JdfflleXl4aPHiwpLMB5Y033tCBAwccf903bdpULVq00KFDhzRy5MjLqvdq6dq1q3788UcdOHDgor0j56rK5+9iqvPZTE1NVVlZmZYsWeK4g+evf/2r0/G8vb2dBuheajvM4jINnLRu3Vre3t764x//qEOHDumdd97RM888c147T09PPfDAA5o1a5batWunyMhIx75BgwYpMjJSsbGx+vDDD3XkyBF99tlneuKJJyoNNtWRkZGhqVOnav/+/XrjjTf0xz/+UXFxcZKkdu3aKSYmRg8//LC2b9+ub775RqNGjVLLli0VExPjOEb5F8ONN94of39/eXh4qF+/flq3bp2jC/1qv47qGDFihJo1a6bY2Fjt2LFDhw4d0t/+9rfz7mQp95vf/Ebvvvuu3n33Xe3bt0+PPvqoU9Do0KGDBg8erPHjx+uLL75Qamqqxo0bV+0emIoee+wxbdmyRUlJSTp48KBWrFih995777L/eo6Li9P8+fOVnJysffv2acKECRcNTO3bt9fIkSM1ZswYbdy4UYcPH9auXbuUmJiod999t0rnvOaaa/TYY4853pcHHnhAt956qyOcTJ8+XWvXrtXy5ct18OBBJSUlaePGjZo2bZrjGP369VNeXp42b97sCB4DBgzQunXr1Lx5c6cv97lz5yoxMVEvvPCCDhw4oD179mjNmjVKSkqq/htWg/r3769+/frpf/7nf/TRRx/p8OHDeu+995zuCqqoqp+/i6nqZ7Nt27Y6c+aM4/fUa6+9pj//+c9OxwoLC1N+fr4+/vhj/ec//3FcvgkLC9Mnn3yio0eP6j//+c9lvDu4GggjcNK4cWOtXbtWb775pjp16qT58+efdxtvufIu0bFjxzptt9ls2rJli/r166exY8eqffv2uvfee/XDDz+oadOmV1TfmDFjVFhYqJtvvlkTJ05UXFycHnnkEcf+NWvWqEePHho2bJgiIyNlWZa2bNni1EXdv39/lZaWOl1/HjBgwHnbrubrqA5vb299+OGHatKkiYYMGaIuXbqcd2fDuR588EHdf//9GjNmjPr376/rr7/e0StSbs2aNWrRooX69++v3/72t3rkkUfUpEmTK6ozKipKf/7zn5WUlKRu3brp/fff15QpU6p0u3NlHn/8cY0ePVr333+/IiMjFRAQoOHDh1/0OWvWrNGYMWP0+OOPq0OHDoqNjVVKSopat25dpXPa7XbFx8frvvvuU1RUlPz9/fWXv/zFsT82NlbPP/+8Fi9erBtuuEErVqzQmjVrnH5uGjZsqC5duqhx48aKiIiQdDaglJWVOX2hSmcvd65evVpr1qxRly5d1L9/f61du1Zt2rSp4rt09fztb39Tr169NGLECHXq1EkzZsy4ZI9CVT5/F1PVz2a3bt2UlJSkBQsWqHPnzlq3bp0SExOdjtW7d2/9/ve/1z333KPGjRtr4cKFkqSnn35aR44cUXh4+BWP9ULNsVkVLy4DVfTpp59q4MCByszMdMmX84ABA3TjjTcyZXUd8vDDD2vfvn369NNPTZdySReasRPA1ceYEVRbUVGRTpw4oaeeekp33323S3sJULstXrxYt99+u/z8/PTee+/plVdecZrECwAqw2UaVNsbb7yh6667TtnZ2Y6uzyuVkZHhdHtjxX/ltxXXdu7yOi7Xrl27dPvtt6tLly7685//rBdeeEHjxo2TJN1www0XfF8uNatoTbjzzjsveP5nn332qp+/ptTV11FX64ZrcJkGtUJJSYmOHDlywf1hYWHy8qr9HXnu8jquhh9++OGCtxg3bdpUAQEBV/X8R48eVWFhYaX7GjVqVGfWDKqrr6Ou1g3XIIwAAACjuEwDAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwKj/D4/pAhFGmR2NAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "metrics_df_k2.boxplot(column='layer_power_including_idle_power_micro_watt', grid=False)" + ] + }, + { + "cell_type": "markdown", + "id": "1c568ab1-e5d5-49a6-913e-57eae02cd464", + "metadata": { + "jp-MarkdownHeadingCollapsed": true + }, + "source": [ + "### Kernel 1 Stride 1 Output 12" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "bc91735e-e9aa-4576-b444-81ab76cff484", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 17255/17255 [00:00<00:00, 104684.84it/s]\n", + "Preprocessing latency data: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1/1 [00:00<00:00, 34.44it/s]\n" + ] + } + ], + "source": [ + "model_name = 'conv_k1_s1_o12'\n", + "\n", + "with open((DATA_PATH/model_name/f'{model_name}_power_log.log'), 'r') as fp:\n", + " data = fp.readlines()\n", + "power_data = parse_power_log(data)\n", + "\n", + "with open((DATA_PATH/model_name/'trt_profiling/trt_layer_latency.json'), 'r') as fp:\n", + " data = json.load(fp)\n", + "latency_data = parse_latencies_trt(data)" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "12481a42-0095-4903-bb43-f5bc9ac3a53d", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Number of power entries for conv_k1_s1_o12: 17255\n", + "Number of TensorRT layers in conv_k1_s1_o12: 1\n", + "Number of latency entries for each layer: 3000\n", + "Inference for 3000 cycles: 3.8441 seconds\n" + ] + } + ], + "source": [ + "print(f\"Number of power entries for {model_name}: {len(power_data)}\")\n", + "print(f\"Number of TensorRT layers in {model_name}: {len(latency_data[0])}\")\n", + "print(f\"Number of latency entries for each layer: {len(latency_data)}\")\n", + "print(f\"Inference for {len(latency_data)} cycles: {(latency_data[len(latency_data)-1][0][2]-latency_data[0][0][1]).total_seconds()} seconds\")" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "98f3a4e8-c3a3-4b47-8fd7-b776fdec2e1f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot([power for (_, power) in power_data])\n", + "plt.axhline(avg_power, color='purple', linestyle='--', label='Average IDLE power')\n", + "first_inference_start_index = get_power_index(power_data, latency_data[0][0][1])\n", + "last_inference_end_index = get_power_index(power_data, latency_data[2999][0][2])\n", + "plt.axvline(first_inference_start_index, color='green', label='First inference start')\n", + "plt.axvline(last_inference_end_index, color='red', label='Last inference end')\n", + "plt.legend()" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "4968dca2-cfe9-4a62-995e-a86cd8c8fa56", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Computing layer metrics...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Mapping power to layer: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████| 3000/3000 [00:00<00:00, 43735.62it/s]\n" + ] + } + ], + "source": [ + "metrics = compute_layer_metrics_by_cycle(power_data, latency_data, avg_power)\n", + "metrics_df_k3 = pd.DataFrame.from_dict(metrics)" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "439b7e9c-1f07-446c-864b-9795ee650c35", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
cyclelayer_power_including_idle_power_micro_wattlayer_power_excluding_idle_power_micro_wattlayer_run_time
count3000.0000006.520000e+026.520000e+023000.000000
mean1500.5000004.660695e+061.084450e+060.280937
std866.1697292.047775e+052.047775e+050.022526
min1.0000003.731904e+061.556590e+050.258080
25%750.7500004.654848e+061.078603e+060.281248
50%1500.5000004.735104e+061.158859e+060.282112
75%2250.2500004.775232e+061.198987e+060.283040
max3000.0000004.775232e+061.198987e+060.755488
\n", + "
" + ], + "text/plain": [ + " cycle layer_power_including_idle_power_micro_watt \\\n", + "count 3000.000000 6.520000e+02 \n", + "mean 1500.500000 4.660695e+06 \n", + "std 866.169729 2.047775e+05 \n", + "min 1.000000 3.731904e+06 \n", + "25% 750.750000 4.654848e+06 \n", + "50% 1500.500000 4.735104e+06 \n", + "75% 2250.250000 4.775232e+06 \n", + "max 3000.000000 4.775232e+06 \n", + "\n", + " layer_power_excluding_idle_power_micro_watt layer_run_time \n", + "count 6.520000e+02 3000.000000 \n", + "mean 1.084450e+06 0.280937 \n", + "std 2.047775e+05 0.022526 \n", + "min 1.556590e+05 0.258080 \n", + "25% 1.078603e+06 0.281248 \n", + "50% 1.158859e+06 0.282112 \n", + "75% 1.198987e+06 0.283040 \n", + "max 1.198987e+06 0.755488 " + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "metrics_df_k3.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "2a0a92ee-ddcd-4ebe-a838-ddf6142a6b3f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "cycle 3000\n", + "layer_power_including_idle_power_micro_watt 652\n", + "layer_power_excluding_idle_power_micro_watt 652\n", + "layer_run_time 3000\n", + "dtype: int64" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "metrics_df_k3.count()" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "7c354213-2702-4238-9327-15da7621284c", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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27a64oorHLZ37dpVR48eVWVlpby8vM46T/PmzdW8efP6vhYAANAE1SuMDBo0SLm5uQ7bxo0bpy5duig1NfWsICJJ/fr105o1a1RTU6NmzX7viNm9e7fatm1baxABAADupV6Xafz9/dWjRw+HL19fXwUFBalHjx6SpLFjx2ratGn25zz22GMqKipSYmKidu/erffff19z5szRxIkTG/eVAACAJqnB84ycy4EDB+w9IJIUHh6ujz76SElJSYqJiVH79u2VmJio1NTUxj41AABogi46jGzatOm8jyWpT58++uqrry72VAAAwAWxNg0AADAVYQQAAJiKMAIAAExFGAEAAKYijAAAAFMRRgAAgKkIIwAAwFSEEQAAYCrCCAAAMBVhBAAAmIowAgAATEUYAQAApiKMAAAAUxFGAACAqQgjAADAVIQRAABgKsIIAAAwFWEEAACYijACAABMRRgBAACmIowAAABTEUYAAICpCCMAAMBUhBEAAGAqwggAADAVYQQAAJjK0+wCADQ95eXl+vHHHxvlWHsLylRxdK/+m+unynz/iz5ely5d5OPj0wiVAXAWwgiAevvxxx91ww03NOox73m9cY6zbds2XX/99Y1zMABOQRgBUG9dunTRtm3bGuVYJ09V65ffyhXW2kfeV3hc9PG6dOnSCFUBcCbCCIB68/HxofcBQKNhACsAADAVYQQAAJiKMAIAAExFGAEAAKYijAAAAFMRRgCYprCwUJGRkfLz81NkZKQKCwvNLgmACbi1F4ApWrVqpZKSEvvj48ePq02bNgoICFBxcbF5hQFwOnpGADjd6UGke/fu2rBhg7p37y5JKikpUatWrUysDoCz0TMCwKkKCwvtQaSkpEQtW7aUJA0dOlSlpaUKCAhQSUmJCgsLFRwcbGapAJyEnhEATtWzZ09Jv/eI2IKITcuWLdW1a1eHdgBcH2EEgFPZBqnOmzev1v2zZ892aAfA9RFGADiV7dJLampqrfunT5/u0A6A6yOMAHCq7OxsSdIPP/yg0tJSh32lpaXauXOnQzsAro8wAsCpgoODFRAQIEkKCAhQt27dtH79enXr1s1hOz0jgPuwGIZhmF3EhZw+wv7MAW8AmqYz5xmxYZ4RwHXU9fObnhEApiguLlZBQYEiIiLk6+uriIgIFRQUEEQAN8Q8IwBMExwcrH379pldBgCT0TMCAABM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3TrdfPPN8vHx0TXXXKOtW7c6PCczM1Ph4eHy8fHRyJEjlZ6erlatWl3weyKdfZmmurpaU6ZMUatWrRQUFKSUlJQLLkNeUVGh5ORktW/fXr6+vurVq5c2bdpUp/OvXLlSrVq1UlZWljp27Chvb28NGTJEBw8edGj38ssvKyoqSl5eXurcubNWrVpl35ecnKxhw4bZHy9ZskQWi0UffvihfVuHDh20fPly++Ply5era9eu8vb2VpcuXZSRkWHfZ/u+//Wvf9WAAQPk7e1d6/9Vba9jw4YN6ty5s3x8fHTXXXepvLxcr7/+uiIiItS6dWv93//9n6qrq+3PO/MyTXFxscaPH6+QkBB5e3urR48e2rBhg8M53nvvPXXr1k3NmzfXgQMHzvv+O5+GvDfT09MVHR0tX19fhYeHa8KECbJarZKkTZs2ady4cSopKZHFYpHFYtGf//xnDRw4UD///LOSkpLs23F5IIzgLKdOndLzzz+v7777TllZWdq/f7/9g8xiseiBBx7QihUrHJ6zYsUK3XTTTerQoYMk6e6771ZBQYE++OADbdu2Tddff70GDRqkoqIi+3P27t2rv//971q3bp127NhRp9pef/11eXp6Kjs7Wy+88ILS09MdfrHff//9+uabb/Tee+9p69atMgxDd9xxh06dOiWLxaKbbrrJ/uH022+/aefOnTpx4oR+/PFHSdLmzZsVGxsrHx+fS/o6zrRo0SLdeOON+vbbbzVhwgQ99thj2rVrlyTJarVqwIABOnTokN577z199913SklJUU1NTYPOZfs+HTx4UP/+97/1zjvvKCMjwx44z2f69OlKTk7Wjh071KlTJ40aNUpVVVWSpC1btujRRx9VYmKiduzYoVtuuUWzZ89ucI2LFi3SypUr9dprr+mLL75QUVGR1q9ff97nTJo0SVu3btXatWv1n//8R3fffbduu+22On0gSlJ5eblmz56tN954Q1u2bFFxcbHuvfde+/7169crMTFRTzzxhL7//nuNHz9e48aN07///W9J0oABA/TFF1/YP+Q3b96sK6+80v4zd+jQIeXl5WngwIGSpNWrV+vZZ5/V7NmztXPnTs2ZM0fPPPOMXn/9dYe6nnzySSUmJmrnzp0aMmRInV7Hiy++qLVr1+rDDz/Upk2bNHLkSG3cuFEbN27UqlWrtHTpUocP/9PV1NTo9ttv15YtW/Tmm2/qv//9r+bOnSsPDw+Hc8ybN0/Lly/XDz/8oDZt2pz3/Xc+DXlvNmvWTC+++KJ++OEHvf766/rXv/6llJQUSVLfvn21ZMkStWzZUkeOHNGRI0eUnJysdevWKSwsTDNnzrRvx2XCAAzDGDBggJGYmFjrvpycHEOSUVZWZhiGYRw6dMjw8PAwvv76a8MwDKOystK48sorjZUrVxqGYRiff/650bJlS+PkyZMOx4mKijKWLl1qGIZhPPfcc8YVV1xhFBQU1KvGrl27GjU1NfZtqampRteuXQ3DMIzdu3cbkowtW7bY9//6669GixYtjL/97W+GYRjGiy++aHTv3t0wDMPIysoyevXqZYwYMcJ4+eWXDcMwjMGDBxtPPfXUJX8dp3+vr776aiM+Pt7+uKamxmjTpo29pqVLlxr+/v7GsWPHaj3ec889Z1xzzTXnPL5hGMaIESOM++67zzAMw9i1a5chycjOzrbv37lzpyHJWLx4sX2bJGP9+vWGYRjGvn37DEnG8uXL7ft/+OEHQ5Kxc+dOwzAM45577jGGDh3qcN4xY8YYAQEB5/t2nPN1tG3b1pg/f7798alTp4ywsDBjxIgRtb7Wn3/+2fDw8DAOHTrkcNxBgwYZ06ZNu+D5V6xYYUgyvvrqK/s22/fF9rPet29f4+GHH3Z43t13323ccccdhmEYxm+//WY0a9bMyMnJMWpqaozAwEAjLS3N6NWrl2EYhvHmm28a7du3tz83KirKWLNmjcPxnn/+eaNPnz6GYfzv+75kyZIL1n/m69i7d6992/jx4w0fHx/7e9gwDGPIkCHG+PHj7Y+vvvpq+///Rx99ZDRr1szYtWvXec+xY8cO+7a6vP/Opz7vzdq8/fbbRlBQkEONtf3snf46cfmgZwRn2bZtm4YPH66rrrpK/v7+GjBggCTpwIEDkqR27dpp6NCheu211yRJ//jHP1RRUaG7775bkvTdd9/JarUqKCjIPg7Az89P+/btU15env08V199db2vU/fu3duha7VPnz7as2ePqqurtXPnTnl6eqpXr172/UFBQercubN27twp6fe/XP/73/+qsLBQmzdv1sCBAzVw4EBt2rRJp06d0pdffmn/q/VSvo4zxcTE2P9tsVgUGhpq76nYsWOHrrvuukYba2L7Pt1www32bV26dKnT5ZTT67R1odvq3LVrl3r27OnQ/szHdVVSUqIjR444/F96enrqxhtvPOdzcnNzVV1drU6dOjn8f23evNnh/+t8PD09FRsba39s+77Yfn527typfv36OTynX79+9v2tWrXSNddco02bNik3N1deXl565JFH9O2338pqtWrz5s3299Px48eVl5enBx980KHeWbNmnVXv+V53bXx8fBQVFWV/HBISooiICIcxOSEhIefsDduxY4fCwsLUqVOnc57Dy8vL4eehLu+/86nPe1OS/vnPf2rQoEFq3769/P39lZCQoGPHjtkv46BpYQArHBw/flxDhgzRkCFDtHr1agUHB+vAgQMaMmSIKisr7e0eeughJSQkaPHixVqxYoXuuecee/ep1WpV27Zta71Wf/oHnhkj96OjoxUYGKjNmzdr8+bNmj17tkJDQzVv3jzl5OTo1KlT6tu3ryTnvo4zByRaLBb7ZZgWLVrU61jNmjU7a2zFhbrJ6+r0Om2h8GIuFzUmq9UqDw8Pbdu2zeFygiSnDoy1fYA2b95cAwYMUGBgoLp27aovvvhCmzdv1hNPPGGvV/p9nM3pH+CSzqq/vj9jtf08ne9n7Ex1+Zlr0aJFo465qM97c//+/Ro2bJgee+wxzZ49W4GBgfriiy/04IMPqrKy0v67CE0HYQQOfvzxRx07dkxz585VeHi4JOmbb745q90dd9whX19fvfzyy/rwww/12Wef2fddf/31Onr0qDw9PRUREdGo9Z05aPOrr75Sx44d5eHhoa5du6qqqkpff/21/ZfWsWPHtGvXLnXr1k3S77+A+/fvr3fffVc//PCD/vjHP8rHx0cVFRVaunSpbrzxRvsv/kv5OuojJiZGy5cvV1FRUZ16R4KDgx2uhVdXV+v777/XzTffLOn3v/arqqq0bds2ey/Arl27zroFsr46d+6snJwch21nPq6rgIAAtW3bVl9//bVuuukmSbLXfP3119f6nOuuu07V1dUqKChQ//79G3TeqqoqffPNN/YeHdv3pWvXrpKkrl27asuWLbrvvvvsz9myZYv950v6/S/81157TZ6enrrtttsk/R5Q3nrrLe3evdv+131ISIjatWunn376SWPGjGlQvZdKTEyMfvnlF+3evfu8vSOnq8v773zq897ctm2bampqtGjRIvsdPH/7298cjufl5eUwQPdC22EuLtPAwVVXXSUvLy/95S9/0U8//aT33ntPzz///FntPDw8dP/992vatGnq2LGj+vTpY983ePBg9enTR3Fxcfr444+1f/9+ffnll5o+fXqtwaY+Dhw4oClTpmjXrl1666239Je//EWJiYmSpI4dO2rEiBF6+OGH9cUXX+i7775TfHy82rdvrxEjRtiPYftguPbaa+Xn56dmzZrppptu0urVq+1d6Jf6ddTHqFGjFBoaqri4OG3ZskU//fST/v73v591J4vNn/70J73//vt6//339eOPP+qxxx5zCBqdO3fWbbfdpvHjx+vrr7/Wtm3b9NBDD9W7B+ZMjz/+uDZu3Kj09HTt2bNHS5cu1QcffNDgv54TExM1d+5cZWVl6ccff9SECRPOG5g6deqkMWPGaOzYsVq3bp327dun7OxspaWl6f3336/TOa+44go9/vjj9u/L/fffr969e9vDydSpU7Vy5Uq9/PLL2rNnj9LT07Vu3TolJyfbj3HTTTeprKxMGzZssAePgQMHavXq1Wrbtq3Dh/uMGTOUlpamF198Ubt371Zubq5WrFih9PT0+n/DGtGAAQN000036f/9v/+nTz75RPv27dMHH3zgcFfQmer6/jufur43O3TooFOnTtl/T61atUqvvPKKw7EiIiJktVr16aef6tdff7VfvomIiNBnn32mQ4cO6ddff23AdweXAmEEDoKDg7Vy5Uq9/fbb6tatm+bOnXvWbbw2ti7RcePGOWy3WCzauHGjbrrpJo0bN06dOnXSvffeq59//lkhISEXVd/YsWN14sQJ9ezZUxMnTlRiYqIeeeQR+/4VK1bohhtu0LBhw9SnTx8ZhqGNGzc6dFEPGDBA1dXVDtefBw4ceNa2S/k66sPLy0sff/yx2rRpozvuuEPR0dFn3dlwugceeED33Xefxo4dqwEDBugPf/iDvVfEZsWKFWrXrp0GDBigO++8U4888ojatGlzUXX269dPr7zyitLT03XNNdfoww8/VFJSUp1ud67NE088oYSEBN13333q06eP/P39NXLkyPM+Z8WKFRo7dqyeeOIJde7cWXFxccrJydFVV11Vp3P6+PgoNTVVo0ePVr9+/eTn56e//vWv9v1xcXF64YUXtHDhQnXv3l1Lly7VihUrHH5uWrdurejoaAUHB6tLly6Sfg8oNTU1Dh+o0u+XO5cvX64VK1YoOjpaAwYM0MqVKxUZGVnH79Kl8/e//12xsbEaNWqUunXrppSUlAv2KNTl/Xc+dX1vXnPNNUpPT9e8efPUo0cPrV69WmlpaQ7H6tu3rx599FHdc889Cg4O1vz58yVJM2fO1P79+xUVFXXRY73QeCzGmReXgTr6/PPPNWjQIB08eNApH84DBw7Utddey5TVTcjDDz+sH3/8UZ9//rnZpVzQuWbsBHDpMWYE9VZRUaHCwkL9+c9/1t133+3UXgJc3hYuXKhbbrlFvr6++uCDD/T66687TOIFALXhMg3q7a233tLVV1+t4uJie9fnxTpw4IDD7Y1nftluK77cucrraKjs7Gzdcsstio6O1iuvvKIXX3xRDz30kCSpe/fu5/y+XGhW0cZw++23n/P8c+bMueTnbyxN9XU01brhHFymwWWhqqpK+/fvP+f+iIgIeXpe/h15rvI6LoWff/75nLcYh4SEyN/f/5Ke/9ChQzpx4kSt+wIDA5vMmkFN9XU01brhHIQRAABgKi7TAAAAUxFGAACAqQgjAADAVIQRAABgKsIIAAAwFWEEAACYijACAABM9f8BWi82FQRoOI4AAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "metrics_df_k3.boxplot(column='layer_power_including_idle_power_micro_watt', grid=False)" + ] + }, + { + "cell_type": "markdown", + "id": "5a14f58b-7d36-4022-8c62-eb2c688ab00a", + "metadata": { + "jp-MarkdownHeadingCollapsed": true + }, + "source": [ + "### Kernel 1 Stride 1 Output 24" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "5fc0b0b7-0406-46c9-9a15-9174a2ffd0c0", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 17524/17524 [00:00<00:00, 103478.93it/s]\n", + "Preprocessing latency data: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1/1 [00:00<00:00, 21.25it/s]\n" + ] + } + ], + "source": [ + "model_name = 'conv_k1_s1_o24'\n", + "\n", + "with open((DATA_PATH/model_name/f'{model_name}_power_log.log'), 'r') as fp:\n", + " data = fp.readlines()\n", + "power_data = parse_power_log(data)\n", + "\n", + "with open((DATA_PATH/model_name/'trt_profiling/trt_layer_latency.json'), 'r') as fp:\n", + " data = json.load(fp)\n", + "latency_data = parse_latencies_trt(data)" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "id": "a2a103d9-5cf8-4f6d-bae0-db4d081c7beb", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Number of power entries for conv_k1_s1_o24: 17524\n", + "Number of TensorRT layers in conv_k1_s1_o24: 1\n", + "Number of latency entries for each layer: 3000\n", + "Inference for 3000 cycles: 3.936046 seconds\n" + ] + } + ], + "source": [ + "print(f\"Number of power entries for {model_name}: {len(power_data)}\")\n", + "print(f\"Number of TensorRT layers in {model_name}: {len(latency_data[0])}\")\n", + "print(f\"Number of latency entries for each layer: {len(latency_data)}\")\n", + "print(f\"Inference for {len(latency_data)} cycles: {(latency_data[len(latency_data)-1][0][2]-latency_data[0][0][1]).total_seconds()} seconds\")" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "id": "7175b0c4-a455-4404-9025-412629b8ee50", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot([power for (_, power) in power_data])\n", + "plt.axhline(avg_power, color='purple', linestyle='--', label='Average IDLE power')\n", + "first_inference_start_index = get_power_index(power_data, latency_data[0][0][1])\n", + "last_inference_end_index = get_power_index(power_data, latency_data[2999][0][2])\n", + "plt.axvline(first_inference_start_index, color='green', label='First inference start')\n", + "plt.axvline(last_inference_end_index, color='red', label='Last inference end')\n", + "plt.legend()" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "id": "fb0d5747-4547-41a9-bb33-5d9949ff24f5", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Computing layer metrics...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Mapping power to layer: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████| 3000/3000 [00:00<00:00, 675266.29it/s]\n" + ] + } + ], + "source": [ + "metrics = compute_layer_metrics_by_cycle(power_data, latency_data, avg_power)\n", + "metrics_df_k4 = pd.DataFrame.from_dict(metrics)" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "id": "1caaf39c-ccb5-4dc0-a9c2-bead7906c506", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
cyclelayer_power_including_idle_power_micro_wattlayer_power_excluding_idle_power_micro_wattlayer_run_time
count3000.0000008.250000e+028.250000e+023000.000000
mean1500.5000004.814339e+061.238094e+060.379417
std866.1697292.282365e+052.282365e+050.009036
min1.0000003.731904e+061.556590e+050.341248
25%750.7500004.815360e+061.239115e+060.379200
50%1500.5000004.935744e+061.359499e+060.381072
75%2250.2500004.935744e+061.359499e+060.383200
max3000.0000004.935744e+061.359499e+060.421856
\n", + "
" + ], + "text/plain": [ + " cycle layer_power_including_idle_power_micro_watt \\\n", + "count 3000.000000 8.250000e+02 \n", + "mean 1500.500000 4.814339e+06 \n", + "std 866.169729 2.282365e+05 \n", + "min 1.000000 3.731904e+06 \n", + "25% 750.750000 4.815360e+06 \n", + "50% 1500.500000 4.935744e+06 \n", + "75% 2250.250000 4.935744e+06 \n", + "max 3000.000000 4.935744e+06 \n", + "\n", + " layer_power_excluding_idle_power_micro_watt layer_run_time \n", + "count 8.250000e+02 3000.000000 \n", + "mean 1.238094e+06 0.379417 \n", + "std 2.282365e+05 0.009036 \n", + "min 1.556590e+05 0.341248 \n", + "25% 1.239115e+06 0.379200 \n", + "50% 1.359499e+06 0.381072 \n", + "75% 1.359499e+06 0.383200 \n", + "max 1.359499e+06 0.421856 " + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "metrics_df_k4.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "id": "1a07ab82-19c8-4462-a59e-6acf172486e7", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "cycle 3000\n", + "layer_power_including_idle_power_micro_watt 825\n", + "layer_power_excluding_idle_power_micro_watt 825\n", + "layer_run_time 3000\n", + "dtype: int64" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "metrics_df_k4.count()" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "id": "e382b2e4-c62b-4cec-b207-b1d65a6f660e", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 31, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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nCo8PFzSxRERf39/hzZ/f3+1adPGoR8A13ddYWT+/PmyWCyaMGHCVftlZ2dr/PjxCgwMlIeHhzp06KBNmzZdz6EB1FN5eXmSpDfffLPS9rlz5zr0A+D6ahxGEhMTtXTpUkVERFy1X3Fxse6//34dPXpUn3/+uQ4fPqzly5crKCiopocGUI/5+l68GV5sbGyl7TNmzHDoB8D11ehqmvz8fI0cOVLLly+3/xVzJR988IGysrL03XffqXHjxpKk0NDQmhwWgAvYv3+/goODlZmZqaysLIdTNVlZWTp58qS9H4CGoUYjI+PHj9eQIUM0cODAa/b98ssv1atXL40fP16tW7dW165d9cYbb8hms11xn6KiIuXm5jp8AXANQUFBslqtkqSAgAAFBgZq5cqVCgwMVEBAgCTJarUyego0INUeGVm3bp327NmjxMTEKvX/6aef9I9//EMjR47Upk2blJKSohdeeEElJSWaNWtWpfvExcVp9uzZ1S0NQD1RVFRkv7z35MmTGjdunL2NdUaAhqdaIyPp6emKiYnR2rVr5enpWaV9ysrK1KpVKy1btkx33HGHHn/8cb366qt6//33r7jP9OnTlZOTY/9KT0+vTpkA6oGioiIdP35czZs3l7u7u5o3b67jx48TRIAGqFojI0lJSTp16pTDrcNtNpu2bdumd999V0VFRXJzc3PYJzAwUI0bN3bY3rlzZ508eVLFxcX24dpLeXh4sOgR0ADk5+crNzdXNptNubm5ys/PN7skACaoVhgZMGBAhUllY8aMUadOnRQbG1shiEhSnz599Mknn6isrEyNGl0ciDly5IgCAwMrDSIAGgaLxeLw2GazqVOnTpIkwzDMKAmASap1msbX11ddu3Z1+PL29lZAQIC6du0qSRo9erSmT59u3+f5559XVlaWYmJidOTIEX311Vd64403NH78+Np9JQDqjUuDiIeHh+bOneswGnp5UAHg2mp9Bda0tDRlZmbaH4eEhOibb75RYmKiIiIi9Nvf/lYxMTGaNm1abR8aQD1w+PBh+78zMjJ04cIFvfrqq7pw4YLDEvCX9gPg2ixGPRgPzc3NlZ+fn3JyctS0aVOzywFwHdzd3WWz2eTh4aELFy5UaPf09LTPPystLTWhQgC1paqf39ybBoBTla8xNHPmzErbp06d6tAPgOtjZASAUzEyAjQcjIwAqJMO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eHi4/P39tXXrVm3dulXz5s1TmzZt9OabbyoxMVElJSXq3bu3JOe+jssnJFosFvtpmCZNmlTruRo1alRhbsW1hsmr6tI6y0Ph9Zwuqk35+flyc3NTUlKSw+kESU6dGFv+Aerh4aF+/frJ399fnTt31o4dO7R161a9/PLL9nqli/NsLv0Al1Sh/ur+jFX283S1n7HLVeVnrkmTJrU656I6782jR4/q4Ycf1vPPP6958+bJ399fO3bs0NixY1VcXGz/XYT6gzACB4cOHdLZs2c1f/58hYSESJJ++OGHCv0eeugheXt767333tPXX3+tbdu22du6d++ukydPyt3dXaGhobVa3+WTNv/1r3+pffv2cnNzU+fOnVVaWqrvv//e/kvr7NmzOnz4sLp06SLp4i/gvn37asOGDTpw4IDuueceeXl5qaioSEuXLtWdd95p/8V/I19HdURERGjFihXKysqq0uhIy5YtHc6F22w2/fjjj7rvvvskXfxrv7S0VElJSfZRgMOHD1e4BLK6OnbsqMTERIdtlz+uKj8/PwUGBur777/XvffeK0n2mrt3717pPrfffrtsNptOnTqlvn371ui4paWl+uGHH+wjOuXfl86dO0uSOnfurJ07d+qJJ56w77Nz5077z5d08S/8Dz74QO7u7ho8eLCkiwHl008/1ZEjR+x/3bdu3Vo33XSTfvrpJ40cObJG9d4oEREROn78uI4cOXLV0ZFLVeX9dzXVeW8mJSWprKxMb731lv0Knj/96U8Oz2e1Wh0m6F5rO8zFaRo4aNu2raxWq/7whz/op59+0pdffqnXX3+9Qj83Nzc9+eSTmj59utq3b69evXrZ2wYOHKhevXopKipK3377rY4eParvvvtOr776aqXBpjrS0tI0adIkHT58WJ9++qn+8Ic/KCYmRpLUvn17RUZG6umnn9aOHTu0b98+jRo1SkFBQYqMjLQ/R/kHQ7du3eTj46NGjRrp3nvv1dq1a+1D6Df6dVTH8OHD1aZNG0VFRWnnzp366aef9Oc//7nClSzlfv3rX+urr77SV199pUOHDun55593CBodO3bU4MGD9eyzz+r7779XUlKSxo0bV+0RmMu99NJL2rRpk+Lj45WcnKylS5dq8+bNNf7rOSYmRvPnz1dCQoIOHTqkF1544aqBqUOHDho5cqRGjx6t9evX6+eff9bu3bsVFxenr776qkrHbNy4sV566SX79+XJJ5/U3XffbQ8nU6ZM0erVq/Xee+8pOTlZ8fHxWr9+vSZPnmx/jnvvvVd5eXnauHGjPXj0799fa9euVWBgoMOH++zZsxUXF6d33nlHR44c0f79+7Vq1SrFx8dX/xtWi/r166d7771X/+///T/99a9/1c8//6zNmzc7XBV0uaq+/66mqu/Ndu3aqaSkxP57as2aNXr//fcdnis0NFT5+fn6+9//rjNnzthP34SGhmrbtm3KyMjQmTNnavDdwY1AGIGDli1bavXq1frss8/UpUsXzZ8/v8JlvOXKh0THjBnjsN1isWjTpk269957NWbMGHXo0EG/+c1vdOzYMbVu3fq66hs9erQKCwvVs2dPjR8/XjExMXrmmWfs7atWrdIdd9yhhx9+WL169ZJhGNq0aZPDEHW/fv1ks9kczj/379+/wrYb+Tqqw2q16ttvv1WrVq300EMPKTw8vMKVDZd66qmn9MQTT2j06NHq16+ffvWrX9lHRcqtWrVKN910k/r166dHH31UzzzzjFq1anVddfbp00fvv/++4uPjddttt+nrr7/WxIkTq3S5c2VefvllRUdH64knnlCvXr3k6+urRx555Kr7rFq1SqNHj9bLL7+sjh07KioqSomJiWrbtm2Vjunl5aXY2FiNGDFCffr0kY+Pj/74xz/a26OiovT73/9eixYt0q233qqlS5dq1apVDj83zZs3V3h4uFq2bKlOnTpJuhhQysrKHD5QpYunO1esWKFVq1YpPDxc/fr10+rVq3XLLbdU8bt04/z5z39Wjx49NHz4cHXp0kVTp0695ohCVd5/V1PV9+Ztt92m+Ph4vfnmm+ratavWrl2ruLg4h+fq3bu3nnvuOT3++ONq2bKlFixYIEmaM2eOjh49qrCwsOue64XaYzEuP7kMVNH27ds1YMAApaenO+XDuX///urWrRtLVtcjTz/9tA4dOqTt27ebXco1XWnFTgA3HnNGUG1FRUU6ffq0XnvtNQ0bNsypowSo2xYtWqT7779f3t7e2rx5sz788EOHRbwAoDKcpkG1ffrpp7r55puVnZ1tH/q8XmlpaQ6XN17+VX5ZcV3nKq+jpnbv3q37779f4eHhev/99/XOO+9o3LhxkqRbb731it+Xa60qWhsefPDBKx7/jTfeuOHHry319XXU17rhHJymQZ1QWlqqo0ePXrE9NDRU7u51fyDPVV7HjXDs2LErXmLcunVr+fr63tDjZ2RkqLCwsNI2f3//enPPoPr6Oupr3XAOwggAADAVp2kAAICpCCMAAMBUhBEAAGAqwggAADAVYQQAAJiKMAIAAExFGAEAAKb6/wBz9NC86ozq3wAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "metrics_df_k4.boxplot(column='layer_power_including_idle_power_micro_watt', grid=False)" + ] + }, + { + "cell_type": "markdown", + "id": "46ac528f-1526-4024-81ee-a21cb676919d", + "metadata": { + "jp-MarkdownHeadingCollapsed": true + }, + "source": [ + "### Kernel 1 Stride 1 Output 48" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "id": "6ef0f4ca-b361-45cf-aae9-7f9ab04a2a44", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 18563/18563 [00:00<00:00, 95928.07it/s]\n", + "Preprocessing latency data: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1/1 [00:00<00:00, 35.75it/s]\n" + ] + } + ], + "source": [ + "model_name = 'conv_k1_s1_o48'\n", + "\n", + "with open((DATA_PATH/model_name/f'{model_name}_power_log.log'), 'r') as fp:\n", + " data = fp.readlines()\n", + "power_data = parse_power_log(data)\n", + "\n", + "with open((DATA_PATH/model_name/'trt_profiling/trt_layer_latency.json'), 'r') as fp:\n", + " data = json.load(fp)\n", + "latency_data = parse_latencies_trt(data)" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "id": "87779b48-dbb9-4ab2-beb5-607cc22c99ad", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Number of power entries for conv_k1_s1_o48: 18563\n", + "Number of TensorRT layers in conv_k1_s1_o48: 1\n", + "Number of latency entries for each layer: 3000\n", + "Inference for 3000 cycles: 4.443237 seconds\n" + ] + } + ], + "source": [ + "print(f\"Number of power entries for {model_name}: {len(power_data)}\")\n", + "print(f\"Number of TensorRT layers in {model_name}: {len(latency_data[0])}\")\n", + "print(f\"Number of latency entries for each layer: {len(latency_data)}\")\n", + "print(f\"Inference for {len(latency_data)} cycles: {(latency_data[len(latency_data)-1][0][2]-latency_data[0][0][1]).total_seconds()} seconds\")" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "id": "59324a0b-2708-403c-94c5-21196f1e1212", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 34, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot([power for (_, power) in power_data])\n", + "plt.axhline(avg_power, color='purple', linestyle='--', label='Average IDLE power')\n", + "first_inference_start_index = get_power_index(power_data, latency_data[0][0][1])\n", + "last_inference_end_index = get_power_index(power_data, latency_data[2999][0][2])\n", + "plt.axvline(first_inference_start_index, color='green', label='First inference start')\n", + "plt.axvline(last_inference_end_index, color='red', label='Last inference end')\n", + "plt.legend()" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "id": "a547dce0-b6cf-465c-ae9f-32e8d2a3531c", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Computing layer metrics...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Mapping power to layer: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████| 3000/3000 [00:00<00:00, 857672.41it/s]\n" + ] + } + ], + "source": [ + "metrics = compute_layer_metrics_by_cycle(power_data, latency_data, avg_power)\n", + "metrics_df_k5 = pd.DataFrame.from_dict(metrics)" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "id": "7b72d3ab-6a79-4344-8ffa-b2143774b9bb", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
cyclelayer_power_including_idle_power_micro_wattlayer_power_excluding_idle_power_micro_wattlayer_run_time
count3000.0000001.274000e+031.274000e+033000.000000
mean1500.5000005.526986e+061.950741e+060.590957
std866.1697294.040801e+054.040801e+050.075636
min1.0000003.892416e+063.161710e+050.526400
25%750.7500005.497536e+061.921291e+060.550752
50%1500.5000005.658048e+062.081803e+060.552224
75%2250.2500005.778432e+062.202187e+060.659040
max3000.0000005.858688e+062.282443e+061.798816
\n", + "
" + ], + "text/plain": [ + " cycle layer_power_including_idle_power_micro_watt \\\n", + "count 3000.000000 1.274000e+03 \n", + "mean 1500.500000 5.526986e+06 \n", + "std 866.169729 4.040801e+05 \n", + "min 1.000000 3.892416e+06 \n", + "25% 750.750000 5.497536e+06 \n", + "50% 1500.500000 5.658048e+06 \n", + "75% 2250.250000 5.778432e+06 \n", + "max 3000.000000 5.858688e+06 \n", + "\n", + " layer_power_excluding_idle_power_micro_watt layer_run_time \n", + "count 1.274000e+03 3000.000000 \n", + "mean 1.950741e+06 0.590957 \n", + "std 4.040801e+05 0.075636 \n", + "min 3.161710e+05 0.526400 \n", + "25% 1.921291e+06 0.550752 \n", + "50% 2.081803e+06 0.552224 \n", + "75% 2.202187e+06 0.659040 \n", + "max 2.282443e+06 1.798816 " + ] + }, + "execution_count": 36, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "metrics_df_k5.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "id": "5c4b3175-1b91-4c59-ae69-3e8cbb15727a", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "cycle 3000\n", + "layer_power_including_idle_power_micro_watt 1274\n", + "layer_power_excluding_idle_power_micro_watt 1274\n", + "layer_run_time 3000\n", + "dtype: int64" + ] + }, + "execution_count": 37, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "metrics_df_k5.count()" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "id": "f4befb46-6729-41d4-a63f-3c435dbf0a61", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 38, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "metrics_df_k5.boxplot(column='layer_power_including_idle_power_micro_watt', grid=False)" + ] + }, + { + "cell_type": "markdown", + "id": "ec67d0d3-d112-4fe4-b428-260cdeadd177", + "metadata": {}, + "source": [ + "## Output shape Plot" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "id": "b7b1a726-98ae-4dca-bd4c-22042cd8530d", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0.5, 0, 'Output shape')" + ] + }, + "execution_count": 39, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkQAAAGwCAYAAABIC3rIAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAY7JJREFUeJzt3Xl8TOf+B/DPTDIJk0UWJMgiRBFCuBqiaVFLamkvulurbluu3ioXpZvS2+pOe1V31VZbpVXdtEpqqVISgki0kohESYJEZJnI+vz+8JtzZzKDGXJmOefzfr28ZM55cuabPJnJN895vs+jEUIIEBEREamY1tkBEBERETkbEyIiIiJSPSZEREREpHpMiIiIiEj1mBARERGR6jEhIiIiItVjQkRERESq5+nsANxBQ0MDTp06BT8/P2g0GmeHQ0RERDYQQqC8vBxt27aFVnv5MSAmRDY4deoUwsPDnR0GERERXYUTJ04gLCzssm2YENnAz88PwMVvqL+/v5OjuXoGgwFbt27FoEGDoNfrnR2OqrEvXAf7wnWwL1yLEvqjrKwM4eHh0u/xy2FCZAPjbTJ/f3+3Tog8PT2h1+vh7+/vtj/cSsG+cB3sC9fBvnAtSuoPW6a7cFI1ERERqR4TIiIiIlI9JkRERESkekyIiIiISPWYEBEREZHqMSEiIiIi1WNCRERERKrHhIiIiIhUjwkRERERqR4TIiIiIlI9JkRERESkekyIiIiISPWYEBEREZHqcbd7IiIihTt79iw2bdpk1+eUlFfhl7Rs5BecQZBfc5s/LykpCS1btrQ3RKdjQkRERKRwmzZtwoQJE67qczfY2X716tUYP378VT2XMzEhIiIiUrikpCSsXr3ars/Zm3sOa7PrcVe0B+KjAu16LnfEhIiIiEjhWrZsafeojW7PMXxTcQQ3DO2Ku/p2kCky18FJ1URERKR6TIiIiIhI9ZgQERERkeoxISIiIiLVY0JEREREqseEiIiIiFSPCRERERGpHhMiIiIiUj0mRERERKR6XKmaiIjIDf2adQbFFTWyXX//iVLpfy+vk7I8R7CvF27s1EqWa9uLCREREZGb+TXrDCZ+sNchz7UmtQBrUgtku/4nU+NdIiliQkRERORmjCNDE/pGoE/7IFmeo6SsEsn7jmDw37oiyN+nya+ferwEq/fkyzrKZQ8mRERERG6qT/sgjO7VTpZrGwwGBJcewdDrw6DX62V5jtV78mW57tXgpGoiIiJSPSZEREREpHpMiIiIiEj1mBARERGR6jEhIiIiItVjQkRERESqx4SIiIiIVI8JEREREakeEyIiIiJSPSZEREREpHpMiIiIiEj1mBARERGR6jEhIiIiItVjQkRERESqx4SIiIiIVM/T2QEQERGR/bTep3CwpASexwJluX5NdQ0OVx9GfV49vLy9mvz6B0vOQet9AUBck1/7ajAhIiIickPeId/hy79y8eVf8j7Pur3rZLu2d0gUgBGyXd8eTIiIiIjcUHXRrbjnpmb4W5SMI0Tph9E9trssI0T7cs/hox0Xmvy6V4sJERERkRtqqG6LnkFxGNWhnSzXNxgM8DjqgaGRQ6HX65v8+nXnT6Kh+kCTX/dqcVI1ERERqR4TIiIiIlI9JkRERESkekyIiIiISPWYEBEREZHqMSEiIiIi1WNCRERERKrHhIiIiIhUjwkRERERqR4TIiIiIlI9JkRERESkekyIiIiISPWYEBEREZHqMSEiIiIi1WNCRERERKrHhIiIiIhUjwkRERERqR4TIiIiIlI9pyZEzzzzDDQajdm/Ll26SOcHDhxocX7atGlm18jPz8fIkSOh1+vRunVrzJ07F3V1dWZttm3bht69e8Pb2xvR0dFYtWqVI748IiIichOezg6gW7du2LJli/TY09M8pAceeACLFy+WHuv1eunj+vp6jBw5EqGhodi1axcKCgowadIk6HQ6PP/88wCA3NxcjBw5EtOmTcOnn36K5ORk/OMf/0CbNm2QlJQk81dHRERE7sDpCZGnpydCQ0MveV6v11/y/M8//4zMzExs2bIFISEhiIuLw7PPPovHHnsMzzzzDLy8vPD2228jKioKr776KgCga9eu2LlzJ5YuXcqEiIiIiAC4QEKUlZWFtm3bolmzZkhISMCSJUsQEREhnf/000+xevVqhIaG4tZbb8VTTz0ljRLt3r0bsbGxCAkJkdonJSVh+vTpyMjIQK9evbB7924MGTLE7DmTkpLw6KOPXjKm6upqVFdXS4/LysoAALW1taitrW2KL9spjLcS6+rq3PrrUAL2hetgX7gO9oXtzlVeAABs+7MI9fX1sjxHSYUB23KA0y3yEeSrv/In2Glf/jkAF+/2yNXf9lzXqQlR3759sWrVKnTu3BkFBQVYtGgR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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "df = pd.concat(\n", + " [\n", + " metrics_df_k1[\"layer_power_including_idle_power_micro_watt\"] * 1e-3,\n", + " metrics_df_k2[\"layer_power_including_idle_power_micro_watt\"] * 1e-3,\n", + " metrics_df_k3[\"layer_power_including_idle_power_micro_watt\"] * 1e-3,\n", + " metrics_df_k4[\"layer_power_including_idle_power_micro_watt\"] * 1e-3,\n", + " metrics_df_k5[\"layer_power_including_idle_power_micro_watt\"] * 1e-3,\n", + " ],\n", + " axis=1,\n", + ")\n", + "\n", + "# set column names (will be displayed as plot labels)\n", + "df.columns = ['3', '6', '12', '24', '48'] \n", + "\n", + "# use pandas' boxplot method\n", + "df.boxplot().set_ylabel('Power (milliWatts)')\n", + "df.boxplot().set_xlabel('Output shape')" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "id": "e0c376f3-928a-46e0-8699-0e1b3082d8b4", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0.5, 0, 'Output shape')" + ] + }, + "execution_count": 40, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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VAg3AADAVAg3AADAVAg3AADAVAg3AADAVAg3AADAVAg3AADAVLyNrnDo0CF98cUXOnz4sPLy8lS/fn116tRJ0dHR8vf3r4gaAQAAnOZ0uHn77bf10ksvadu2bQoPD1ejRo1Us2ZNZWVl6eDBg/L399fgwYOVmJioJk2aVGTNAAAAF+RUuOnUqZN8fX0VGxurRYsWKTIy0mF5QUGBNm3apHfffVedO3fW9OnTdeedd1ZIwQAAABfjVLh54YUXFBMTc8Hlfn5+6tmzp3r27Knnn39eP/30k6vqAwAAMMSpcHOxYPNnoaGhCg0NLXdBAAAAl8Lw3VI7duzQnj177J+XLFmi/v3764knnpDVanVpcQAAAEYZDjf/93//p/3790uSfvzxR/3rX/9SQECAFi5cqISEBJcXCAAAYIThcLN//35FRUVJkhYuXKju3btrwYIFmjt3rhYtWuTq+gAAAAwxHG5sNpuKi4slSatWrdItt9wiSYqMjFRmZqZrqwMAADDIcLjp3LmzJkyYoHnz5mndunW69dZbJf32cL/w8HCXFwgAAGCE4XAzdepU7dixQ3FxcXryySfVokULSdIHH3ygbt26ubxAAAAAIwy/fqFDhw4Od0uVSElJUY0aNVxSFAAAQHkZDjcXwnulAACAJ3Aq3NStW1cWi8WpDWZlZV1SQQAAAJfCqXAzdepU+99PnTqlCRMmKCYmRtHR0ZKkTZs2afny5Xr66acrpEgAAABnORVuhg4dav/7P/7xD40fP15xcXH2tkcffVRpaWlatWqV4uPjXV8lAACAkwzfLbV8+XL17du3VHvfvn21atUqlxQFAABQXobDTWhoqJYsWVKqfcmSJbwwEwAAuJ3hu6WSkpL0wAMPaO3atbrmmmskSZs3b9ayZcs0a9YslxcIAABghOFwExsbqzZt2ujll1/Whx9+KElq06aNNmzYYA87AAAA7lKu59xcc801evvtt11dCwAAwCUzfM2NJBUXF2v//v3asGGD1q9f7/BjRHJysrp06aKgoCCFhYWpf//+2rdv31+ut3DhQrVu3Vr+/v5q3769li5dWp7DAAAAJmR45uarr77S3XffrcOHD8tmszkss1gsOn/+vNPbWrdunR555BF16dJFRUVFeuKJJ9SnTx999913CgwMLHOdjRs3atCgQUpOTla/fv20YMEC9e/fXzt27NCV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PHjQ0PGEhITIz89PR44c4RQUUIG4WwpAmdLS0lRQUKCYmBitX79eR48e1bJly9S7d29ddtllDhf83nDDDUpLS9POnTu1bds2PfTQQw6zIGFhYapZs6aWLVumjIwMnT171r7MarXq/vvv13fffaelS5fqmWeeUVxcnP16mxtuuEHz5s3TF198oT179mjo0KGlLhq+/PLLtXr1aqWnp+v06dNlHs9///tfvfPOO/r++++1f/9+LVy4UA0aNFCdOnWc+vdo2bKltm3bpuXLl2v//v16+umntXXr1lL9LnY8QUFBevzxxxUfH68333xTBw8e1I4dO/TKK6/ozTffdKoOAE6wAcAF/PTTT7ahQ4fawsPDbT4+PrbIyEjbiBEjbJmZmQ79jh8/buvTp48tMDDQ1rJlS9vSpUtttWvXts2ZM8feZ9asWbbIyEibl5eXrUePHjabzWYbOnSo7e9//7tt3LhxttDQUFutWrVsw4YNs/3666/29c6ePWu76667bMHBwbbIyEjb3LlzbR07drQ988wz9j4ff/yxrUWLFjZvb29bkyZNyjyWmTNn2qKiomyBgYG24OBg24033mjbsWOHfbkk20cffeSwzh+P4ddff7XFxsbaateubatTp47t4Ycfto0ZM8bWsWNHe39njqe4uNg2depUW6tWrWw+Pj62+vXr22JiYmzr1q376wEB4BSLzVYJVwwCQBliY2N15swZ0zxd2GzHA1RVnJYCAACmQrgBAACmwmkpAABgKszcAAAAUyHcAAAAUyHcAAAAUyHcAAAAUyHcAAAAUyHcAAAAUyHcAAAAUyHcAAAAU/l/jnB0NNn6NAkAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "df = pd.concat(\n", + " [\n", + " metrics_df_k1[\"layer_run_time\"],\n", + " metrics_df_k2[\"layer_run_time\"],\n", + " metrics_df_k3[\"layer_run_time\"],\n", + " metrics_df_k4[\"layer_run_time\"],\n", + " metrics_df_k5[\"layer_run_time\"],\n", + " ],\n", + " axis=1,\n", + ")\n", + "\n", + "# set column names (will be displayed as plot labels)\n", + "df.columns = ['3', '6', '12', '24', '48'] \n", + "\n", + "# use pandas' boxplot method\n", + "df.boxplot().set_ylabel('Latency (milliseconds)')\n", + "df.boxplot().set_xlabel('Output shape')" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "id": "c516f4f7-819d-4523-b743-6e1a12ac8b9c", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0.5, 0, 'Output shape')" + ] + }, + "execution_count": 41, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "df = pd.concat(\n", + " [ # microwatts converted to milliwatts * millseconds converted to seconds\n", + " metrics_df_k1[\"layer_power_including_idle_power_micro_watt\"] * 1e-3 * metrics_df_k1[\"layer_run_time\"] * 1e-3,\n", + " metrics_df_k2[\"layer_power_including_idle_power_micro_watt\"] * 1e-3 * metrics_df_k2[\"layer_run_time\"] * 1e-3,\n", + " metrics_df_k3[\"layer_power_including_idle_power_micro_watt\"] * 1e-3 * metrics_df_k3[\"layer_run_time\"] * 1e-3,\n", + " metrics_df_k4[\"layer_power_including_idle_power_micro_watt\"] * 1e-3 * metrics_df_k4[\"layer_run_time\"] * 1e-3,\n", + " metrics_df_k5[\"layer_power_including_idle_power_micro_watt\"] * 1e-3 * metrics_df_k5[\"layer_run_time\"] * 1e-3,\n", + " ],\n", + " axis=1,\n", + ")\n", + "\n", + "\n", + "# set column names (will be displayed as plot labels)\n", + "df.columns = ['3', '6', '12', '24', '48'] \n", + "\n", + "# use pandas' boxplot method\n", + "df.boxplot().set_ylabel('Energy mWs (milliWattssecond)')\n", + "df.boxplot().set_xlabel('Output shape')" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.11" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/jetson/power_logging/notebooks/explore_trt_stride_single_conv_layer.ipynb b/jetson/power_logging/notebooks/explore_trt_stride_single_conv_layer.ipynb new file mode 100644 index 00000000..dd598a9d --- /dev/null +++ b/jetson/power_logging/notebooks/explore_trt_stride_single_conv_layer.ipynb @@ -0,0 +1,1763 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "092683ca-8ae8-4f0f-b841-fa38b65260f9", + "metadata": {}, + "outputs": [], + "source": [ + "from pathlib import Path\n", + "import json\n", + "import matplotlib.pyplot as plt\n", + "import pandas as pd\n", + "\n", + "from utils import parse_latencies_trt, parse_power_log, get_power_index, compute_layer_metrics_by_cycle" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "50d04548-6650-4a0e-9a58-e9c49e7bce30", + "metadata": {}, + "outputs": [], + "source": [ + "DATA_PATH = Path('../raw_data/single_conv_layer_trt')" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "bbde6bce-f561-4508-b283-440b8cdcccde", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Average power consumed in IDLE state: 3576245.017657479\n" + ] + } + ], + "source": [ + "with open((DATA_PATH/'idling_power.json'), 'r') as fp:\n", + " data = json.load(fp)\n", + "\n", + "avg_power = data['avg_idle_power']\n", + "print(f'Average power consumed in IDLE state: {avg_power}')" + ] + }, + { + "cell_type": "markdown", + "id": "457c527c-035d-4955-a230-90385a803b6e", + "metadata": {}, + "source": [ + "## Single Convolution Layers\n" + ] + }, + { + "cell_type": "markdown", + "id": "bd5813c0-be9c-4512-a154-abc079f70749", + "metadata": {}, + "source": [ + "### Kernel 1 Stride 1 Output 3" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "ae671960-9d2f-4cc7-89d1-53b35cbdbd7d", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 17278/17278 [00:00<00:00, 93778.83it/s]\n", + "Preprocessing latency data: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1/1 [00:00<00:00, 34.45it/s]\n" + ] + } + ], + "source": [ + "model_name = 'conv_k1_s1_o3'\n", + "\n", + "with open((DATA_PATH/model_name/f'{model_name}_power_log.log'), 'r') as fp:\n", + " data = fp.readlines()\n", + "power_data = parse_power_log(data)\n", + "\n", + "with open((DATA_PATH/model_name/'trt_profiling/trt_layer_latency.json'), 'r') as fp:\n", + " data = json.load(fp)\n", + "latency_data = parse_latencies_trt(data)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "f4d50a23-75b0-4dd9-8d64-195445a02bbc", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Number of power entries for conv_k1_s1_o3: 17278\n", + "Number of TensorRT layers in conv_k1_s1_o3: 1\n", + "Number of latency entries for each layer: 3000\n", + "Inference for 3000 cycles: 3.771303 seconds\n" + ] + } + ], + "source": [ + "print(f\"Number of power entries for {model_name}: {len(power_data)}\")\n", + "print(f\"Number of TensorRT layers in {model_name}: {len(latency_data[0])}\")\n", + "print(f\"Number of latency entries for each layer: {len(latency_data)}\")\n", + "print(f\"Inference for {len(latency_data)} cycles: {(latency_data[len(latency_data)-1][0][2]-latency_data[0][0][1]).total_seconds()} seconds\")" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "431ae3c5-a518-44b5-b507-1bd345cbd268", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot([power for (_, power) in power_data])\n", + "plt.axhline(avg_power, color='purple', linestyle='--', label='Average IDLE power')\n", + "first_inference_start_index = get_power_index(power_data, latency_data[0][0][1])\n", + "last_inference_end_index = get_power_index(power_data, latency_data[2999][0][2])\n", + "plt.axvline(first_inference_start_index, color='green', label='First inference start')\n", + "plt.axvline(last_inference_end_index, color='red', label='Last inference end')\n", + "plt.legend()" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "50df5f3d-3fcb-4677-807e-36d66706b288", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Computing layer metrics...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Mapping power to layer: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████| 3000/3000 [00:00<00:00, 390955.79it/s]\n" + ] + } + ], + "source": [ + "metrics = compute_layer_metrics_by_cycle(power_data, latency_data, avg_power)\n", + "metrics_df_k1 = pd.DataFrame.from_dict(metrics)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "4be08b80-2db9-4f6e-a964-f0b269f73dbb", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
cyclelayer_power_including_idle_power_micro_wattlayer_power_excluding_idle_power_micro_wattlayer_run_time
count3000.0000005.880000e+02588.0000003000.000000
mean1500.5000004.461032e+06884787.4721380.273359
std866.1697291.485564e+05148556.3788900.053302
min1.0000003.731904e+06155658.9823430.251808
25%750.7500004.494336e+06918090.9823430.274720
50%1500.5000004.534464e+06958218.9823430.275648
75%2250.2500004.534464e+06958218.9823430.276352
max3000.0000004.534464e+06958218.9823432.946720
\n", + "
" + ], + "text/plain": [ + " cycle layer_power_including_idle_power_micro_watt \\\n", + "count 3000.000000 5.880000e+02 \n", + "mean 1500.500000 4.461032e+06 \n", + "std 866.169729 1.485564e+05 \n", + "min 1.000000 3.731904e+06 \n", + "25% 750.750000 4.494336e+06 \n", + "50% 1500.500000 4.534464e+06 \n", + "75% 2250.250000 4.534464e+06 \n", + "max 3000.000000 4.534464e+06 \n", + "\n", + " layer_power_excluding_idle_power_micro_watt layer_run_time \n", + "count 588.000000 3000.000000 \n", + "mean 884787.472138 0.273359 \n", + "std 148556.378890 0.053302 \n", + "min 155658.982343 0.251808 \n", + "25% 918090.982343 0.274720 \n", + "50% 958218.982343 0.275648 \n", + "75% 958218.982343 0.276352 \n", + "max 958218.982343 2.946720 " + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "metrics_df_k1.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "9dab2065-5d9d-45fb-9e01-e150634a83fd", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "cycle 3000\n", + "layer_power_including_idle_power_micro_watt 588\n", + "layer_power_excluding_idle_power_micro_watt 588\n", + "layer_run_time 3000\n", + "dtype: int64" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "metrics_df_k1.count()" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "e13d24ab-0ad1-40d8-b885-703cb3b47767", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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+fLl6ty5swICAhQeHq7HHntMOTk5ki7e9Khp06aaNWuW3XPS0tJksVh04MABSVJubq5GjRqlunXrKjAwUL/73e/0008/2fqXD8kvXrxYTZo0kbe393Xr6tWrl8aOHauxY8cqKChIt99+u15++WW7W1P/9ttvGj58uIKDg+Xr66sHHnhA+/fvt9Vet25dffjhh7b+HTp0UP369W3bW7dulZeXl4qKim7q+7j0r7KoqCi9/vrrevLJJxUQEKBGjRpp0aJFds85duyYBg8erJCQEPn5+alz58767rvvKvX6khQXF6cnnnjCtp2Tk6OHHnpIPj4+atKkiVauXHnF61x6mubIkSOyWCxau3at7rvvPvn6+qp9+/bavn273XOSk5MVGRkpX19fDRo0SLNnz1adOnWu+zWRrjxNU1paqgkTJqhOnToKDQ1VQkLCdW9DbrVaNXHiRDVs2FB+fn666667tHnz5kodf9myZapTp45SUlLUrFkzeXt7q2/fvsrMzLTrt2DBAkVHR8vT01MtWrTQ8uXLbW0TJ07Ugw8+aNueO3euLBaLPv/8c9u+pk2bavHixbbtxYsXq1WrVvL29lbLli01f/58W1v51/0f//iHevbsKW9v7wr/ryp6H+vXr1eLFi3k6+urhx9+WEVFRXrvvfcUFRWl4OBg/b//9/9UWlpqe97lp2lyc3M1evRohYWFydvbW23bttX69evtjvHJJ5+odevW8vLyUkZGxjV//q6lKj+bs2fPVrt27eTn56fIyEg999xzKigokCRt3rxZI0aMUF5eniwWiywWi/7617+qV69eOnr0qMaPH2/bj1sDYQRXuHDhgl577TX99NNPSklJ0ZEjR2wfZBaLRU8++aSWLl1q95ylS5eqR48eatq0qSTpkUceUU5Ojj777DPt3LlTHTt2VO/evXXmzBnbcw4cOKCPPvpIa9euVVpaWqVqe++99+Th4aEdO3bo7bff1uzZs+1+sT/xxBP6/vvv9cknn2j79u0yDEP9+/fXhQsXZLFY1KNHD9uH02+//abdu3fr3Llz2rNnjyRpy5Yt6tKli3x9fW/q+7jcW2+9pc6dO+vHH3/Uc889p2effVZ79+6VJBUUFKhnz546fvy4PvnkE/30009KSEhQWVlZlY5V/nXKzMzUv//9b3344YeaP3++LXBey4svvqiJEycqLS1NzZs31+DBg1VSUiJJ2rZtm5555hnFx8crLS1N999/v2bMmFHlGt966y0tW7ZM7777rrZu3aozZ85o3bp113zO2LFjtX37dq1evVo///yzHnnkEfXr169SH4iSVFRUpBkzZuj999/Xtm3blJubq0cffdTWvm7dOsXHx+uFF17QL7/8otGjR2vEiBH697//LUnq2bOntm7davuQ37Jli26//Xbb99zx48d18OBB9erVS5K0cuVK/eUvf9GMGTO0e/duvf7663r55Zf13nvv2dU1ZcoUxcfHa/fu3erbt2+l3se8efO0evVqff7559q8ebMGDRqkDRs2aMOGDVq+fLkWLlxo9+F/qbKyMj3wwAPatm2bVqxYoV9//VUzZ86Uu7u73THeeOMNLV68WLt27VK9evWu+fN3LVX52XRzc9O8efO0a9cuvffee/q///s/JSQkSJK6deumuXPnKjAwUFlZWcrKytLEiRO1du1aRUREaNq0abb9uEUYgGEYPXv2NOLj4ytsS01NNSQZZ8+eNQzDMI4fP264u7sb3333nWEYhlFcXGzcfvvtxrJlywzDMIyvv/7aCAwMNM6fP2/3OtHR0cbChQsNwzCMV155xbjtttuMnJwch2ps1aqVUVZWZts3efJko1WrVoZhGMa+ffsMSca2bdts7f/5z38MHx8f45///KdhGIYxb948o02bNoZhGEZKSopx1113GQMHDjQWLFhgGIZh9OnTx/jzn/9809/HpV/rxo0bG0OHDrVtl5WVGfXq1bPVtHDhQiMgIMA4ffp0ha/3yiuvGO3bt7/q6xuGYQwcONB4/PHHDcMwjL179xqSjB07dtjad+/ebUgy5syZY9snyVi3bp1hGIZx+PBhQ5KxePFiW/uuXbsMScbu3bsNwzCMP/3pT8aAAQPsjjtkyBAjKCjoWl+Oq76P+vXrG2+++aZt+8KFC0ZERIQxcODACt/r0aNHDXd3d+P48eN2r9u7d29j6tSp1z3+0qVLDUnGt99+a9tX/nUp/17v1q2b8dRTT9k975FHHjH69+9vGIZh/Pbbb4abm5uRmppqlJWVGSEhIUZiYqJx1113GYZhGCtWrDAaNmxoe250dLSxatUqu9d77bXXjNjYWMMw/vt1nzt37nXrv/x9HDhwwLZv9OjRhq+vr+1n2DAMo2/fvsbo0aNt240bN7b9/2/cuNFwc3Mz9u7de81jpKWl2fZV5ufvWhz52azImjVrjNDQULsaK/reu/R94tbByAiusHPnTj300ENq1KiRAgIC1LNnT0lSRkaGJKlBgwYaMGCA3n33XUnSp59+KqvVqkceeUSS9NNPP6mgoEChoaG2eQD+/v46fPiwDh48aDtO48aNHT5Pfffdd9sNrcbGxmr//v0qLS3V7t275eHhobvuusvWHhoaqhYtWmj37t2SLv7l+uuvv+rUqVPasmWLevXqpV69emnz5s26cOGCvvnmG9tfrTfzfVwuJibG9m+LxaLw8HDbSEVaWpruvPPOaptrUv516tSpk21fy5YtK3U65dI6y4fQy+vcu3evunbtatf/8u3KysvLU1ZWlt3/pYeHhzp37nzV56Snp6u0tFTNmze3+//asmWL3f/XtXh4eKhLly627fKvS/n3z+7du9W9e3e753Tv3t3WXqdOHbVv316bN29Wenq6PD099fTTT+vHH39UQUGBtmzZYvt5Kiws1MGDBzVy5Ei7eqdPn35Fvdd63xXx9fVVdHS0bTssLExRUVF2c3LCwsKuOhqWlpamiIgINW/e/KrH8PT0tPt+qMzP37U48rMpSf/7v/+r3r17q2HDhgoICNCwYcN0+vRp22kc1CxMYIWdwsJC9e3bV3379tXKlStVt25dZWRkqG/fviouLrb1GzVqlIYNG6Y5c+Zo6dKl+tOf/mQbPi0oKFD9+vUrPFd/6QeeGTP327Vrp5CQEG3ZskVbtmzRjBkzFB4erjfeeEOpqam6cOGCunXrJsm57+PyCYkWi8V2GsbHx8eh13Jzc7tibsX1hskr69I6y0PhjZwuqk4FBQVyd3fXzp077U4nSHLqxNjyD1AvLy/17NlTISEhatWqlbZu3aotW7bohRdesNUrXZxnc+kHuKQr6nf0e6yi76drfY9drjLfcz4+PtU658KRn80jR47owQcf1LPPPqsZM2YoJCREW7du1ciRI1VcXGz7XYSagzACO3v27NHp06c1c+ZMRUZGSpK+//77K/r1799ffn5+WrBggT7//HN99dVXtraOHTvq5MmT8vDwUFRUVLXWd/mkzW+//VbNmjWTu7u7WrVqpZKSEn333Xe2X1qnT5/W3r171bp1a0kXfwHfe++9+vjjj7Vr1y7dc8898vX1ldVq1cKFC9W5c2fbL/6b+T4cERMTo8WLF+vMmTOVGh2pW7eu3bnw0tJS/fLLL7rvvvskXfxrv6SkRDt37rSNAuzdu/eKSyAd1aJFC6Wmptrtu3y7soKCglS/fn1999136tGjhyTZau7YsWOFz7nzzjtVWlqqnJwc3XvvvVU6bklJib7//nvbiE7516VVq1aSpFatWmnbtm16/PHHbc/Ztm2b7ftLuvgX/rvvvisPDw/169dP0sWA8sEHH2jfvn22v+7DwsLUoEEDHTp0SEOGDKlSvTdLTEyMjh07pn379l1zdORSlfn5uxZHfjZ37typsrIyvfXWW7YreP75z3/avZ6np6fdBN3r7Ye5OE0DO40aNZKnp6f+9re/6dChQ/rkk0/02muvXdHP3d1dTzzxhKZOnapmzZopNjbW1tanTx/FxsYqLi5OX3zxhY4cOaJvvvlGL774YoXBxhEZGRmaMGGC9u7dqw8++EB/+9vfFB8fL0lq1qyZBg4cqKeeekpbt27VTz/9pKFDh6phw4YaOHCg7TXKPxg6dOggf39/ubm5qUePHlq5cqVtCP1mvw9HDB48WOHh4YqLi9O2bdt06NAhffTRR1dcyVLud7/7nf71r3/pX//6l/bs2aNnn33WLmi0aNFC/fr10+jRo/Xdd99p586dGjVqlMMjMJd7/vnntWHDBs2ePVv79+/XwoUL9dlnn1X5r+f4+HjNnDlTKSkp2rNnj5577rlrBqbmzZtryJAhGj58uNauXavDhw9rx44dSkxM1L/+9a9KHfO2227T888/b/u6PPHEE7r77rtt4WTSpElatmyZFixYoP3792v27Nlau3atJk6caHuNHj166OzZs1q/fr0tePTq1UsrV65U/fr17T7cX331VSUmJmrevHnat2+f0tPTtXTpUs2ePdvxL1g16tmzp3r06KE//vGP+vLLL3X48GF99tlndlcFXa6yP3/XUtmfzaZNm+rChQu231PLly/X3//+d7vXioqKUkFBgTZt2qT//Oc/ttM3UVFR+uqrr3T8+HH95z//qcJXBzcDYQR26tatq2XLlmnNmjVq3bq1Zs6cecVlvOXKh0RHjBhht99isWjDhg3q0aOHRowYoebNm+vRRx/V0aNHFRYWdkP1DR8+XOfOnVPXrl01ZswYxcfH6+mnn7a1L126VJ06ddKDDz6o2NhYGYahDRs22A1R9+zZU6WlpXbnn3v16nXFvpv5Phzh6empL774QvXq1VP//v3Vrl27K65suNSTTz6pxx9/XMOHD1fPnj11xx132EZFyi1dulQNGjRQz5499Yc//EFPP/206tWrd0N1du/eXX//+981e/ZstW/fXp9//rnGjx9fqcudK/LCCy9o2LBhevzxxxUbG6uAgAANGjToms9ZunSphg8frhdeeEEtWrRQXFycUlNT1ahRo0od09fXV5MnT9Zjjz2m7t27y9/fX//4xz9s7XFxcXr77bc1a9YstWnTRgsXLtTSpUvtvm+Cg4PVrl071a1bVy1btpR0MaCUlZXZfaBKF093Ll68WEuXLlW7du3Us2dPLVu2TE2aNKnkV+nm+eijj9SlSxcNHjxYrVu3VkJCwnVHFCrz83ctlf3ZbN++vWbPnq033nhDbdu21cqVK5WYmGj3Wt26ddMzzzyjP/3pT6pbt67efPNNSdK0adN05MgRRUdH3/BcL1Qfi3H5yWWgkr7++mv17t1bmZmZTvlw7tWrlzp06MCS1TXIU089pT179ujrr782u5TrutqKnQBuPuaMwGFWq1WnTp3SX//6Vz3yyCNOHSXArW3WrFm6//775efnp88++0zvvfee3SJeAFARTtPAYR988IEaN26s3Nxc29DnjcrIyLC7vPHyR/llxbc6V3kfVbVjxw7df//9ateunf7+979r3rx5GjVqlCSpTZs2V/26XG9V0erwwAMPXPX4r7/++k0/fnWpqe+jptYN5+A0DW4JJSUlOnLkyFXbo6Ki5OFx6w/kucr7uBmOHj161UuMw8LCFBAQcFOPf/z4cZ07d67CtpCQkBpzz6Ca+j5qat1wDsIIAAAwFadpAACAqQgjAADAVIQRAABgKsIIAAAwFWEEAACYijACAABMRRgBAACm+v8AD2NacndNjZ0AAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "metrics_df_k1.boxplot(column='layer_power_including_idle_power_micro_watt', grid=False)" + ] + }, + { + "cell_type": "markdown", + "id": "7a171f59-3afa-4902-8cce-11e153df1586", + "metadata": { + "jp-MarkdownHeadingCollapsed": true + }, + "source": [ + "### Kernel 2 Stride 2 Output 3" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "5c43603b-a0c0-4725-96a9-5dda4585b2f4", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14211/14211 [00:00<00:00, 99769.10it/s]\n", + "Preprocessing latency data: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1/1 [00:00<00:00, 34.75it/s]\n" + ] + } + ], + "source": [ + "model_name = 'conv_k1_s2_o3'\n", + "\n", + "with open((DATA_PATH/model_name/f'{model_name}_power_log.log'), 'r') as fp:\n", + " data = fp.readlines()\n", + "power_data = parse_power_log(data)\n", + "\n", + "with open((DATA_PATH/model_name/'trt_profiling/trt_layer_latency.json'), 'r') as fp:\n", + " data = json.load(fp)\n", + "latency_data = parse_latencies_trt(data)" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "811cd848-c95a-430d-840a-1442119757d7", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Number of power entries for conv_k1_s2_o3: 14211\n", + "Number of TensorRT layers in conv_k1_s2_o3: 1\n", + "Number of latency entries for each layer: 3000\n", + "Inference for 3000 cycles: 3.323481 seconds\n" + ] + } + ], + "source": [ + "print(f\"Number of power entries for {model_name}: {len(power_data)}\")\n", + "print(f\"Number of TensorRT layers in {model_name}: {len(latency_data[0])}\")\n", + "print(f\"Number of latency entries for each layer: {len(latency_data)}\")\n", + "print(f\"Inference for {len(latency_data)} cycles: {(latency_data[len(latency_data)-1][0][2]-latency_data[0][0][1]).total_seconds()} seconds\")" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "74c267eb-b722-43dc-a7c6-8e95712a40a6", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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9eHq6org4GDExMSI6QHg6aefhkKhEO+XVLKZJjY2FgqFAjt27ECHDh3g7u6OLl26ID4+HgCwYsUKREREAAAaN24MhUKBhIQEAMDvv/+Odu3awdXVFY0bN0Z0dLS4mi5QVFOzaNEiPPnkk/Dw8MCsWbPMft53332Hp59+Gu7u7ggLC8OGDRuMjuP06dN44okn4O3tDS8vLzz00EO4dOmSuP27777DAw88AFdXVzRv3txoVV5T1q5di4iICLi5uaFu3bro3bs3srOzMWPGDPzwww/4/fffxZqs2NhYAMDkyZPRrFkzuLu7o3Hjxpg2bRry8/PFfc6YMQNt27bFd999Jy5uN2rUKPz9999YuHChuD/9+STHxflHrI/nUf4crmZEEATk5EvTs9rd2d1my4TPmzcPH374IaZPnw4A+OKLL7Bhwwb8+uuvaNSoEZKSkpCUlAQAOHToEPz9/bF8+XL069evwpqWkqZOnYr58+fDz88PY8aMwcsvv4y4uDgMGTIEQUFB6N27Nw4ePIigoCD4+fnhn3/+wYgRI/DFF1+IgYC++UafX6DoC3nOnDlYsGABnJyczH5edHQ05s6di08//RRffvklhg0bhqtXr6JOnTq4fv06unfvjp49e2Lnzp3w9vZGXFycGNCsWrUKH374Ib766itERkbi6NGjePXVV+Hh4YGRI0eWOvbk5GQMHToUc+fOxdNPP42srCz8888/EAQBEydOxNmzZ5GZmSnWaNWpUwcA4OXlhRUrViAwMBAnT57Eq6++Ci8vL7z77rvivi9evIj//e9/+O2336BSqRAcHIzz58+jVatW+OijjwAU1YyRY+P8I9bH8yh/DheM5OTnwDPGU5LXtnTZ6j/++AOensV5feyxx7BmzRqTaR955BG888474v3ExESEhYWhW7duUCgUCA4OFrfpv9Bq1aplcTMMAMyaNQs9evQAALz33nvo378/cnNzxZoC/Wvo9x0dHY333ntP/HJv3LgxZs6ciXfffdcoqHjhhRfw0ksvifdffvlls543atQoDB06FAAwe/ZsfPHFFzh48CD69euHr7/+Gj4+Pli9erXY7NOsWTPxudOnT8f8+fPxzDPPAABCQ0Nx5swZLF68uMxgpKCgAM8884x4TvW1QQDg5uYGrVZb6rx+8MEH4u2QkBBMnDgRq1evNgpG8vLysHLlSqOAw8XF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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot([power for (_, power) in power_data])\n", + "plt.axhline(avg_power, color='purple', linestyle='--', label='Average IDLE power')\n", + "first_inference_start_index = get_power_index(power_data, latency_data[0][0][1])\n", + "last_inference_end_index = get_power_index(power_data, latency_data[2999][0][2])\n", + "plt.axvline(first_inference_start_index, color='green', label='First inference start')\n", + "plt.axvline(last_inference_end_index, color='red', label='Last inference end')\n", + "plt.legend()" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "f181155f-1e23-4821-b519-b360ae154ae6", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Computing layer metrics...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Mapping power to layer: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████| 3000/3000 [00:00<00:00, 757413.59it/s]\n" + ] + } + ], + "source": [ + "metrics = compute_layer_metrics_by_cycle(power_data, latency_data, avg_power)\n", + "metrics_df_k2 = pd.DataFrame.from_dict(metrics)" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "9b178496-105f-4b88-b3c5-13d5cfe74d64", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
cyclelayer_power_including_idle_power_micro_wattlayer_power_excluding_idle_power_micro_wattlayer_run_time
count3000.0000002.170000e+02217.0000003000.000000
mean1500.5000004.251904e+06675658.6874120.101408
std866.1697291.013781e+05101378.0623620.010474
min1.0000003.731904e+06155658.9823430.081728
25%750.7500004.253568e+06677322.9823430.103872
50%1500.5000004.293696e+06717450.9823430.104992
75%2250.2500004.293696e+06717450.9823430.105728
max3000.0000004.293696e+06717450.9823430.189664
\n", + "
" + ], + "text/plain": [ + " cycle layer_power_including_idle_power_micro_watt \\\n", + "count 3000.000000 2.170000e+02 \n", + "mean 1500.500000 4.251904e+06 \n", + "std 866.169729 1.013781e+05 \n", + "min 1.000000 3.731904e+06 \n", + "25% 750.750000 4.253568e+06 \n", + "50% 1500.500000 4.293696e+06 \n", + "75% 2250.250000 4.293696e+06 \n", + "max 3000.000000 4.293696e+06 \n", + "\n", + " layer_power_excluding_idle_power_micro_watt layer_run_time \n", + "count 217.000000 3000.000000 \n", + "mean 675658.687412 0.101408 \n", + "std 101378.062362 0.010474 \n", + "min 155658.982343 0.081728 \n", + "25% 677322.982343 0.103872 \n", + "50% 717450.982343 0.104992 \n", + "75% 717450.982343 0.105728 \n", + "max 717450.982343 0.189664 " + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "metrics_df_k2.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "56d3e44f-6121-4864-8b1a-4a518ff4e1c4", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "cycle 3000\n", + "layer_power_including_idle_power_micro_watt 217\n", + "layer_power_excluding_idle_power_micro_watt 217\n", + "layer_run_time 3000\n", + "dtype: int64" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "metrics_df_k2.count()" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "e30edc4b-a127-4e82-8452-2643f8c51045", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiMAAAGsCAYAAAAPJKchAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAM2lJREFUeJzt3XtUVXX+//HXETrcISHzAhiGFzTBS5Zho1DaV8taYFOrzBnSsiy1L2qCOtXMZBrkvcbRQS21spypDBvHssbveM0xomiwvJeBilqaXJRAYP/+6MeZTiJy83wEno+1zlqez/7svd/7yGG/+OzP2cdmWZYlAAAAQ1qYLgAAADRvhBEAAGAUYQQAABhFGAEAAEYRRgAAgFGEEQAAYBRhBAAAGEUYAQAARhFGAACAUYQRAABgVKMKI1u2bNFdd92ldu3ayWazKT09vdbbsCxLc+bMUefOneXh4aHg4GDNnDmz4YsFAAA14m66gNo4c+aMevTooYceekh33313nbaRmJioDz/8UHPmzFFkZKROnTqlU6dONXClAACgpmyN9YvybDab3n33XcXHxzvaSkpK9NRTT+nNN9/U6dOn1b17d73wwguKjY2VJO3evVtRUVHatWuXunTpYqZwAADgpFFdprmY8ePHa8eOHVq9erX+85//6N5779WQIUO0f/9+SdLf//53XXvttVq3bp06dOigsLAwjR49mpERAAAMajJhJCcnR8uXL9dbb72l/v37Kzw8XJMnT9avfvUrLV++XJL09ddf69tvv9Vbb72lV199VStWrFBmZqbuuecew9UDANB8Nao5I9XJzs5WeXm5Onfu7NReUlKioKAgSVJFRYVKSkr06quvOvq9/PLLuv7667V3714u3QAAYECTCSNFRUVyc3NTZmam3NzcnJb5+vpKktq2bSt3d3enwNK1a1dJP42sEEYAAHC9JhNGevXqpfLycp04cUL9+/evss/NN9+ssrIyHTx4UOHh4ZKkffv2SZKuueYal9UKAAD+q1F9mqaoqEgHDhyQ9FP4mDdvnm655RYFBgaqffv2+s1vfqPt27dr7ty56tWrl7777jtt3LhRUVFRGjp0qCoqKnTDDTfI19dXCxYsUEVFhcaNGyd/f399+OGHho8OAIDmqVGFkU2bNumWW245r/3BBx/UihUrdO7cOc2YMUOvvvqqjhw5oquu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AACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACj6hVGUlNTZbPZNGHChGr7vfXWW4qIiJCnp6ciIyO1fv36+uwWAAA0IXUOIxkZGUpLS1NUVFS1/T7++GMNHz5cDz/8sD7//HPFx8crPj5eu3btquuuAQBAE1KnMFJUVKQRI0Zo6dKlatmyZbV9X3zxRQ0ZMkRJSUnq2rWrnnvuOfXu3VsLFy6sU8EAAKBpqVMYGTdunIYOHapBgwZdtO+OHTvO6zd48GDt2LHjguuUlJSooKDA6QEAAJom99qusHr1an322WfKyMioUf9jx46pdevWTm2tW7fWsWPHLrhOSkqKnn322dqWBgAAGqFajYzk5uYqMTFRq1atkqen56WqSdOmTVN+fr7jkZube8n2BQAAzKrVyEhmZqZOnDih3r17O9rKy8u1ZcsWLVy4UCUlJXJzc3Nap02bNjp+/LhT2/Hjx9WmTZsL7sfDw0MeHh61KQ0AADRStRoZGThwoLKzs5WVleV49OnTRyNGjFBWVtZ5QUSSoqOjtXHjRqe2jz76SNHR0fWrHAAANAm1Ghnx8/NT9+7dndp8fHwUFBTkaE9ISFBwcLBSUlIkSYmJiYqJidHcuXM1dOhQrV69Wp9++qmWLFnSQIcAAAAaswa/A2tOTo7y8vIcz/v166c33nhDS5YsUY8ePfT2228rPT39vFADAACaJ5tlWZbpIi6moKBAAQEBys/Pl7+/v+lyAABADdT0/M130wAAAKMIIwAAwCjCCAAAMIowAgAAjKr17eABoKGUl5dr69atysvLU9u2bdW/f/8q71cEoGljZASAEWvWrFHHjh11yy236IEHHtAtt9yijh07as2aNaZLA+BihBEALrdmzRrdc889ioyM1I4dO1RYWKgdO3YoMjJS99xzD4EEaGa4zwgAlyovL1fHjh0VGRmp9PR0tWjx37+JKioqFB8fr127dmn//v1csgEaOe4zAuCytHXrVh06dEi/+93vnIKIJLVo0ULTpk3TN998o61btxqqEICrEUYAuFTl10Vc6CshKtt//rUSAJo2wggAl2rbtq0kadeuXVUur2yv7Aeg6SOMAHCp/v37KywsTM8//7wqKiqcllVUVCglJUUdOnRQ//79DVUIwNUIIwBcys3NTXPnztW6desUHx/v9Gma+Ph4rVu3TnPmzGHyKtCMcNMzAC5399136+2339aTTz6pfv36Odo7dOigt99+W3fffbfB6gC4Gh/tBWAMd2AFmraanr8ZGQFgjJubm2JjY02XAcAw5owAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAMKa4uFjjx4/X4MGDNX78eBUXF5suCYABNsuyLNNFXExNv4IYQOMRHx+vtWvXntceFxen9PR01xcEoMHV9PzNyAgAl6sMIna7XVOnTtWBAwc0depU2e12rV27VvHx8aZLBOBCjIwAcKni4mJ5e3vLbrersLBQdrvdsay0tFR+fn4qLS3V2bNn5eXlZbBSAPXFyAiAy1JSUpIkadKkSU5BRJLsdrsmTJjg1A9A00cYAeBS+/fvlySNHj26yuUPP/ywUz8ATR9hBIBLderUSZK0bNmyKpe//PLLTv0ANH3MGQHgUswZAZoP5owAuCx5eXkpLi7OETymTJmiffv2acqUKY4gEhcXRxABmhFGRgAYwX1GgKavpudvdxfWBAAO6enpKi4uVlJSkvbv369OnTpp9uzZjIgAzRBhBIAxXl5eWrhwoekyABjGnBEAAGAUYQQAABhFGAEAAEYRRgAAgFGEEQAAYBRhBAAAGEUYAQAARhFGAACAUYQRAABgVK3CyOLFixUVFSV/f3/5+/srOjpa77///gX7nzt3TtOnT1d4eLg8PT3Vo0cPffDBB/UuGgAANB21CiMhISFKTU1VZmamPv30U916662Ki4vTl19+WWX/p59+WmlpafrTn/6kr776So899piGDRumzz//vEGKBwAAjV+9v7U3MDBQs2fP1sMPP3zesnbt2umpp57SuHHjHG2//vWv5eXlpddff73G++BbewEAaHwu+bf2lpeX66233tKZM2cUHR1dZZ+SkhJ5eno6tXl5eWnbtm3VbrukpEQlJSWO5wUFBXUtE8BljG/tBSDVYQJrdna2fH195eHhoccee0zvvvuuunXrVmXfwYMHa968edq/f78qKir00Ucfac2aNcrLy6t2HykpKQoICHA8QkNDa1smgMtcfHy8vL299ec//1kffvih/vznP8vb21vx8fGmSwPgYrUOI126dFFWVpZ27typxx9/XA8++KC++uqrKvu++OKL6tSpkyIiImS32zV+/HiNGjVKLVpUv9tp06YpPz/f8cjNza1tmQAuY/Hx8Vq7dq3sdrumTp2qAwcOaOrUqbLb7Vq7di2BBGhm6j1nZNCgQQoPD1daWtoF+/z44486efKk2rVrp6lTp2rdunUXnPRaFeaMAE1HcXGxvL29ZbfbVVhYKLvd7lhWWloqPz8/lZaW6uzZs1yyARq5mp6/632fkYqKCqf5HVXx9PRUcHCwysrK9M477yguLq6+uwXQSCUlJUmSJk2a5BREJMlut2vChAlO/QA0fbUKI9OmTdOWLVt06NAhZWdna9q0adq0aZNGjBghSUpISNC0adMc/Xfu3Kk1a9bo66+/1tatWzVkyBBVVFQoOTm5YY8CQKOxf/9+SdLo0aOrXF75ybzKfgCavlqFkRMnTighIUFdunTRwIEDlZGRoQ0bNui2226TJOXk5DhNTv3xxx/19NNPq1u3bho2bJiCg4O1bds2XXnllQ16EAAaj06dOkmSli1bVuXyl19+2akfgKav3nNGXIE5I0DTwZwRoPlw2ZwRAKgNLy8vxcXFOYLHlClTtG/fPk2ZMsURROLi4ggiQDPCyAgAIyo/3vtLcXFxSk9Pd31BABrcJb8DKwDUR3p6OndgBSCJMALAIC8vLy1cuNB0GQAMY84IAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMKpWYWTx4sWKioqSv7+//P39FR0drffff7/adRYsWKAuXbrIy8tLoaGhmjhxon788cd6FQ0AAJoO99p0DgkJUWpqqjp16iTLsrRy5UrFxcXp888/13XXXXde/zfeeENTp07VK6+8on79+mnfvn0aOXKkbDab5s2b12AHAQAAGq9ahZG77rrL6fnMmTO1ePFi/fvf/64yjHz88ce6+eab9cADD0iSwsLCNHz4cO3cubMeJQMAgKakznNGysvLtXr1ap05c0bR0dFV9unXr58yMzP1ySefSJK+/vprrV+/XnfccUe12y4pKVFBQYHTAwAANE21GhmRpOzsbEVHR+vHH3+Ur6+v3n33XXXr1q3Kvg888IC+//57/epXv5JlWSorK9Njjz2m3/3ud9XuIyUlRc8++2xtSwMAAI2QzbIsqzYrlJaWKicnR/n5+Xr77be1bNkybd68ucpAsmnTJt1///2aMWOG+vbtqwMHDigxMVGPPPKInnnmmQvuo6SkRCUlJY7nBQUFCg0NVX5+vvz9/WtTLgAAMKSgoEABAQEXPX/XOoz80qBBgxQeHq60tLTzlvXv31833XSTZs+e7Wh7/fXX9eijj6qoqEgtWtTsKlFNDwYAAFw+anr+rvd9RioqKpxGMX7u7Nmz5wUONzc3SVI9MxAAAGgiajVnZNq0abr99tvVvn17FRYW6o033tCmTZu0YcMGSVJCQoKCg4OVkpIi6adP38ybN0+9evVyXKZ55plndNdddzlCCQAAaN5qFUZOnDihhIQE5eXlKSAgQFFRUdqwYYNuu+02SVJOTo7TSMjTTz8tm82mp59+WkeOHFGrVq101113aebMmQ17FAAAoNGq95wRV2DOCAAAjY/L5owAAADUB2EEAAAYRRgBAABGEUYAAIBRtb4dPAA0lNLSUi1atEgHDx5UeHi4xo4dK7vdbrosAC5GGAFgRHJysubPn6+ysjJHW1JSkiZOnKhZs2YZrAyAq3GZBoDLJScna/bs2QoKCtLSpUuVl5enpUuXKigoSLNnz1ZycrLpEgG4EPcZAeBSpaWl8vHxUVBQkA4fPix39/8O0JaVlSkkJEQnT57UmTNnuGQDNHLcZwTAZWnRokUqKyvTjBkznIKIJLm7u2v69OkqKyvTokWLDFUIwNUIIwBc6uDBg5KkO++8s8rlle2V/QA0fYQRAC4VHh4uSVq3bl2VyyvbK/sBaPqYMwLApZgzAjQfzBkBcFmy2+2aOHGijh8/rpCQEC1ZskRHjx7VkiVLFBISouPHj2vixIkEEaAZ4T4jAFyu8j4i8+fP15gxYxzt7u7uSkpK4j4jQDPDZRoAxnAHVqBpq+n5mzACAAAuCeaMAACARoEwAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCh30wUAaL741l4AEmEEgCHJycmaP3++ysrKHG1JSUmaOHGiZs2aZbAyAK7GZRoALpecnKzZs2crKChIS5cuVV5enpYuXaqgoCDNnj1bycnJpksE4EI2y7Is00VcTEFBgQICApSfny9/f3/T5QCoh9LSUvn4+CgoKEiHDx+Wu/t/B2jLysoUEhKikydP6syZM1yyARq5mp6/GRkB4FKLFi1SWVmZZsyY4RREJMnd3V3Tp09XWVmZFi1aZKhCAK5GGAHgUgcPHpQk3XnnnVUur2yv7Aeg6SOMAHCp8PBwSdK6deuqXF7ZXtkPQNPHnBEALsWcEaD5YM4IgMuS3W7XxIkTdfz4cYWEhGjJkiU6evSolixZopCQEB0/flwTJ04kiADNCPcZAeBylfcRmT9/vsaMGeNod3d3V1JSEvcZAZoZLtMAMIY7sAJNW03P34QRAABwSTBnBAAANAqEEQAAYBRhBAAAGEUYAQAARhFGAACAUYQRAABgFGEEAAAYRRgBAABGEUYAAIBRjeK7aSpvEltQUGC4EgAAUFOV5+2L3ey9UYSRwsJCSVJoaKjhSgAAQG0VFhYqICDggssbxXfTVFRU6OjRo/Lz85PNZjNdDoAGVFBQoNDQUOXm5vLdU0ATY1mWCgsL1a5dO7VoceGZIY0ijABouvgiTABMYAUAAEYRRgAAgFGEEQBGeXh46A9/+IM8PDxMlwLAEOaMAAAAoxgZAQAARhFGAACAUYQRAABgFGEEAAAYRRiBJCk2NlYTJkwwXUaz0NCv9R//+Ef17Nmz3tsJCwvTggULHM9tNpvS09Prvd2aqslxjBw5UvHx8Y7n/Nw2nF/+/wOu1Ci+mwZoStasWaMrrrjCdBkXlZeXp5YtW7psf5MnT9YTTzzhsv3BWUZGhnx8fEyX0WBWrFihCRMm6PTp007tYWFhmjBhAiH2MkMYwWWhtLRUdrvddBn1VpPjCAwMdFE19dOmTRuX7s/X11e+vr4u3WdjdO7cuUsSZlu1alXndcvLy2Wz2ar97hGgOvzk4Dyvvfaa+vTpIz8/P7Vp00YPPPCATpw4IemnLz3q2LGj5syZ47ROVlaWbDabDhw4IEk6ffq0Ro8erVatWsnf31+33nqrvvjiC0f/yiH5ZcuWqUOHDvL09LxoXbGxsRo/frzGjx+vgIAAXXXVVXrmmWecvpr6hx9+UEJCglq2bClvb2/dfvvt2r9/v6P2Vq1a6e2333b079mzp9q2bet4vm3bNnl4eOjs2bOX9Dh+/ldZWFiYnn/+eT300EPy8/NT+/bttWTJEqd1Dh8+rOHDhyswMFA+Pj7q06ePdu7cWaPtS1J8fLxGjhzpeH7ixAnddddd8vLyUocOHbRq1arztvPzyzSHDh2SzWbTmjVrdMstt8jb21s9evTQjh07nNZZunSpQkND5e3trWHDhmnevHm68sorL/qaSOdfpikvL9ekSZN05ZVXKigoSMnJyRf9GvKSkhJNnjxZwcHB8vHxUd++fbVp06Ya7X/FihW68sorlZ6erk6dOsnT01ODBw9Wbm6uU7/FixcrPDxcdrtdXbp00WuvveZYNnnyZN15552O5wsWLJDNZtMHH3zgaOvYsaOWLVvmeL5s2TJ17dpVnp6eioiI0KJFixzLKl/3v/71r4qJiZGnp2eV/1dVHce6devUpUsXeXt765577tHZs2e1cuVKhYWFqWXLlvrf//1flZeXO9b75WWa06dPa8yYMWrdurU8PT3VvXt3rVu3zmkf7733nrp16yYPDw/l5ORU+/6rTl3em/PmzVNkZKR8fHwUGhqqsWPHqqioSJK0adMmjRo1Svn5+bLZbLLZbPrjH/+o2NhYffvtt5o4caKjHZcHwgjOc+7cOT333HP64osvlJ6erkOHDjlOZDabTQ899JCWL1/utM7y5cs1YMAAdezYUZJ077336sSJE3r//feVmZmp3r17a+DAgTp16pRjnQMHDuidd97RmjVrlJWVVaPaVq5cKXd3d33yySd68cUXNW/ePKdf7CNHjtSnn36q9957Tzt27JBlWbrjjjt07tw52Ww2DRgwwHFy+uGHH7R7924VFxdrz549kqTNmzfrhhtukLe39yU9jl+aO3eu+vTpo88//1xjx47V448/rr1790qSioqKFBMToyNHjui9997TF198oeTkZFVUVNRpX5WvU25urv71r3/p7bff1qJF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JUpLS1OfPn0cv/gv5XHURlRUlJYtW6ZTp07VaHSkVatWTtfCy8vLtWvXLt1yyy2Sfvprv6ysTJmZmY5RgL179573Ecja6tKlizIyMpzafvm8pgICAtS2bVvt3LlTAwYMkCRHzb17965ynV69eqm8vFwnTpxQ//7967TfsrIyffrpp44RncrXpWvXrpKkrl27avv27XrwwQcd62zfvt3x8yX99Bf+K6+8Ind3dw0ZMkTSTwHlzTff1L59+xx/3bdu3Vrt2rXT119/rREjRtSp3kslKipKhw8f1r59+6odHfm5mrz/qlOb92ZmZqYqKio0d+5cxyd4/va3vzltz263O03QvVg7zOIyDZy0b99edrtdf/rTn/T111/rvffe03PPPXdePzc3N40cOVLTpk1Tp06dFB0d7Vg2aNAgRUdHKz4+Xh9++KEOHTqkjz/+WE899VSVwaY2cnJyNGnSJO3du1dvvvmm/vSnPykxMVGS1KlTJ8XFxemRRx7Rtm3b9MUXX+g3v/mNgoODFRcX59hG5YmhZ8+e8vX1VYsWLTRgwACtWrXKMYR+qY+jNoYPH642bdooPj5e27dv19dff6133nnnvE+yVLr11lv1j3/8Q//4xz+0Z88ePf74405Bo0uXLhoyZIjGjBmjnTt3KjMzU6NHj671CMwvPfHEE1q/fr3mzZun/fv3Ky0tTe+//36d/3pOTExUamqq0tPTtWfPHo0dO7bawNS5c2eNGDFCCQkJWrNmjb755ht98sknSklJ0T/+8Y8a7fOKK67QE0884XhdRo4cqZtuuskRTpKSkrRixQotXrxY+/fv17x587RmzRpNnjzZsY0BAwaosLBQ69atcwSP2NhYrVq1Sm3btnU6uT/77LNKSUnRSy+9pH379ik7O1vLly/XvHnzav+CNaCYmBgNGDBAv/71r/XRRx/pm2++0fvvv+/0qaBfqun7rzo1fW927NhR586dc/yeeu211/SXv/zFaVthYWEqKirSxo0b9f333zsu34SFhWnLli06cuSIvv/++zq8OrgUCCNw0qpVK61YsUJvvfWWunXrptTU1PM+xlupckh01KhRTu02m03r16/XgAEDNGrUKHXu3Fn333+/vv32W7Vu3bpe9SUkJKi4uFg33nijxo0bp8TERD366KOO5cuXL9f111+vO++8U9HR0bIsS+vXr3caoo6JiVF5ebnT9efY2Njz2i7lcdSG3W7Xhx9+qKuvvlp33HGHIiMjz/tkw8899NBDevDBB5WQkKCYmBhde+21jlGRSsuXL1e7du0UExOju+++W48++qiuvvrqetV588036y9/+YvmzZunHj166IMPPtDEiRNr9HHnqjz55JP67W9/qwcffFDR0dHy8/PTsGHDql1n+fLlSkhI0JNPPqkuXbooPj5eGRkZat++fY326e3trSlTpuiBBx7QzTffLF9fX/31r391LI+Pj9eLL76oOXPm6LrrrlNaWpqWL1/u9HPTsmVLRUZGqlWrVoqIiJD0U0CpqKhwOqFKP13uXLZsmZYvX67IyEjFxMRoxYoV6tChQw1fpUvnnXfe0Q033KDhw4erW7duSk5OvuiIQk3ef9Wp6XuzR48emjdvnl544QV1795dq1atUkpKitO2+vXrp8cee0z33XefWrVqpVmzZkmSpk+frkOHDik8PLzec73QcGzWLy8uAzW0detWDRw4ULm5uS45OcfGxqpnz57csroReeSRR7Rnzx5t3brVdCkXdaE7dgK49JgzglorKSnRd999pz/+8Y+69957XTpKgMvbnDlzdNttt8nHx0fvv/++Vq5c6XQTLwCoCpdpUGtvvvmmrrnmGp0+fdox9FlfOTk5Th9v/OWj8mPFl7umchx19cknn+i2225TZGSk/vKXv+ill17S6NGjJUnXXXfdBV+Xi91VtCHcfvvtF9z/888/f8n331Aa63E01rrhGlymwWWhrKxMhw4duuDysLAwubtf/gN5TeU4LoVvv/32gh8xbt26tfz8/C7p/o8cOaLi4uIqlwUGBjaa7wxqrMfRWOuGaxBGAACAUVymAQAARhFGAACAUYQRAABgFGEEAAAYRRgBAABGEUYAAIBRhBEAAGDU/wOzBDxXGzIRWgAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "metrics_df_k2.boxplot(column='layer_power_including_idle_power_micro_watt', grid=False)" + ] + }, + { + "cell_type": "markdown", + "id": "1c568ab1-e5d5-49a6-913e-57eae02cd464", + "metadata": { + "jp-MarkdownHeadingCollapsed": true + }, + "source": [ + "### Kernel 3 Stride 3 Output 3" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "bc91735e-e9aa-4576-b444-81ab76cff484", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14428/14428 [00:00<00:00, 104745.25it/s]\n", + "Preprocessing latency data: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1/1 [00:00<00:00, 21.27it/s]\n" + ] + } + ], + "source": [ + "model_name = 'conv_k1_s3_o3'\n", + "\n", + "with open((DATA_PATH/model_name/f'{model_name}_power_log.log'), 'r') as fp:\n", + " data = fp.readlines()\n", + "power_data = parse_power_log(data)\n", + "\n", + "with open((DATA_PATH/model_name/'trt_profiling/trt_layer_latency.json'), 'r') as fp:\n", + " data = json.load(fp)\n", + "latency_data = parse_latencies_trt(data)" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "12481a42-0095-4903-bb43-f5bc9ac3a53d", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Number of power entries for conv_k1_s3_o3: 14428\n", + "Number of TensorRT layers in conv_k1_s3_o3: 1\n", + "Number of latency entries for each layer: 3000\n", + "Inference for 3000 cycles: 3.015882 seconds\n" + ] + } + ], + "source": [ + "print(f\"Number of power entries for {model_name}: {len(power_data)}\")\n", + "print(f\"Number of TensorRT layers in {model_name}: {len(latency_data[0])}\")\n", + "print(f\"Number of latency entries for each layer: {len(latency_data)}\")\n", + "print(f\"Inference for {len(latency_data)} cycles: {(latency_data[len(latency_data)-1][0][2]-latency_data[0][0][1]).total_seconds()} seconds\")" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "98f3a4e8-c3a3-4b47-8fd7-b776fdec2e1f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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4OnpKWnX3pEjRwphYWFi194ff/xRCAoKEt544w0xjSMce25urnD06FHh6NGjAgDhww8/FI4ePSr2GKmrY9y3b5/g4uIiLFiwQDh9+rQwc+ZMq3fzrOrYi4uLhUcffVRo1KiRcOzYMb1rnm4PEXs89urOeUUVe9PY63FX5LTBiCAIwieffCJEREQIbm5uQteuXYU///xT6iyZDIDBvxUrVohpCgoKhFdeeUWoV6+e4OnpKTz++OPC9evX9bZz6dIlYeDAgYKHh4cQFBQkvP7660JJSYleml27dgkdOnQQ3NzchCZNmujtwxZUDEYc+bh/+eUXoW3btoJSqRRatmwpfPnll3qvazQaYcaMGUKDBg0EpVIp9O3bV0hNTdVLc/v2beGZZ54RvL29BV9fX+H5558XcnNz9dIcP35c6Nmzp6BUKoWwsDBh7ty5Vj+2quTk5AgTJkwQIiIiBHd3d6FJkybC9OnT9W5EjnDsu3btMvi9HjlypCAIdXuMa9euFZo3by64ubkJbdq0ETZt2mS14xaEqo/94sWLRq95u3btsutjr+6cV2QoGLHH465IJgg6QxgSERER1TGnbDNCREREtoPBCBEREUmKwQgRERFJisEIERERSYrBCBEREUmKwQgRERFJisEIERERSYrBCBEREUmKwQgRERFJisEIERERSYrBCBEREUmKwQgRERFJ6v8B6ethURU29QoAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot([power for (_, power) in power_data])\n", + "plt.axhline(avg_power, color='purple', linestyle='--', label='Average IDLE power')\n", + "first_inference_start_index = get_power_index(power_data, latency_data[0][0][1])\n", + "last_inference_end_index = get_power_index(power_data, latency_data[2999][0][2])\n", + "plt.axvline(first_inference_start_index, color='green', label='First inference start')\n", + "plt.axvline(last_inference_end_index, color='red', label='Last inference end')\n", + "plt.legend()" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "4968dca2-cfe9-4a62-995e-a86cd8c8fa56", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Computing layer metrics...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Mapping power to layer: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████| 3000/3000 [00:00<00:00, 962217.02it/s]\n" + ] + } + ], + "source": [ + "metrics = compute_layer_metrics_by_cycle(power_data, latency_data, avg_power)\n", + "metrics_df_k3 = pd.DataFrame.from_dict(metrics)" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "439b7e9c-1f07-446c-864b-9795ee650c35", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
cyclelayer_power_including_idle_power_micro_wattlayer_power_excluding_idle_power_micro_wattlayer_run_time
count3000.0000001.580000e+02158.0000003000.000000
mean1500.5000004.199471e+06623226.3747480.070076
std866.1697298.675663e+0486756.6250130.007171
min1.0000003.812160e+06235914.9823430.048736
25%750.7500004.173312e+06597066.9823430.071392
50%1500.5000004.213440e+06637194.9823430.072032
75%2250.2500004.253568e+06677322.9823430.072640
max3000.0000004.253568e+06677322.9823430.112992
\n", + "
" + ], + "text/plain": [ + " cycle layer_power_including_idle_power_micro_watt \\\n", + "count 3000.000000 1.580000e+02 \n", + "mean 1500.500000 4.199471e+06 \n", + "std 866.169729 8.675663e+04 \n", + "min 1.000000 3.812160e+06 \n", + "25% 750.750000 4.173312e+06 \n", + "50% 1500.500000 4.213440e+06 \n", + "75% 2250.250000 4.253568e+06 \n", + "max 3000.000000 4.253568e+06 \n", + "\n", + " layer_power_excluding_idle_power_micro_watt layer_run_time \n", + "count 158.000000 3000.000000 \n", + "mean 623226.374748 0.070076 \n", + "std 86756.625013 0.007171 \n", + "min 235914.982343 0.048736 \n", + "25% 597066.982343 0.071392 \n", + "50% 637194.982343 0.072032 \n", + "75% 677322.982343 0.072640 \n", + "max 677322.982343 0.112992 " + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "metrics_df_k3.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "2a0a92ee-ddcd-4ebe-a838-ddf6142a6b3f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "cycle 3000\n", + "layer_power_including_idle_power_micro_watt 158\n", + "layer_power_excluding_idle_power_micro_watt 158\n", + "layer_run_time 3000\n", + "dtype: int64" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "metrics_df_k3.count()" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "7c354213-2702-4238-9327-15da7621284c", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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02ratGmJIRMVFaU5c+aUa/kAAKB6KdOekfT0dEVGRiohIUFubm5lXll0dLRWr16tdevWlXj72bNnKysry/6Tnp5e5nUBAIDqoUx7RpKTk5WZmamuXbvapxUUFGjHjh164403lJubKycnp2JvGxMTo+joaP373/++5kmvrq6ucnV1LcvQAABANVWmGOnXr59SU1Mdpk2aNEnBwcF6+umnrxoir776qubOnastW7aoe/fu5R8tAACoccoUI15eXurQoYPDNA8PD/n5+dmnR0REyN/fX1FRUZKkefPm6e9//7tWrVqlwMBAff/995IkT09PeXryRV0AANR2lf4JrGlpaTpz5oz98pIlS3Tp0iXde++9atKkif0nJiamslcNAACqoQp/a29iYmKJl0+ePFnRVQAAgBqM76YBAABGESMAAMAoYgQAABhFjAAAAKOIEQAAYBQxAgAAjCJGAACAUcQIAAAwihgBAABGESMAAMAoYgQAABhFjAAAAKMq/EV5AKqP3/IKJEnfZGQZHsl/Xcwr0He//qZm9evK7SYn08ORJB3NzDE9BKBWIUaAWuTY/3+R/evaVMMjqR48XPkVCVQFnmlALfKnWxtLkoIaeqruDbQXYvoHKVp4X2e1auhpejh2Hq7Oanmzh+lhALUCMQLUIr4eLrr/tuamh1GsVg091cHfx/QwABjACawAAMAoYgQAABhFjAAAAKOIEQAAYBQxAgAAjCJGAACAUcQIAAAwihgBAABGESMAAMAoYgQAABhFjAAAAKOIEQAAYBQxAgAAjCJGAACAUcQIAAAwihgBAABGESMAAMAoYgQAABhFjAAAAKOIEQAAYBQxAgAAjCJGAACAUcQIAAAwihgBAABGESMAAMAoYgQAABhFjAAAAKOIEQAAYBQxAgAAjCJGAACAUcQIAAAwihgBAABGESMAAMAoYgQAABhFjAAAAKOIEQAAYBQxAgAAjCJGAACAUcQIAAAwihgBAABGESMAAMAoYgQAABhFjAAAAKOIEQAAYBQxAgAAjCJGAACAUcQIAAAwihgBAABGESMAAMCoCsVIdHS0bDabpk+fftV59u/fr3vuuUeBgYGy2WxauHBhRVYJAABqmHLHSFJSkuLi4hQSElLifBcuXNAtt9yi6OhoNW7cuLyrAwAANVS5YiQnJ0djx47V0qVLVb9+/RLn7dGjh+bPn6/7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9r/uGzVqpKZNm+r48eMaO3ZsucZ7vYSEhOi7777TkSNHStw78kelef6VpCzPzeTkZBUWFmrBggX2d/D84x//cFiei4uLwwm615oOszhMAwfNmzeXi4uLXn/9dR0/flwff/yxXnrppSvmc3Jy0sSJEzV79my1bt1aoaGh9uv69++v0NBQjRgxQlu3btXJkyf1+eef65lnnik2bMoiLS1NTzzxhA4fPqz3339fr7/+uiIjIyVJrVu31vDhw/XQQw9p586d2rdvn8aNGyd/f38NHz7cvoyiF4bOnTvL09NTderUUd++fZWQkGDfhX69t6MsRo8ercaNG2vEiBHatWuXjh8/ro8++uiKd7IUueuuu/TJJ5/ok08+0aFDh/Too486hEbbtm01aNAgTZkyRXv27FFycrImT55c5j0wl3v88ce1ceNGxcbG6ttvv1VcXJw2bdpU7r+eIyMjFR0drfXr1+vQoUOaOnVqicHUpk0bjR07VhEREVq7dq1OnDihvXv3KioqSp988kmp1nnTTTfp8ccft98vEydO1O23326Pk6eeekrLly/XkiVL9O233yo2NlZr167VzJkz7cvo27evzp07pw0bNtjDIzw8XAkJCWrSpInDi/ucOXMUFRWlxYsX68iRI0pNTVV8fLxiY2PLfodVorCwMPXt21f33HOP/vWvf+nEiRPatGmTw7uCLlfa519JSvvcbNWqlfLy8uy/p1auXKm33nrLYVmBgYHKycnRtm3b9NNPP9kP3wQGBmrHjh3KyMjQTz/9VI57B9cDMQIHDRo00PLly7VmzRq1b99e0dHRV7yNt0jRLtFJkyY5TLfZbNq4caP69u2rSZMmqU2bNrr//vt16tQpNWrUqELji4iI0G+//abbbrtN06ZNU2RkpB5++GH79fHx8erWrZvuvvtuhYaGyrIsbdy40WEXdVhYmAoKChyOP4eHh18x7XpuR1m4uLho69atatiwoYYMGaKOHTte8c6GP3rggQc0YcIERUREKCwsTLfccot9r0iR+Ph4NW3aVGFhYfrzn/+shx9+WA0bNqzQOHv37q233npLsbGx6tSpkzZv3qwZM2aU6u3OxXnyySc1fvx4TZgwQaGhofLy8tLIkSNLvE18fLwiIiL05JNPqm3bthoxYoSSkpLUvHnzUq3T3d1dTz/9tMaMGaPevXvL09NTH3zwgf36ESNGaNGiRYqJidGtt96quLg4xcfHOzxu6tevr44dO6pBgwYKDg6W9HugFBYWOrygSr8f7ly2bJni4+PVsWNHhYWFafny5WrZsmUp76Xr56OPPlKPHj00evRotW/fXrNmzbrmHoXSPP9KUtrnZqdOnRQbG6t58+apQ4cOSkhIUFRUlMOyevXqpUceeUT33XefGjRooFdffVWS9OKLL+rkyZMKCgqq8LleqDw26/KDy0ApffbZZ+rXr5/S09Or5MU5PDxcnTt35iOrq5GHHnpIhw4d0meffWZ6KNd0tU/sBHD9cc4Iyiw3N1c//vijXnjhBY0aNapK9xLgxhYTE6MBAwbIw8NDmzZt0ooVKxw+xAsAisNhGpTZ+++/rxYtWujs2bP2XZ8VlZaW5vD2xst/it5WfKOrKdtRXnv37tWAAQPUsWNHvfXWW1q8eLEmT54sSbr11luver9c61NFK8PgwYOvuv5XXnnluq+/slTX7aiu40bV4DANbgj5+fk6efLkVa8PDAyUs/ONvyOvpmzH9XDq1KmrvsW4UaNG8vLyuq7rz8jI0G+//Vbsdb6+vtXmO4Oq63ZU13GjahAjAADAKA7TAAAAo4gRAABgFDECAACMIkYAAIBRxAgAADCKGAEAAEYRIwAAwKj/BxlWtG7Pk0dUAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "metrics_df_k3.boxplot(column='layer_power_including_idle_power_micro_watt', grid=False)" + ] + }, + { + "cell_type": "markdown", + "id": "5a14f58b-7d36-4022-8c62-eb2c688ab00a", + "metadata": { + "jp-MarkdownHeadingCollapsed": true + }, + "source": [ + "### Kernel 1 Stride 4 Output 3" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "5fc0b0b7-0406-46c9-9a15-9174a2ffd0c0", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14186/14186 [00:00<00:00, 108967.90it/s]\n", + "Preprocessing latency data: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1/1 [00:00<00:00, 34.69it/s]\n" + ] + } + ], + "source": [ + "model_name = 'conv_k1_s4_o3'\n", + "\n", + "with open((DATA_PATH/model_name/f'{model_name}_power_log.log'), 'r') as fp:\n", + " data = fp.readlines()\n", + "power_data = parse_power_log(data)\n", + "\n", + "with open((DATA_PATH/model_name/'trt_profiling/trt_layer_latency.json'), 'r') as fp:\n", + " data = json.load(fp)\n", + "latency_data = parse_latencies_trt(data)" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "id": "a2a103d9-5cf8-4f6d-bae0-db4d081c7beb", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Number of power entries for conv_k1_s4_o3: 14186\n", + "Number of TensorRT layers in conv_k1_s4_o3: 1\n", + "Number of latency entries for each layer: 3000\n", + "Inference for 3000 cycles: 2.9634 seconds\n" + ] + } + ], + "source": [ + "print(f\"Number of power entries for {model_name}: {len(power_data)}\")\n", + "print(f\"Number of TensorRT layers in {model_name}: {len(latency_data[0])}\")\n", + "print(f\"Number of latency entries for each layer: {len(latency_data)}\")\n", + "print(f\"Inference for {len(latency_data)} cycles: {(latency_data[len(latency_data)-1][0][2]-latency_data[0][0][1]).total_seconds()} seconds\")" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "id": "7175b0c4-a455-4404-9025-412629b8ee50", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiMAAAGsCAYAAAAPJKchAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAaQFJREFUeJzt3XlcFPX/B/DX7ALLDXLJIQjeFyoeGWpqaampZacVeZTV19JvamlmZmmlmKlpl5mZ5i/Nb1pamWYeoWneV155K6ggeHALC7vz+wN22IVd2IVdZpd9PR8PHuzxmZnP7O7MvOdzCqIoiiAiIiKSiULuDBAREZFzYzBCREREsmIwQkRERLJiMEJERESyYjBCREREsmIwQkRERLJiMEJERESyYjBCREREsmIwQkRERLJiMEJERESycqhgZMeOHRg0aBDCw8MhCALWrVtn8TpEUcScOXPQrFkzqFQqREREYMaMGdbPLBEREZnFRe4MWCIvLw/t2rXD888/j0cffbRa6xg7diz++OMPzJkzB7Gxsbh16xZu3bpl5ZwSERGRuQRHnShPEASsXbsWgwcPll4rLCzElClT8P333yMzMxNt2rTBhx9+iF69egEATp06hbZt2+L48eNo3ry5PBknIiIiAw5VTVOVMWPGYPfu3Vi1ahX++ecfPPHEE+jXrx/Onj0LAPj111/RqFEjrF+/HjExMYiOjsYLL7zAkhEiIiIZ1ZlgJDk5GUuXLsXq1atxzz33oHHjxpgwYQK6d++OpUuXAgAuXLiAy5cvY/Xq1Vi+fDmWLVuGgwcP4vHHH5c590RERM7LodqMVObYsWPQaDRo1qyZweuFhYUIDAwEAGi1WhQWFmL58uVSuiVLlqBjx444ffo0q26IiIhkUGeCkdzcXCiVShw8eBBKpdLgPW9vbwBAWFgYXFxcDAKWli1bAigpWWEwQkREVPvqTDASFxcHjUaD9PR03HPPPUbTdOvWDcXFxTh//jwaN24MADhz5gwAoGHDhrWWVyIiIirjUL1pcnNzce7cOQAlwce8efNw7733IiAgAFFRUXj22Wexa9cuzJ07F3FxccjIyMDWrVvRtm1bDBgwAFqtFp07d4a3tzfmz58PrVaL0aNHw9fXF3/88YfMe0dEROScHCoYSUpKwr333lvh9eHDh2PZsmUoKirCBx98gOXLl+Pq1asICgrC3XffjenTpyM2NhYAcO3aNfz3v//FH3/8AS8vL/Tv3x9z585FQEBAbe8OERERwcGCESIiIqp76kzXXiIiInJMDEaIiIhIVg7Rm0ar1eLatWvw8fGBIAhyZ4eIiIjMIIoicnJyEB4eDoXCdPmHQwQj165dQ2RkpNzZICIiompISUlBgwYNTL7vEMGIj48PgJKd8fX1lTk3RETkaPLUeQifGw4AuPb6NXi5ecmcIzuQlweEl3wmuHYN8LL+Z5KdnY3IyEjpOm6KQwQjuqoZX19fBiNERGQxpVoJuJc89vX1ZTACAPqjlfv62iQY0amqiQUbsBIREZGsGIwQERGRrBiMEBERkawYjBAREZGsGIwQERGRrBiMEBERkawYjBAREZGsGIwQERGRrBiMEBERkawYjBAREZGsGIwQERGRrBiMEBERkawcYqI8W1my8yKu3M5Ht8ZB6NOqvtzZISIickpOXTLy48ErWLrrEv77/WFotaLc2SEiInJKTh2MDGwXBgC4U6SBVmQwQkREJAenDkaevbuh9JgFI0RERPJw6mBEIQjSY5aMEBERycPJg5Gyx4xFiIiI5OHkwUhZNKJhNEJERCQLpw5G9GIRVtMQERHJxKmDEf2SEVErY0aIiIicGIORUiwZISIikoeTByNljxmMEBERycOpgxHBoGRExowQERE5MacORgBAWVo8wpIRIiIieTh9MKKrqmEwQkREJA+nD0Z0VTWspiEiIpKHi9wZkJuuZOTApVsIiQ2Dq9Lp4zMiq8hXF2PfxVvQiiJCfNzROtzXoJ0WEZGO0wcjrgoFCqDF2FVHcPZ6Lib0bS53lojqhImr/8Fvx1Kl5z++HI+ODQNkzBER2SunLwZ4tXdThPm5AwCuZd6ROTdEdceVcsfT1cwCmXJCRPauRsHIrFmzIAgCxo0bZ1b6VatWQRAEDB48uCabtaoXezTCyO4xANiIlciaxHLHU/nnREQ61Q5G9u/fj0WLFqFt27Zmpb906RImTJiAe+65p7qbtBndSKwaniuJrKZ8cK9hK3EiMqFawUhubi4SEhKwePFi1KtXr8r0Go0GCQkJmD59Oho1alSdTdoUu/cSWZ+2dL6nsuNLvrwQkX2rVjAyevRoDBgwAH369DEr/XvvvYeQkBCMHDnSrPSFhYXIzs42+LMlRenZksXIRNajC+5dFAqD50RE5Vncm2bVqlU4dOgQ9u/fb1b6nTt3YsmSJThy5IjZ20hMTMT06dMtzVq1SWONcOZeIquRghGlALWGwT4RmWZRyUhKSgrGjh2LFStWwN3dvcr0OTk5GDp0KBYvXoygoCCztzN58mRkZWVJfykpKZZk02KspiGyPl21TNmUCzJmhojsmkUlIwcPHkR6ejo6dOggvabRaLBjxw589tlnKCwshFKplN47f/48Ll26hEGDBkmvaUuLH1xcXHD69Gk0bty4wnZUKhVUKpXFO1NdSo7CSmR1uuBeN5Agg30iMsWiYKR37944duyYwWvPPfccWrRogUmTJhkEIgDQokWLCunffvtt5OTkYMGCBYiMjKxmtq1LIXCyPCJrE8uXjDDaJyITLApGfHx80KZNG4PXvLy8EBgYKL0+bNgwREREIDExEe7u7hXS+/v7A0CF1+UksJqGyOrKGrCy5JGIKmf14eCTk5OhUDjWwK4KVtMQWZ1+A1b950RE5dU4GElKSqr0eXnLli2r6SatThc7sbU/kfXoeqeVde2VMTNEZNccqwjDRthmhMj6dMG9kuP4EFEVnH7WXqBsnBF1MQcaIbKUKIrQaEW4KBXQaEUpqNeUazOi1vD4IiLjGIygbJyR/ZduY/z/juDjIe1lzQ+Ro9BoRQz+fBdOXMtC/zZh2HE2AzkFxQZpdCUjs38/jfxCDSb0bS5HVonIjrGaBkCbcD/p8ZZT12XMCZFjSc8pwLGrWdCKwG/HUisEIuF+7hjSuawL/7Z/02s7i0TkAFgyAiA6yAubx/fA/R/vAKu1icxnrFHqgNgwzHwkFgDgpVLCRalAiI87Rn13kO2yiMgoBiOl3F1LBmzjyZLIfMYGMlO5KuDn6Wrwmo97yamGhxcRGcNqmlIc+IzIcsYOF13vNH08voioMgxGSnHgMyLLGQsuFBVjEXafJ6JKMRgppTtZciwEIvMZD0YqRiNlx5fNs0REDojBSCmFVIwsbz6IHImx40UwGozo0vMAI6KKGIyUEliMTGQxYyWJRqtpOFkeEVWCwUgp3QlUFFlVQ2QuY8GF0kg0wjYjRFQZBiOl9Ou5eb4kMo/GSDRivM1IyX8eW0RkDIORUvonUA3PmERmMVbSYSQWkY4vY8ELERGDkVKC3ifBomQi83CcESKyBgYjpZSspiGymOXjjNg6R0TkiBiMlNK/m+PdG5F5zB1nRNeolY3DicgYzk1TSv/8OXLZAcx4pA0aBXvLlyEiO/PzkavYceYGtKKI1Kw7AFBhll6grBuvwWulL93MU+OzbWcx5r6mNs0rETkWBiOlXJUKBHq54WaeGrsv3MS6w1fx2gPN5c4Wkd0Yu+qIWelCfd0rvBbgpZIez/njDF64p5E0OSUREYORUkqFgHWju+GJL3cjLbsAag2Lk4lMaVDPA2/2bwEAECDA290FOQVF8Fa5oFuToArpA7zc8PPobnj4810AgGI2HiEiPQxG9EQGeGJQuzAs/usi67aJKlHP0w0D24ZbtEzLMF/pMdtlEZE+NmAthyNFElXNWI8ZS5YRtdbLCxE5PgYj5QjsgkhUJWOT4VWFPdaIyBQGI+UoSz8RjhRJZFp1Skb04xeOckxE+hiMlKO7e2ObESLTjI0lUhVBEDgSKxEZxWCkHFbTEFWtOsEIUDbSMWMRItLHYKQcBe/ciKqkqOaZgw3EicgYBiPlcA4NoqpVt2SkrJrGipkhIofHYKQcXckI24wQmVbdYEQK9hmNEJEeBiPl6ObVYDEykWnVjEX0gn3r5YWIHB+DkXJYTUNUtRqXjDAaISI9DEbKYQNWoqpVZ5wRAOzaS0RGMRgpR3fn9m9qDn7Yn4IiDcetJuel0YpYc/AKPv/znMHr1S4ZKY1iVu1PwaUbeTXOHxHVDZworxwPt5JpzU+mZuONH/9BgJcb+rSqL3OuiOSx69wNTFh9tMLruuPEUp6uSmSiCF/tuIBTqdn4v5FdappFIqoDWDJSzsC24fhPz0YI83MHANzOV8ucIyL56H7/IT4qxEb4QakQ8OzdUXi1d9NqrW/Go7Ho0SzYYN1ERCwZKcfPwxWT+7fE2eu5SM0qYKt/cmq633+z+j747oWal2Lc2zwECkHAjjMZ0LIGlIhKsWTEBDZkJSr7/Ve3K68xPLaIqDwGIyawiy9R2e9fWd3uM0ZwfhoiKo/BiAkcD4Go7Pdf3d4zxgg8toioHAYjJugmAuOw8OTMRCkYsd46WU1DROUxGDFBYDUNkfT7F6xYMqIba4SxCBHpMBgxgdU0RPrVNNZbJ0tGiKg8BiMmlJ0w5c0HkZx0v3/btBmx2iqJyMExGDFBIbX45xmTnJdogwasLHUkovIYjJigO/dqePtGTkyrtd04I4xFiEiHwYgJHGeECNDYoJpGty4G+kSkw2DEBDayI7JN116BxxYRlcO5aUzQjTiZmnUHx69moUWoD1yUjN2oxPXsAqRnF1q8XLCPCqGlkzBWRRRFnM/IxR217SZx8XBTIMzPA7fy1IgM8ETyzXxE1POAUiEgPbsAJ65lAyjrjmsNumMrPacQ6TkFCPEx7/Mgcga5hcXYcSYDYX7uCPZRwU2pQGGxFpn5RVbflpCfhzalj0VRhBXvOSzGYMQEXVHyd3uS8d2eZAxsG4bPnukgc67IHpxLz8EDH++oVhWeIAAbXr0HLcN8q0y7dNclvLf+ZDVyWD19WoZgy6l0PNmpAR7t0ABPfbVHes+a1TRKvXV1TdyGpIm90KCep9XWT+SoNFoRbd7dVGvb81AX4FTp4292XsTIfrG1tu3yGIyYMKBtGHZfuIms/CLczFPjXHqu3FkiO3EhIw9aEXBVCgj2Vpm93I1cNdQaLS7eyDMrGDmXUfKb81G5wMfd+odqTkExcgqLpedbTqUDAH44cAVZdwzvwh5qF2617cYEeeHe5sH483QGirUikm/mMxghApCvLjb5nrurAgGeblbdnru67I7qfEaeVddtKQYjJnRtHIRtr/fC3+du4Jmv97LlP0l0JSLtGvhjzctdzV7uqa92Y8+FW2a3ldC11/hPz0YYc19Ti/NZlc//PIePNp2uMt3cJ9qhR7Ngq23XRanA0ufuQr/5O/BvWg4biROVquxYeDA2DPOebG/dDeblAdNKHsp9jWMjiCpwUi8qr7pjb1jaQ0tb2lTEmkOx66tstfo/d4WNzhIcb4TIUGXjWlmzqtTSbdcGBiNV0LXb0/CESaXK5muxbDlLB9KzxYy5xvJjrXQWb7/07MNghKhEZTcq1uzRZozc1zgGI1XgpF5UXnWDBEu7tJYNxW7RZsxW2Xr1c2irkpmy4MwmqydyOJWdG2xdMiJ3dSmDkSpwvBEqTwpGLDx6pGoJM3vq2mIodmP5qYrSZtVErKYh0lfZsWCrmwJztl0bGIxUgfXaVF51S0YsrfLTpbPVOaiyk5tBmxEbl8xwJFaiEpXdqNi6moZtRuycpXezVPdVt2Gp5W1GDJeztspPbmV5tHU1DWMRohKspiGTOHsvlVdWMmLZcoKFF9/qbsdclZ3caqNkRMlji8hA5cGIfNuuDQxGqiBYWLROdZ/up2BpWwqlhb1HdBdppY3OQuYO8W6rO7KyBr02WT2Rw6ns1GDNKRmMkfs4ZDBSBRYlU3laqS2HY48zYm5vGo4zQlQ75K2mkfc45AisVVAqWJTsjPIKi7Hm4BVklw6LHlHPA4/ERUAQhGp3ueU4I+XWy3FGiAzIOc6I3Mchg5EqKFiU7JRWH0jBtF8NJ6mLCfJCXFS9mo8zYuaPSdZxRvROTLYOhhiLEJVgA1YyiWMhOKfM0hKRJiHeCPYpmQzvenYhAL3xP6o7zoiZPyVbjzNibvWPrbfPY4uoRGWlprYeZ0TuuwKWjFRBd/eYmV+E9u/9YfCev4crFg3thPMZuZj2ywmk55RcrDa8eg9ahVc9KyvZL13AEN8oEJdu5iEjpxCv/XAEb/6kQGFRSWMOy9uMlPyfvelffLLtbJXpcwuKS7dj0WYsyI/pFf95OkMvna22X/J/ytrjeG/9Sfh5uOKLhA5oHe5nmw0SWdniHRcwY8MpAIC/p2uN16fRyNebZte5m/jnSibaNvC37YZMYDBShVA/d9TzdMXt/CJk5htOq56ZX4S/zmbgcEqmFIgAwH++O4C/3rivtrNKViTqdattH+mPv87eQL5ag3y1RkrTKsyygLNVuC/WHbmGgiItCorMG7hGqRDQrL6PRdsxV/P6PlAIVZfUxAR72WT7rcJ8kXQ6A3eKNLhTpEFmfhF2nLnBYIQchi4QAVDh+mBtLS0831RHsYx1NTUKRmbNmoXJkydj7NixmD9/vtE0ixcvxvLly3H8+HEAQMeOHTFz5kzcddddNdl0rfF0c8HOSfchNavA4PVZG//FllPXIYoVi9ZySu9oyXGVDfku4LX7m+GJjpFQa8oCCJWLApEBnhat86UejdG/TRgKi80fQa+epysCvVUWbcdcsQ38sH9KH9zOL4K7qwIFRVooFYI0Imq+uhgNA7zgZ4U7PmMm9m2OpzpHQa3RYu4fp7HxeBqrbMhhbXmtp9XWpXIpqQO+na8GAIT4uCPUz91q6zdm/X+7I6IWAh5Tqh2M7N+/H4sWLULbtm0rTZeUlISnn34aXbt2hbu7Oz788EM88MADOHHiBCIiIqq7+VrlpXJBkxBvg9f8PEpO0BpR5HDWdZD+6KeCICAq0LLAwxRLAxhbC/RW2SzYqYr+56or4ja3cS+RvSl/jbCG2jxfNA7xBlyVtba98qrVgDU3NxcJCQlYvHgx6tWrV2naFStW4JVXXkH79u3RokULfP3119Bqtdi6dWu1Mmwv9CfQ4/mz7rH16KdkyNLRaYmobqlWMDJ69GgMGDAAffr0sXjZ/Px8FBUVISAgwGSawsJCZGdnG/zZG/1uieWraVjS7Ph0d+i27k5HJTg7NpFzs7iaZtWqVTh06BD2799frQ1OmjQJ4eHhlQYyiYmJmD59erXWX1t0Q/NqtSwZqYt036nNu9MRAM5TQ+TsLCoZSUlJwdixY7FixQq4u1vemGbWrFlYtWoV1q5dW+nykydPRlZWlvSXkpJi8bZsTX8wtPJ3c7y7c3yspqldrKYhcm4WlYwcPHgQ6enp6NChg/SaRqPBjh078Nlnn6GwsBBKpfEGMHPmzMGsWbOwZcuWKhu9qlQqqFTyNKozl/68GuVPoGyE5/hEvQasZHucp4bIuVkUjPTu3RvHjh0zeO25555DixYtMGnSJJOByOzZszFjxgxs2rQJnTp1qn5u7YjujlkUxQpFy5zh1/GxZKR2cdoFIudmUTDi4+ODNm3aGLzm5eWFwMBA6fVhw4YhIiICiYmJAIAPP/wQ77zzDlauXIno6GikpaUBALy9veHtbf2uULVFv1i5QjWN+cNIkJ2q7sy8VD0KTkhJ5NSsPjdNcnIyUlNTpecLFy6EWq3G448/jrCwMOlvzpw51t50rTKopikXfLBkxPHpxjdjNU3tENibhsip1Xg4+KSkpEqfX7p0qaabsEu6YmWNKFYIPnhCdXxFpdGIklNJ1gpd0KdhqSKRU+KptprKipU5zkhdtObgFbmz4FQ4zgiRc2MwUk1SsTLHGamTGpVODqcb9p9sS8FxRoicGmftrSbdIE3b/k3HrdLJjPSNWXkIrkoFnusWLduUzFR9umtiCxknjnImumAk6UwGxqw8ZPD6U3dFomvjILmyRgQA0GhFzPnjNFJu5cudlTqJwUg1BXi5AQAu3Mgz+v76f0oa8eari7FoaN3ozuxM2LW3dgV6lxxPl2/m4/JNw5N9yu18rH2FwQjJ63DybSxMOi93NuosBiPVlNClIfw93ZBTUAQACPPzQD1PV3yy7Sx6NgvGyWvZWHfkGgqK2CLPEbFrb+16slMkvNxckF16PAHA+YxcfLcnmccQ2QXd7zDER4WXezUGANwp0uDE1WzMfDRWzqzVCQxGqsnDTYnHOzao8PqKRoEAgJ8OXcG6I9fYIM9Badm1t1a5uyrxWLnjade5G/huTzLbkZBd0J3Lg7xVeK5bjMy5qXvYgNVG9Gf1JcejuwAqGYzIhmOPkD2Rqm551bQJfqw2whOpY9NI1TQyZ8SJKTh5HtkRzldlWwxGbIQTfzk2LU88suMxRPaE7chsi8GIjfCuzrGJLJKVXdlklPLmgwjQv0GRNx91FU+1NqIbRlzLaMQhsWREfoI0RDyPIZKf7nfIc4JtMBixEYFFzA6N44zIj0PEkz0ReU6wKQYjNsJqGsem5V2Q7NgjjeyJ7lzONiO2wWDERsrqu3kmdURsOS8/pYKli2Q/tOzub1MMRmyEJSOOrayahiceubB7PNkTjjNiWxyB1UYUvKtzSBuOpSJx4ynkqTUAOM6InBjQkz1haaltMcazkbLGd/Lmgyzz06ErSLl1BwDg7+mKIG+VzDlyXmVtRngQkfw4zohtsWTERnQn0tt5avywPwUA0CbCD63COSW9vdJoRWw5lQ4AeLN/Czx9VxQ83JQy58p56QL6fLVGOob2XrwFXw8XjOvdDH6ergCAgiINtpy6jvxCjdH1hPq5456mQbyIkMW0WhFJZ9JxI0eNA5dvAWBvGlthMGIjKpeSQqe07AK88eM/AABPNyUOTb0f7q68wNmjP06kSY9bh/vCz8NVxtyQyqXkOMlXa6RjSOda5h0sGtoJALB01yV8+Pu/la5r7StdERdVzzYZpTprx9kMPL/sgMFrbkpWKNgCgxEbaR/pjxFdo5F8Kx8AsO3fdOSrNchXaxiM2KmM3ELpcZeYQBlzQgAQGeCBMfc2wcnUbADA7vM3caeopPRj27/pUrqMnJLvrWGgJxoHexus48ClW8guKMaNXHUt5ZrqEt1vK9DLDe0i/eGqFPBSj8Yy56puYjBiIy5KBaY91Fp6Hv3mbwDYoNWe6cYWGdg2DG4uvPuRmyAImNC3ufT8rbXHsHJvcoV0umNqUNtwg/QA8NjCv3Hw8m2O4krVovtttY/0x5IRnWXOTd3GM24tkRq08qRotzRsLW/XTNXVVzZaLsf7oZrgQGe1h8FILWE3RfvH4Z7tm36QKKDscWW9HHjcUU1IA53xSmlz/IhrCadDt39lgxoxGrFHgoknlU1qyOOOaoITZtYeBiO1RDdqH0+K9osnHvsmGJSMlBEruXvlcUc1IXIk5lrDYKSWcNIv+8eZeu2bqeuBVqt733TJCI87qg5dGz/GIrbHYKSWsLjY/nG4Z/tm6nvRVHL3qgtQ2JuGqoON2msPg5FaUjbpl7z5INPK7oJ44rFH+iVW+oeROb1peBNA1cFG7bWHwUgtYcmI/StrMyJvPsg4g7tTvcOoshItJatpqAbYqL32MBipJRzvwP5p2VjNvlUxzoixr03gTQDVABu11x4GI7VEIdVdy5wRMokNWO2b/gVB1Csaqbxrr2EaIkvwnFB7GIzUEt6h2T9OEW7fDLvzlj3WtfUx3mak9CaAxx1VQ9lvi+cEW+PcNLVEd6JMzymEv+cdAICrUoEgb5WMuSKd7IIi5BQUA+CJx17pfy3FWhGpWSXHUb669HszEo3oxhnJzFNL6aX3BAEhPirczi9CYbFGej3Exx1KE7fCBUWc6NIZ5KuLkXWnCNml5wTeoNgeg5Faoju5Df9mn8HrE/s2x+h7m8iRJSp18PItPPXVHhRpWCRrz9yUhkFAfOI2g+fGLhi61+ZuPoO5m8+YtZ27YgLww3/iK7y+69wNJHy9F+P7NMPYPk3NzTY5mJRb+eg7fwfy1WUBKs8JtsdqmloyILZkJlg3ZcmfLjg5kpIpb8YIx69mo0gjQhCAep6u6Nk8WO4skRGD48Klxy4KQTqW3JQKhPq64+6YgArLPNCqPrxVLgZp3ZQKuJS7uigEwFVZekwmZxrd/tR1xwEAH28xL6ghx3Q6LUcKRNyUCvi6u+C+FiEy56ruY8lILXl7YCu8PbCV9Px/+5Mx6cdj7F1jB3RtRQbEhuGzZzrInBsypWGgFy7NGmDRMg+3j8DD7SMqvL77/E08vXiP9HxSvxYYHBeBLjO3mm7Xxbtjp6D7/jtE+eOnV7rJnBvnwZIRmZQ1aJU5I8Tue06ofLG7QhD0BibkQenMeD6QB4MRmXAQNPvBURadT/nGroKgf0waX4Y/D+fAyfHkwWBEJhz/wH5wsDPnY6xkxGAcE94kOC3dOZmng9rFYEQmZbOJ8qQnt7KTD88+zqL8d60QDAMUYzcJ/H04B96cyIPBiExYP20/OMqi8yl/oVEoBINgg8el8yqbj0bmjDgZftwyKRsenic9uelGWTQ10BXVPcaracqeGzsu+etwDiwZkQeDEZlU1ViOag+raZxPhZKRCm1GajtHZC+0pfOH8XxQuxiMyISz+NoPVtM4n/LXGYVgGKCwmsZ58XwgDwYjMtF1LWTJiPw4roDzKV8lpxAEgzYCxoIR/jycg+6rV/ILr1UcgVUmHGfEOm7lqXE4+bbBay3DfBHu72H2OjjOiPMpH3gKFUpGajtHZC84e7c8GIzIhOOMWMczi/fg37Qcg9cCvdyw963ecFGaV/BX1nqeJx9nUf6rViqqHmdEYBNWp1BWUipvPpwNq2lkwnFGrONaZsm08C1CfdAu0h8AcDNPjZzSqb/NwWoa51NxnBGhynFGyDmwN408WDIiE93v/N+0HPSZt73C++fScwEAq0fFo3N0AHIKivDf7w/j39QcBHi5YWK/5ri3OWeS1MVyXz7bEdFBXmj+9kYUFmvxyBe7oHJR4oV7YvBEp0ijyxYWazB6xSEcuFxSzcM7IedhrJpGP0B5bOHfFdqV6I5JADh7PQdN6/vYNpNUq05ey8Zba4/hyu2SGxyOM1K7GIzIJCrAEwCgLtYanOTK+/bvS+gcHYCvdlxA0ukMAEBadgG+/usCgxEAmnJ3Mc3q++DY1SxcupkPAFi++7LJYOTEtWxsOZUuPY8K9LJxbsleBHm7wdNNKU0VrzseGwZ64vLNfFy8kVfp8r8fT2MwUsdsOJaKIymZ0vOoAJ4PahODEZk0CvbGjon34lrWnQrvbT+TgYVJ5wGUBCsAkJlfZJCmsEhr+0w6gLLGZiXPv3/pbhy/moV/rmRi5oZ/Kx1UTvdemJ87Fg/rhNbhvjbPL9kHH3dXJE3ohQs38hDso0LjYG8AwC9juuNUarbJ5UYu2488tUYKgqnuKC49HwyIDcPIe2LQroG/vBlyMgxGZBQV6ImoQM8Kr6fcypce85RXOam9R2mRurfKBXc3CkSxRix9v+pgxNNNiTYRfrbNKNmdEF93hPi6G7zm5+GKuxsFmlzmsY4NsHz3ZbYpqYN07fci6nmgQ1Q9mXPjfFgr5qB4LiyhO4GUHxOgrLeS6U+KDdXIUmx4XneVL2Wl2sVghByaqW54gjSOi+llRfaiIQvpfiqcU6ru0ZTWfPN8IA8GI3ZIv1W/qcOCh0sJUwMUWVQywm40ZCalGUEuOSYOAy8vBiPksERR1CvdMHxP1y2zstJ0Dm5EllIoWE1TV5mq8qXawWCEHJb+3WnFcSOqHm6fbUbIUoIZJW7kmDh7t7wYjNgh/bsunvJM078glK9qMauaRstiWbKMgtU0dRZvTuTFYIQcyrn0HPz5b8lAZQbBSIUp4UsvGpUMx8I7IbKUOUEuOSZW28qLwYgdMnZx5PWyxNAl+/Dcsv3450qmQXuQ8ncz5nTB1F1Qyg/7TWRK2e9K5oyQ1Yls0C4rBiN2jic9Q6lZBQCA/ZdulysZqTjXCFBV115W05BlzGmLRI6J44zIiyOw2jlTd/aOfCpctP08Zm86XaOxGt5ffxLvrz8pPS9/AlGY1YBVtyzPPmQeVtPUXZy9W14sGbFzujkwyp/7HHnQpd9PpFk1/+0a+EHlYvhT1s24ac5w8CwZIXOxAWvdxXFG5MWSETt39noupv96AhuOpRq8fuV2Pqb/ekKmXNXM5dIZdRcmdMBdMQFmL/fptnNY9vclAMDqUfFoFFQyq2Y9Tzcjg56VPM8pKDb5OV3IyDNIS1QV3YVq5d5kTOrbAn6ervJmiKzi4OXb+OnQVQA8H8iFwYgdiqznIT2+mnkHS3ddqpDmRq7a6OuOpEmINwK9VWan91IppcdB3qpKl/VxL/lpFxZrq/ycfN15QSHz+HqU/VZ+OnwFz3WLkTE3ZC1vrzsuPeb5QB41CkZmzZqFyZMnY+zYsZg/f77JdKtXr8bUqVNx6dIlNG3aFB9++CEefPDBmmy6TrsrJgDvD26DPedvIjqobFbfTSeuo024L7QiEBngUcka7F9MkDea1vexaBmlGcPk64T5eeCTp+NwOs30dPAA4KJQ4JG4CIvyQc7r0Q4N8M7PJSVteYXFMueGrCW3sAgAMCA2DAPbhcmcG+dU7WBk//79WLRoEdq2bVtpur///htPP/00EhMTMXDgQKxcuRKDBw/GoUOH0KZNm+puvk4TBAFD726IoXc3NHh9Yt8WMuXIPuhXxZhTlPpQu3CgXbgts0ROxlvlgme6RGHl3mS2G6lDdOMRvdijETzdWGEgh2o1YM3NzUVCQgIWL16MevXqVZp2wYIF6NevHyZOnIiWLVvi/fffR4cOHfDZZ59VK8PkvPQDEFbrklzYo6buYTd/+VUrGBk9ejQGDBiAPn36VJl29+7dFdL17dsXu3fvNrlMYWEhsrOzDf6I9E8UHJiI5MIeNXUPu/XKz+LyqFWrVuHQoUPYv3+/WenT0tJQv359g9fq16+PtLQ0k8skJiZi+vTplmaN6jj9AISxCMnFnNF9ybFwwDP5WVQykpKSgrFjx2LFihVwd3e3VZ4wefJkZGVlSX8pKSk22xY5Dv0TBe9gSC66n54jj/VDhlgyIj+LSkYOHjyI9PR0dOjQQXpNo9Fgx44d+Oyzz1BYWAilUmmwTGhoKK5fv27w2vXr1xEaGmpyOyqVCiqV+V0+yTmwzQjZA1bT1D0i56mSnUUlI71798axY8dw5MgR6a9Tp05ISEjAkSNHKgQiABAfH4+tW7cavLZ582bEx8fXLOfkdPTPE0KVnXuJbEP3O2Q1Td3B0VflZ1HJiI+PT4XuuF5eXggMDJReHzZsGCIiIpCYmAgAGDt2LHr27Im5c+diwIABWLVqFQ4cOICvvvrKSrtAzkI/AOFJg+RizrxH5Fg4T5X8rD43TXJyMlJTy4Yu79q1K1auXImvvvoK7dq1w5o1a7Bu3TqOMUIWY5sRsgcCq2nqHK00TxXPK3Kp8eguSUlJlT4HgCeeeAJPPPFETTdFJOFJg+SiNGMSRnIsrKaRH2ftJYck8JdLMpGqaVg0UmewN438eEonhxHmVzYfj7tLxcbSRLWB1TR1j1QywqIR2XAQfnIY/dqEYsnwToio5wE3F8bRJA/d9erA5dsQRZGNHh1c1p0iFBaXTE7DWEQ+PKOTw1AqBPRuWR8tQn3lzgo5MdfSRiOnUrPx6z+pVaQme/fitwekxxxnRD4MRoiILPBgbNkU89cy78iYE7KGq6XfYYcof4T42G5kcaocgxEiIgvEBHnhyU4NALBHTV2g+w7fe5jDTciJwQgRkYXYo6bu4CR59oHBCBGRhXS9LhiLOD5267UPDEaIiCyka+fIahrHx9FX7QODESIiC3Hm3rqDo6/aBwYjREQW0gUjnLnX8UnVNIxGZMVghIjIQgKraeqMspIRBiNyYjBCRGQh3YVLo5U5I1RjotSAVd58ODsGI0REFtJduFhN4/hYMmIfGIwQEVmorGsvgxFHx3FG7AODESIiC7E3Td3BcUbsA4MRIiILcZyRukNkNY1dYDBCRGQh3YWrWMNgxNEVaTjOiD1gMEJEZCGhNBj5vz2X8evRazLnhqorceMp6bHAkhFZMRghIrJQp4b1pMe7zt2QMSdUE9tOpUuPA7zcZMwJMRghIrJQj2bBePW+JgDYbsSR6b67lS92gZL1NLJiMEJEVA2eKhcA7FHjyHRxpKuSl0K58RsgIqoG9qhxfJwkz34wGCEiqoayyfJkzghVm65Ui41X5cdghIioGgSBo7A6Og4Fbz8YjBARVYOuaF/DRiMOS6tlNY29YDBCRFQNut4XLBhxXBwK3n4wGCEiqgZW0zg+TpJnPxiMEBFVA3vTOD6WjNgPBiNERNXAmXsdHyfJsx8MRoiIqkFXMiKyZMRhcZwR+8FghIioGnRtRtibxnHpvjsFoxHZMRghIqoGJatpHJ7INiN2g8EIEVE1KErPntvPZOD346nyZoYsdvDybeQUFgNgNY09YDBCRFQN9X3dpcef/3lexpxQdfzf7kvSY39PN/kyQgAYjBARVUt8o0C82rspAKBIo5U5N2SpIk1JHU1Clyj4ebjKnBtiMEJEVA2CIODumAAAHGvEEem+sxahPjLnhAAGI0RE1SawEavDKht9lQ1G7AGDESKiauIorI6Lo6/aFwYjRETVxMnyHJdusDolr4J2gV8DEVE1ceAzx6X7zlhNYx8YjBARVROraRwXq2nsC4MRIqJq0l3IGIs4Hs5LY18YjBARVVPZzL2MRhwNh4K3LwxGiIiqSWA1jcMq69orc0YIAIMRIqJq0/WmYftVx6OVetMwGrEHDEaIiKqprM0IoxFHwwas9oXBCBFRNZX1ppE3H2Q5kQ1Y7QqDESKiatKNUXErT41fj15jCYmDyC0sxv5LtwFwnBF7wWCEiKiaPN2U0uP/fn8Yp6/nyJgbMteagynSY/3vkOTDYISIqJrC/T0w/aHW0vPbeUUy5obMlZmvlh7f3ShQxpyQDoMRIqIaGN41Gs3qewNgQ1ZHoWvjM7J7DFw5OY1d4LdARFRDZYOfyZwRMgtHX7U/DEaIiGqII7E6Fo6+an8YjBAR1ZCi9EzKYMQxaDljr91hMEJEVEOcMM+xlA14Jm8+qAyDESKiGhJYTeNQytqMMBqxFwxGiIhqiCOxOhYpGGHRiN1gMEJEVENswOpY2JvG/jAYISKqId1FjeOMOAZt6X9W09gPBiNERDUkcJwRh8JJ8uwPgxEiohrSXdQ0jEYcgra0aIRde+0HgxEiohpSKthmxJFoOeiZ3WEwQkRUQ7qL2olr2SjWaKtITXJLzy4AwGoae8JghIiohnTByFc7LuD11Udlzg1VZdf5mwDKSrRIfhYFIwsXLkTbtm3h6+sLX19fxMfHY+PGjZUuM3/+fDRv3hweHh6IjIzE+PHjUVBQUKNMExHZk8c6NpAen0vPlTEnZIlezUPkzgKVcrEkcYMGDTBr1iw0bdoUoiji22+/xcMPP4zDhw+jdevWFdKvXLkSb775Jr755ht07doVZ86cwYgRIyAIAubNm2e1nSAiktND7cLh7+GKYd/sY48aBxEb4YcmId5yZ4NKWRSMDBo0yOD5jBkzsHDhQuzZs8doMPL333+jW7dueOaZZwAA0dHRePrpp7F3794aZJmIyP6UzU/DaMQRsIbGvlS7zYhGo8GqVauQl5eH+Ph4o2m6du2KgwcPYt++fQCACxcuYMOGDXjwwQcrXXdhYSGys7MN/oiI7FnZkPAMRhwBu/XaF4tKRgDg2LFjiI+PR0FBAby9vbF27Vq0atXKaNpnnnkGN27cQPfu3SGKIoqLizFq1Ci89dZblW4jMTER06dPtzRrRESy4cBnjoUlI/bF4pKR5s2b48iRI9i7dy9efvllDB8+HCdPnjSaNikpCTNnzsQXX3yBQ4cO4aeffsJvv/2G999/v9JtTJ48GVlZWdJfSkqKpdkkIqpVHGvEsbAnjX2xuGTEzc0NTZo0AQB07NgR+/fvx4IFC7Bo0aIKaadOnYqhQ4fihRdeAADExsYiLy8PL730EqZMmQKFwngspFKpoFKpLM0aEZFspGoaFo04BFbT2JcajzOi1WpRWFho9L38/PwKAYdSqQTARl5EVLewmsaxsGDEvlhUMjJ58mT0798fUVFRyMnJwcqVK5GUlIRNmzYBAIYNG4aIiAgkJiYCKOl9M2/ePMTFxaFLly44d+4cpk6dikGDBklBCRFRXcAGrI6FQ8HbF4uCkfT0dAwbNgypqanw8/ND27ZtsWnTJtx///0AgOTkZIOSkLfffhuCIODtt9/G1atXERwcjEGDBmHGjBnW3QsiIpmVde2VOSNkFgYj9sWiYGTJkiWVvp+UlGS4chcXvPvuu3j33XctzhgRkSNRCGzA6kgYi9gXzk1DRGQFukJhBiOOgb1p7AuDESIiK1CwAatDYTWNfWEwQkRkBRwO3rGwYMS+MBghIrIC3cXtRq4a7d/7A/fOScKZ6znyZopM4jgj9oXBCBGRFYT5e8Df0xUAkJlfhIs38vDX2Rsy54pMaVDPQ+4skB4GI0REVuCtcsHOSfdhy2s90adlCABW2dizsb2byp0F0sNghIjISrxVLmgS4g1fj5ISEg1bs9otBRuN2BUGI0REVsaeNfZPyTYjdoXBCBGRlXFoePvHrr32hcEIEZGV6QbUYpsR+8VYxL4wGCEisjLO4Gv/WDJiXxiMEBFZGatp7B/br9oXBiNERFbGBqz2jyUj9oXBCBGRlXFoePvHWMS+MBghIrIygdU0dk0QOBy8vWEwQkRkZbqSEY1W5oyQUayisT8MRoiIrEzXOJLVNPaJjVftD4MRIiIrK2vAymDEHrGKxv64yJ0BIqK6RjfvydZT6UjNKsDJa9mIDPDE0Lsbok+r+jLnjjgUvP1hMEJEZGWBXm4AgAs38nDhRp70eNe5Gzg380E5s0YA7hRp5M4ClcNghIjIyhK6NISfhytyC4vx46ErOH41GwBQzIFH7MJD7cLlzgKVw2CEiMjKPNyUeKJTJADgaEqmFIyQfWhW31vuLFA5dSYY0Wq1UKvVcmeDyOZcXV2hVCrlzgaZid1I7Q+/E/tTJ4IRtVqNixcvQqtlp35yDv7+/ggNDWWvAAfA78j+8CuxPw4fjIiiiNTUVCiVSkRGRkKhYG9lqrtEUUR+fj7S09MBAGFhYTLniKrCMS3sD0tG7I/DByPFxcXIz89HeHg4PD095c4Okc15eHgAANLT0xESEsIqGzvHC5/9UTJCtDsOX4yg0ZR00XJzc5M5J0S1Rxd4FxUVyZwTqgoLa+0PvxL7U2e+E9bLkjPh791x8LuyQ/xO7E6dCUaIiOwRawTsD6vO7A+DESIiG+LQ4/aHAaL9YTAis927d0OpVGLAgAFyZ6VWCIKAdevWGTzX/Xl5eaFp06YYMWIEDh48aLBcUlISBEFAZmam0fVOmzbNYF26vxYtWthwb4iqxmoa+8OSEfvDYERmS5YswX//+1/s2LED165ds+m2RFFEcXGxTbdRHUuXLkVqaipOnDiBzz//HLm5uejSpQuWL19u0Xpat26N1NRUg7+dO3faKNe1w16/MzIfL3z2R8GiEbvDYERGubm5+N///oeXX34ZAwYMwLJly6T3nnnmGQwZMsQgfVFREYKCgqSLtFarRWJiImJiYuDh4YF27dphzZo1UnpdacLGjRvRsWNHqFQq7Ny5E+fPn8fDDz+M+vXrw9vbG507d8aWLVsMtpWamooBAwbAw8MDMTExWLlyJaKjozF//nwpTWZmJl544QUEBwfD19cX9913H44ePWrx56AbwCs6OhoPPPAA1qxZg4SEBIwZMwa3b982ez0uLi4IDQ01+AsKCjKZftq0aWjfvj0WLVqEyMhIeHp64sknn0RWVpaURqvV4r333kODBg2gUqnQvn17/P7779L7jz/+OMaMGSM9HzduHARBwL///gugZEA+Ly8v6fOt7ndGjovXPfvD78T+1NlgRJ2nNvlXXFBsdtqiO0Vmpa2OH374AS1atEDz5s3x7LPP4ptvvoEolkyklZCQgF9//RW5ublS+k2bNiE/Px+PPPIIACAxMRHLly/Hl19+iRMnTmD8+PF49tlnsX37doPtvPnmm5g1axZOnTqFtm3bIjc3Fw8++CC2bt2Kw4cPo1+/fhg0aBCSk5OlZYYNG4Zr164hKSkJP/74I7766itpoC2dJ554Aunp6di4cSMOHjyIDh06oHfv3rh161a1Pg9948ePR05ODjZv3lzjdVXm3Llz+OGHH/Drr7/i999/x+HDh/HKK69I7y9YsABz587FnDlz8M8//6Bv37546KGHcPbsWQBAz549kZSUJKXfvn07goKCpNf279+PoqIidO3aFUD1vzNyXOXvwv+3Pxk/7E/BD/tTcD4j18RSZG3Jt/Kkxyytsj8OP+iZKYneiSbfa/pgUzzz2zPS8zkhc1CUb3y8hoY9G2JE0gjp+YLoBci/kV8h3bviuxbnccmSJXj22WcBAP369UNWVha2b9+OXr16oW/fvvDy8sLatWsxdOhQAMDKlSvx0EMPwcfHB4WFhZg5cya2bNmC+Ph4AECjRo2wc+dOLFq0CD179pS289577+H++++XngcEBKBdu3bS8/fffx9r167FL7/8gjFjxuDff//Fli1bsH//fnTq1AkA8PXXX6Np06bSMjt37sS+ffuQnp4OlUoFAJgzZw7WrVuHNWvW4KWXXrL489Cna+tx6dIls5c5duwYvL0NJ8B69tln8eWXX5pcpqCgAMuXL0dERAQA4NNPP8WAAQMwd+5chIaGYs6cOZg0aRKeeuopAMCHH36IP//8E/Pnz8fnn3+OXr16YezYscjIyICLiwtOnjyJqVOnIikpCaNGjUJSUhI6d+4MT0/PGn1n5LhULob3fJN+PCY9DvFRYd+UPrWdJaf00vID0mM3lzp7H+6w6mwwYu9Onz6Nffv2Ye3atQBKqhiGDBmCJUuWoFevXnBxccGTTz6JFStWYOjQocjLy8PPP/+MVatWASi5o8/Pz69wwVKr1YiLizN4TRdQ6OTm5mLatGn47bffkJqaiuLiYty5c0cqGTl9+jRcXFzQoUMHaZkmTZqgXr160vOjR48iNzcXgYGBBuu+c+cOzp8/X8NPB1IJkSWN/5o3b45ffvnF4DVfX99Kl4mKipICEQCIj4+HVqvF6dOn4enpiWvXrqFbt24Gy3Tr1k2qjmrTpg0CAgKwfft2uLm5IS4uDgMHDsTnn38OAFJwCdTsOyPH9XjHBrh8Mx+bT15HfOOS40VdrMXOczeQkVsoc+6cx41cNVA6WHG3Jqarb0kedTYYmZw72eR7CqVhVDwhfYLJtEK5Itaxl8bWLGOllixZguLiYoSHh0uviaIIlUqFzz77DH5+fkhISEDPnj2Rnp6OzZs3w8PDA/369QMAqfrmt99+M7iYApBKKnS8vLwMnk+YMAGbN2/GnDlz0KRJE3h4eODxxx+3aNbj3NxchIWFGVRR6Pj7+5u9HlNOnToFAIiJiTF7GTc3NzRp0qTG27aEIAjo0aMHkpKSoFKp0KtXL7Rt2xaFhYU4fvw4/v77b0yYUPL7qsl3Ro6rYaAXPnnaMNi8mVuIjh9sgSiWHPfscWN7mtIbHADwVtXZS5/DqrPfiJuX+cPD2yqtKcXFxVi+fDnmzp2LBx54wOC9wYMH4/vvv8eoUaPQtWtXREZG4n//+x82btyIJ554Aq6urgCAVq1aQaVSITk52aB43xy7du3CiBEjpLYnubm5BtUhzZs3R3FxMQ4fPoyOHTsCKLmr129M2qFDB6SlpcHFxQXR0dHV+BQqN3/+fPj6+qJPH9sWYScnJ+PatWtSULhnzx4oFAo0b94cvr6+CA8Px65duww+4127duGuu+6Snvfs2ROLFy+GSqXCjBkzoFAo0KNHD3z00UcoLCyUSlZq8p1R3aLfZkErAkrGIjanFatOQ/Kps8GIPVu/fj1u376NkSNHws/Pz+C9xx57DEuWLMGoUaMAlPSq+fLLL3HmzBn8+eefUjofHx9MmDAB48ePh1arRffu3ZGVlYVdu3bB19cXw4cPN7n9pk2b4qeffsKgQYMgCAKmTp0KrVYrvd+iRQv06dMHL730EhYuXAhXV1e8/vrr8PDwkO7g+vTpg/j4eAwePBizZ89Gs2bNcO3aNfz222945JFHLKpmyMzMRFpaGgoLC3HmzBksWrQI69atw/LlyyuUshw7dgw+Pj7Sc0EQpPYvxcXFSEtLM0gvCALq169vctvu7u4YPnw45syZg+zsbLz66qt48sknERoaCgCYOHEi3n33XTRu3Bjt27fH0qVLceTIEaxYsUJaR69evTB+/Hi4ubmhe/fu0msTJkxA586dpVKOmnxnVLcYBiMilGA0YmuiyGjEnjEYkcGSJUvQp0+fCoEIUBKMzJ49G//88w/atm2LhIQEzJgxAw0bNqzQduH9999HcHAwEhMTceHCBfj7+6NDhw546623Kt3+vHnz8Pzzz6Nr164ICgrCpEmTkJ2dbZBm+fLlGDlyJHr06IHQ0FAkJibixIkTcHd3B1Bykd+wYQOmTJmC5557DhkZGQgNDUWPHj0qvfgb89xzzwEoCQwiIiLQvXt37Nu3z6DNik6PHj0MniuVSmkcjhMnTiAsLMzgfZVKhYKCApPbbtKkCR599FE8+OCDuHXrFgYOHIgvvvhCev/VV19FVlYWXn/9daSnp6NVq1b45ZdfDBrzxsbGwt/fH82aNZMa0Pbq1QsajUZqL6JT3e+M6hZBr6ZYy4tkrWDJiH0TRAcIF7Ozs+Hn54esrKwKDRILCgpw8eJFxMTESBdKsr4rV64gMjISW7ZsQe/eveXOjlVMmzYN69atw5EjR+TOisX4u3dseYXFaP3uJgDAv+/3g7urUuYc1X0NJ/+IZPfHAQC5k3Ph5cZ2WcjLA3Q9EHNzARu0Vavs+q2PJSNk1LZt25Cbm4vY2FikpqbijTfeQHR0dIWSCSKyXPlqGrItURTBj9m+MRgho4qKivDWW2/hwoUL8PHxQdeuXbFixQqpAS0RVZ9+5xlWH9geP2P7x2CEjOrbty/69u0rdzZsatq0aZg2bZrc2SAnxJKR2sXP2P5xGDoiolqmP3yRqDWdjqyDwYj9YzBCRFTLWDJSu/gR2z8GI0REtUy/zYiGV0qbY8Bn/xiMEBHVMkEQpICEF0rbYwNW+8cGrEREMlAIAjSiiLSsAmj0rpbuLkrUs8K0E1RGw2jE7jEYISKSgVIQoIGIhz7bVeG9jx5viyc6RcqQq7rpjxNpVSciWbGaxg716tUL48aNs/l2Ll26BEEQLB6B9KuvvkJkZCQUCgXmz59vk7wR1XUD24XBTakw+NP1sjl6JVPWvNU1F2/kyZ0FqgJLRmQyYsQIfPvttxVeP3v2LH766acaDy4mCALWrl2LwYMHm0wTGRmJ1NRUBAUFmb3e7OxsjBkzBvPmzcNjjz1mdH6dumzEiBHIzMzEunXrrLK+Xr16oX379gzqnNC8J9tj3pPtDV77ZOtZzNt8hm0crIyfp/1jMCKjfv36YenSpQavBQcHQ6msfJ4KtVoNN7ea1ykrlUppdlpzJScno6ioCAMGDKgwKZ0lioqKnHo0V2t9h1S36EpGHGDKMIfCz9P+sZpGRiqVCqGhoQZ/SqWyQjVNdHQ03n//fQwbNgy+vr546aWXoFarMWbMGISFhcHd3R0NGzZEYmKilB4AHnnkEQiCID0vr3w1TVJSEgRBwNatW9GpUyd4enqia9euOH36NABg2bJliI2NBQA0atQIgiDg0qVLAICff/4ZHTp0gLu7Oxo1aoTp06dLs+kCJSU1CxcuxEMPPQQvLy/MmDHD7OW+/vprPPLII/D09ETTpk3xyy+/GOzHiRMnMHDgQPj6+sLHxwf33HMPzp8/L73/9ddfo2XLlnB3d0eLFi0MZuU1Zs2aNYiNjYWHhwcCAwPRp08f5OXlYdq0afj222/x888/l/aGEJCUlAQAmDRpEpo1awZPT080atQIU6dORVFRkbTOadOmoX379vj666+lye1GjBiB7du3Y8GCBdL6dJ8nOSehtIuNlgOhWRV7LNm/OlcyIooi8ovyZdm2p6undDKxtjlz5uCdd97Bu+++CwD45JNP8Msvv+CHH35AVFQUUlJSkJKSAgDYv38/QkJCsHTpUvTr16/KkpbypkyZgrlz5yI4OBijRo3C888/j127dmHIkCGIjIxEnz59sG/fPkRGRiI4OBh//fUXhg0bhk8++UQKBF566SUAkPILlFyQZ82ahfnz58PFxcXs5aZPn47Zs2fjo48+wqeffoqEhARcvnwZAQEBuHr1Knr06IFevXph27Zt8PX1xa5du6SAZsWKFXjnnXfw2WefIS4uDocPH8aLL74ILy8vDB8+vMK+p6am4umnn8bs2bPxyCOPICcnB3/99RdEUcSECRNw6tQpZGdnSyVaAQEBAAAfHx8sW7YM4eHhOHbsGF588UX4+PjgjTfekNZ97tw5/Pjjj/jpp5+gVCrRsGFDnDlzBm3atMF7770HoKRkjJyXbjA0jj1iXaymsX91LhjJL8qHd6K3LNu2dFrq9evXw9u7LK/9+/fH6tWrjaa977778Prrr0vPk5OT0bRpU3Tv3h2CIKBhw4bSe7oLmr+/v8XVMAAwY8YM9OzZEwDw5ptvYsCAASgoKJBKCnTb0K17+vTpePPNN6WLe6NGjfD+++/jjTfeMAgqnnnmGTz33HPS8+eff96s5UaMGIGnn34aADBz5kx88skn2LdvH/r164fPP/8cfn5+WLVqlVTt06xZM2nZd999F3PnzsWjjz4KAIiJicHJkyexaNEik8FIcXExHn30Uekz1ZUGAYCHhwcKCwsrfK5vv/229Dg6OhoTJkzAqlWrDIIRtVqN5cuXGwQcbm5u8PT0rNb3RHWPgmOP2AQ/T/tX54IRR3Lvvfdi4cKF0nMvL9OBTKdOnQyejxgxAvfffz+aN2+Ofv36YeDAgXjggQeskq+2bdtKj3XtQtLT0xEVFWU0/dGjR7Fr1y6p6gUANBoNCgoKkJ+fD09PT6P7YO5y+vnx8vKCr68v0tPTAQBHjhzBPffcY7T9SV5eHs6fP4+RI0fixRdflF4vLi422fC2Xbt26N27N2JjY9G3b1888MADePzxx1GvXj2j6XX+97//4ZNPPsH58+eRm5uL4uJi+Pr6GqRp2LAhSz6oUrqSEV47rYufp/2rc8GIp6sncifnyrZtS3h5eaFJkyZmp9XXoUMHXLx4ERs3bsSWLVvw5JNPok+fPlizZo1FeTBG/8JeVodtuhI7NzcX06dPl0of9Lm7u0uPy++DucuVDzQEQZDy4+HhUWm+AGDx4sXo0qWLwXumqq6USiU2b96Mv//+G3/88Qc+/fRTTJkyBXv37kVMTIzRZXbv3o2EhARMnz4dffv2lUpq5s6da5CusmCTCABHZbURDnpm/+pcMCIIgkVVJY7M19cXQ4YMwZAhQ/D444+jX79+uHXrFgICAuDq6gqNRlMr+ejQoQNOnz5tdmBV0+X0tW3bFt9++63R3jn169dHeHg4Lly4gISEBLPXKQgCunXrhm7duuGdd95Bw4YNsXbtWrz22mtwc3Or8Ln+/fffaNiwIaZMmSK9dvnyZbO2ZWx95Lx0JSO8dloXgzv7V+eCEWcxb948hIWFIS4uDgqFAqtXr0ZoaCj8/f0BlLRb2Lp1K7p16waVSlVlNUNNvPPOOxg4cCCioqLw+OOPQ6FQ4OjRozh+/Dg++OADqy+nb8yYMfj000/x1FNPYfLkyfDz88OePXtw1113oXnz5pg+fTpeffVV+Pn5oV+/figsLMSBAwdw+/ZtvPbaaxXWt3fvXmzduhUPPPAAQkJCsHfvXmRkZKBly5YASj7XTZs24fTp0wgMDISfnx+aNm2K5ORkrFq1Cp07d8Zvv/2GtWvXmpX/6Oho7N27F5cuXYK3tzcCAgKgULCTm7NimxHbYHBn/3jWc1A+Pj6YPXs2OnXqhM6dO+PSpUvYsGGDdCGbO3cuNm/ejMjISMTFxdk0L3379sX69evxxx9/oHPnzrj77rvx8ccfGzSqteZy+gIDA7Ft2zbk5uaiZ8+e6NixIxYvXiyVkrzwwgv4+uuvsXTpUsTGxqJnz55YtmyZySoXX19f7NixAw8++CCaNWuGt99+G3PnzkX//v0BAC+++CKaN2+OTp06ITg4GLt27cJDDz2E8ePHY8yYMWjfvj3+/vtvTJ061az8T5gwAUqlEq1atUJwcDCSk5PN3neqe5QKXbUor57WxHFG7J8gOsC3lJ2dDT8/P2RlZVVoFFhQUICLFy9KYzcQOQP+7uum7/ZcxtvrjqNv6/pYNLRT1QtYmUYrQiEAak1JmywBAtxcHP+e9Y01R7HqwDmkeDwOwPKej3VWXh6g69GZmwvYoF1bZddvfaymISKyE3K2GRm76jD+/DcdgiAg607JgH2CAEx4oDlG31v9dl32gAVN9s/xQ14iojpCzuHgfz5yDdkFxVIgUpIPYNu/6bWeF2tjGxz7x5IRIiI7oSsZ+fv8TfSZt90m2ziXXtLlvXGwl9R1P6egqEK6hQkd8PKKQzh2NUvKS0ZOoUGwom9s76bYdCINxVoRRRotLt8sGQm7SUjNBqHU5dfYegqLNUi5dQcA0CjYS/r8yrueVVCjPJDtMRghIrITUYElYxXlqzXSRdhWzmfkVfp+mwg/KBUC1MVas/KyYOtZo69baz+qWs+FKvaH7JtFwcjChQuxcOFCaTKv1q1b45133pF6GhiTmZmJKVOm4KeffsKtW7fQsGFDzJ8/Hw8++GCNMk5EVNfc3SgQW17riRu5hTZZ/9ZT17H4r4sAgEc7RODJTpEAgFdWHMKtPLVB2gh/D2yf2AtXbt+RXnvqqz1VbuOVXo3xRVLZRJXtGvhh8oMtq5XffHUxnl92AAAwf0h7hPoZNtbWz3eLUB9Me6i1yXWpXIvQ4ZtqZYNqgUXBSIMGDTBr1iw0bdoUoiji22+/xcMPP4zDhw+jdeuKPwK1Wo37778fISEhWLNmDSIiInD58mVpLAwiIjLUJMS7xlUbply8UVZ60DrcD3c3KplrKtzfvUIwIghAg3qeaFDPspGlm9X3QZC3G27klqyvnpebtB1LZetVH7WP9Ed0kGFvj+b1fbD7wk0AJcFIZdvJU7PkxJ5ZFIwMGjTI4PmMGTOwcOFC7Nmzx2gw8s033+DWrVv4+++/pXEfTE1nT0REtqXfokJZyQTjgoBqz0BefllT7TjMUdWyunFZarodkl+1e9NoNBqsWrUKeXl5iI+PN5rml19+QXx8PEaPHo369eujTZs2mDlzZpXDXxcWFiI7O9vgj4iIakb/eq1/IS+vpgGE/qor2UyV9Bc11h9GoR+M1GRDJDuLG7AeO3YM8fHxKCgogLe3N9auXYtWrVoZTXvhwgVs27YNCQkJ2LBhA86dO4dXXnkFRUVFBlPEl5eYmIjp06dbmjUiIqqEAPMu3jW5risVApRWKhnRX9RYd2f9fCpZMuLQLC4Zad68OY4cOYK9e/fi5ZdfxvDhw3Hy5EmjabVaLUJCQvDVV1+hY8eOGDJkCKZMmYIvv/yy0m1MnjwZWVlZ0l9KSoql2SQzLFu2zOL2O6Io4qWXXkJAQAAEQcCRI0dskre6qFevXhg3bpzc2SBnZuLiLcDwQl6zkhHrVdPo58tYyYhB0MOSEYdmcTDi5uaGJk2aoGPHjkhMTES7du2wYMECo2nDwsLQrFkzg+naW7ZsibS0NKjVaqPLAIBKpYKvr6/BX10zYsQIDB482CbrTkpKgiAIyMzMrDTdkCFDcObMGYvW/fvvv2PZsmVYv349UlNT0aZNmxrklIhqk/7lurIgoWalGQL053qsybyPVWVDPwBRcghPh1bjr0+r1aKw0Hg3tG7duuHcuXPQarXSa2fOnEFYWBjc3NxqummqIQ8PD4SEhFi0zPnz5xEWFoauXbsiNDQULi6WD1UjiiKKi4stXo6IakYwUZIglit3qEkhg0IQDEo0ype6VJexQVQN26awZMSRWRSMTJ48GTt27MClS5dw7NgxTJ48GUlJSUhISAAADBs2DJMnT5bSv/zyy7h16xbGjh2LM2fO4LfffsPMmTMxevRo6+5FHTRv3jzExsbCy8sLkZGReOWVV5CbWzboz+XLlzFo0CDUq1cPXl5eaN26NTZs2IBLly7h3nvvBQDUq1cPgiBgxIgRRrdRvppm2rRpaN++Pf7v//4P0dHR8PPzw1NPPYWcnBwAJaU5//3vf5GcnAxBEKSeUVqtFomJiYiJiYGHhwfatWuHNWvWSOvVldRs3LgRHTt2hEqlws6dO81ebuvWrejUqRM8PT3RtWtXnD592mA/fv31V3Tu3Bnu7u4ICgrCI488Ir1XWFiICRMmICIiAl5eXujSpQuSkpIq/ewzMzPxwgsvIDg4GL6+vrjvvvtw9OhRsz8nAMjLy8OwYcPg7e2NsLAwzJ07t9JtEtUGcxuW1rSaprLGsZaoKhvsTVN3WHRbm56ejmHDhiE1NRV+fn5o27YtNm3ahPvvvx8AkJycLE1hDwCRkZHYtGkTxo8fj7Zt2yIiIgJjx47FpEmTrLsX+kQRyM+33for4+lZ9dFjJoVCgU8++QQxMTG4cOECXnnlFbzxxhv44osvAACjR4+GWq3Gjh074OXlhZMnT8Lb2xuRkZH48ccf8dhjj+H06dPw9fWFh4eH2ds9f/481q1bh/Xr1+P27dt48sknMWvWLMyYMQMLFixA48aN8dVXX2H//v1S9VtiYiK+++47fPnll2jatCl27NiBZ599FsHBwejZs6e07jfffBNz5sxBo0aNUK9ePbOXmzJlCubOnYvg4GCMGjUKzz//PHbt2gUA+O233/DII49gypQpWL58OdRqNTZs2CAtO2bMGJw8eRKrVq1CeHg41q5di379+uHYsWNo2rSp0c/giSeegIeHBzZu3Ag/Pz8sWrQIvXv3xpkzZxAQEFDl5wQAEydOxPbt2/Hzzz8jJCQEb731Fg4dOoT27dub/V0QWZu5vWlqchpTKAx709SkYESooj+NwkptU0h+FgUjS5YsqfR9Y3ec8fHx2LOn6lH7rCY/v2xK5NpmxSmY9Rs6RkdH44MPPsCoUaOkYCQ5ORmPPfYYYmNjAQCNGjWS0usumCEhIRY3UNVqtVi2bBl8fHwAAEOHDsXWrVsxY8YM+Pn5wcfHB0qlEqGhoQBKSh5mzpyJLVu2SF28GzVqhJ07d2LRokUGQcV7770nBa6WLDdjxgzp+ZtvvokBAwagoKAA7u7umDFjBp566imD3lft2rWTPqOlS5ciOTkZ4eHhAIAJEybg999/x9KlSzFz5swK+79z507s27cP6enpUKlUAIA5c+Zg3bp1WLNmDV566aUqP6fc3FwsWbIE3333HXr37g0A+Pbbb9GgQQOLvgsiazOoPqmszUgNSjZKuvZa6abMgpIRthlxbA41N406Tw210rDhq7pQLcsMl1XRarRVJ9Kl1WorBP1btmzBhx9+iH9P/4vs7GwUFxejoKAAubm58PTwxJgxYzB69Gj8sekP9O7dG48++ijatm0Lhd4RKWpFs/MhakWIWhHR0dHw8vSSlgutH4r09HSIomhw8tK9f+b0GeTn50tBho5arUZcXJxBHjrEdTBvufZx0Gq0Uto2rdtAq9FCUAgICwsDAFxPu47IyEgcOXIEI0eOrLCfgkLAsWPHoNFo0KxZM4P3CgsLERAQIC0jKARp344cOYLc3FwEBhqO5Hjnzh2cO3tO+q1FR0fD28u7wuek1Whx9sxZqNVq3HXXXdLy9erVQ/PmzSGKxr8TQRAglJ5YRbHkuzCl/PegzjPdGFzpqoTSTSmlLS4w3VZHP62oFVFkYkI0S9MqXBRwUZWcakRRRFG+ldIqFXBxLzuFVfY5WJJWUAhw9XCtVtqi/CKT5yNBEODqWc20d4oq/U24ebmZlVarN6KpUhBQXFAMrUYLRaEGLuqy8Z/cXJVQ56kN1ltcUGyQprxiVwVQOsaIUiOWpS0orvAZunq6Sr/j4sJiaIuNn6c0WrGktFsQIIqARq2BpqgsDwb5LtRA1IrScVQ+rX6nCXWeGh5KD+l8WT5teS7uLmVpizTQVPI5uKhcoHCxPK22WIviwkqOTzcllK5Ky9NWdtznqaHfetNW5whzOFQwMjd8LtxhODeBV0Mv9Pq2F6ArGPD0RNrOcyYPRldvVwQ1C5KeX//nuskDwcXDBcEtg8vSHrsObZHxtEqVEiGeZcMm3zh1w+SXWv4LuvnvTYOTbsq1FDz0xEMY+thQvDbiNTS9uyl27tyJkSNH4vqp6/AQPDCww0DErY3D1l1bsWPnDsyaNQvvjH8Hb89+W1rP7Yu3cUe8A3PcvngbuWm5QBGQdjhNej3nag6KCkpObkLpkI3aYq2U5vLxywCAb+d+i9CQktKSoBZBULoqoVKpkJWShVvnbgEAcs/nIi3dcLlf1v6CqJiokm2l5iD/Rj7cXN2QdjhNWu7WqVvQXNEguHVw2Syj13OQdiMNKjcVsi9nG+QZAIJaBiE3NxdKpRI7ft+BOxmGn4OXh5e0TGDzQKh8SkpBbl+/jZCgEKz5cg3K8/PxQ2FWSWNtV1dX3Ll1B5mXMg0+p7TDabhx5gYASGkBoOB2AYryi5CXnlchrwDgH+0PzyBPaTndvhvjF+UHpW/Jbyj1YCq+6/mdybR9ZvdBt4ndStIeSsXXd31tMm3Pd3ui17ReAICMUxlY2GahybTxE+LxwEcPAACykrOwIMZ4jzoA6PRKJwz4fAAAIP9GPuaEzDGZtt3wdhi8bDCAkot1oneiybStHm+FJ1Y/IT2vLG3TB5vimd+ekZ7PCZljMtBp2LMhRiSNkJ4viF6A/BvGq37DO4Xjxf0vSs8/b/U5si5nGU0b3CoYr5x4RXq+uPNiZJzMMJrWr6Efxl0aJz1f1mMZrh24ZjStZ5AnJmZMlJ6v6L8Cl7dfNppW4e4CjG1f8lgAfnjsB5zdcBYdAXQslzbxg714VywbD2rt0LUYusb4MA4A8H/j41DspoRCENB49WnE7y/7nSeO3GiQdkL6BHgFl5Qib3ptEw58ccDker1HxSLXr+T43DplK3bP2S295w9gaOnj4o8PI+N4fYS0LmmU/9fMv7B9etnMx2pXNTCl5PGc+nPwyq5XENE5AgCwZ8EebHlji8k8DP9zOKJ7RQMADn51EBvHbDSZ9un1T6PZgJIboGMrjuHn5342mfbxHx5H6ydKRi8/tfYU1jxZ8byj8/DSh9F+RHsAwLlN5/D9wO9Npu3/WX/cNbrkZij5r2R8e++3RtO5Qo239J7b6hxhDocKRswiCBA9PE3fRXi6GVSliB6eEE0EI/B0Nax28fSCaCrKdXexWnuRf/79B1qtFu+Oexcubi4IbRaKH374oUK6iNAIDHtsGIY9NgyJnyVi5dqVeHv221JPJY1GY4X+UpVrFtMMKjcVrl6/iviOJdUt9ZvUl6LyzMuZlS6XnJKM++6/DwCQpcpCnodl80e0bNISO/fvxJCHhlR4Ly4uDhqNBhk3MhAbGWvW+tq3bY+MmxlwUbogMjzSorzoRDeIhquLK/Yf3I9mbUtOSrczb+NC8gXc3eHuaq2TyNqqO9x71eutUTMRk+yv/JusSRDtsY6jnOzsbPj5+SHjWkaFMUcKCgtwJe0KGjVqBHf3klKTSqsmBBg0srVaWsCgiqSqtM+PfB6XL1/Gxx9/bFBNExgYiFu3bqFDxw74eN7HGDhwIHbv2Y3Jkyfj6tWruHnzJvz9/DH+tfHo17cfmjVrhtu3b2PMmDGIahiFH374AVevXkVkZCS+WfIN+vfvDw8PD3gbaUez/P+WY9y4ccjMzISoFTFt2jT8/MvPOHTwkJRmwYIFWPDJAly8eBGCIGD+/PmYP38+Lpy/IKWZOnUqFn21CB999BG6d+uO7Jxs/P333/D19cWwocPw559/onef3rh546ZBGxbdcnPnzkX37t2ReTsTu3btgo+vD4YPG46kpCSD5QSFgKNHjyIuLg4Xzl9Aw4YNkZSUhPsfuB9T3pqCIUOGoLi4GBs3bsSkNydBEAQ8++yz2LVrFz766CPEtY9DRkYGtm3bhtjYWAwYUHK3rl9No9Vo0bNnT+Tk5mBW4iw0a9YM165dw4YNGzB48GB0vqszpk+fjnXr1uHwocNSMbvuc9J9Lq+MfgW///47vvnmG4SEhGDKlCnYtm0bnn/+eXw87+MK34Wl1TSF6kJcvHgRDaMawqWSewpW01ieti5X0+y9cAtDVxwEAGwa1wON/T2g1Wgx948zWPLXBXi4KXFwalnVaflqms7v/YEcE78hXTXN+v92x+aj1/D5lrMAgIQuUZgy0HCUbnOraQCg2Xt/AIKA/VP6IEDlYlCd8tOhK3h77XEAwCdPx6F/xwYmq2ny1HkI+KSkPd2tV2/Bz9eP1TR5eXCrX/KZIDcXWncPq58jdNfvrKysSscMc6iSETcvN4ODAwC0Sm2FCF9hQUsmOdMmJSUhLi7O4LWRI0fi66+/xrx58zD7o9l4a8pb6NGjBxITEzFs2DAoFAoolApotVr899X/4sqVK/D19UW/fv3w8cclF7mIiAhMnz4dk9+ajOdHPo9hw4Zh2bJlleZFUJRdDPXzrnutss/4gxkfIKR+CD788EP858J/4O/vjw4dOuCtt96CoBCktAqlwuhyiYmJuHDhgsFy+mnLL6fLl0KpwH2978Pq1avx/vvv48PZH8LX1xc9evSQ8rt06VJ88MEHmDhxIq5evYqgoCDcfffdGPTQIKPfkUKpwIaNGzBlyhSMfGEkMjIyEBoaih49eiAsPMzgcxAUZeMplP/s5syZg7y8PAwaNAg+Pj54/fXXkZWVVTIgVBW/DUEQpCqxqiiUCri5mzdmj0KpqHD8mMyDQrBNWsE2aQHYRVr9AMKqaT2sk7Zb6/oY3D4cbi4KNA/1kV4fP7AlGoT5oFezYJP76+Lugl3THkCrdzYBKJkxNy7KH6v2l4yQPapnY8QEeaJ1uC8aBXvhREYu/DzcMLp/80o/QxeVC6AyvT8rX7wbeWoNgkurUvWruYd0j8Gnuy5B5aJA/04NDI5PpZthm4Ui17ILp5uXm8FxWD5tZZSuZRd6a6ZVuCjg5mLmsWxJ2kqP+yIL0hqy5Lg3a32OVDJiLLIqKCjAxYsXERMTI5WMENV1/N0TWSZPnQfvxJIS4tzJufBys07PR4eWl1fW+9SKvUH1mVsyws5QREREJCsGI0RERCQrBiNEREQkKwYjREREJCsGI0RERCSrOhOMOECnICKr0WrNn26AiMjeOdQ4I8a4upYMnpORkYHg4GCbjSpIZA9EUYRarUZGRgYUCoU02i4RkSNz+GBEqVSiQYMGuHLlCi5duiR3dohqhaenJ6KiogxGCCYiclQOH4wAgLe3N5o2bYqiItND0xLVFUqlEi4uLiwFJKI6o04EI0DJCVqpNH+6YiIiIrIPLOMlIiIiWTEYISIiIlkxGCEiIiJZOUSbEd0YItnZ2TLnhIiIHFGeOg8oKHmcnZ0NjZtG3gzZg7y8ssfZ2YDG+p+J7rpd1VhggugAo4VduXIFkZGRcmeDiIiIqiElJQUNGjQw+b5DBCNarRbXrl2Dj4+PVbszZmdnIzIyEikpKfD19bXaeh2FM++/M+87wP135v135n0HnHv/5dh3URSRk5OD8PDwSsdFcohqGoVCUWlEVVO+vr5O96PU58z778z7DnD/nXn/nXnfAefe/9redz8/vyrTsAErERERyYrBCBEREcnKqYMRlUqFd999FyqVSu6syMKZ99+Z9x3g/jvz/jvzvgPOvf/2vO8O0YCViIiI6i6nLhkhIiIi+TEYISIiIlkxGCEiIiJZMRghIiIiWTl1MPL5558jOjoa7u7u6NKlC/bt2yd3liySmJiIzp07w8fHByEhIRg8eDBOnz5tkKagoACjR49GYGAgvL298dhjj+H69esGaZKTkzFgwAB4enoiJCQEEydORHFxsUGapKQkdOjQASqVCk2aNMGyZctsvXsWmzVrFgRBwLhx46TX6vL+X716Fc8++ywCAwPh4eGB2NhYHDhwQHpfFEW88847CAsLg4eHB/r06YOzZ88arOPWrVtISEiAr68v/P39MXLkSOTm5hqk+eeff3DPPffA3d0dkZGRmD17dq3sX2U0Gg2mTp2KmJgYeHh4oHHjxnj//fcN5r+oS/u/Y8cODBo0COHh4RAEAevWrTN4vzb3dfXq1WjRogXc3d0RGxuLDRs2WH1/9VW270VFRZg0aRJiY2Ph5eWF8PBwDBs2DNeuXTNYh6PuO1D1d69v1KhREAQB8+fPN3jdIfZfdFKrVq0S3dzcxG+++UY8ceKE+OKLL4r+/v7i9evX5c6a2fr27SsuXbpUPH78uHjkyBHxwQcfFKOiosTc3FwpzahRo8TIyEhx69at4oEDB8S7775b7Nq1q/R+cXGx2KZNG7FPnz7i4cOHxQ0bNohBQUHi5MmTpTQXLlwQPT09xddee008efKk+Omnn4pKpVL8/fffa3V/K7Nv3z4xOjpabNu2rTh27Fjp9bq6/7du3RIbNmwojhgxQty7d6944cIFcdOmTeK5c+ekNLNmzRL9/PzEdevWiUePHhUfeughMSYmRrxz546Upl+/fmK7du3EPXv2iH/99ZfYpEkT8emnn5bez8rKEuvXry8mJCSIx48fF7///nvRw8NDXLRoUa3ub3kzZswQAwMDxfXr14sXL14UV69eLXp7e4sLFiyQ0tSl/d+wYYM4ZcoU8aeffhIBiGvXrjV4v7b2ddeuXaJSqRRnz54tnjx5Unz77bdFV1dX8dixY7Lse2ZmptinTx/xf//7n/jvv/+Ku3fvFu+66y6xY8eOButw1H2vav/1/fTTT2K7du3E8PBw8eOPPzZ4zxH232mDkbvuukscPXq09Fyj0Yjh4eFiYmKijLmqmfT0dBGAuH37dlEUSw5UV1dXcfXq1VKaU6dOiQDE3bt3i6JY8kNXKBRiWlqalGbhwoWir6+vWFhYKIqiKL7xxhti69atDbY1ZMgQsW/fvrbeJbPk5OSITZs2FTdv3iz27NlTCkbq8v5PmjRJ7N69u8n3tVqtGBoaKn700UfSa5mZmaJKpRK///57URRF8eTJkyIAcf/+/VKajRs3ioIgiFevXhVFURS/+OILsV69etJnodt28+bNrb1LFhkwYID4/PPPG7z26KOPigkJCaIo1u39L39Bqs19ffLJJ8UBAwYY5KdLly7if/7zH6vuoymVXYx19u3bJwIQL1++LIpi3dl3UTS9/1euXBEjIiLE48ePiw0bNjQIRhxl/52ymkatVuPgwYPo06eP9JpCoUCfPn2we/duGXNWM1lZWQCAgIAAAMDBgwdRVFRksJ8tWrRAVFSUtJ+7d+9GbGws6tevL6Xp27cvsrOzceLECSmN/jp0aezlsxo9ejQGDBhQIY91ef9/+eUXdOrUCU888QRCQkIQFxeHxYsXS+9fvHgRaWlpBvn28/NDly5dDPbd398fnTp1ktL06dMHCoUCe/fuldL06NEDbm5uUpq+ffvi9OnTuH37tq1306SuXbti69atOHPmDADg6NGj2LlzJ/r37w+g7u+/vtrcV3s8FsrLysqCIAjw9/cHUPf3XavVYujQoZg4cSJat25d4X1H2X+nDEZu3LgBjUZjcAECgPr16yMtLU2mXNWMVqvFuHHj0K1bN7Rp0wYAkJaWBjc3N+mg1NHfz7S0NKOfg+69ytJkZ2fjzp07ttgds61atQqHDh1CYmJihffq8v5fuHABCxcuRNOmTbFp0ya8/PLLePXVV/Htt98CKMt7Zb/xtLQ0hISEGLzv4uKCgIAAiz4fObz55pt46qmn0KJFC7i6uiIuLg7jxo1DQkKCQd7q6v7rq819NZXGXj6LgoICTJo0CU8//bQ0EVxd3/cPP/wQLi4uePXVV42+7yj77xCz9lLVRo8ejePHj2Pnzp1yZ6XWpKSkYOzYsdi8eTPc3d3lzk6t0mq16NSpE2bOnAkAiIuLw/Hjx/Hll19i+PDhMufO9n744QesWLECK1euROvWrXHkyBGMGzcO4eHhTrH/VFFRURGefPJJiKKIhQsXyp2dWnHw4EEsWLAAhw4dgiAIcmenRpyyZCQoKAhKpbJCr4rr168jNDRUplxV35gxY7B+/Xr8+eefaNCggfR6aGgo1Go1MjMzDdLr72doaKjRz0H3XmVpfH194eHhYe3dMdvBgweRnp6ODh06wMXFBS4uLti+fTs++eQTuLi4oH79+nV2/8PCwtCqVSuD11q2bInk5GQAZXmv7DceGhqK9PR0g/eLi4tx69Ytiz4fOUycOFEqHYmNjcXQoUMxfvx4qYSsru+/vtrcV1Np5P4sdIHI5cuXsXnzZqlUBKjb+/7XX38hPT0dUVFR0jnw8uXLeP311xEdHQ3AcfbfKYMRNzc3dOzYEVu3bpVe02q12Lp1K+Lj42XMmWVEUcSYMWOwdu1abNu2DTExMQbvd+zYEa6urgb7efr0aSQnJ0v7GR8fj2PHjhn8WHUHs+5iFx8fb7AOXRq5P6vevXvj2LFjOHLkiPTXqVMnJCQkSI/r6v5369atQjfuM2fOoGHDhgCAmJgYhIaGGuQ7Ozsbe/fuNdj3zMxMHDx4UEqzbds2aLVadOnSRUqzY8cOFBUVSWk2b96M5s2bo169ejbbv6rk5+dDoTA8fSmVSmi1WgB1f//11ea+2uOxoAtEzp49iy1btiAwMNDg/bq870OHDsU///xjcA4MDw/HxIkTsWnTJgAOtP9WaQbrgFatWiWqVCpx2bJl4smTJ8WXXnpJ9Pf3N+hVYe9efvll0c/PT0xKShJTU1Olv/z8fCnNqFGjxKioKHHbtm3igQMHxPj4eDE+Pl56X9e19YEHHhCPHDki/v7772JwcLDRrq0TJ04UT506JX7++eeyd201Rb83jSjW3f3ft2+f6OLiIs6YMUM8e/asuGLFCtHT01P87rvvpDSzZs0S/f39xZ9//ln8559/xIcffthod8+4uDhx79694s6dO8WmTZsadPnLzMwU69evLw4dOlQ8fvy4uGrVKtHT01P2rr3Dhw8XIyIipK69P/30kxgUFCS+8cYbUpq6tP85OTni4cOHxcOHD4sAxHnz5omHDx+WeozU1r7u2rVLdHFxEefMmSOeOnVKfPfdd23evbWyfVer1eJDDz0kNmjQQDxy5IjBeVC/Z4ij7ntV+29M+d40ougY+++0wYgoiuKnn34qRkVFiW5ubuJdd90l7tmzR+4sWQSA0b+lS5dKae7cuSO+8sorYr169URPT0/xkUceEVNTUw3Wc+nSJbF///6ih4eHGBQUJL7++utiUVGRQZo///xTbN++vejm5iY2atTIYBv2pHwwUpf3/9dffxXbtGkjqlQqsUWLFuJXX31l8L5WqxWnTp0q1q9fX1SpVGLv3r3F06dPG6S5efOm+PTTT4ve3t6ir6+v+Nxzz4k5OTkGaY4ePSp2795dVKlUYkREhDhr1iyb71tVsrOzxbFjx4pRUVGiu7u72KhRI3HKlCkGF6C6tP9//vmn0WN9+PDhoijW7r7+8MMPYrNmzUQ3NzexdevW4m+//Waz/RbFyvf94sWLJs+Df/75p8PvuyhW/d2XZywYcYT9F0RRb8hCIiIiolrmlG1GiIiIyH4wGCEiIiJZMRghIiIiWTEYISIiIlkxGCEiIiJZMRghIiIiWTEYISIiIlkxGCEiIiJZMRghIiIiWTEYISIiIlkxGCEiIiJZMRghIiIiWf0/YE6XnYUVuBIAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot([power for (_, power) in power_data])\n", + "plt.axhline(avg_power, color='purple', linestyle='--', label='Average IDLE power')\n", + "first_inference_start_index = get_power_index(power_data, latency_data[0][0][1])\n", + "last_inference_end_index = get_power_index(power_data, latency_data[len(latency_data)-1][0][2])\n", + "plt.axvline(first_inference_start_index, color='green', label='First inference start')\n", + "plt.axvline(last_inference_end_index, color='red', label='Last inference end')\n", + "plt.legend()" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "id": "fb0d5747-4547-41a9-bb33-5d9949ff24f5", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Computing layer metrics...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Mapping power to layer: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████| 3000/3000 [00:00<00:00, 575824.27it/s]\n" + ] + } + ], + "source": [ + "metrics = compute_layer_metrics_by_cycle(power_data, latency_data, avg_power)\n", + "metrics_df_k4 = pd.DataFrame.from_dict(metrics)" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "id": "1caaf39c-ccb5-4dc0-a9c2-bead7906c506", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
cyclelayer_power_including_idle_power_micro_wattlayer_power_excluding_idle_power_micro_wattlayer_run_time
count3000.0000001.260000e+02126.0000003000.000000
mean1500.5000004.196879e+06620634.2204380.060258
std866.1697299.168451e+0491684.5107800.006269
min1.0000003.691776e+06115530.9823430.038976
25%750.7500004.183344e+06607098.9823430.061088
50%1500.5000004.213440e+06637194.9823430.061664
75%2250.2500004.253568e+06677322.9823430.062240
max3000.0000004.253568e+06677322.9823430.097952
\n", + "
" + ], + "text/plain": [ + " cycle layer_power_including_idle_power_micro_watt \\\n", + "count 3000.000000 1.260000e+02 \n", + "mean 1500.500000 4.196879e+06 \n", + "std 866.169729 9.168451e+04 \n", + "min 1.000000 3.691776e+06 \n", + "25% 750.750000 4.183344e+06 \n", + "50% 1500.500000 4.213440e+06 \n", + "75% 2250.250000 4.253568e+06 \n", + "max 3000.000000 4.253568e+06 \n", + "\n", + " layer_power_excluding_idle_power_micro_watt layer_run_time \n", + "count 126.000000 3000.000000 \n", + "mean 620634.220438 0.060258 \n", + "std 91684.510780 0.006269 \n", + "min 115530.982343 0.038976 \n", + "25% 607098.982343 0.061088 \n", + "50% 637194.982343 0.061664 \n", + "75% 677322.982343 0.062240 \n", + "max 677322.982343 0.097952 " + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "metrics_df_k4.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "id": "1a07ab82-19c8-4462-a59e-6acf172486e7", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "cycle 3000\n", + "layer_power_including_idle_power_micro_watt 126\n", + "layer_power_excluding_idle_power_micro_watt 126\n", + "layer_run_time 3000\n", + "dtype: int64" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "metrics_df_k4.count()" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "id": "e382b2e4-c62b-4cec-b207-b1d65a6f660e", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 31, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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AKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjKpTGJk7d65iY2MVFBSkoKAgxcXFaeXKlSdc/tixY3riiScUFRUlX19f9ejRQx999FG9iwYAAE1HncJIu3btNGPGDOXm5uqrr77SFVdcoeHDh+u7776rdvlHHnlE6enpevHFF/X999/r7rvv1jXXXKNvvvmmQYoHAACNn82yLKs+GwgJCdHMmTN12223HTevbdu2evjhhzVu3Dhn27XXXqsWLVrorbfeqvU+SkpKFBwcrOLiYgUFBdWnXAAA4Ca1PX97neoO7Ha7li1bpkOHDikuLq7aZcrLy+Xr6+vS1qJFC61du7bGbZeXl6u8vNw5XVJScqplAgCAM1ydB7Bu3rxZAQEB8vHx0d133613331X3bp1q3bZQYMGafbs2dqxY4ccDoc++eQTZWRkqLCwsMZ9pKamKjg42PmIiIioa5kAAKCRqPNlmoqKCuXn56u4uFjLly/X/PnztXr16moDyS+//KI77rhDH3zwgWw2m6KiojRw4EC9/vrrOnLkyAn3UV3PSEREBJdpAABoRGp7mabeY0YGDhyoqKgopaenn3CZo0eP6sCBA2rbtq0efPBBZWVlnXDQa3UYMwIAQONT2/N3vb9nxOFwuPRiVMfX11fh4eGqrKzUO++8o+HDh9d3twAAoImo0wDWadOmafDgwWrfvr1KS0u1ZMkSZWdna9WqVZKk5ORkhYeHKzU1VZK0fv16FRQUqGfPniooKNBjjz0mh8OhKVOmNPyRAACARqlOYaSoqEjJyckqLCxUcHCwYmNjtWrVKl155ZWSpPz8fHl4/NnZcvToUT3yyCPavXu3AgICNGTIEL355ps6++yzG/QgAABA41XvMSPuwJgRAAAaH7eNGQEAAKgPwggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjC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UlKiiIgI7du3jx/CBJoYy7JUWlqqtm3bysPjxCNDGkUYAdB08avcABjACgAAjCKMAAAAowgjAIzy8fHRP//5T/n4+JguBYAhjBkBAABG0TMCAACMIowAAACjCCMAAMAowggAADCKMAJJUmJioiZMmGC6jGahoZ/rxx57TD179qz3diIjIzVnzhzntM1mU2ZmZr23W1u1OY6bb75ZSUlJzmletw3n7///gDs1it+mAZqSjIwMnXXWWabLOKnCwkK1bNnSbfubPHmy7rvvPrftD642btwof39/02U0mIULF2rChAk6ePCgS3tkZKQmTJhAiD3DEEZwRqioqJC3t7fpMuqtNscREhLipmrqp02bNm7dX0BAgAICAty6z8bo2LFjpyXMtmrV6pTXtdvtstlsNf72CFATXjk4zptvvqnevXsrMDBQbdq00Q033KCioiJJf/zoUXR0tNLS0lzW2bRpk2w2m3bu3ClJOnjwoG6//Xa1atVKQUFBuuKKK/Ttt986l6/qkp8/f746dOggX1/fk9aVmJio8ePHa/z48QoODtY555yjRx991OWnqX///XclJyerZcuW8vPz0+DBg7Vjxw5n7a1atdLy5cudy/fs2VNhYWHO6bVr18rHx0eHDx8+rcfx109lkZGRevrpp3XrrbcqMDBQ7du316uvvuqyzo8//qjrr79eISEh8vf3V+/evbV+/fpabV+SkpKSdPPNNzuni4qKNGzYMLVo0UIdOnTQ4sWLj9vOXy/T7N27VzabTRkZGerfv7/8/PzUo0cP5eTkuKwzb948RUREyM/PT9dcc41mz56ts88++6TPiXT8ZRq73a77779fZ599tkJDQzVlypST/gx5eXm5Jk+erPDwcPn7+6tPnz7Kzs6u1f4XLlyos88+W5mZmerYsaN8fX01aNAg7du3z2W5uXPnKioqSt7e3urcubPefPNN57zJkyfr6quvdk7PmTNHNptNH330kbMtOjpa8+fPd07Pnz9fXbt2la+vr7p06aKXX37ZOa/qef/Xv/6lhIQE+fr6Vvt/Vd1xZGVlqXPnzvLz89PIkSN1+PBhLVq0SJGRkWrZsqX+93//V3a73bne3y/THDx4UHfddZdat24tX19fde/eXVlZWS77eP/999WtWzf5+PgoPz+/xvdfTU7lvTl79mzFxMTI399fERERuvfee1VWViZJys7O1i233KLi4mLZbDbZbDY99thjSkxM1A8//KCJEyc623FmIIzgOMeOHdOTTz6pb7/9VpmZmdq7d6/zRGaz2XTrrbdqwYIFLussWLBA/fr1U3R0tCRp1KhRKioq0sqVK5Wbm6tevXppwIAB+u2335zr7Ny5U++8844yMjK0adOmWtW2aNEieXl5acOGDXr++ec1e/Zslz/sN998s7766iu9//77ysnJkWVZGjJkiI4dOyabzaZ+/fo5T06///67tmzZoiNHjmjr1q2SpNWrV+viiy+Wn5/faT2Ov5s1a5Z69+6tb775Rvfee6/uuecebdu2TZJUVlamhIQEFRQU6P3339e3336rKVOmyOFwnNK+qp6nffv26bPPPtPy5cv18ssvOwNnTR5++GFNnjxZmzZtUqdOnXT99dersrJSkrRu3TrdfffdSklJ0aZNm3TllVdq+vTpp1zjrFmztHDhQr3++utau3atfvvtN7377rs1rjN+/Hjl5ORo6dKl+u9//6tRo0bpqquuqtUJUZIOHz6s6dOn64033tC6det08OBBjR492jn/3XffVUpKiiZNmqS8vDzddddduuWWW/TZZ59JkhISErR27VrnSX716tU655xznK+5goIC7dq1S4mJiZKkxYsX6x//+IemT5+uLVu26Omnn9ajjz6qRYsWudT14IMPKiUlRVu2bNGgQYNqdRwvvPCCli5dqo8++kjZ2dm65pprtGLFCq1YsUJvvvmm0tPTXU7+f+VwODR48GCtW7dOb731lr7//nvNmDFDnp6eLvt45plnNH/+fH333Xc699xza3z/1eRU3pseHh564YUX9N1332nRokX6v//7P02ZMkWS1LdvX82ZM0dBQUEqLCxUYWGhJk+erIyMDLVr105PPPGEsx1nCAuwLCshIcFKSUmpdt7GjRstSVZpaallWZZVUFBgeXp6WuvXr7csy7IqKiqsc845x1q4cKFlWZa1Zs0aKygoyDp69KjLdqKioqz09HTLsizrn//8p3XWWWdZRUVFdaqxa9eulsPhcLZNnTrV6tq1q2VZlrV9+3ZLkrVu3Trn/F9//dVq0aKF9e9//9uyLMt64YUXrAsuuMCyLMvKzMy0+vTpYw0fPtyaO3euZVmWNXDgQOuhhx467cfx1+f6vPPOs2688UbntMPhsM4991xnTenp6VZgYKB14MCBarf3z3/+0+rRo8cJt29ZljV8+HBr7NixlmVZ1rZt2yxJ1oYNG5zzt2zZYkmynnvuOWebJOvdd9+1LMuy9uzZY0my5s+f75z/3XffWZKsLVu2WJZlWdddd501dOhQl/2OGTPGCg4OrunpOOFxhIWFWc8++6xz+tixY1a7du2s4cOHV3usP/zwg+Xp6WkVFBS4bHfAgAHWtGnTTrr/BQsWWJKsL7/80tlW9bxUvdb79u1r3XHHHS7rjRo1yhoyZIhlWZb1+++/Wx4eHtbGjRsth8NhhYSEWKmpqVafPn0sy7Kst956ywoPD3euGxUVZS1ZssRle08++aQVFxdnWdafz/ucOXNOWv/fj2Pnzp3Otrvuusvy8/Nzvocty7IGDRpk3XXXXc7p8847z/n/v2rVKsvDw8Patm1bjfvYtGmTs60277+a1OW9WZ1ly5ZZoaGhLjVW99r763HizEHPCI6Tm5urYcOGqX379goMDFRCQoIkKT8/X5LUtm1bDR06VK+//rok6YMPPlB5eblGjRolSfr2229VVlam0NBQ5ziAgIAA7dmzR7t27XLu57zzzqvzdepLL73UpWs1Li5OO3bskN1u15YtW+Tl5aU+ffo454eGhqpz587asmWLpD8+uX7//ff65ZdftHr1aiUmJioxMVHZ2dk6duyYvvjiC+en1tN5HH8XGxvr/LfNZlObNm2cPRWbNm3ShRde2GBjTaqep4suusjZ1qVLl1pdTvlrnVVd6FV1btu2TZdcconL8n+frq3i4mIVFha6/F96eXmpd+/eJ1xn8+bNstvt6tSpk8v/1+rVq13+v2ri5eWliy++2Dld9bxUvX62bNmiyy67zGWdyy67zDn/7LPPVo8ePZSdna3NmzfL29tbd955p7755huVlZVp9erVzvfToUOHtGvXLt12220u9T711FPH1VvTcVfHz89PUVFRzunWrVsrMjLSZUxO69atT9gbtmnTJrVr106dOnU64T68vb1dXg+1ef/VpC7vTUn6z3/+owEDBig8PFyBgYG66aabdODAAedlHDQuDGCFi0OHDmnQoEEaNGiQFi9erFatWik/P1+DBg1SRUWFc7nbb79dN910k5577jktWLBA1113nbP7tKysTGFhYdVeq//rCc/EyP2YmBiFhIRo9erVWr16taZPn642bdromWee0caNG3Xs2DH17dtX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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "metrics_df_k4.boxplot(column='layer_power_including_idle_power_micro_watt', grid=False)" + ] + }, + { + "cell_type": "markdown", + "id": "46ac528f-1526-4024-81ee-a21cb676919d", + "metadata": { + "jp-MarkdownHeadingCollapsed": true + }, + "source": [ + "### Kernel 1 Stride 5 Output 3" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "id": "6ef0f4ca-b361-45cf-aae9-7f9ab04a2a44", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14242/14242 [00:00<00:00, 89283.99it/s]\n", + "Preprocessing latency data: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1/1 [00:00<00:00, 22.10it/s]\n" + ] + } + ], + "source": [ + "model_name = 'conv_k1_s5_o3'\n", + "\n", + "with open((DATA_PATH/model_name/f'{model_name}_power_log.log'), 'r') as fp:\n", + " data = fp.readlines()\n", + "power_data = parse_power_log(data)\n", + "\n", + "with open((DATA_PATH/model_name/'trt_profiling/trt_layer_latency.json'), 'r') as fp:\n", + " data = json.load(fp)\n", + "latency_data = parse_latencies_trt(data)" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "id": "87779b48-dbb9-4ab2-beb5-607cc22c99ad", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Number of power entries for conv_k1_s5_o3: 14242\n", + "Number of TensorRT layers in conv_k1_s5_o3: 1\n", + "Number of latency entries for each layer: 3000\n", + "Inference for 3000 cycles: 2.973237 seconds\n" + ] + } + ], + "source": [ + "print(f\"Number of power entries for {model_name}: {len(power_data)}\")\n", + "print(f\"Number of TensorRT layers in {model_name}: {len(latency_data[0])}\")\n", + "print(f\"Number of latency entries for each layer: {len(latency_data)}\")\n", + "print(f\"Inference for {len(latency_data)} cycles: {(latency_data[len(latency_data)-1][0][2]-latency_data[0][0][1]).total_seconds()} seconds\")" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "id": "59324a0b-2708-403c-94c5-21196f1e1212", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 34, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot([power for (_, power) in power_data])\n", + "plt.axhline(avg_power, color='purple', linestyle='--', label='Average IDLE power')\n", + "first_inference_start_index = get_power_index(power_data, latency_data[0][0][1])\n", + "last_inference_end_index = get_power_index(power_data, latency_data[2999][0][2])\n", + "plt.axvline(first_inference_start_index, color='green', label='First inference start')\n", + "plt.axvline(last_inference_end_index, color='red', label='Last inference end')\n", + "plt.legend()" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "id": "a547dce0-b6cf-465c-ae9f-32e8d2a3531c", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Computing layer metrics...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Mapping power to layer: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████| 3000/3000 [00:00<00:00, 437225.48it/s]\n" + ] + } + ], + "source": [ + "metrics = compute_layer_metrics_by_cycle(power_data, latency_data, avg_power)\n", + "metrics_df_k5 = pd.DataFrame.from_dict(metrics)" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "id": "7b72d3ab-6a79-4344-8ffa-b2143774b9bb", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
cyclelayer_power_including_idle_power_micro_wattlayer_power_excluding_idle_power_micro_wattlayer_run_time
count3000.0000001.260000e+02126.0000003000.000000
mean1500.5000004.178089e+06601844.1252000.053114
std866.1697299.941476e+0499414.7555030.007228
min1.0000003.731904e+06155658.9823430.033376
25%750.7500004.213440e+06637194.9823430.054496
50%1500.5000004.213440e+06637194.9823430.055168
75%2250.2500004.213440e+06637194.9823430.055776
max3000.0000004.213440e+06637194.9823430.094624
\n", + "
" + ], + "text/plain": [ + " cycle layer_power_including_idle_power_micro_watt \\\n", + "count 3000.000000 1.260000e+02 \n", + "mean 1500.500000 4.178089e+06 \n", + "std 866.169729 9.941476e+04 \n", + "min 1.000000 3.731904e+06 \n", + "25% 750.750000 4.213440e+06 \n", + "50% 1500.500000 4.213440e+06 \n", + "75% 2250.250000 4.213440e+06 \n", + "max 3000.000000 4.213440e+06 \n", + "\n", + " layer_power_excluding_idle_power_micro_watt layer_run_time \n", + "count 126.000000 3000.000000 \n", + "mean 601844.125200 0.053114 \n", + "std 99414.755503 0.007228 \n", + "min 155658.982343 0.033376 \n", + "25% 637194.982343 0.054496 \n", + "50% 637194.982343 0.055168 \n", + "75% 637194.982343 0.055776 \n", + "max 637194.982343 0.094624 " + ] + }, + "execution_count": 36, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "metrics_df_k5.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "id": "5c4b3175-1b91-4c59-ae69-3e8cbb15727a", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "cycle 3000\n", + "layer_power_including_idle_power_micro_watt 126\n", + "layer_power_excluding_idle_power_micro_watt 126\n", + "layer_run_time 3000\n", + "dtype: int64" + ] + }, + "execution_count": 37, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "metrics_df_k5.count()" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "id": "f4befb46-6729-41d4-a63f-3c435dbf0a61", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 38, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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KFBQUJBOnTqlnJwcLtkAVRy3gwdwXZo3b54KCgo0ZcoUpyAiSR4eHpo8ebIKCgo0b948QxUCcDXCCACXSktLkyT17du3xOXF84vbAaj+CCMAXCo0NFSStG7duhKXF88vbgeg+mPMCACXYswIcONgzAiA65Knp6diYmJ04sQJBQUFaeHChTp27JgWLlyooKAgnThxQjExMQQR4AbCfUYAuFzxfURmz56tUaNGOeZ7eHho/Pjx3GcEuMFwmQaAMdyBFajeynr+JowAAIBrgjEjAACgSiCMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwqlxhZP78+QoPD5fdbpfdbldERIQ2bNhw2fb5+fmaPHmyQkND5e3trbZt2+qTTz6pcNEAAKD6KFcYCQoKUnx8vFJSUvTtt9/q3nvvVf/+/bVr164S27/44otasGCB3njjDe3evVtPPfWUBg4cqO+//75SigcAAFWfzbIsqyIbqFOnjmbMmKHHH3/8kmUNGzbUCy+8oDFjxjjmPfDAA6pRo4befffdMu8jKytL/v7+yszMlN1ur0i5AADARcp6/va42h0UFhZq1apVysnJUURERIltcnNz5e3t7TSvRo0a2rx5c6nbzs3NVW5urmM6KyvrassEAADXuXKHkdTUVEVEROj8+fPy9fXVmjVr1LJlyxLb9uzZUwkJCeratatCQ0P1xRdfaPXq1SosLCx1H3FxcZo0aVJ5SwNQxeTl5WnevHlKS0tTaGioRo8eLU9PT9NlAXCxcl+mycvLU3p6ujIzM/X+++9r8eLF2rhxY4mB5OTJk3riiSf00UcfyWazKTQ0VD169NDbb7+t33///bL7KKlnJDg4mMs0QDUSGxur2bNnq6CgwDHPw8NDMTExmj59usHKAFSWsl6mKfdXez09PdW0aVPdcccdiouLU9u2bfX666+X2DYwMFBr165VTk6ODh8+rL1798rX11e33nprqfvw8vJyfGOn+AdA9REbG6sZM2YoICBAixYt0vHjx7Vo0SIFBARoxowZio2NNV0iABeq8ADWe++9V40bN9aSJUuu2DY/P19hYWH67//+b7322mtl3gcDWIHqIy8vTz4+PgoICNDPP/8sD4//XC0uKChQUFCQTp06pZycHC7ZAFXcNekZmThxojZt2qRDhw4pNTVVEydOVFJSkoYMGSJJioqK0sSJEx3tt23bptWrV+vAgQP66quv1KtXLxUVFfFXD3ADmzdvngoKCjRlyhSnICJduEwzefJkFRQUaN68eYYqBOBq5RrAmpGRoaioKB0/flz+/v4KDw/Xp59+qvvuu0+SlJ6eLje3/+Sb8+fP68UXX9SBAwfk6+ur3r17a9myZapVq1alHgSAqiMtLU2S1Ldv3xKXF88vbgeg+itXGPn73/9e6vKkpCSn6cjISO3evbvcRQGovkJDQyVJ69at08iRIy9Zvm7dOqd2AKq/Co8ZcQXGjADVB2NGgBvHNfs2DQBUhKenp2JiYnTixAkFBQVp4cKFOnbsmBYuXKigoCCdOHFCMTExBBHgBnLVd2AFgKtVfB+R2bNna9SoUY75Hh4eGj9+PPcZAW4wXKYBYAx3YAWqt7KevwkjAADgmmDMCAAAqBIIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAqHKFkfnz5ys8PFx2u112u10RERHasGFDqevMmTNHzZs3V40aNRQcHKyYmBidP3++QkUDAIDqw6M8jYOCghQfH6/bbrtNlmVp6dKl6t+/v77//nu1atXqkvYrVqzQX/7yF7399tvq1KmT9u/fr+HDh8tmsykhIaHSDgIAAFRd5Qoj/fr1c5qeOnWq5s+fr2+++abEMPL111+rc+fOeuSRRyRJISEhGjx4sLZt21aBkgEAQHVy1WNGCgsLtXLlSuXk5CgiIqLENp06dVJKSoq2b98uSTpw4IDWr1+v3r17l7rt3NxcZWVlOf0AAIDqqVw9I5KUmpqqiIgInT9/Xr6+vlqzZo1atmxZYttHHnlEv/76q/70pz/JsiwVFBToqaee0l//+tdS9xEXF6dJkyaVtzQAAFAF2SzLssqzQl5entLT05WZman3339fixcv1saNG0sMJElJSXr44Yc1ZcoU3XXXXfrpp58UHR2tJ554Qi+99NJl95Gbm6vc3FzHdFZWloKDg5WZmSm73V6ecgEAgCFZWVny9/e/4vm73GHkYj169FBoaKgWLFhwybIuXbro7rvv1owZMxzz3n33XT355JPKzs6Wm1vZrhKV9WAAAMD1o6zn7wrfZ6SoqMipF+OPzp07d0ngcHd3lyRVMAMBAIBqolxjRiZOnKj7779fjRs31tmzZ7VixQolJSXp008/lSRFRUWpUaNGiouLk3Th2zcJCQlq166d4zLNSy+9pH79+jlCCQAAuLGVK4xkZGQoKipKx48fl7+/v8LDw/Xpp5/qvvvukySlp6c79YS8+OKLstlsevHFF3X06FEFBgaqX79+mjp1auUeBQAAqLIqPGbEFRgzAgBA1eOyMSMAAAAVQRgBAABGEUYAAIBRhBEAAGAUYQQAABhFGAEAAEYRRgAAgFGEEQAAYBRhBAAAGEUYAQAARhFGAACAUYQRAABgFGEEAAAYRRgBAABGEUYAAIBRhBEAAGAUYQQAABhFGAEAAEYRRgAAgFGEEQAAYBRhBAAAGEUYAQAARhFGAACAUYQRAABgFGEEAAAYRRgBAABGEUYAAIBRhBEAAGAUYQQAABhFGAEAAEYRRgAAgFGEEQAAYBRhBAAAGEUYAQAARhFGAACAUYQRAMZkZ2dr4MCBCg8P18CBA5WdnW26JAAGeJguAMCN6c4771RycrJjOjU1VX5+furYsaO2b99usDIArkbPCACXKw4iNptNw4YN086dOzVs2DDZbDYlJyfrzjvvNF0iABeyWZZlmS7iSrKysuTv76/MzEzZ7XbT5QCogOzsbPn5+clms+ncuXPy9vZ2LDt//rxq1qwpy7J09uxZ+fr6GqwUQEWV9fxNzwgAlxo2bJgkaejQoU5BRJK8vb31yCOPOLUDUP0RRgC4VFpamiRp3LhxJS5/7rnnnNoBqP4IIwBcKjQ0VJI0c+bMEpcnJCQ4tQNQ/TFmBIBLMWYEuHEwZgTAdcnX11cdO3aUZVmqWbOmhg4dqu+++05Dhw51BJGOHTsSRIAbCD0jAIy4+D4jxbjPCFB9lPX8zU3PABixfft2ZWdna9iwYUpLS1NoaKiWLVtGjwhwAyKMADDG19dXa9asMV0GAMMYMwIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMqhJ3YC1+fE5WVpbhSgAAQFkVn7ev9Bi8KhFGzp49K0kKDg42XAkAACivs2fPyt/f/7LLq8RTe4uKinTs2DH5+fnJZrOZLgdAJcrKylJwcLCOHDnCU7mBasayLJ09e1YNGzaUm9vlR4ZUiTACoPoq6yPGAVRfDGAFAABGEUYAAIBRhBEARnl5eenll1+Wl5eX6VIAGMKYEQAAYBQ9IwAAwCjCCAAAMIowAgAAjCKMAAAAowgjkCR169ZNY8eONV3GDaGyX+tXXnlFt99+e4W3ExISojlz5jimbTab1q5dW+HtllVZjmP48OEaMGCAY5r3beW5+P8fcKUq8WwaoDpZvXq1brrpJtNlXNHx48dVu3Ztl+1v3LhxevbZZ122PzhLTk6Wj4+P6TIqzZIlSzR27FidOXPGaX5ISIjGjh1LiL3OEEZwXcjLy5Onp6fpMiqsLMdRp04dF1VTMfXr13fp/nx9feXr6+vSfVZF+fn51yTMBgYGXvW6hYWFstlspT57BCgN7xxcYtmyZerQoYP8/PxUv359PfLII8rIyJB04aFHTZs21cyZM53W2bFjh2w2m3766SdJ0pkzZzRy5EgFBgbKbrfr3nvv1c6dOx3ti7vkFy9erCZNmsjb2/uKdXXr1k3PPPOMnnnmGfn7++vmm2/WSy+95PRo6t9++01RUVGqXbu2atasqfvvv18//vijo/bAwEC9//77jva33367GjRo4JjevHmzvLy8dO7cuWt6HH/8qywkJESvvfaaHnvsMfn5+alx48ZauHCh0zo///yzBg8erDp16sjHx0cdOnTQtm3byrR9SRowYICGDx/umM7IyFC/fv1Uo0YNNWnSRMuXL79kO3+8THPo0CHZbDatXr1a99xzj2rWrKm2bdtq69atTussWrRIwcHBqlmzpgYOHKiEhATVqlXriq+JdOllmsLCQj333HOqVauWAgICFBsbe8XHkOfm5mrcuHFq1KiRfHx8dNdddykpKalM+1+yZIlq1aqltWvX6rbbbpO3t7d69uypI0eOOLWbP3++QkND5enpqebNm2vZsmWOZePGjVPfvn0d03PmzJHNZtMnn3zimNe0aVMtXrzYMb148WKFhYXJ29tbLVq00Lx58xzLil/3f/zjH4qMjJS3t3eJ/1clHce6devUvHlz1axZUw8++KDOnTunpUuXKiQkRLVr19b//M//qLCw0LHexZdpzpw5o1GjRqlevXry9vZW69attW7dOqd9fPjhh2rZsqW8vLyUnp5e6uevNFfz2UxISFCbNm3k4+Oj4OBgjR49WtnZ2ZKkpKQkjRgxQpmZmbLZbLLZbHrllVfUrVs3HT58WDExMY75uD4QRnCJ/Px8vfrqq9q5c6fWrl2rQ4cOOU5kNptNjz32mBITE53WSUxMVNeuXdW0aVNJ0qBBg5SRkaENGzYoJSVF7du3V/fu3XX69GnHOj/99JM++OADrV69Wjt27ChTbUuXLpWHh4e2b9+u119/XQkJCU6/2IcPH65vv/1WH374obZu3SrLstS7d2/l5+fLZrOpa9eujpPTb7/9pj179uj333/X3r17JUkbN25Ux44dVbNmzWt6HBebNWuWOnTooO+//16jR4/W008/rX379kmSsrOzFRkZqaNHj+rDDz/Uzp07FRsbq6KioqvaV/HrdOTIEX355Zd6//33NW/ePEfgLM0LL7ygcePGaceOHWrWrJkGDx6sgoICSdKWLVv01FNPKTo6Wjt27NB9992nqVOnXnWNs2bN0pIlS/T2229r8+bNOn36tNasWVPqOs8884y2bt2qlStX6t///rcGDRqkXr16lemEKEnnzp3T1KlT9c4772jLli06c+aMHn74YcfyNWvWKDo6Ws8//7x++OEHjRo1SiNGjNCXX34pSYqMjNTmzZsdJ/mNGzfq5ptvdrznjh49qrS0NHXr1k2StHz5cv3tb3/T1KlTtWfPHr322mt66aWXtHTpUqe6/vKXvyg6Olp79uxRz549y3Qcc+fO1cqVK/XJ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MIvLNHDSuHFjeXp66o033tCBAwf04Ycf6tVXX72knbu7u4YPH66JEyfqtttuU0REhGNZjx49FBERoQEDBuizzz7ToUOH9PXXX+uFF14oMdiUR3p6up577jnt27dP7733nt544w1FR0dLkm677Tb1799fTzzxhDZv3qydO3dq6NChatSokfr37+/YRvGJ4fbbb5evr6/c3NzUtWtXLV++3NGFfq2PozwGDx6s+vXra8CAAdqyZYsOHDigDz744JJvshS799579fHHH+vjjz/W3r179fTTTzsFjebNm6tXr14aNWqUtm3bppSUFI0cObLcPTAXe/bZZ7V+/XolJCToxx9/1IIFC7Rhw4ar/us5Ojpa8fHxWrt2rfbu3avRo0eXGpiaNWumIUOGKCoqSqtXr9bBgwe1fft2xcXF6eOPPy7TPm+66SY9++yzjtdl+PDhuvvuux3hZPz48VqyZInmz5+vH3/8UQkJCVq9erXGjRvn2EbXrl119uxZrVu3zhE8unXrpuXLl6tBgwZOJ/dJkyYpLi5Oc+fO1f79+5WamqrExEQlJCSU/wWrRJGRkerataseeOABff755zp48KA2bNjg9K2gi5X181easn42mzZtqvz8fMfvqWXLlumtt95y2lZISIiys7P1xRdf6Ndff3VcvgkJCdGmTZt09OhR/frrr1fx6uBaIIzASWBgoJYsWaJVq1apZcuWio+Pv+RrvMWKu0RHjBjhNN9ms2n9+vXq2rWrRowYoWbNmunhhx/W4cOHVa9evQrVFxUVpd9//1133nmnxowZo+joaD355JOO5YmJibrjjjvUt29fRUREyLIsrV+/3qmLOjIyUoWFhU7Xn7t163bJvGt5HOXh6empzz77THXr1lXv3r3Vpk2bS77Z8EePPfaYHn30UUVFRSkyMlK33nqro1ekWGJioho2bKjIyEj9+c9/1pNPPqm6detWqM7OnTvrrbfeUkJCgtq2batPPvlEMTExZfq6c0mef/55DRs2TI8++qgiIiLk5+engQMHlrpOYmKioqKi9Pzzz6t58+YaMGCAkpOT1bhx4zLts2bNmpowYYIeeeQRde7cWb6+vvrHP/7hWD5gwAC9/vrrmjlzplq1aqUFCxYoMTHR6X1Tu3ZttWnTRoGBgWrRooWkCwGlqKjI6YQqXbjcuXjxYiUmJqpNmzaKjIzUkiVL1KRJkzK+StfOBx98oI4dO2rw4MFq2bKlYmNjr9ijUJbPX2nK+tls27atEhISNG3aNLVu3VrLly9XXFyc07Y6deqkp556Sg899JACAwM1ffp0SdLkyZN16NAhhYaGVnisFyqPzbr44jJQRl999ZW6d++uI0eOuOTk3K1bN91+++3csroKeeKJJ7R371599dVXpku5osvdsRPAtceYEZRbbm6uTp48qVdeeUWDBg1yaS8Brm8zZ87UfffdJx8fH23YsEFLly51uokXAJSEyzQot/fee0+33HKLzpw54+j6rKj09HSnrzde/FP8teLrXXU5jqu1fft23XfffWrTpo3eeustzZ07VyNHjpQktWrV6rKvy5XuKloZ7r///svu/7XXXrvm+68sVfU4qmrdcA0u0+C6UFBQoEOHDl12eUhIiDw8rv+OvOpyHNfC4cOHL/sV43r16snPz++a7v/o0aP6/fffS1xWp06dKvPMoKp6HFW1brgGYQQAABjFZRoAAGAUYQQAABhFGAEAAEYRRgAAgFGEEQAAYBRhBAAAGEUYAQAARv1/I+7tWEUz8/oAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "metrics_df_k5.boxplot(column='layer_power_including_idle_power_micro_watt', grid=False)" + ] + }, + { + "cell_type": "markdown", + "id": "ec67d0d3-d112-4fe4-b428-260cdeadd177", + "metadata": {}, + "source": [ + "## Strides Plot" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "id": "b7b1a726-98ae-4dca-bd4c-22042cd8530d", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0.5, 0, 'Stride size')" + ] + }, + "execution_count": 39, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkQAAAGwCAYAAABIC3rIAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAWwJJREFUeJzt3XtcVNXeP/DPjDOAwwxyUUEDkaSLJAoWHDELb4RHqSztlIhp2UW7HMWfWZpZ3tNUrNTyYNYpTTQru6gpKVKZCl4wEh8LQrwOJIjMMNxn//7wmf0wQjVjDHuY/Xm/Xr1i9lqz5zssZ8+XtdZeSyEIggAiIiIiGVNKHQARERGR1JgQERERkewxISIiIiLZY0JEREREsseEiIiIiGSPCRERERHJHhMiIiIikj2V1AG0BWazGRcuXIBOp4NCoZA6HCIiIrKBIAgwGAzo2rUrlMo/7wNiQmSDCxcuICgoSOowiIiI6DqcPXsWgYGBf1qHCZENdDodgKu/UC8vL4mjuX4mkwkZGRkYNGgQNBqN1OHIGtvCebAtnAvbw3m4QltUVFQgKChI/B7/M0yIbGAZJvPy8mrTCZFKpYJGo4GXl1eb/cftKtgWzoNt4VzYHs7DldrClukunFRNREREsseEiIiIiGSPCRERERHJHhMiIiIikj0mRERERCR7TIiIiIhI9pgQERERkewxISIiIiLZY0JEREREsseEiIiIiGSPCRERERHJHhMiIiIikj0mRERERCR73O3eiXx87AB+Lcu3uX5VVSWK8n+xub65oR6Xyi7j4/w9ULazvemDQ29G+/aeNte/yTcUiZExNtcnIiKSGhMiJ/H9r79j/oHFUHkW2vdEHztfqCNQYudTfi5Nt6t+/akQBGnfw103dbLzlYiIiKTBhMhJlBprUVN8L6LD6nFjR61Nz7neHqKOvj4O6yH67ZIR3/+mQqmx1ubzExERSY0JkRMx13TFAzdHYGTkDQ45v8lkQnp6OuLi4qDRaBzyGtuOnUfmsRyHnJuIiMhROKmaiIiIZI8JEREREckeEyIiIiKSPSZEREREJHtMiIiIiEj2mBARERGR7DEhIiIiItljQkRERESyx4SIiIiIZI8JEREREckeEyIiIiKSPSZEREREJHvc3NVJVFTXAQC+++V3h71GWUUl9hQApd7n4Otl2+719jp8uswh5yUiInIkJkROIudMOQDgs2Pn8dmx8w58JRX27/zVgee/yk/r5vDXICIiailMiJzEs4NDAQAR3bzh5aF2yGscLChG2uGLeOSOLujXw98hrwFcTYbuuqmTw85PRETU0pgQOYkenbRY8XCEQ1+jtrYGaYcvom+QN0ZG3uDQ1yIiImpLOKmaiIiIZI8JEREREckeEyIiIiKSPSZEREREJHtMiIiIiEj2mBARERGR7DEhIiIiItljQkRERESyx4SIiIiIZI8JEREREckeEyIiIiKSPSZEREREJHvc3LUNu3TpEnbt2mVz/azCy6jRN2B/eiHq8n1sfl58fDw6dux4PSESERG1CUyI2rBdu3YhKSnJ7ue9ZWf9DRs2YOzYsXa/DhERUVvBhKgNi4+Px4YNG2yuX2aowt5j+RgcGQpfXXu7XoeIiMiVMSFqwzp27GhXz43JZEK3LumIi4uDRqNxYGRERERtCydVExERkewxISIiIiLZY0JEREREsseEiIiIiGSPCRERERHJHhMiIiIikj0mRERERCR7TIiIiIhI9pgQycQ777wDT09PjBw5Ep6ennjnnXekDomIiMhpMCGSAYVCgWeeecbq2DPPPAOFQiFRRERERM6FCZGLuzbp8fPz+9NyIiIiOWJC5MIaD4t99dVXqKysxHvvvYfKykp89dVXzdYjIiKSIyZELqzxMFlCQoJVWePH1w6nERERyQ0TIhno3r17s8dvuOGG1g2EiIjISTEhkoHTp083e/z8+fOtGwgREZGTcpqE6PXXX4dCocDUqVOblAmCgH/+859QKBTYtm2bVdmZM2cwYsQIaDQadO7cGS+88ALq6+ut6uzbtw99+/aFu7s7QkND8cEHHzjujTiRNWvWiD9//fXXVmWNHzeuR0REJEcqqQMAgOzsbKxduxa9e/dutnzlypXN3g3V0NCAESNGICAgAD/++CMuXryIRx99FGq1GosWLQIAFBYWYsSIEZg0aRI2btyIPXv24IknnkCXLl0QHx/v0PcltcmTJ4vzg+69914AgLe3N8rLy5vUIyIikjPJe4iMRiPGjh2L1NRU+Pj4NCnPycnB8uXLsX79+iZlu3fvRl5eHjZs2ICIiAj885//xPz587F69WrU1tYCAN59912EhIRg+fLl6NmzJ5577jmMHj0aKSkpDn9vzkAQBKvH1yZD15YTERHJkeQ9RM8++yxG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4MGC2Wxutry5eAVBEA4cOCB4eHgImzdvFgRBEKqrqwWNRiP8+OOPVvUmTpwojBkzptlzE5FjsYeIiCQxatQoXLhwAV9++SWGDRuGffv2oW/fvuKQ0p8JDg5Gp06d/rD85MmTUKlUuP3228Vjt956K7y9vcXHx48fh9FohJ+fn9hjpdVqUVhYiIKCgmbPO2HCBOTk5OCWW27Bv//9b+zevfsvYz1z5gxGjhyJ6dOn41//+heAqz1cJpMJcXFxVq/94Ycf/uFrE5FjcVI1EUnGw8MDcXFxiIuLwyuvvIInnngCr776KiZMmPCnz/P09Pzbr200GtGlSxfs27evSVnjxKmxvn37orCwEDt37sS3336Lf/3rXxg6dOgfzv2prKzEfffdh5iYGMybN8/qtQFg+/btuOGGG6ye4+7ufn1viIj+FiZEROQ0wsLCrG6zV6vVaGhosPs8t956K+rr63HkyBFERUUBAE6dOoXy8nKxTt++faHX66FSqf5wHlBzvLy88PDDD+Phhx/G6NGjMWzYMJSVlTW5y00QBCQlJcFsNuOjjz6CQqGwep/u7u44c+YMYmNj7X5/RNTymBARUasrLS3FQw89hMcffxy9e/eGTqfD4cOHsXTpUtx///1ive7du2PPnj2488474e7uDh8fH5vOf8stt2DYsGF4+umn8c4770ClUmHq1Klo3769WGfo0KGIiYnByJEjsXTpUtx88824cOECtm/fjgceeECc/NzYihUr0KVLF0RGRkKpVOKTTz5BQEBAsz1Kr732Gr799lvs3r0bRqNR7BXq0KEDdDodpk+fjuTkZJjNZgwYMABXrlzB/v374eXlhfHjx9v5GyWiv4tziIio1Wm1WvzjH/9ASkoK7r77bvTq1QuvvPIKnnzySaxatUqst3z5cqSnpyMoKAiRkZF2vcb777+Prl27IjY2Fg8++CCeeuopdO7cWSxXKBTYsWMH7r77bjz22GO4+eab8cgjj6CoqAj+/v7NnlOn02Hp0qW44447EBUVhdOnT2PHjh1QKpteSjMzM2E0GtG/f3906dJF/G/z5s0AgPnz5+OVV17B4sWL0bNnTwwbNgzbt29HSEiIXe+TiFqGQhAEQeogiIiIiKTEHiIiIiKSPSZEREREJHtMiIiIiEj2mBARERGR7DEhIiIiItljQkRERESyx4SIiIiIZI8JEREREckeEyIiIiKSPSZEREREJHtMiIiIiEj2/j8t9S0gxSuCygAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "df = pd.concat(\n", + " [\n", + " metrics_df_k1[\"layer_power_including_idle_power_micro_watt\"] * 1e-3,\n", + " metrics_df_k2[\"layer_power_including_idle_power_micro_watt\"] * 1e-3,\n", + " metrics_df_k3[\"layer_power_including_idle_power_micro_watt\"] * 1e-3,\n", + " metrics_df_k4[\"layer_power_including_idle_power_micro_watt\"] * 1e-3,\n", + " metrics_df_k5[\"layer_power_including_idle_power_micro_watt\"] * 1e-3,\n", + " ],\n", + " axis=1,\n", + ")\n", + "\n", + "\n", + "# set column names (will be displayed as plot labels)\n", + "df.columns = ['1', '2', '3', '4', '5'] \n", + "\n", + "# use pandas' boxplot method\n", + "df.boxplot().set_ylabel('Power (milliWatts)')\n", + "df.boxplot().set_xlabel('Stride size')" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "id": "a33cb157-7942-46dc-b69c-e2da20c2a5cf", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0.5, 0, 'Stride size')" + ] + }, + "execution_count": 40, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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VVJSknJychQREaH09HTrheEnT560OUoUExOjl19+WfPmzdPcuXPVuXNnpaWlqXv37tY5iYmJKiws1OTJk3XhwgX1799f6enp8vX1lfTjkavjx4/r+PHjatu2rU09hmFY/3nJkiX69ttv5enpqa5du2rr1q26++676/LjAAAAbsJi/DQ1oFYVFBQoMDBQ+fn5bnt3XlFRkTIyMjRkyBC3f0yDu6MX5kI/zINemEd96YW9f79d/sRyAAAAd0SIAgAAcAIhCgAAwAmEKAAAACcQogAAAJxAiAIAAHACIQoAAMAJhCgAAAAnEKIAAACcQIgCAABwAiEKAADACYQoAAAAJxCiAAAAnECIAgAAcAIhCgAAwAmEKAAAACcQogAAAJxAiAIAAHACIQoAAMAJhCgAAAAnEKIAAACcQIgCAABwAiEKAADACYQoAAAAJxCiAAAAnECIAgAAcAIhCgAAwAmEKAAAACcQogAAAJxAiAIAAHACIQoAAMAJhCgAAAAnEKIAAACcQIgCAABwAiEKAADACYQoAAAAJxCiAAAAnECIAgAAcAIhCgAAwAmEKAAAACcQogAAAJxAiAIAAHACIQoAAMAJhCgAAAAnEKIAAACcQIgCAABwgilC1Lp169ShQwf5+voqKipKe/bsueL81157TV27dpWvr6969Oih7du32yw3DENJSUkKCQmRn5+fYmNj9dVXX1mXf/PNN5o4caLCw8Pl5+enjh07asGCBSopKbHZzhdffKFbbrlFvr6+CgsLU0pKSu29aQAA4NZcHqK2bt2qhIQELViwQPv27VOvXr0UFxenM2fOVDt/9+7dGjNmjCZOnKj9+/crPj5e8fHxOnTokHVOSkqK1qxZo9TUVGVnZysgIEBxcXG6fPmyJOno0aOqqKjQs88+q8OHD2vVqlVKTU3V3LlzrdsoKCjQ0KFD1b59e+3du1fLly/XwoULtWHDhrr9QAAAgHswHPTPf/7T2LRpk7F48WJj9uzZxsqVK413333XuHTpkqObMgzDMPr162c88sgj1tfl5eVGaGiokZycXO38kSNHGsOHD7cZi4qKMh566CHDMAyjoqLCCA4ONpYvX25dfuHCBcPHx8d45ZVXaqwjJSXFCA8Pt75ev3690bx5c6O4uNg6NmvWLKNLly52v7f8/HxDkpGfn2/3OmZTWFhopKWlGYWFha4upcGjF+ZCP8yDXphHfemFvX+/Pe0NW5s3b9bTTz+tzz77TEFBQQoNDZWfn5/y8vL09ddfy9fXV/fee69mzZql9u3b27XNkpIS7d27V3PmzLGOeXh4KDY2VllZWdWuk5WVpYSEBJuxuLg4paWlSZJOnDihnJwcxcbGWpcHBgYqKipKWVlZGj16dLXbzc/PV4sWLWz2M2DAAHl7e9vsZ9myZfr+++/VvHnzKtsoLi5WcXGx9XVBQYEkqbS0VKWlpTV9DKZWVlZm/e2u76G+oBfmQj/Mg16YR33phb212xWievfuLW9vb40fP17btm1TWFiYzfLi4mJlZWVpy5Yt6tOnj9avX68RI0Zcdbvnzp1TeXm5goKCbMaDgoJ09OjRatfJycmpdn5OTo51eeVYTXN+7vjx43rmmWe0YsUKm/2Eh4dX2UblsupCVHJyshYtWlRlfMeOHfL396923+5i165dri4B/0EvzIV+mAe9MA9370VRUZFd8+wKUU8++aTi4uJqXO7j46NBgwZp0KBB+tOf/qRvvvnGrp2bwalTpzRs2DCNGDFCkyZN+kXbmjNnjs1RsoKCAoWFhWno0KFq2rTpLy3VJS5duqRdu3Zp8ODB8vPzc3U5DRq9MBf6YR70wjzqSy8qzyRdjV0h6koB6udatmypli1b2jW3VatWatSokXJzc23Gc3NzFRwcXO06wcHBV5xf+Ts3N1chISE2cyIiImzWO336tAYPHqyYmJgqF4zXtJ+f7uPnfHx85OPjU2Xcy8tLXl5e1a5jdpWHND09Pd32PdQX9MJc6Id50AvzqC+9sLd2h+/O27dvnw4ePGh9/eabbyo+Pl5z586t8oiAq/H29lZkZKQyMzOtYxUVFcrMzFR0dHS160RHR9vMl6SMjAzr/PDwcAUHB9vMKSgoUHZ2ts02T506pUGDBikyMlIbN26Uh4ftRxEdHa0PPvjA5rxoRkaGunTpUu2pPAAA0LA4HKIeeugh/eMf/5Ak/fOf/9To0aPl7++v1157TYmJiQ4XkJCQoOeee06bNm3SkSNHNGXKFBUWFmrChAmSpLFjx9pceD5t2jSlp6dr5cqVOnr0qBYuXKjPPvtMU6dOlSRZLBZNnz5dS5cu1d/+9jcdPHhQY8eOVWhoqOLj4yX9X4Bq166dVqxYobNnzyonJ8fmmql77rlH3t7emjhxog4fPqytW7fq6aefrnJROwAAaJjsvjuv0j/+8Q/rabHXXntNAwYM0Msvv6yPP/5Yo0eP1urVqx3a3qhRo3T27FklJSUpJydHERERSk9Pt17EffLkSZujRDExMXr55Zc1b948zZ07V507d1ZaWpq6d+9unZOYmKjCwkJNnjxZFy5cUP/+/ZWeni5fX19JPx5ROn78uI4fP662bdva1GMYhqQf7+jbsWOHHnnkEUVGRqpVq1ZKSkrS5MmTHf3IAABAPeRwiDIMQxUVFZKknTt36re//a0kKSwsTOfOnXOqiKlTp1qPJP3ce++9V2VsxIgRV7z7z2KxaPHixVq8eHG1y8ePH6/x48dfta6ePXvqww8/vOo8AADQ8Dh8Oq9Pnz5aunSp/vrXv+r999/X8OHDJf34fKafP1YAAACgvnI4RK1evVr79u3T1KlT9d///d/q1KmTJOn1119XTExMrRcIAABgRg6fzuvZs6fN3XmVli9frkaNGtVKUQAAAGbncIiqSeVF2wAAAA2BXSGqefPmslgsdm0wLy/vFxUEAADgDuwKUT99bMH58+e1dOlSxcXFWR9emZWVpb///e+aP39+nRQJAABgNnaFqHHjxln/+a677tLixYttHknw2GOPae3atdq5c6dmzJhR+1UCAACYjMN35/3973/XsGHDqowPGzZMO3furJWiAAAAzM7hENWyZUu9+eabVcbffPNNu794GAAAwN05fHfeokWL9OCDD+q9995TVFSUJCk7O1vp6el67rnnar1AAAAAM3I4RI0fP1433nij1qxZozfeeEOSdOONN+qjjz6yhioAAID6zqnnREVFRWnz5s21XQsAAIDbcCpEVVRU6Pjx4zpz5oz1y4grDRgwoFYKAwAAMDOHQ9Qnn3yie+65R99++60Mw7BZZrFYVF5eXmvFAQAAmJXDIeoPf/iD+vTpo7ffflshISF2P8kcAACgPnE4RH311Vd6/fXX1alTp7qoBwAAwC04/JyoqKgoHT9+vC5qAQAAcBsOH4l69NFH9cc//lE5OTnq0aOHvLy8bJb37Nmz1ooDAAAwK4dD1F133SVJeuCBB6xjFotFhmFwYTkAAGgwHA5RJ06cqIs6AAAA3IrDIap9+/Z1UQcAAIBbcephm19//bVWr16tI0eOSJK6deumadOmqWPHjrVaHAAAgFk5fHfe3//+d3Xr1k179uxRz549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Dz/8UMuWLdPgwYPVvn179evXT3PmzNHtt98u6cdTb5J05513ymKxWF8vXLhQERERev755xUeHi5fX19JVU/nnTlzRr/73e/k5+en8PBwbd68udo6HnzwQV133XVq2rSpbr31Vn3++ec11l1SUqKpU6cqJCREvr6+at++vZKTk63Lf3rkbOHChbJYLFV+XnzxRUlSRUWFkpOTFR4eLj8/P/Xq1Uuvv/66k58ogF+KEAXALTRu3FiNGzdWWlqaiouLq53z6aefSpI2btyo7777zvpako4fP65t27bpjTfe0IEDB6pdf/z48frXv/6lXbt26fXXX9f69et15swZmzkjRozQmTNn9M4772jv3r266aabdNtttykvL6/aba5Zs0Z/+9vf9Oqrr+rYsWPavHmzNdz93MyZM/Xdd99Zf1asWCF/f3/16dNHkpScnKyXXnpJqampOnz4sGbMmKH77rtP77///pU+OgB1hNN5ANyCp6enXnzxRU2aNEmpqam66aabNHDgQI0ePVo9e/aUJF133XWSpGbNmlU5TVZSUqKXXnrJOufn/vGPf+idd97Rnj171LdvX0nSX/7yF914443WOR999JH27NmjM2fOyMfHR5K0YsUKpaWl6fXXX9fkyZOrbPfkyZPq3Lmz+vfvL4vFovbt29f4HiuDoiR98sknmjdvnjZt2qTu3buruLhYTzzxhHbu3Kno6GhJ0vXXX6+PPvpIzz77rAYOHGjX5wig9nAkCoDbuOuuu3T69Gn97W9/07Bhw/Tee+/ppptusp7uupL27dvXGKAk6ciRI/L09FRkZKR1rGvXrmrWrJn19eeff66LFy+qZcuW1sDTuHFjnThxQl9//XW12x0/frwOHDigLl266LHHHtOOHTuuWuvJkycVHx+vmTNnauTIkZJ+PJJWVFSkIUOG2Oz7pZdeqnHfAOoWR6IAuBVfX18NGTJEQ4YM0fz58/Xggw9qwYIFGj9+/BXXCwgI+MX7vnjxokJCQvTee+9VWfbTsPVTN910k06cOKF33nlHO3fu1MiRIxUbG1vjtUyFhYW6/fbbFR0drcWLF9vsW5LefvtttWnTxmadyqNiAK4tQhQAt9atWzebRxp4eXmpvLzc4e107dpVZWVl2rt3r/V03rFjx3ThwgXrnJtuukk5OTny9PSs8bqm6jRt2lSjRo3SqFGjdPfdd2vYsGHKy8urcnegYRi67777VFFRob/+9a+yWCw279PHx0cnT57k1B1gEoQoAG7h/PnzGjFihB544AH17NlTTZo00WeffaaUlBTdcccd1nkdOnRQZmambr75Zvn4+Kh58+Z2bb9Lly4aNmyYHnroIf35z3+Wp6enpk+fLj8/P+uc2NhYRUdHKz4+XikpKbrhhht0+vRpvf3227rzzjutF4D/1FNPPaWQkBD17t1bHh4eeu211xQcHFztkauFCxdq586d2rFjhy5evGg9+hQYGKgmTZpo5syZmjFjhioqKtS/f3/l5+fr448/VtOmTTVu3DgHP1EAvxTXRAFwC40bN1ZUVJRWrVqlAQMGqHv37po/f74mTZqktWvXWuetXLlSGRkZCgsLU+/evR3ax8aNGxUaGqqBAwfq97//vSZPnqzWrVtbl1ssFm3fvl0DBgzQhAkTdMMNN2j06NH69ttvFRQUVO02mzRpopSUFPXp00d9+/bVN998o+3bt8vDo+r//b7//vu6ePGiYmJiFBISYv3ZunWrJGnJkiWaP3++kpOTdeONN2rYsGF6++23FR4e7tD7BFA7LIZhGK4uAgAAwN1wJAoAAMAJhCgAAAAnEKIAAACcQIgCAABwAiEKAADACYQoAAAAJxCiAAAAnECIAgAAcAIhCgAAwAmEKAAAACcQogAAAJzw/wHHNp2X/9SEUwAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "df = pd.concat(\n", + " [\n", + " metrics_df_k1[\"layer_run_time\"] * 1e-3,\n", + " metrics_df_k2[\"layer_run_time\"] * 1e-3,\n", + " metrics_df_k3[\"layer_run_time\"] * 1e-3,\n", + " metrics_df_k4[\"layer_run_time\"] * 1e-3,\n", + " metrics_df_k5[\"layer_run_time\"] * 1e-3,\n", + " ],\n", + " axis=1,\n", + ")\n", + "\n", + "\n", + "# set column names (will be displayed as plot labels)\n", + "df.columns = ['1', '2', '3', '4', '5'] \n", + "\n", + "# use pandas' boxplot method\n", + "df.boxplot().set_ylabel('Latency (seconds)')\n", + "df.boxplot().set_xlabel('Stride size')" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "id": "3b4fa2b2-e41a-44e9-8de3-956ad029e526", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0.5, 0, 'Stride size')" + ] + }, + "execution_count": 41, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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7FiB9Tt27FC9evWcEgoAAMARhovMiBEj9NRTT2nPnj0ymUw6c+aMVqxYofHjx+uJJ55wRUYAAIBCGb78euLEibJarerSpYsyMzPVoUMH+fn5afz48RozZowrMgIAABTKcJExmUyaPHmynnnmGR07dkzp6elq1KiRgoKCXJEPAACgSNd1HxlJ8vX1VaNGjXTzzTdr69atOnLkiDNzAQAAXJPhItO/f38tXLhQknT58mW1atVK/fv3V9OmTbVmzRqnBwQAACiK4SLz+eef2x8W+cEHH8hqtSolJUULFizQrFmznB4QAACgKIaLTGpqqipXrixJ2rhxo/r27avAwED17NlTR48edXpAAACAohguMpGRkdq9e7cyMjK0ceNG3X333ZKk3377Tf7+/k4PCAAAUBTDVy2NGzdODz/8sIKCglS7dm116tRJ0u+HnJo0aeLsfAAAAEUyXGRGjRql1q1b65dfflHXrl1Vrtzvkzr16tXjHBkAAFCiDBcZSWrZsqVatmwpScrNzdWhQ4fUtm1bVapUyanhAAAAimP4HJlx48bpzTfflPR7ienYsaNatGihyMhIJSQkODsfAABAkQwXmdWrV+u2226TJH388cc6fvy4fvjhB0VHR2vy5MlODwgAAFAUw0XmwoULql69uiRp/fr16tevnxo2bKjhw4fr0KFDTg8IAABQFMNFJiwsTIcPH1Zubq42btyorl27SpIyMzNVvnx5pwcEAAAoiuGTfYcNG6b+/fsrPDxcJpNJd911lyRpz549uvnmm50eEAAAoCiGi8z06dPVuHFj/fLLL+rXr5/8/PwkSeXLl9fEiROdHhAAAKAohovMW2+9pQEDBtgLTJ6BAwfqvffec1owAACAazF8jsywYcOUmppaYP2lS5c0bNgwp4QCAABwhOEiY7PZZDKZCqw/deqUQkNDnRIKAADAEQ4fWmrevLlMJpNMJpO6dOkiH5//f2lubq6OHz+u7t27uyQkAABAYRwuMr1795Yk7d+/X926dVNQUJB9m6+vr+rUqaO+ffs6PSAAAEBRHC4y06ZNkyTVqVNHDz30UIGTfQEAAEqa4XNkZsyYofT09ALrU1JSVK9ePaeEAgAAcIThIvPf//5Xubm5BdZnZWXp9OnTTgkFAADgCIcPLX300Uf27zdt2pTvCqXc3Fxt27ZNderUcWo4AACA4hg+2ddk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lizRxYsXtWTJEtWsWVPnz59XdHQ0JQYAUKYZvvy6JLVr106JiYn51v3444+qXbu2mxKVrLxLq+fPn68xY8bY1/v4+OiZZ57h0msAQJnn0TMy0dHR+vLLL/Xiiy/q2LFjWrlypRYvXqwnn3zS3dFKTGxsrDIyMjRnzhzdc889mjNnjjIyMigxAADIw2dkWrVqpQ8++ECTJk3SzJkzVbduXcXFxenhhx92d7QS5evrq9GjR+umm26ynyMDAAA8vMhI0r333qt7773X3TEAAIAHMnxoad++fTp06JB9+cMPP1Tv3r317LPPcpdZAABQogwXmccee0w//vijJOnnn3/WQw89pMDAQL3//vuKiYlxekAAAICiGC4yP/74o5o1ayZJev/999WhQwetXLlSy5Yt05o1a5ydDwAAoEiGi4zNZpPVapUkbd26Vffcc48k2e+eCwAAUFIMF5mWLVtq1qxZevvtt7V9+3b17NlTknT8+HGFhYU5PSAAAEBRDBeZuLg47du3T6NHj9bkyZN14403SpJWr16ttm3bOj0gAABAUQxfft20adN8Vy3lmTt3rsqXL++UUAAAAI5weEZmyJAheuutt4p8zpG/v7/MZrPTggEAAFyLwzMyJ06c0GOPPSaLxaI6deooKipKUVFR6ty5s8LDw12ZEQAAoFAOF5mEhARlZWVp165dSkhIUEJCgt555x1lZ2erQYMG9lLTr18/V+YFAACwM3SOjJ+fn30mRpKuXLmiXbt2acOGDVq8eLEWL15MkQEAACXmup61ZLFYtHv3biUkJCg+Pl579uxRRESE+vbt6+x8AAAARXK4yHz++ef5ikutWrXUsWNHjRw5Uu+8845q1qzpypwAAAAFOFxkOnXqpFq1amnChAl67733uPkdAABwO4cvv46JiVH16tU1btw4de3aVWPGjNGaNWt4LAEAAHAbh4vMSy+9pC+//FLJycmaM2eOAgMDFRsbq4iICDVu3FhPPvmkVq9e7cqsAAAA+Rg+2TcoKEg9evRQjx49JEkXL17UvHnz9Oqrr2rRokXKzc11ekgAAIDCGC4yVqtVe/futd9LZufOnUpPT1etWrXUp08fV2QEAAAolMNFJjY21l5cLl26pBo1aqhTp06Ki4tTVFSU6tat68qcAAAABThcZOLi4tSpUye9/PLLioqKsj/1GgAAwF0cLjJnzpxx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adasWXrxxRdVt25dffvtt+6OVeZ06tRJe/bs0eXLl90dpUQxIwNchzNnzkhSqXiOl7ezWCwaO3asbDab+vTp4+44ZVK7du3UuHFjxcTEuDtKmXflyhWVL19eZrNZderU0e7du90dyeVK/UMjAWfLycnRoEGDFBwcrAceeMDdccqsNWvW6MEHH7QvT58+Xb169XJjorJp7NixOn36tL755ht3RynzOnfurBYtWqht27ZKTEzUSy+9pDvvvFMnT55URESEu+O5DEUGMOi2225TcnJymfg/HU/WrVs3bd26VWfPntVrr72mGTNmqHnz5pSZErRnzx4tXLhQ//nPf1SxYkV3xynzpk6dmm958ODBqlOnjp599tlSfciVQ0uAAU2bNlViYqI+++wztWrVyt1xyrSgoCB16dJFgwcP1u7du1WxYkVNmDDB3bHKlHXr1slms6lfv372q2RSU1O1f/9+mUwmWSwWd0cs02rXrq3AwEAlJia6O4pLMSMDOMBqtapZs2b6/vvvtXHjRnXo0MHdkfAHNptN2dnZ7o5RpowZM0atW7fOt27w4MEKCwvTK6+8Il9fXzclg/T7SdiXL18u1YeVJIqMxzt37py2b99uXz5y5IhWrVqlWrVq6Y477nBjsrKladOm+v777xUXF6ewsDD7JY01a9ZU5cqV3Zyu7Lnjjjs0aNAgNW/eXOfPn9fLL7+slJQUZmRKWERERIHzxMxms0JDQzl/zA1atmypv/71r7r99tv1/fff69lnn5UkzZo1y83JXIvLrz1cXFycoqOjC6yvX7++jh075oZEZZPJZCp0/aOPPqp///vfJZwGDRs21M8//6zc3FyZTCZVrFhRMTExmjhxorujlXkVK1bk8ms3qVWrlk6fPi2r1apy5cqpRo0aWrZsmTp37uzuaC5FkQEAAF6Lk30BAIDXosgAAACvRZEBAABeiyIDAAC8FkUGAAB4LYoMAADwWhQZAADgtSgyAADAa1FkALhdp06dNG7cuGL3qVOnjuLi4lyWwWQyad26dS57fwCuQZEBYNivv/6qJ554QrVq1ZKfn5+qV6+ubt26aefOnfZ9jBSDtWvX6vnnn3dRWsecPXtWPXr0cGsGAMbx0EgAhvXt21cWi0XLly9XvXr1dP78eW3btk3JycmG3sdiscjX19cjHrxZvXp1d0cAcB2YkQFgSEpKir744gvNmTNHUVFRql27tlq3bq1JkyapV69ekn4/DCRJDzzwgEwmk315+vTpatasmf7973+rbt268vf3l1Tw0FJSUpLuu+8+BQQEqG7dulqxYkWhOf72t7/phhtuUEhIiDp37qwDBw4UmdtisWj06NEKDw+Xv7+/ateurdmzZ9u3Xz2DNH36dJlMpgJfy5YtkyRZrVbNnj1bdevWVUBAgG677TatXr36Ov9EAfwZFBkAhgQFBSkoKEjr1q1TVlZWofvs3btXkrR06VKdPXvWvixJx44d05o1a7R27Vrt37+/0NcPHTpUv/zyi+Lj47V69Wq9/vrrSkpKyrdPv379lJSUpA0bNuibb75RixYt1KVLF128eLHQ91ywYIE++ugj/ec//1FiYqJWrFhhL1h/NH78eJ09e9b+9fLLLyswMFAtW7aUJM2ePVtvvfWWFi1apO+//17R0dEaPHiwtm/fXtwfHQBXsAGAQatXr7ZVqlTJ5u/vb2vbtq1t0qRJtgMHDuTbR5Ltgw8+yLdu2rRpNrPZbEtKSsq3vmPHjrannnrKZrPZbImJiTZJtq+++sq+/ciRIzZJtvnz59tsNpvtiy++sIWEhNiuXLmS733q169ve+ONNwrNPGbMGFvnzp1tVqu10O2F5bXZbLbdu3fb/P39batWrbLZbDbblStXbIGBgbZdu3bl2+/RRx+1DRw4sND3BuA6zMgAMKxv3746c+aMPvroI3Xv3l0JCQlq0aKF/dBLcWrXrq0bbrihyO1HjhyRj4+Pbr/9dvu6m2++WRUrVrQvHzhwQOnp6apSpYp9higoKEjHjx/XTz/9VOj7Dh06VPv379dNN92ksWPHavPmzdfMevLkSfXu3Vvjx49X//79Jf0+o5SZmamuXbvm++y33nqryM8G4Dqc7Avguvj7+6tr167q2rWrpkyZor/97W+aNm2ahg4dWuzrKlSo8Kc/Oz09XeHh4UpISCiw7erCc7UWLVro+PHj2rBhg7Zu3ar+/fvrrrvuKvLcloyMDPXq1Ut33HGHZs6cme+zJenTTz9VjRo18r3Gz8/v+n4gANeNIgPAKRo1apTvcmuz2azc3FzD73PzzTcrJydH33zzjVq1aiVJSkxMVEpKin2fFi1a6Ny5c/Lx8SnyPJfChISEaMCAARowYIAefPBBde/eXRcvXixw1ZTNZtPgwYNltVr19ttvy2Qy5fs5/fz8dPLkSXXs2NHwzwfAuSgyAAxJTk5Wv379NHz4cDVt2lTBwcH6+uuvFRsbq/vvv9++X506dbRt2za1a9dOfn5+qlSpkkPvf9NNN6l79+567LHH9M9//lM+Pj4aN26cAgIC7PvcdddduuOOO9S7d2/FxsaqYcOGOnPmjD799FM98MAD9pNyrzZv3jyFh4erefPmKleunN5//31Vr1690Bmc6dOna+vWrdq8ebPS09PtszChoaEKDg7W+PHjFR0dLavVqvbt2ys1NVU7d+5USEiIhgwZYvBPFMCfwTkyAAwJCgpSmzZtNH/+fHXo0EGNGzfWlClTNGLECC1cuNC+3yuvvKItW7YoMjJSzZs3N/QZS5cuVUREhDp27Kg+ffpo5MiRqlatmn27yWTS+vXr1aFDBw0bNkwNGzbUQw89pBMnTigsLKzQ9wwODlZsbKxatmypVq1a6b///a/Wr1+vcuUK/mdw+/btSk9PV9u2bRUeHm7/WrVqlSTp+eef15QpUzR79mzdcsst6t69uz799FPVrVvX0M8J4M8z2Ww2m7tDAAAAXA9mZAAAgNeiyAAAAK9FkQEAAF6LIgMAALwWRQYAAHgtigwAAPBaFBkAAOC1KDIAAMBrUWQAAIDXosgAAACvRZEBAABe6/8A60d8k2GfVlsAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "df = pd.concat(\n", + " [ # microwatts converted to milliwatts * millseconds converted to seconds\n", + " metrics_df_k1[\"layer_power_including_idle_power_micro_watt\"] * 1e-3 * metrics_df_k1[\"layer_run_time\"] * 1e-3,\n", + " metrics_df_k2[\"layer_power_including_idle_power_micro_watt\"] * 1e-3 * metrics_df_k2[\"layer_run_time\"] * 1e-3,\n", + " metrics_df_k3[\"layer_power_including_idle_power_micro_watt\"] * 1e-3 * metrics_df_k3[\"layer_run_time\"] * 1e-3,\n", + " metrics_df_k4[\"layer_power_including_idle_power_micro_watt\"] * 1e-3 * metrics_df_k4[\"layer_run_time\"] * 1e-3,\n", + " metrics_df_k5[\"layer_power_including_idle_power_micro_watt\"] * 1e-3 * metrics_df_k5[\"layer_run_time\"] * 1e-3,\n", + " ],\n", + " axis=1,\n", + ")\n", + "\n", + "\n", + "# set column names (will be displayed as plot labels)\n", + "df.columns = ['1', '2', '3', '4', '5']\n", + "\n", + "# use pandas' boxplot method\n", + "df.boxplot().set_ylabel('Energy mWs (milliWattssecond)')\n", + "df.boxplot().set_xlabel('Stride size')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "22be2613-11d8-42aa-ba75-60e8f700721e", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.11" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/jetson/power_logging/notebooks/utils.py b/jetson/power_logging/notebooks/utils.py new file mode 100644 index 00000000..67f21c14 --- /dev/null +++ b/jetson/power_logging/notebooks/utils.py @@ -0,0 +1,203 @@ +"""Utility functions for inspecting power profiles.""" + +from collections import defaultdict +from datetime import datetime, timedelta +from typing import TypedDict + +from tqdm import tqdm + + +class PytorchLayerLatency(TypedDict): + """Measured layer latencies in Pytorch for a single inference cycle. + + Keyed by the layer name. + """ + + start_time: float + """Layer execution UNIX timestamp in seconds.""" + + elapsed_time: float + """Layer execution elapsed time in milliseconds.""" + + +class MetricsByCycle(TypedDict): + """Metrics collected by an inference cycle for a given layer.""" + + cycle: int + layer_name: str + layer_type: str + layer_power_including_idle_power_micro_watt: float | None + layer_power_excluding_idle_power_micro_watt: float | None + layer_run_time: float + + +def parse_power_log(log_values: list[str]) -> list[tuple]: + """Convert each power log entry to (datetime, power). + + Args: + log_values: List of timestamp, current and voltage as string. + + Returns: + Processed log for easy accessing the timestamp and power. + """ + result = [] + for entry in tqdm(log_values): + parts = entry.strip().split(",") + timestamp = datetime.strptime(parts[0], "%Y%m%d-%H:%M:%S.%f") + voltage = float(parts[1]) + current = float(parts[2]) + result.append((timestamp, voltage * current)) + return result + + +def parse_latencies( + pytorch_layer_latency: list[dict[str, PytorchLayerLatency]], +) -> defaultdict: + """Calculate start and end time for each layer. + + Args: + trt_layer_latency: Dictionary containing latency data for each layer. + + Returns: + Dictionary of cytcles where each cycle is + a list of tuples (cycle, start_time, end_time, duration, layer_name). + """ + latency_data = defaultdict(list) + + for cycle, cycle_layer_latency in tqdm( + enumerate(pytorch_layer_latency), desc="Computing layer execution times" + ): + for layer_name, layer_latency in cycle_layer_latency.items(): + start_timestamp = datetime.fromtimestamp(layer_latency["start_time"]) + duration = timedelta(milliseconds=layer_latency["elapsed_time"]) + end_timestamp = start_timestamp + duration + latency_data[cycle].append( + ( + cycle, + start_timestamp, + end_timestamp, + layer_latency["elapsed_time"], + layer_name, + ) + ) + return latency_data + + +def parse_latencies_trt( + trt_layer_latency: dict[str, list[list[float, str]]], +) -> defaultdict: + """Calculate start and end time for each layer. + + Args: + trt_layer_latency: Dictionary containing latency data for each layer. + + Returns: + Dictionary of cytcles where each cycle is + a list of tuples (cycle, start_time, end_time, duration, layer_name). + """ + latency_data = defaultdict(list) + + for layer_name, layer_times in tqdm( + trt_layer_latency.items(), desc="Preprocessing latency data" + ): + for cycle, (execution_duration, execution_end_time) in enumerate(layer_times): + end_timestamp = datetime.strptime(execution_end_time, "%Y%m%d-%H:%M:%S.%f") + duration = timedelta(milliseconds=execution_duration) + start_timestamp = end_timestamp - duration + latency_data[cycle].append( + (cycle, start_timestamp, end_timestamp, execution_duration, layer_name) + ) + + return latency_data + + +def compute_layer_metrics_by_cycle( + power_logs, latency_data, avg_idle_power +) -> list[MetricsByCycle]: + """Computes and aggregates power and runtime metrics for each layer within a processing cycle. + + For each iteration cycle and for each layer, + we get the corresponding power values in the start and + end time of layer inference for that layer. + The average power value is considered as the power + consumed for that iteration and that layer. + + Args: + power_logs: Power logs for the inference + latency_data: List of dictionary containing data for each inference cycle + + Returns: + list[MetricsByCycle]: A list of dictionaries, each representing metrics for a specific layer. + """ + print("Computing layer metrics...") + power_logs_iterator = iter(power_logs) + + latency_data = [ + entry for cycle_data in latency_data.values() for entry in cycle_data + ] + + metrics_by_cycle = [] + + power_log = next(power_logs_iterator) + + def calculate_metrics( + cycle: int, + power_measurements: list[float], + execution_duration: float, + ) -> MetricsByCycle: + """Calculate metrics for each cycle.""" + # Calculate average power if measurements exist + avg_layer_power = ( + sum(power_measurements) / len(power_measurements) + if power_measurements + else None + ) + + avg_layer_power_excluding_idle = ( + avg_layer_power - avg_idle_power if avg_layer_power else None + ) + + return { + "cycle": cycle + 1, + "layer_power_including_idle_power_micro_watt": avg_layer_power, + "layer_power_excluding_idle_power_micro_watt": avg_layer_power_excluding_idle, + "layer_run_time": execution_duration, + } + + for ( + cycle, + start_timestamp, + end_timestamp, + execution_duration, + _, + ) in tqdm(latency_data, desc="Mapping power to layer"): + layer_power_measurements = [] + + try: + # "Scroll" to the start time stamp if we are not there yet + while power_log[0] < start_timestamp: + power_log = next(power_logs_iterator) + + # Collect power measurements within start and end timestamp + while power_log[0] <= end_timestamp: + layer_power_measurements.append(power_log[1]) + power_log = next(power_logs_iterator) + + except StopIteration: + break + finally: + # Append the results for this layer and cycle + metrics_by_cycle.append( + calculate_metrics(cycle, layer_power_measurements, execution_duration) + ) + + return metrics_by_cycle + + +def get_power_index(power_data, timestamp): + index = 0 + while True: + power_timestamp = power_data[index][0] + if power_timestamp > timestamp: + return index + index += 1 diff --git a/jetson/power_logging/raw_data/.gitignore b/jetson/power_logging/raw_data/.gitignore index 3891d9bf..2a5d710d 100644 --- a/jetson/power_logging/raw_data/.gitignore +++ b/jetson/power_logging/raw_data/.gitignore @@ -1,3 +1,5 @@ /prebuilt_models /onnx_quantize_models_cpu /trt_quantize_models +/single_conv_layer +/single_conv_layer_trt diff --git a/jetson/power_logging/raw_data/single_conv_layer.dvc b/jetson/power_logging/raw_data/single_conv_layer.dvc new file mode 100644 index 00000000..b0feaeea --- /dev/null +++ b/jetson/power_logging/raw_data/single_conv_layer.dvc @@ -0,0 +1,6 @@ +outs: +- md5: bc9dea77e0892c26150bf8b7c5b0bd0e.dir + size: 5568359 + nfiles: 40 + hash: md5 + path: single_conv_layer diff --git a/jetson/power_logging/raw_data/single_conv_layer_trt.dvc b/jetson/power_logging/raw_data/single_conv_layer_trt.dvc new file mode 100644 index 00000000..a21970fe --- /dev/null +++ b/jetson/power_logging/raw_data/single_conv_layer_trt.dvc @@ -0,0 +1,6 @@ +outs: +- md5: 43388e2e8a00742263cb99e1f7893176.dir + size: 14553656 + nfiles: 53 + hash: md5 + path: single_conv_layer_trt diff --git a/jetson/power_logging/run_experiment.sh b/jetson/power_logging/run_experiment.sh new file mode 100644 index 00000000..fae1080d --- /dev/null +++ b/jetson/power_logging/run_experiment.sh @@ -0,0 +1,43 @@ +#!/bin/bash + +set -eou pipefail + +# Time (in seconds) to measure power in idle state +IDLE_DURATION=120 + +# Directory to store results +RESULT_DIR="raw_data/single_conv_layer_trt" + +echo "Running idling power measurement..." +python measure_idling_power.py \ + --idle-duration $IDLE_DURATION \ + --result-dir "$RESULT_DIR" + +# Wait for 2 minutes +echo "Sleeping for 2 minutes..." +sleep 120 + +# Models to benchmark +models=("conv_k1_s1_o3" "conv_k2_s1_o3" "conv_k3_s1_o3" "conv_k4_s1_o3" "conv_k5_s1_o3" "conv_k1_s2_o3" "conv_k1_s3_o3" "conv_k1_s4_o3" "conv_k1_s5_o3" "conv_k1_s1_o6" "conv_k1_s1_o12" "conv_k1_s1_o24" "conv_k1_s1_o48") +# Number of inference cycles +RUNS=3000 + +# Iterate through models and run measure_inference_power.py script +for model in "${models[@]}" +do + echo "Running inference power measurement for model: $model" + +INPUT_SHAPE='--input-shape 1 3 224 224' + + # Run the measure_inference_power.py script + python measure_inference_power.py \ + --result-dir "$RESULT_DIR" \ + classify \ + --model "$model" \ + --runs "$RUNS" \ + --min-block-size 1 \ + --dtype "float32" \ + $INPUT_SHAPE +done + +echo "Experiment completed!" diff --git a/jetson/power_logging/run_quantization_onnx_experiment.sh b/jetson/power_logging/run_quantization_onnx_experiment.sh index 5cdc5447..e04ee069 100755 --- a/jetson/power_logging/run_quantization_onnx_experiment.sh +++ b/jetson/power_logging/run_quantization_onnx_experiment.sh @@ -29,9 +29,10 @@ do # Run the measure_inference_power.py script python measure_inference_power.py \ + --result-dir "$RESULT_DIR" \ + detect \ --model "$model" \ - --dataset-name "coco.yaml" \ - --result-dir "$RESULT_DIR" + --dataset-name "coco.yaml" done echo "Experiment completed!" diff --git a/jetson/power_logging/run_quantization_pytorch_experiment.sh b/jetson/power_logging/run_quantization_pytorch_experiment.sh index cf52c8e7..4e6be42f 100755 --- a/jetson/power_logging/run_quantization_pytorch_experiment.sh +++ b/jetson/power_logging/run_quantization_pytorch_experiment.sh @@ -29,9 +29,10 @@ do # Run the measure_inference_power.py script python measure_inference_power.py \ + --result-dir "$RESULT_DIR" \ + detect \ --model "$model" \ - --dataset-name "coco.yaml" \ - --result-dir "$RESULT_DIR" + --dataset-name "coco.yaml" done echo "Experiment completed!" diff --git a/jetson/power_logging/run_quantization_trt_experiment.sh b/jetson/power_logging/run_quantization_trt_experiment.sh index 77e32c40..477c9cae 100755 --- a/jetson/power_logging/run_quantization_trt_experiment.sh +++ b/jetson/power_logging/run_quantization_trt_experiment.sh @@ -29,9 +29,10 @@ do # Run the measure_inference_power.py script python measure_inference_power.py \ + --result-dir "$RESULT_DIR" \ + detect \ --model "$model" \ - --dataset-name "coco.yaml" \ - --result-dir "$RESULT_DIR" + --dataset-name "coco.yaml" done echo "Experiment completed!"