From cf15d5501e1b8cb729653fc501911a696511532d Mon Sep 17 00:00:00 2001 From: Jan Kowalczyk Date: Wed, 10 Sep 2025 19:41:00 +0200 Subject: [PATCH] update --- Deep-SAD-PyTorch/devenv.nix | 2 + Deep-SAD-PyTorch/src/datasets/main.py | 2 + Deep-SAD-PyTorch/src/main.py | 30 + thesis/Main.pdf | Bin 5735970 -> 5743963 bytes thesis/Main.tex | 113 +++ tools/demo_loaded_data.py | 5 +- tools/load_results.py | 651 ---------------- tools/plot_scripts/ae_elbow_lenet.py | 4 +- tools/{ => plot_scripts}/diff_df.py | 0 tools/plot_scripts/load_results.py | 170 +++-- .../results_latent_space_comparisons.py | 2 +- .../results_semi_labels_comparison.py | 2 +- tools/plot_scripts/setup_runtime_tables.py | 704 ++++++++++++++++++ tools/print_mat.py | 20 + tools/pyproject.toml | 2 + tools/uv.lock | 209 +++++- tools/verify_loaded_results.py | 2 +- 17 files changed, 1198 insertions(+), 720 deletions(-) delete mode 100644 tools/load_results.py rename tools/{ => plot_scripts}/diff_df.py (100%) create mode 100644 tools/plot_scripts/setup_runtime_tables.py create mode 100644 tools/print_mat.py diff --git a/Deep-SAD-PyTorch/devenv.nix b/Deep-SAD-PyTorch/devenv.nix index 65a4815..bc5b8ff 100644 --- a/Deep-SAD-PyTorch/devenv.nix +++ b/Deep-SAD-PyTorch/devenv.nix @@ -4,9 +4,11 @@ let torch-bin torchvision-bin aggdraw # for visualtorch + nvidia-ml-py ]; tools = with pkgs; [ ruff + dmidecode ]; in { diff --git a/Deep-SAD-PyTorch/src/datasets/main.py b/Deep-SAD-PyTorch/src/datasets/main.py index cb3d0c3..41a3716 100644 --- a/Deep-SAD-PyTorch/src/datasets/main.py +++ b/Deep-SAD-PyTorch/src/datasets/main.py @@ -21,6 +21,7 @@ def load_dataset( k_fold_num: int = None, num_known_normal: int = 0, num_known_outlier: int = 0, + split: float = 0.7, ): """Loads the dataset.""" @@ -49,6 +50,7 @@ def load_dataset( k_fold_num=k_fold_num, num_known_normal=num_known_normal, num_known_outlier=num_known_outlier, + split=split, ) if dataset_name == "subtersplit": diff --git a/Deep-SAD-PyTorch/src/main.py b/Deep-SAD-PyTorch/src/main.py index 31671f9..00433b5 100644 --- a/Deep-SAD-PyTorch/src/main.py +++ b/Deep-SAD-PyTorch/src/main.py @@ -152,6 +152,12 @@ from utils.visualization.plot_images_grid import plot_images_grid default=0.001, help="Initial learning rate for Deep SAD network training. Default=0.001", ) +@click.option( + "--train_test_split", + type=float, + default=0.7, + help="Ratio of training data in the train-test split (default: 0.7).", +) @click.option("--n_epochs", type=int, default=50, help="Number of epochs to train.") @click.option( "--lr_milestone", @@ -307,6 +313,7 @@ def main( seed, optimizer_name, lr, + train_test_split, n_epochs, lr_milestone, batch_size, @@ -416,6 +423,7 @@ def main( k_fold_num=k_fold_num, num_known_normal=num_known_normal, num_known_outlier=num_known_outlier, + split=train_test_split, ) # Log random sample of known anomaly classes if more than 1 class if n_known_outlier_classes > 1: @@ -694,6 +702,7 @@ def main( ratio_pollution, random_state=np.random.RandomState(cfg.settings["seed"]), k_fold_num=k_fold_num, + split=train_test_split, ) # Set up k-fold passes @@ -804,12 +813,14 @@ def main( k_fold_num=cfg.settings["k_fold_num"], num_known_normal=cfg.settings["num_known_normal"], num_known_outlier=cfg.settings["num_known_outlier"], + split=train_test_split, ) train_passes = ( range(cfg.settings["k_fold_num"]) if cfg.settings["k_fold"] else [None] ) + retest_autoencoder = False retest_isoforest = True retest_ocsvm = True retest_deepsad = True @@ -865,6 +876,25 @@ def main( k_fold_idx=fold_idx, ) + if retest_autoencoder: + # Initialize DeepSAD model and set neural network phi + deepSAD = DeepSAD(cfg.settings["latent_space_dim"], cfg.settings["eta"]) + deepSAD.set_network(cfg.settings["net_name"]) + deepSAD.load_model( + model_path=ae_model_path, load_ae=True, map_location=device + ) + logger.info("Loading model from %s." % load_model) + # Save pretraining results + if fold_idx is None: + deepSAD.save_ae_results( + export_pkl=load_model / "results_ae_retest.pkl" + ) + else: + deepSAD.save_ae_results( + export_pkl=load_model / f"results_ae_retest_{fold_idx}.pkl" + ) + del deepSAD + # Initialize DeepSAD model and set neural network phi if retest_deepsad: deepSAD = DeepSAD(cfg.settings["latent_space_dim"], cfg.settings["eta"]) diff --git a/thesis/Main.pdf b/thesis/Main.pdf index 3ddfad211ad699c6722beeb51e1038d921513217..9bb977b4f94b54cbd112019e006ae28905bc32c6 100644 GIT binary patch delta 196120 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 z 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

CXd~{E0E<_!YD8Y23aU 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

j-+Hq9{RR8|HahQg4+^%s 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 z z?Stl()*cb=;eFFNrwKisl4|?ZWx}Rg%a&NA=K6OQK}>TNJ!coVKi*CBUtx2eX6TK- zeR-*&5BJPBTD9+!=3W#3u-4knx&#G{;MVS}((RBo|AG3eRzLnnxt9kpRyD}H;5_B1 ze<51*ou%jgQ2Edu|K0A^uL^2yzjuA@zEvMytlwoS#S_%3e*D$D1OpZx*24!1448UY z7Bl=Wel4+>D?jAr^s5X-w+_}nu{y>mcB^mWst-5Qe`!8ue4TgPr7y@?gF_!$`{&PQOJl0lTD9C%{!D1Ay!=)Fne3ku8nxc+56zF}h$yn2)>uC^VW-xg zqM3D5{>zpbWLtmvy_PZCkvW6qwS#a5n{I+_g5{eV9A=GX8zgTeaNpqC*7!Do{pV%H zBY}dpuDJzMwf;n{lfMwJety$hhN#fLcbdO4?{$>FATH3Y)TuG4W6?i*gHv5Mw31eL ztX109)uHuhy9L{W6(ID zU|7M(X3)qAZ7s}L_S4FM)ra-+0njjLJD*YO}N9{?{E}W(!^0Ast)mrJ%L(U+Uz0z4I1`#|DXiXRCd&>3pH+g`?lX zqL!#!6Ybh}O+jnpx*cDqa#VJ*U%Yx;zB>HH%}N}{jhYd-GYI3wohukeJ7o|6?e_0#m&l9R+(f#;rNe?P532*;}6dvxZuyp=Xb0l8;dGB#GBi z4JyY}48cM(vkWim$8mC``8-Ja8?C%7%EvExk+|@+8Gnwdm|auM3HsW;XMw5N>R+qH zPIc~^;WeTD7oX@AQ!c4p+ePyBQ~w%ey}h{n^}3+!`2Eq_H?2y% zC3g4K5~)S~rK>k*Rrs-Q-qoE|@mzmb=pw1Qx}fd5RvnwvT(UaEl+QYN`>Bw}Ev~yl z*Gb8*zPxr$)b;x5d7&#xrSDx>>$UaWRkpjYmd%nncVX?jRWHBQ-+vj#e|1juqG;RD z&w}|c!}PD#TuQn7YHgHO`>Qbdt3`j@?yd^becra~YWUWeP2t;rt(=xEe|2rv)uP+Z zl2?n~%kHuc*t%!Z^mp0!IqvQ9_z>s#;o8h=7YxV|&FxgJtS@uk=pl|j8%RHv%J6_Lz zye_|Q_dd(o>(iwV@9f|_z4xAsd3o_46aC||_hh!$6$=_q*}c>9-Lq$l9yU};_Oe9y zc;>x)wxfOaW4XM(`Cp&zm^k~fS-##Qp()inEZ;o@%Ph;)o5i8VxQ=6y)d86&_j3B~ zvp(D5IJ-NILGRb%$cCTCVsFKmgm2BW@;LVN!mTs^8D|GA-#*=NX}BDZk%fVYF_)^U ItG^o;0Ipw9%m4rY diff --git a/thesis/Main.tex b/thesis/Main.tex index a046efa..6820159 100755 --- a/thesis/Main.tex +++ b/thesis/Main.tex @@ -71,6 +71,11 @@ \usepackage[colorinlistoftodos]{todonotes} %\usepackage[disable]{todonotes} \usepackage{makecell} +\usepackage{longtable} +\usepackage{array} +\usepackage{tabularx} + +\newcolumntype{Y}{>{\centering\arraybackslash}X} \DeclareRobustCommand{\threadtodo}[4]{% \todo[inline, @@ -1251,6 +1256,114 @@ Table~\ref{tab:exp_grid} summarizes the full experiment matrix. {table of hardware and of how long different trainings took} {experiment setup understood $\rightarrow$ what were the experiments' results} + +\begin{table}[p] + \centering + \caption{Computational Environment (Hardware \& Software)} \label{tab:system_setup} + \begin{tabular}{p{0.34\linewidth} p{0.62\linewidth}} + \toprule + \textbf{Item} & \textbf{Details} \\ + \midrule + \multicolumn{2}{l}{\textbf{System}} \\ + Operating System & \ttfamily NixOS 25.11 (Xantusia) \\ + Kernel & \ttfamily 6.12.45 \\ + Architecture & \ttfamily x86\_64 \\ + CPU Model & \ttfamily AMD Ryzen 5 3600 6-Core Processor \\ + CPU Cores (physical) & \ttfamily 6 × 1 \\ + CPU Threads (logical) & \ttfamily 12 \\ + CPU Base Frequency & \ttfamily 2200 MHz \\ + CPU Max Frequency & \ttfamily 4208 MHz \\ + Total RAM & \ttfamily 31.29 GiB \\ + \addlinespace + \multicolumn{2}{l}{\textbf{GPU}} \\ + GPU Name & \ttfamily NVIDIA GeForce RTX 2070 SUPER \\ + GPU Memory & \ttfamily 8.00 GiB \\ + GPU Compute Capability & \ttfamily 7.5 \\ + NVIDIA Driver Version & \ttfamily 570.181 \\ + CUDA (Driver) Version & \ttfamily 12.8 \\ + \addlinespace + \multicolumn{2}{l}{\textbf{Software Environment}} \\ + Python & \ttfamily 3.12.11 \\ + PyTorch & \ttfamily 2.7.1+cu128 \\ + PyTorch Built CUDA & \ttfamily 12.8 \\ + cuDNN (PyTorch build) & \ttfamily 91100 \\ + scikit-learn & \ttfamily 1.7.0 \\ + NumPy & \ttfamily 2.3.1 \\ + SciPy & \ttfamily 1.16.0 \\ + NumPy Build Config & \begin{minipage}[t]{\linewidth}\ttfamily\small blas: + name: blas + openblas configuration: unknown + pc file directory: /nix/store/x19i4pf7zs1pp96mikj8azyn6v891i33-blas-3-dev/lib/pkgconfig + lapack: + name: lapack + openblas configuration: unknown + pc file directory: /nix/store/g819v6ri55f2gdczsi8s8bljkh0lkgwb-lapack-3-dev/lib/pkgconfig\end{minipage} \\ + \addlinespace + \bottomrule + \end{tabular} +\end{table} + +\begin{table} + \centering + \caption{Autoencoder pretraining runtime (seconds): mean ± std across folds.} + \label{tab:ae_pretrain_runtimes} + \begin{tabularx}{\textwidth}{cYY} + \toprule + & Autoencoder Efficient & Autoencoder LeNet \\ + Latent Dim. & & \\ + \midrule + 32 & 1175.03 ± 35.87 s & 384.90 ± 34.59 s \\ + 64 & 1212.53 ± 35.76 s & 398.22 ± 41.25 s \\ + 128 & 1240.86 ± 11.51 s & 397.98 ± 33.43 s \\ + 256 & 1169.72 ± 33.26 s & 399.40 ± 38.20 s \\ + 512 & 1173.34 ± 34.99 s & 430.31 ± 38.02 s \\ + 768 & 1204.45 ± 37.52 s & 436.49 ± 37.13 s \\ + 1024 & 1216.79 ± 34.82 s & 411.69 ± 34.82 s \\ + \bottomrule + \end{tabularx} +\end{table} + +\begin{table} + \centering + \caption{Training runtime: total seconds (mean ± std). DeepSAD cells also show \textit{seconds per epoch} in parentheses.} + \label{tab:train_runtimes_compact} + \begin{tabularx}{\textwidth}{crrrr} + \toprule + & DeepSAD LeNet & DeepSAD Efficient & IsoForest & OCSVM \\ + Latent Dim. & & & & \\ + \midrule + 32 & 765.37 ± 91.74 s & 1026.18 ± 84.13 s & 0.55 ± 0.02 s & 1.07 ± 00.29 s \\ + 64 & 815.88 ± 93.07 s & 1124.48 ± 60.84 s & 0.55 ± 0.02 s & 1.98 ± 01.57 s \\ + 128 & 828.53 ± 63.00 s & 1164.94 ± 02.13 s & 0.55 ± 0.02 s & 3.17 ± 02.63 s \\ + 256 & 794.54 ± 97.04 s & 986.88 ± 82.98 s & 0.55 ± 0.02 s & 12.81 ± 14.19 s \\ + 512 & 806.63 ± 99.83 s & 998.23 ± 80.34 s & 0.55 ± 0.02 s & 22.76 ± 23.52 s \\ + 768 & 818.56 ± 86.38 s & 1053.64 ± 78.72 s & 0.55 ± 0.02 s & 14.24 ± 01.21 s \\ + 1024 & 770.05 ± 86.22 s & 1054.92 ± 87.49 s & 0.55 ± 0.02 s & 28.20 ± 24.04 s \\ + \bottomrule + \end{tabularx} +\end{table} + + +\begin{table} + \centering + \caption{Inference latency (ms/sample): mean ± std across folds; baselines collapsed across networks and semi-labeling.} + \label{tab:inference_latency_compact} + \begin{tabularx}{\textwidth}{cYcYY} + \toprule + & DeepSAD LeNet & DeepSAD Efficient & IsoForest & OCSVM \\ + Latent Dim. & & & & \\ + \midrule + 32 & 0.31 ± 0.04 ms & 0.36 ± 0.05 ms & 0.02 ± 0.00 ms & 0.07 ± 0.02 ms \\ + 64 & 0.33 ± 0.06 ms & 0.43 ± 0.04 ms & 0.02 ± 0.00 ms & 0.10 ± 0.06 ms \\ + 128 & 0.31 ± 0.04 ms & 0.45 ± 0.02 ms & 0.02 ± 0.00 ms & 0.16 ± 0.09 ms \\ + 256 & 0.30 ± 0.04 ms & 0.33 ± 0.02 ms & 0.02 ± 0.00 ms & 0.30 ± 0.21 ms \\ + 512 & 0.32 ± 0.04 ms & 0.33 ± 0.02 ms & 0.02 ± 0.00 ms & 0.63 ± 0.65 ms \\ + 768 & 0.33 ± 0.03 ms & 0.41 ± 0.06 ms & 0.02 ± 0.00 ms & 0.39 ± 0.07 ms \\ + 1024 & 0.27 ± 0.02 ms & 0.39 ± 0.05 ms & 0.02 ± 0.00 ms & 0.94 ± 0.98 ms \\ + \bottomrule + \end{tabularx} +\end{table} + \newchapter{results_discussion}{Results and Discussion} \newsection{results}{Results} \todo[inline]{some results, ROC curves, for both global and local} diff --git a/tools/demo_loaded_data.py b/tools/demo_loaded_data.py index 4e66515..86c7c66 100644 --- a/tools/demo_loaded_data.py +++ b/tools/demo_loaded_data.py @@ -2,7 +2,10 @@ from pathlib import Path import polars as pl -from load_results import load_pretraining_results_dataframe, load_results_dataframe +from plot_scripts.load_results import ( + load_pretraining_results_dataframe, + load_results_dataframe, +) # ------------------------------------------------------------ diff --git a/tools/load_results.py b/tools/load_results.py deleted file mode 100644 index 20e6c44..0000000 --- a/tools/load_results.py +++ /dev/null @@ -1,651 +0,0 @@ -from __future__ import annotations - -import json -import pickle -from pathlib import Path -from typing import Any, Dict, List, Optional, Tuple - -import numpy as np -import polars as pl -from polars.testing import assert_frame_equal - -from diff_df import recursive_diff_frames - -# ------------------------------------------------------------ -# Config you can tweak -# ------------------------------------------------------------ -MODELS = ["deepsad", "isoforest", "ocsvm"] -EVALS = ["exp_based", "manual_based"] - -SCHEMA_STATIC = { - # identifiers / dims - "network": pl.Utf8, # e.g. "LeNet", "efficient" - "latent_dim": pl.Int32, - "semi_normals": pl.Int32, - "semi_anomalous": pl.Int32, - "model": pl.Utf8, # "deepsad" | "isoforest" | "ocsvm" - "eval": pl.Utf8, # "exp_based" | "manual_based" - "fold": pl.Int32, - # metrics - "auc": pl.Float64, - "ap": pl.Float64, - # per-sample scores: list of (idx, label, score) - "scores": pl.List( - pl.Struct( - { - "sample_idx": pl.Int32, # dataloader idx - "orig_label": pl.Int8, # {-1,0,1} - "score": pl.Float64, # anomaly score - } - ) - ), - # curves (normalized) - "roc_curve": pl.Struct( - { - "fpr": pl.List(pl.Float64), - "tpr": pl.List(pl.Float64), - "thr": pl.List(pl.Float64), - } - ), - "prc_curve": pl.Struct( - { - "precision": pl.List(pl.Float64), - "recall": pl.List(pl.Float64), - "thr": pl.List(pl.Float64), # may be len(precision)-1 - } - ), - # deepsad-only per-eval arrays (None for other models) - "sample_indices": pl.List(pl.Int32), - "sample_labels": pl.List(pl.Int8), - "valid_mask": pl.List(pl.Boolean), - # timings / housekeeping - "train_time": pl.Float64, - "test_time": pl.Float64, - "folder": pl.Utf8, - "k_fold_num": pl.Int32, - "config_json": pl.Utf8, # full config.json as string (for reference) -} - -# Pretraining-only (AE) schema -# Pretraining-only (AE) schema — lighter defaults -PRETRAIN_SCHEMA = { - # identifiers / dims - "network": pl.Utf8, # e.g. "LeNet", "efficient" - "latent_dim": pl.Int32, - "semi_normals": pl.Int32, - "semi_anomalous": pl.Int32, - "model": pl.Utf8, # always "ae" - "fold": pl.Int32, - "split": pl.Utf8, # "train" | "test" - # timings and optimization - "time": pl.Float64, - "loss": pl.Float64, - # per-sample arrays (as lists) - "indices": pl.List(pl.Int32), - "labels_exp_based": pl.List(pl.Int32), - "labels_manual_based": pl.List(pl.Int32), - "semi_targets": pl.List(pl.Int32), - "file_ids": pl.List(pl.Int32), - "frame_ids": pl.List(pl.Int32), - "scores": pl.List(pl.Float32), # <— use Float32 to match source and save space - # file id -> name mapping from the result dict - "file_names": pl.List(pl.Struct({"file_id": pl.Int32, "name": pl.Utf8})), - # housekeeping - "folder": pl.Utf8, - "k_fold_num": pl.Int32, - "config_json": pl.Utf8, # full config.json as string (for reference) -} - - -# ------------------------------------------------------------ -# Helpers: curve/scores normalizers (tuples/ndarrays -> dict/list) -# ------------------------------------------------------------ -def _tolist(x): - if x is None: - return None - if isinstance(x, np.ndarray): - return x.tolist() - if isinstance(x, (list, tuple)): - return list(x) - # best-effort scalar wrap - try: - return [x] - except Exception: - return None - - -def normalize_float_list(a) -> Optional[List[float]]: - if a is None: - return None - if isinstance(a, np.ndarray): - a = a.tolist() - return [None if x is None else float(x) for x in a] - - -def normalize_file_names(d) -> Optional[List[dict]]: - """ - Convert the 'file_names' dict (keys like numpy.int64 -> str) to a - list[ {file_id:int, name:str} ], sorted by file_id. - """ - if not isinstance(d, dict): - return None - out: List[dict] = [] - for k, v in d.items(): - try: - file_id = int(k) - except Exception: - # keys are printed as np.int64 in the structure; best-effort cast - continue - out.append({"file_id": file_id, "name": str(v)}) - out.sort(key=lambda x: x["file_id"]) - return out - - -def normalize_roc(obj: Any) -> Optional[dict]: - if obj is None: - return None - fpr = tpr = thr = None - if isinstance(obj, (tuple, list)): - if len(obj) >= 2: - fpr, tpr = _tolist(obj[0]), _tolist(obj[1]) - if len(obj) >= 3: - thr = _tolist(obj[2]) - elif isinstance(obj, dict): - fpr = _tolist(obj.get("fpr") or obj.get("x")) - tpr = _tolist(obj.get("tpr") or obj.get("y")) - thr = _tolist(obj.get("thr") or obj.get("thresholds")) - else: - return None - if fpr is None or tpr is None: - return None - return {"fpr": fpr, "tpr": tpr, "thr": thr} - - -def normalize_prc(obj: Any) -> Optional[dict]: - if obj is None: - return None - precision = recall = thr = None - if isinstance(obj, (tuple, list)): - if len(obj) >= 2: - precision, recall = _tolist(obj[0]), _tolist(obj[1]) - if len(obj) >= 3: - thr = _tolist(obj[2]) - elif isinstance(obj, dict): - precision = _tolist(obj.get("precision") or obj.get("y")) - recall = _tolist(obj.get("recall") or obj.get("x")) - thr = _tolist(obj.get("thr") or obj.get("thresholds")) - else: - return None - if precision is None or recall is None: - return None - return {"precision": precision, "recall": recall, "thr": thr} - - -def normalize_scores_to_struct(seq) -> Optional[List[dict]]: - """ - Input: list of (idx, label, score) tuples (as produced in your test()). - Output: list of dicts with keys sample_idx, orig_label, score. - """ - if seq is None: - return None - if isinstance(seq, np.ndarray): - seq = seq.tolist() - if not isinstance(seq, (list, tuple)): - return None - out: List[dict] = [] - for item in seq: - if isinstance(item, (list, tuple)) and len(item) >= 3: - idx, lab, sc = item[0], item[1], item[2] - out.append( - { - "sample_idx": None if idx is None else int(idx), - "orig_label": None if lab is None else int(lab), - "score": None if sc is None else float(sc), - } - ) - else: - # fallback: single numeric -> score - sc = ( - float(item) - if isinstance(item, (int, float, np.integer, np.floating)) - else None - ) - out.append({"sample_idx": None, "orig_label": None, "score": sc}) - return out - - -def normalize_int_list(a) -> Optional[List[int]]: - if a is None: - return None - if isinstance(a, np.ndarray): - a = a.tolist() - return list(a) - - -def normalize_bool_list(a) -> Optional[List[bool]]: - if a is None: - return None - if isinstance(a, np.ndarray): - a = a.tolist() - return [bool(x) for x in a] - - -# ------------------------------------------------------------ -# Low-level: read one experiment folder -# ------------------------------------------------------------ -def read_config(exp_dir: Path) -> dict: - cfg = exp_dir / "config.json" - with cfg.open("r") as f: - c = json.load(f) - if not c.get("k_fold"): - raise ValueError(f"{exp_dir.name}: not trained as k-fold") - return c - - -def read_pickle(p: Path) -> Any: - with p.open("rb") as f: - return pickle.load(f) - - -# ------------------------------------------------------------ -# Extractors for each model -# ------------------------------------------------------------ - -counting = { - (label_method, eval_method): [] - for label_method in ["exp_based", "manual_based"] - for eval_method in ["roc", "prc"] -} - - -def rows_from_deepsad(data: dict, evals: List[str]) -> Dict[str, dict]: - """ - deepsad under data['test'][eval], with extra per-eval arrays and AP present. - """ - out: Dict[str, dict] = {} - test = data.get("test", {}) - for ev in evals: - evd = test.get(ev) - if not isinstance(evd, dict): - continue - counting[(ev, "roc")].append(len(evd["roc"][0])) - counting[(ev, "prc")].append(len(evd["prc"][0])) - out[ev] = { - "auc": float(evd["auc"]) - if "auc" in evd and evd["auc"] is not None - else None, - "roc": normalize_roc(evd.get("roc")), - "prc": normalize_prc(evd.get("prc")), - "ap": float(evd["ap"]) if "ap" in evd and evd["ap"] is not None else None, - "scores": normalize_scores_to_struct(evd.get("scores")), - "sample_indices": normalize_int_list(evd.get("indices")), - "sample_labels": normalize_int_list(evd.get("labels")), - "valid_mask": normalize_bool_list(evd.get("valid_mask")), - "train_time": data.get("train", {}).get("time"), - "test_time": test.get("time"), - } - return out - - -def rows_from_isoforest(data: dict, evals: List[str]) -> Dict[str, dict]: - """ - Keys: test_auc_, test_roc_, test_prc_, test_ap_, test_scores_. - """ - out: Dict[str, dict] = {} - for ev in evals: - auc = data.get(f"test_auc_{ev}") - if auc is None: - continue - out[ev] = { - "auc": float(auc), - "roc": normalize_roc(data.get(f"test_roc_{ev}")), - "prc": normalize_prc(data.get(f"test_prc_{ev}")), - "ap": float(data.get(f"test_ap_{ev}")) - if data.get(f"test_ap_{ev}") is not None - else None, - "scores": normalize_scores_to_struct(data.get(f"test_scores_{ev}")), - "sample_indices": None, - "sample_labels": None, - "valid_mask": None, - "train_time": data.get("train_time"), - "test_time": data.get("test_time"), - } - return out - - -def rows_from_ocsvm_default(data: dict, evals: List[str]) -> Dict[str, dict]: - """ - Default OCSVM only (ignore linear variant entirely). - """ - out: Dict[str, dict] = {} - for ev in evals: - auc = data.get(f"test_auc_{ev}") - if auc is None: - continue - out[ev] = { - "auc": float(auc), - "roc": normalize_roc(data.get(f"test_roc_{ev}")), - "prc": normalize_prc(data.get(f"test_prc_{ev}")), - "ap": float(data.get(f"test_ap_{ev}")) - if data.get(f"test_ap_{ev}") is not None - else None, - "scores": normalize_scores_to_struct(data.get(f"test_scores_{ev}")), - "sample_indices": None, - "sample_labels": None, - "valid_mask": None, - "train_time": data.get("train_time"), - "test_time": data.get("test_time"), - } - return out - - -# ------------------------------------------------------------ -# Build the Polars DataFrame -# ------------------------------------------------------------ -def load_results_dataframe(root: Path, allow_cache: bool = True) -> pl.DataFrame: - """ - Walks experiment subdirs under `root`. For each (model, fold) it adds rows: - Columns (SCHEMA_STATIC): - network, latent_dim, semi_normals, semi_anomalous, - model, eval, fold, - auc, ap, scores{sample_idx,orig_label,score}, - roc_curve{fpr,tpr,thr}, prc_curve{precision,recall,thr}, - sample_indices, sample_labels, valid_mask, - train_time, test_time, - folder, k_fold_num - """ - if allow_cache: - cache = root / "results_cache.parquet" - if cache.exists(): - try: - df = pl.read_parquet(cache) - print(f"[info] loaded cached results frame from {cache}") - return df - except Exception as e: - print(f"[warn] failed to load cache {cache}: {e}") - - rows: List[dict] = [] - - exp_dirs = [p for p in root.iterdir() if p.is_dir()] - for exp_dir in sorted(exp_dirs): - try: - cfg = read_config(exp_dir) - cfg_json = json.dumps(cfg, sort_keys=True) - except Exception as e: - print(f"[warn] skipping {exp_dir.name}: {e}") - continue - - network = cfg.get("net_name") - latent_dim = int(cfg.get("latent_space_dim")) - semi_normals = int(cfg.get("num_known_normal")) - semi_anomalous = int(cfg.get("num_known_outlier")) - k = int(cfg.get("k_fold_num")) - - for model in MODELS: - for fold in range(k): - pkl = exp_dir / f"results_{model}_{fold}.pkl" - if not pkl.exists(): - continue - - try: - data = read_pickle(pkl) - except Exception as e: - print(f"[warn] failed to read {pkl.name}: {e}") - continue - - if model == "deepsad": - per_eval = rows_from_deepsad(data, EVALS) # eval -> dict - elif model == "isoforest": - per_eval = rows_from_isoforest(data, EVALS) # eval -> dict - elif model == "ocsvm": - per_eval = rows_from_ocsvm_default(data, EVALS) # eval -> dict - else: - per_eval = {} - - for ev, vals in per_eval.items(): - rows.append( - { - "network": network, - "latent_dim": latent_dim, - "semi_normals": semi_normals, - "semi_anomalous": semi_anomalous, - "model": model, - "eval": ev, - "fold": fold, - "auc": vals["auc"], - "ap": vals["ap"], - "scores": vals["scores"], - "roc_curve": vals["roc"], - "prc_curve": vals["prc"], - "sample_indices": vals.get("sample_indices"), - "sample_labels": vals.get("sample_labels"), - "valid_mask": vals.get("valid_mask"), - "train_time": vals["train_time"], - "test_time": vals["test_time"], - "folder": str(exp_dir), - "k_fold_num": k, - "config_json": cfg_json, - } - ) - - # If empty, return a typed empty frame - if not rows: - return pl.DataFrame(schema=SCHEMA_STATIC) - - df = pl.DataFrame(rows, schema=SCHEMA_STATIC) - - # Cast to efficient dtypes (categoricals etc.) – no extra sanitation - df = df.with_columns( - pl.col("network", "model", "eval").cast(pl.Categorical), - pl.col( - "latent_dim", "semi_normals", "semi_anomalous", "fold", "k_fold_num" - ).cast(pl.Int32), - pl.col("auc", "ap", "train_time", "test_time").cast(pl.Float64), - # NOTE: no cast on 'scores' here; it's already List(Struct) per schema. - ) - - if allow_cache: - try: - df.write_parquet(cache) - print(f"[info] cached results frame to {cache}") - except Exception as e: - print(f"[warn] failed to write cache {cache}: {e}") - - return df - - -def load_pretraining_results_dataframe( - root: Path, - allow_cache: bool = True, - include_train: bool = False, # <— default: store only TEST to keep cache tiny - keep_file_names: bool = False, # <— drop file_names by default; they’re repeated - parquet_compression: str = "zstd", - parquet_compression_level: int = 7, # <— stronger compression than default -) -> pl.DataFrame: - """ - Loads only AE pretraining results: files named `results_ae_.pkl`. - Produces one row per (experiment, fold, split). By default we: - - include only the TEST split (include_train=False) - - store scores as Float32 - - drop the repeated file_names mapping to save space - - write Parquet with zstd(level=7) - """ - if allow_cache: - cache = root / "pretraining_results_cache.parquet" - if cache.exists(): - try: - df = pl.read_parquet(cache) - print(f"[info] loaded cached pretraining frame from {cache}") - return df - except Exception as e: - print(f"[warn] failed to load pretraining cache {cache}: {e}") - - rows: List[dict] = [] - - exp_dirs = [p for p in root.iterdir() if p.is_dir()] - for exp_dir in sorted(exp_dirs): - try: - cfg = read_config(exp_dir) - cfg_json = json.dumps(cfg, sort_keys=True) - except Exception as e: - print(f"[warn] skipping {exp_dir.name} (pretraining): {e}") - continue - - network = cfg.get("net_name") - latent_dim = int(cfg.get("latent_space_dim")) - semi_normals = int(cfg.get("num_known_normal")) - semi_anomalous = int(cfg.get("num_known_outlier")) - k = int(cfg.get("k_fold_num")) - - # Only test split by default (include_train=False) - splits = ("train", "test") if include_train else ("test",) - - for fold in range(k): - pkl = exp_dir / f"results_ae_{fold}.pkl" - if not pkl.exists(): - continue - - try: - data = read_pickle(pkl) # expected: {"train": {...}, "test": {...}} - except Exception as e: - print(f"[warn] failed to read {pkl.name}: {e}") - continue - - for split in splits: - splitd = data.get(split) - if not isinstance(splitd, dict): - continue - - rows.append( - { - "network": network, - "latent_dim": latent_dim, - "semi_normals": semi_normals, - "semi_anomalous": semi_anomalous, - "model": "ae", - "fold": fold, - "split": split, - "time": float(splitd.get("time")) - if splitd.get("time") is not None - else None, - "loss": float(splitd.get("loss")) - if splitd.get("loss") is not None - else None, - # ints as Int32, scores as Float32 to save space - "indices": normalize_int_list(splitd.get("indices")), - "labels_exp_based": normalize_int_list( - splitd.get("labels_exp_based") - ), - "labels_manual_based": normalize_int_list( - splitd.get("labels_manual_based") - ), - "semi_targets": normalize_int_list(splitd.get("semi_targets")), - "file_ids": normalize_int_list(splitd.get("file_ids")), - "frame_ids": normalize_int_list(splitd.get("frame_ids")), - "scores": ( - None - if splitd.get("scores") is None - else [ - float(x) - for x in ( - splitd["scores"].tolist() - if isinstance(splitd["scores"], np.ndarray) - else splitd["scores"] - ) - ] - ), - "file_names": normalize_file_names(splitd.get("file_names")) - if keep_file_names - else None, - "folder": str(exp_dir), - "k_fold_num": k, - "config_json": cfg_json, - } - ) - - if not rows: - return pl.DataFrame(schema=PRETRAIN_SCHEMA) - - df = pl.DataFrame(rows, schema=PRETRAIN_SCHEMA) - - # Cast/optimize a bit (categoricals, ints, floats) - df = df.with_columns( - pl.col("network", "model", "split").cast(pl.Categorical), - pl.col( - "latent_dim", "semi_normals", "semi_anomalous", "fold", "k_fold_num" - ).cast(pl.Int32), - pl.col("time", "loss").cast(pl.Float64), - pl.col("scores").cast(pl.List(pl.Float32)), # ensure downcast took - ) - - if allow_cache: - try: - cache = root / "pretraining_results_cache.parquet" - df.write_parquet( - cache, - compression=parquet_compression, - compression_level=parquet_compression_level, - statistics=True, - ) - print( - f"[info] cached pretraining frame to {cache} " - f"({parquet_compression}, level={parquet_compression_level})" - ) - except Exception as e: - print(f"[warn] failed to write pretraining cache {cache}: {e}") - - return df - - -def main(): - root = Path("/home/fedex/mt/results/copy") - df1 = load_results_dataframe(root, allow_cache=True) - exit(0) - - retest_root = Path("/home/fedex/mt/results/copy/retest_nodrop") - df2 = load_results_dataframe(retest_root, allow_cache=False).drop("folder") - - # exact schema & shape first (optional but helpful messages) - assert df1.shape == df2.shape, f"Shape differs: {df1.shape} vs {df2.shape}" - assert set(df1.columns) == set(df2.columns), ( - f"Column sets differ: {df1.columns} vs {df2.columns}" - ) - - # allow small float diffs, ignore column order differences if you want - df1_sorted = df1.select(sorted(df1.columns)) - df2_sorted = df2.select(sorted(df2.columns)) - - # Optionally pre-align/sort both frames by a stable key before diffing. - summary, leaves = recursive_diff_frames( - df1, - df2, - ignore=["timestamp"], # columns to ignore - float_atol=0.1, # absolute tolerance for floats - float_rtol=0.0, # relative tolerance for floats - max_rows_per_column=20, # limit expansion per column - max_leafs_per_row=200, # cap leaves per row - ) - - pl.Config.set_fmt_table_cell_list_len(100) - pl.Config.set_tbl_rows(100) - - print(summary) # which columns differ & how many rows - print(leaves) # exact nested paths + scalar diffs - - # check_exact=False lets us use atol/rtol for floats - assert_frame_equal( - df1_sorted, - df2_sorted, - check_exact=False, - atol=0.1, # absolute tolerance for floats - rtol=0.0, # relative tolerance (set if you want % based) - check_dtypes=True, # set False if you only care about values - ) - print("DataFrames match within tolerance ✅") - - # df_pre = load_pretraining_results_dataframe(root, allow_cache=True) - # print("pretraining:", df_pre.shape, df_pre.head()) - - -if __name__ == "__main__": - main() diff --git a/tools/plot_scripts/ae_elbow_lenet.py b/tools/plot_scripts/ae_elbow_lenet.py index d5f805b..bf11e46 100644 --- a/tools/plot_scripts/ae_elbow_lenet.py +++ b/tools/plot_scripts/ae_elbow_lenet.py @@ -12,7 +12,7 @@ import numpy as np import polars as pl # CHANGE THIS IMPORT IF YOUR LOADER MODULE IS NAMED DIFFERENTLY -from load_results import load_pretraining_results_dataframe +from plot_scripts.load_results import load_pretraining_results_dataframe # ---------------------------- # Config @@ -212,7 +212,7 @@ def plot_multi_loss_curve(arch_results, title, output_path, colors=None): def main(): # Load AE DF (uses your cache if enabled in the loader) - df = load_pretraining_results_dataframe(ROOT, allow_cache=True, include_train=False) + df = load_pretraining_results_dataframe(ROOT, allow_cache=True) # Optional: filter to just LeNet vs Efficient; drop this set() to plot all nets wanted_nets = {"LeNet", "Efficient"} diff --git a/tools/diff_df.py b/tools/plot_scripts/diff_df.py similarity index 100% rename from tools/diff_df.py rename to tools/plot_scripts/diff_df.py diff --git a/tools/plot_scripts/load_results.py b/tools/plot_scripts/load_results.py index 32430cb..8e7080d 100644 --- a/tools/plot_scripts/load_results.py +++ b/tools/plot_scripts/load_results.py @@ -3,10 +3,12 @@ from __future__ import annotations import json import pickle from pathlib import Path -from typing import Any, Dict, List, Optional +from typing import Any, Dict, List, Optional, Tuple import numpy as np import polars as pl +from diff_df import recursive_diff_frames +from polars.testing import assert_frame_equal # ------------------------------------------------------------ # Config you can tweak @@ -75,7 +77,8 @@ PRETRAIN_SCHEMA = { "fold": pl.Int32, "split": pl.Utf8, # "train" | "test" # timings and optimization - "time": pl.Float64, + "train_time": pl.Float64, + "test_time": pl.Float64, "loss": pl.Float64, # per-sample arrays (as lists) "indices": pl.List(pl.Int32), @@ -247,6 +250,14 @@ def read_pickle(p: Path) -> Any: # ------------------------------------------------------------ # Extractors for each model # ------------------------------------------------------------ + +counting = { + (label_method, eval_method): [] + for label_method in ["exp_based", "manual_based"] + for eval_method in ["roc", "prc"] +} + + def rows_from_deepsad(data: dict, evals: List[str]) -> Dict[str, dict]: """ deepsad under data['test'][eval], with extra per-eval arrays and AP present. @@ -257,6 +268,8 @@ def rows_from_deepsad(data: dict, evals: List[str]) -> Dict[str, dict]: evd = test.get(ev) if not isinstance(evd, dict): continue + counting[(ev, "roc")].append(len(evd["roc"][0])) + counting[(ev, "prc")].append(len(evd["prc"][0])) out[ev] = { "auc": float(evd["auc"]) if "auc" in evd and evd["auc"] is not None @@ -444,7 +457,6 @@ def load_results_dataframe(root: Path, allow_cache: bool = True) -> pl.DataFrame def load_pretraining_results_dataframe( root: Path, allow_cache: bool = True, - include_train: bool = False, # <— default: store only TEST to keep cache tiny keep_file_names: bool = False, # <— drop file_names by default; they’re repeated parquet_compression: str = "zstd", parquet_compression_level: int = 7, # <— stronger compression than default @@ -484,9 +496,6 @@ def load_pretraining_results_dataframe( semi_anomalous = int(cfg.get("num_known_outlier")) k = int(cfg.get("k_fold_num")) - # Only test split by default (include_train=False) - splits = ("train", "test") if include_train else ("test",) - for fold in range(k): pkl = exp_dir / f"results_ae_{fold}.pkl" if not pkl.exists(): @@ -498,57 +507,53 @@ def load_pretraining_results_dataframe( print(f"[warn] failed to read {pkl.name}: {e}") continue - for split in splits: - splitd = data.get(split) - if not isinstance(splitd, dict): - continue + train_time = data.get("train", {}).get("time") + data = data.get("test", {}) - rows.append( - { - "network": network, - "latent_dim": latent_dim, - "semi_normals": semi_normals, - "semi_anomalous": semi_anomalous, - "model": "ae", - "fold": fold, - "split": split, - "time": float(splitd.get("time")) - if splitd.get("time") is not None - else None, - "loss": float(splitd.get("loss")) - if splitd.get("loss") is not None - else None, - # ints as Int32, scores as Float32 to save space - "indices": normalize_int_list(splitd.get("indices")), - "labels_exp_based": normalize_int_list( - splitd.get("labels_exp_based") - ), - "labels_manual_based": normalize_int_list( - splitd.get("labels_manual_based") - ), - "semi_targets": normalize_int_list(splitd.get("semi_targets")), - "file_ids": normalize_int_list(splitd.get("file_ids")), - "frame_ids": normalize_int_list(splitd.get("frame_ids")), - "scores": ( - None - if splitd.get("scores") is None - else [ - float(x) - for x in ( - splitd["scores"].tolist() - if isinstance(splitd["scores"], np.ndarray) - else splitd["scores"] - ) - ] - ), - "file_names": normalize_file_names(splitd.get("file_names")) - if keep_file_names - else None, - "folder": str(exp_dir), - "k_fold_num": k, - "config_json": cfg_json, - } - ) + rows.append( + { + "network": network, + "latent_dim": latent_dim, + "semi_normals": semi_normals, + "semi_anomalous": semi_anomalous, + "model": "ae", + "fold": fold, + "train_time": train_time, + "test_time": data.get("time"), + "loss": float(data.get("loss")) + if data.get("loss") is not None + else None, + # ints as Int32, scores as Float32 to save space + "indices": normalize_int_list(data.get("indices")), + "labels_exp_based": normalize_int_list( + data.get("labels_exp_based") + ), + "labels_manual_based": normalize_int_list( + data.get("labels_manual_based") + ), + "semi_targets": normalize_int_list(data.get("semi_targets")), + "file_ids": normalize_int_list(data.get("file_ids")), + "frame_ids": normalize_int_list(data.get("frame_ids")), + "scores": ( + None + if data.get("scores") is None + else [ + float(x) + for x in ( + data["scores"].tolist() + if isinstance(data["scores"], np.ndarray) + else data["scores"] + ) + ] + ), + "file_names": normalize_file_names(data.get("file_names")) + if keep_file_names + else None, + "folder": str(exp_dir), + "k_fold_num": k, + "config_json": cfg_json, + } + ) if not rows: return pl.DataFrame(schema=PRETRAIN_SCHEMA) @@ -561,7 +566,7 @@ def load_pretraining_results_dataframe( pl.col( "latent_dim", "semi_normals", "semi_anomalous", "fold", "k_fold_num" ).cast(pl.Int32), - pl.col("time", "loss").cast(pl.Float64), + pl.col("test_time", "train_time", "loss").cast(pl.Float64), pl.col("scores").cast(pl.List(pl.Float32)), # ensure downcast took ) @@ -585,12 +590,53 @@ def load_pretraining_results_dataframe( def main(): - root = Path("/home/fedex/mt/results/done") - df = load_results_dataframe(root, allow_cache=True) - print(df.shape, df.head()) + root = Path("/home/fedex/mt/results/copy") + df1 = load_results_dataframe(root, allow_cache=True) + exit(0) - df_pre = load_pretraining_results_dataframe(root, allow_cache=True) - print("pretraining:", df_pre.shape, df_pre.head()) + retest_root = Path("/home/fedex/mt/results/copy/retest_nodrop") + df2 = load_results_dataframe(retest_root, allow_cache=False).drop("folder") + + # exact schema & shape first (optional but helpful messages) + assert df1.shape == df2.shape, f"Shape differs: {df1.shape} vs {df2.shape}" + assert set(df1.columns) == set(df2.columns), ( + f"Column sets differ: {df1.columns} vs {df2.columns}" + ) + + # allow small float diffs, ignore column order differences if you want + df1_sorted = df1.select(sorted(df1.columns)) + df2_sorted = df2.select(sorted(df2.columns)) + + # Optionally pre-align/sort both frames by a stable key before diffing. + summary, leaves = recursive_diff_frames( + df1, + df2, + ignore=["timestamp"], # columns to ignore + float_atol=0.1, # absolute tolerance for floats + float_rtol=0.0, # relative tolerance for floats + max_rows_per_column=20, # limit expansion per column + max_leafs_per_row=200, # cap leaves per row + ) + + pl.Config.set_fmt_table_cell_list_len(100) + pl.Config.set_tbl_rows(100) + + print(summary) # which columns differ & how many rows + print(leaves) # exact nested paths + scalar diffs + + # check_exact=False lets us use atol/rtol for floats + assert_frame_equal( + df1_sorted, + df2_sorted, + check_exact=False, + atol=0.1, # absolute tolerance for floats + rtol=0.0, # relative tolerance (set if you want % based) + check_dtypes=True, # set False if you only care about values + ) + print("DataFrames match within tolerance ✅") + + # df_pre = load_pretraining_results_dataframe(root, allow_cache=True) + # print("pretraining:", df_pre.shape, df_pre.head()) if __name__ == "__main__": diff --git a/tools/plot_scripts/results_latent_space_comparisons.py b/tools/plot_scripts/results_latent_space_comparisons.py index 72d3f75..e9303f9 100644 --- a/tools/plot_scripts/results_latent_space_comparisons.py +++ b/tools/plot_scripts/results_latent_space_comparisons.py @@ -10,7 +10,7 @@ import polars as pl from matplotlib.lines import Line2D # CHANGE THIS IMPORT IF YOUR LOADER MODULE IS NAMED DIFFERENTLY -from load_results import load_results_dataframe +from plot_scripts.load_results import load_results_dataframe # ---------------------------- # Config diff --git a/tools/plot_scripts/results_semi_labels_comparison.py b/tools/plot_scripts/results_semi_labels_comparison.py index f5eaa04..91fa313 100644 --- a/tools/plot_scripts/results_semi_labels_comparison.py +++ b/tools/plot_scripts/results_semi_labels_comparison.py @@ -12,7 +12,7 @@ from matplotlib.lines import Line2D from scipy.stats import sem, t # CHANGE THIS IMPORT IF YOUR LOADER MODULE NAME IS DIFFERENT -from load_results import load_results_dataframe +from plot_scripts.load_results import load_results_dataframe # --------------------------------- # Config diff --git a/tools/plot_scripts/setup_runtime_tables.py b/tools/plot_scripts/setup_runtime_tables.py new file mode 100644 index 0000000..589812a --- /dev/null +++ b/tools/plot_scripts/setup_runtime_tables.py @@ -0,0 +1,704 @@ +#!/usr/bin/env python3 +from __future__ import annotations + +import json +import shutil +from datetime import datetime +from pathlib import Path +from typing import Any, Dict, Optional + +import numpy as np +import pandas as pd +import polars as pl +from load_results import ( + load_pretraining_results_dataframe, + load_results_dataframe, +) + +# ---------------------------- +# Config +# ---------------------------- +RESULTS_ROOT = Path("/home/fedex/mt/results/done") # folder with experiment subdirs +OUTPUT_DIR = Path("/home/fedex/mt/plots/setup_runtime_tables") # where .tex goes + +# If you want to optionally prefer a specific network label for baselines in column names, +# set to a substring to detect (e.g. "efficient"). If None, keep network as-is. +BASELINE_NETWORK_HINT: Optional[str] = None # e.g., "efficient" or None + + +# ---------------------------- +# Helpers +# ---------------------------- +def _net_label_for_display(net: str | None) -> str: + s = (net or "").lower() + if "effic" in s: + return "Efficient" + if "lenet" in s: + return "LeNet" + return net or "" + + +def _fmt_mean_std_n( + mean: float | None, std: float | None, n: int | None, unit: str = "" +) -> str: + if mean is None or (isinstance(mean, float) and (np.isnan(mean) or np.isinf(mean))): + return "-" + base = f"{mean:.2f}" + if std is not None and not ( + isinstance(std, float) and (np.isnan(std) or np.isinf(std)) + ): + base = f"{base} ± {std:.2f}" + if unit: + base = f"{base} {unit}" + if n is not None and n > 0: + base = f"{base} (n={n})" + return base + + +def _fmt_pair(n: int, m: int) -> str: + return f"{n}/{m}" + + +def _fmt_mean_std(mean: float | None, std: float | None, n: int | None) -> str: + if mean is None or (isinstance(mean, float) and (np.isnan(mean) or np.isinf(mean))): + return "-" + if std is None or (isinstance(std, float) and (np.isnan(std) or np.isinf(std))): + return f"{mean:.2f}" + if n is None or n < 1: + return f"{mean:.2f} ± {std:.2f}" + return f"{mean:.2f} ± {std:.2f} (n={n})" + + +def _parse_cfg(cfg_json: Optional[str]) -> Dict[str, Any]: + if not cfg_json: + return {} + try: + return json.loads(cfg_json) + except Exception: + return {} + + +def _key_params(model: str, cfg: Dict[str, Any]) -> str: + """Compact, model-specific parameter string for the table.""" + if model == "deepsad": + bs = cfg.get("batch_size") + ne = cfg.get("n_epochs") + lr = cfg.get("lr") + wd = cfg.get("weight_decay") + return f"bs={bs}, epochs={ne}, lr={lr}, wd={wd}" + if model == "isoforest": + est = cfg.get("isoforest_n_estimators") + ms = cfg.get("isoforest_max_samples") + cont = cfg.get("isoforest_contamination") + return f"n_estimators={est}, max_samples={ms}, cont={cont}" + if model == "ocsvm": + ker = cfg.get("ocsvm_kernel") + nu = cfg.get("ocsvm_nu") + return f"kernel={ker}, nu={nu}" + return "-" + + +def _method_col_name(model: str, network: str) -> str: + """ + Column heading for pivot tables: + - deepsad carries the network (e.g., 'DeepSAD / LeNet') + - baselines carry their own model name; optionally annotate network + """ + label = model.lower() + if label == "deepsad": + return f"DeepSAD / {network}" + # baselines; optionally simplify/standardize network name + if ( + BASELINE_NETWORK_HINT + and BASELINE_NETWORK_HINT.lower() not in (network or "").lower() + ): + # If you want to collapse baseline duplicates to a single name, you can force it here + return model.capitalize() + # Otherwise, keep network variant explicit + return f"{model.capitalize()} / {network}" + + +def _prepare_per_fold_metrics(df: pl.DataFrame) -> pl.DataFrame: + """ + Returns one row per (folder, model, fold) with: + - train_time, test_time + - n_test (len(scores)) + - n_epochs (from config_json; DeepSAD only) + - latency_ms = 1000 * test_time / n_test + - time_per_epoch = train_time / n_epochs (DeepSAD only) + """ + base = ( + df.select( + "folder", + "network", + "model", + "latent_dim", + "semi_normals", + "semi_anomalous", + "fold", + "train_time", + "test_time", + "scores", + "config_json", + ) + .with_columns( + n_test=pl.col("scores").list.len(), + n_epochs=pl.col("config_json") + .str.json_path_match("$.n_epochs") + .cast(pl.Int64), + ) + .drop("scores") + ) + + # de-dup across evals + uniq = base.unique(subset=["folder", "model", "fold"]) + + # derived metrics + uniq = uniq.with_columns( + latency_ms=pl.when((pl.col("test_time") > 0) & (pl.col("n_test") > 0)) + .then(1000.0 * pl.col("test_time") / pl.col("n_test")) + .otherwise(None) + .cast(pl.Float64), + time_per_epoch=pl.when( + (pl.col("model") == "deepsad") & (pl.col("n_epochs") > 0) + ) + .then(pl.col("train_time") / pl.col("n_epochs")) + .otherwise(None) + .cast(pl.Float64), + network_disp=pl.col("network") + .cast(pl.Utf8) + .map_elements(_net_label_for_display, return_dtype=pl.Utf8), + ) + return uniq + + +def _prepare_aggregates(df: pl.DataFrame) -> pl.DataFrame: + """ + Deduplicate across evals, then aggregate times across folds for each + (network, model, latent_dim, semi_normals, semi_anomalous). + """ + # Keep only columns we need + base = df.select( + "folder", + "network", + "model", + "latent_dim", + "semi_normals", + "semi_anomalous", + "fold", + "train_time", + "test_time", + "config_json", + ) + + # Drop duplicates across evals: same (folder, model, fold) should have identical timings + uniq = base.unique(subset=["folder", "model", "fold"]).with_columns( + # Normalize network to a simpler display label, if your config used long names + pl.col("network").cast(pl.Utf8) + ) + + # Group across folds + agg = ( + uniq.group_by( + ["network", "model", "latent_dim", "semi_normals", "semi_anomalous"] + ) + .agg( + pl.len().alias("n_folds"), + pl.col("train_time").mean().alias("train_mean"), + pl.col("train_time").std(ddof=1).alias("train_std"), + pl.col("test_time").mean().alias("test_mean"), + pl.col("test_time").std(ddof=1).alias("test_std"), + pl.col("config_json") + .first() + .alias("config_json"), # one exemplar cfg per group + ) + .sort(["semi_normals", "semi_anomalous", "latent_dim", "network", "model"]) + ) + return agg + + +def make_training_runtime_table(df: pl.DataFrame) -> str: + """ + Returns a LaTeX table (string) for TRAIN runtimes: mean ± std (seconds) across folds. + Rows: Semi (N/O), Latent Dim + Columns: methods split (DeepSAD/LeNet, DeepSAD/Efficient, IsoForest[/net], OCSVM[/net]) + """ + agg = _prepare_aggregates(df) + + # Prepare display strings and column keys + tbl = agg.with_columns( + pl.format("{}/{}", pl.col("semi_normals"), pl.col("semi_anomalous")).alias( + "semi" + ), + pl.col("model").cast(pl.Utf8), + pl.col("network").cast(pl.Utf8), + pl.col("latent_dim").cast(pl.Int64), + # ADD return_dtype here + pl.struct(["train_mean", "train_std", "n_folds"]) + .map_elements( + lambda s: _fmt_mean_std(s["train_mean"], s["train_std"], s["n_folds"]), + return_dtype=pl.Utf8, + ) + .alias("train_fmt"), + # And here + pl.struct(["model", "network"]) + .map_elements( + lambda s: _method_col_name(s["model"], s["network"]), + return_dtype=pl.Utf8, + ) + .alias("method"), + ).select("semi", "latent_dim", "method", "train_fmt") + + # Pivot to wide form: one cell per (semi, latent_dim, method) + wide = tbl.pivot( + values="train_fmt", + index=["semi", "latent_dim"], + columns="method", + aggregate_function="first", + ).sort(["semi", "latent_dim"]) + + # Fill missing with '-' and export + pdf = wide.fill_null("-").to_pandas() + pdf.index = pd.MultiIndex.from_frame(pdf[["semi", "latent_dim"]]) + pdf = pdf.drop(columns=["semi", "latent_dim"]) + latex = pdf.to_latex( + index=True, + escape=True, + na_rep="-", + multicolumn=True, + multicolumn_format="c", + bold_rows=False, + caption="Training runtime (seconds): mean ± std across folds (n in parentheses).", + label="tab:train_runtimes", + ) + return latex + + +def make_inference_runtime_table(df: pl.DataFrame) -> str: + """ + Returns a LaTeX table (string) for TEST/INFERENCE runtimes: mean ± std (seconds) across folds. + Same layout as training table. + """ + agg = _prepare_aggregates(df) + + tbl = agg.with_columns( + pl.format("{}/{}", pl.col("semi_normals"), pl.col("semi_anomalous")).alias( + "semi" + ), + pl.col("model").cast(pl.Utf8), + pl.col("network").cast(pl.Utf8), + pl.col("latent_dim").cast(pl.Int64), + pl.struct(["test_mean", "test_std", "n_folds"]) + .map_elements( + lambda s: _fmt_mean_std(s["test_mean"], s["test_std"], s["n_folds"]), + return_dtype=pl.Utf8, + ) + .alias("test_fmt"), + pl.struct(["model", "network"]) + .map_elements( + lambda s: _method_col_name(s["model"], s["network"]), + return_dtype=pl.Utf8, + ) + .alias("method"), + ).select("semi", "latent_dim", "method", "test_fmt") + + wide = tbl.pivot( + values="test_fmt", + index=["semi", "latent_dim"], + columns="method", + aggregate_function="first", + ).sort(["semi", "latent_dim"]) + + pdf = wide.fill_null("-").to_pandas() + pdf.index = pd.MultiIndex.from_frame(pdf[["semi", "latent_dim"]]) + pdf = pdf.drop(columns=["semi", "latent_dim"]) + latex = pdf.to_latex( + index=True, + escape=True, + na_rep="-", + multicolumn=True, + multicolumn_format="c", + bold_rows=False, + caption="Inference/Test runtime (seconds): mean ± std across folds (n in parentheses).", + label="tab:test_runtimes", + ) + return latex + + +def make_longform_train_table_with_params(df: pl.DataFrame) -> str: + """ + (Optional) Long-form table that includes a 'Params' column extracted from config_json. + Useful if you want to show per-model settings alongside the runtimes. + """ + agg = _prepare_aggregates(df) + # Build params column from JSON for readability + long = ( + agg.with_columns( + pl.format("{}/{}", pl.col("semi_normals"), pl.col("semi_anomalous")).alias( + "semi" + ), + pl.col("latent_dim").cast(pl.Int64), + pl.struct(["model", "config_json"]) + .map_elements( + lambda s: _key_params(s["model"], _parse_cfg(s["config_json"])), + return_dtype=pl.Utf8, + ) + .alias("params"), + pl.struct(["train_mean", "train_std", "n_folds"]) + .map_elements( + lambda s: _fmt_mean_std(s["train_mean"], s["train_std"], s["n_folds"]) + ) + .alias("train_time_fmt"), + ) + .select( + "network", + "model", + "latent_dim", + "semi", + "params", + "train_time_fmt", + ) + .sort(["semi", "latent_dim", "network", "model"]) + ) + + pdf = long.to_pandas() + pdf.rename( + columns={ + "network": "Network", + "model": "Method", + "latent_dim": "Latent Dim", + "semi": "Semi (N/O)", + "params": "Params", + "train_time_fmt": "Train time [s] (mean ± std)", + }, + inplace=True, + ) + latex = pdf.to_latex( + index=False, + escape=True, + longtable=False, + caption="Training runtime with key parameters.", + label="tab:train_runtimes_params", + ) + return latex + + +def make_training_runtime_table_compact(df: pl.DataFrame) -> str: + per_fold = _prepare_per_fold_metrics(df) + + # DeepSAD: keep LeNet vs Efficient, collapse semis + ds = ( + per_fold.filter(pl.col("model") == "deepsad") + .group_by(["model", "network_disp", "latent_dim"]) + .agg( + n=pl.len(), + train_mean=pl.mean("train_time"), + train_std=pl.std("train_time", ddof=1), + tpe_mean=pl.mean("time_per_epoch"), + tpe_std=pl.std("time_per_epoch", ddof=1), + ) + .with_columns( + method=pl.format("DeepSAD / {}", pl.col("network_disp")), + ) + ) + + # Baselines: collapse networks & semis; only vary by latent_dim + bl = ( + per_fold.filter(pl.col("model").is_in(["isoforest", "ocsvm"])) + .group_by(["model", "latent_dim"]) + .agg( + n=pl.len(), + train_mean=pl.mean("train_time"), + train_std=pl.std("train_time", ddof=1), + ) + .with_columns( + method=pl.when(pl.col("model") == "isoforest") + .then(pl.lit("IsoForest")) + .when(pl.col("model") == "ocsvm") + .then(pl.lit("OCSVM")) + .otherwise(pl.lit("Baseline")) + ) + ) + + # --- Standardize schemas before concat --- + ds_std = ds.select( + pl.col("latent_dim").cast(pl.Int64), + pl.col("method").cast(pl.Utf8), + pl.col("train_mean").cast(pl.Float64), + pl.col("train_std").cast(pl.Float64), + pl.col("tpe_mean").cast(pl.Float64), + pl.col("tpe_std").cast(pl.Float64), + pl.col("n").cast(pl.Int64), + ) + + bl_std = bl.select( + pl.col("latent_dim").cast(pl.Int64), + pl.col("method").cast(pl.Utf8), + pl.col("train_mean").cast(pl.Float64), + pl.col("train_std").cast(pl.Float64), + pl.lit(None, dtype=pl.Float64).alias("tpe_mean"), + pl.lit(None, dtype=pl.Float64).alias("tpe_std"), + pl.col("n").cast(pl.Int64), + ) + + agg = pl.concat([ds_std, bl_std], how="vertical") + + # Format cell: total [s]; DeepSAD also appends (italic) per-epoch + def _fmt_train_cell(s: dict) -> str: + total = _fmt_mean_std_n(s["train_mean"], s["train_std"], s["n"], "s") + if s.get("tpe_mean") is None or ( + isinstance(s.get("tpe_mean"), float) and np.isnan(s["tpe_mean"]) + ): + return total + tpe = _fmt_mean_std_n(s["tpe_mean"], s["tpe_std"], None, "s/epoch") + return f"{total} (\\textit{{{tpe}}})" + + tbl = agg.with_columns( + pl.struct(["train_mean", "train_std", "tpe_mean", "tpe_std", "n"]) + .map_elements(_fmt_train_cell, return_dtype=pl.Utf8) + .alias("train_fmt"), + ).select("latent_dim", "method", "train_fmt") + + # Pivot and order columns nicely + wide = tbl.pivot( + values="train_fmt", + index=["latent_dim"], + columns="method", + aggregate_function="first", + ).sort("latent_dim") + + pdf = wide.fill_null("-").to_pandas().set_index("latent_dim") + desired_cols = [ + c + for c in ["DeepSAD / LeNet", "DeepSAD / Efficient", "IsoForest", "OCSVM"] + if c in pdf.columns + ] + if desired_cols: + pdf = pdf.reindex(columns=desired_cols) + + latex = pdf.to_latex( + index=True, + escape=True, + na_rep="-", + multicolumn=True, + multicolumn_format="c", + bold_rows=False, + caption="Training runtime: total seconds (mean ± std). DeepSAD cells also show \\textit{seconds per epoch} in parentheses.", + label="tab:train_runtimes_compact", + ) + return latex + + +def make_inference_latency_table_compact(df: pl.DataFrame) -> str: + per_fold = _prepare_per_fold_metrics(df) + + # DeepSAD: keep networks; collapse semis + ds = ( + per_fold.filter(pl.col("model") == "deepsad") + .group_by(["model", "network_disp", "latent_dim"]) + .agg( + n=pl.len(), + lat_mean=pl.mean("latency_ms"), + lat_std=pl.std("latency_ms", ddof=1), + ) + .with_columns( + method=pl.format("DeepSAD / {}", pl.col("network_disp")), + ) + ) + + # Baselines: collapse networks & semis + bl = ( + per_fold.filter(pl.col("model").is_in(["isoforest", "ocsvm"])) + .group_by(["model", "latent_dim"]) + .agg( + n=pl.len(), + lat_mean=pl.mean("latency_ms"), + lat_std=pl.std("latency_ms", ddof=1), + ) + .with_columns( + method=pl.when(pl.col("model") == "isoforest") + .then(pl.lit("IsoForest")) + .when(pl.col("model") == "ocsvm") + .then(pl.lit("OCSVM")) + .otherwise(pl.lit("Baseline")) + ) + ) + + # --- Standardize schemas before concat --- + ds_std = ds.select( + pl.col("latent_dim").cast(pl.Int64), + pl.col("method").cast(pl.Utf8), + pl.col("lat_mean").cast(pl.Float64), + pl.col("lat_std").cast(pl.Float64), + pl.col("n").cast(pl.Int64), + ) + + bl_std = bl.select( + pl.col("latent_dim").cast(pl.Int64), + pl.col("method").cast(pl.Utf8), + pl.col("lat_mean").cast(pl.Float64), + pl.col("lat_std").cast(pl.Float64), + pl.col("n").cast(pl.Int64), + ) + + agg = pl.concat([ds_std, bl_std], how="vertical") + + def _fmt_lat_cell(s: dict) -> str: + return _fmt_mean_std_n(s["lat_mean"], s["lat_std"], s["n"], "ms") + + tbl = agg.with_columns( + pl.struct(["lat_mean", "lat_std", "n"]) + .map_elements(_fmt_lat_cell, return_dtype=pl.Utf8) + .alias("lat_fmt"), + ).select("latent_dim", "method", "lat_fmt") + + wide = tbl.pivot( + values="lat_fmt", + index=["latent_dim"], + columns="method", + aggregate_function="first", + ).sort("latent_dim") + + pdf = wide.fill_null("-").to_pandas().set_index("latent_dim") + desired_cols = [ + c + for c in ["DeepSAD / LeNet", "DeepSAD / Efficient", "IsoForest", "OCSVM"] + if c in pdf.columns + ] + if desired_cols: + pdf = pdf.reindex(columns=desired_cols) + + latex = pdf.to_latex( + index=True, + escape=True, + na_rep="-", + multicolumn=True, + multicolumn_format="c", + bold_rows=False, + caption="Inference latency (ms/sample): mean ± std across folds; baselines collapsed across networks and semi-labeling.", + label="tab:inference_latency_compact", + ) + return latex + + +def make_ae_pretraining_runtime_table(df_pre: pl.DataFrame) -> str: + """ + LaTeX table: Autoencoder (pretraining) runtime per latent dim. + Rows: latent_dim + Cols: AE / LeNet, AE / Efficient (mean ± std seconds across folds) + """ + # minimal columns we need + base = df_pre.select( + pl.col("network").cast(pl.Utf8), + pl.col("latent_dim").cast(pl.Int64), + pl.col("fold").cast(pl.Int64), + pl.col("train_time").cast(pl.Float64), + ).drop_nulls(subset=["network", "latent_dim", "train_time"]) + + # Nice display label for network + network_disp = ( + pl.when(pl.col("network").str.contains("efficient")) + .then(pl.lit("Efficient")) + .when(pl.col("network").str.contains("LeNet")) + .then(pl.lit("LeNet")) + .otherwise(pl.col("network")) + .alias("network_disp") + ) + + agg = ( + base.with_columns(network_disp) + .group_by(["network_disp", "latent_dim"]) + .agg( + n=pl.len(), + train_mean=pl.mean("train_time"), + train_std=pl.std("train_time", ddof=1), + ) + .with_columns( + pl.format("AE / {}", pl.col("network_disp")).alias("method"), + pl.struct(["train_mean", "train_std", "n"]) + .map_elements( + lambda s: _fmt_mean_std(s["train_mean"], s["train_std"], s["n"]), + return_dtype=pl.Utf8, + ) + .alias("train_fmt"), + ) + .select("latent_dim", "method", "train_fmt") + .sort(["latent_dim", "method"]) + ) + + wide = agg.pivot( + values="train_fmt", + index=["latent_dim"], + columns="method", + aggregate_function="first", + ).sort("latent_dim") + + pdf = wide.fill_null("-").to_pandas().set_index("latent_dim") + + # Order columns if both exist + desired = [ + c for c in ["Autoencoder LeNet", "Autoencoder Efficient"] if c in pdf.columns + ] + if desired: + pdf = pdf.reindex(columns=desired) + + latex = pdf.to_latex( + index=True, + escape=True, + na_rep="-", + multicolumn=True, + multicolumn_format="c", + bold_rows=False, + caption="Autoencoder pretraining runtime (seconds): mean ± std across folds.", + label="tab:ae_pretrain_runtimes", + ) + return latex + + +# ---------------------------- +# Main +# ---------------------------- +def main(): + OUTPUT_DIR.mkdir(parents=True, exist_ok=True) + + # Main results + df = load_results_dataframe(RESULTS_ROOT, allow_cache=True) + if "config_json" not in df.columns: + df = df.with_columns(pl.lit(None).alias("config_json")) + + # AE pretraining results + df_pre = load_pretraining_results_dataframe(RESULTS_ROOT, allow_cache=True) + + # Build LaTeX tables + latex_train = make_training_runtime_table(df) + latex_test = make_inference_runtime_table(df) + latex_train_params = make_longform_train_table_with_params(df) + latex_ae = make_ae_pretraining_runtime_table(df_pre) + + # Timestamped output dirs + ts = datetime.now().strftime("%Y-%m-%d_%H-%M-%S") + ts_dir = OUTPUT_DIR / "archive" / ts + ts_dir.mkdir(parents=True, exist_ok=True) + + # Write files + (ts_dir / "train_runtimes.tex").write_text(latex_train) + (ts_dir / "test_runtimes.tex").write_text(latex_test) + (ts_dir / "train_runtimes_with_params.tex").write_text(latex_train_params) + (ts_dir / "ae_pretraining_runtimes.tex").write_text(latex_ae) + + # Save script & mirror latest + script_path = Path(__file__) + shutil.copy2(script_path, ts_dir) + + latest = OUTPUT_DIR / "latest" + latest.mkdir(exist_ok=True, parents=True) + for f in ts_dir.iterdir(): + if f.is_file(): + shutil.copy2(f, latest / f.name) + + print(f"Saved LaTeX tables to: {ts_dir}") + print(f"Also updated: {latest}") + + +if __name__ == "__main__": + main() diff --git a/tools/print_mat.py b/tools/print_mat.py new file mode 100644 index 0000000..02e14e5 --- /dev/null +++ b/tools/print_mat.py @@ -0,0 +1,20 @@ +rows = 5 +cols = 4 + +mat = [range(0 + (cols * i), cols + (cols * i), 1) for i in range(rows)] + + +def print_mat(mat): + for s in mat: + print(*s) + + +def rotate_mat(mat): + mat = [[mat[row][col] for row in range(rows - 1, -1, -1)] for col in range(cols)] + return mat + + +print_mat(mat) +mat = rotate_mat(mat) +print("rotated:") +print_mat(mat) diff --git a/tools/pyproject.toml b/tools/pyproject.toml index 69f1edf..14f57a9 100644 --- a/tools/pyproject.toml +++ b/tools/pyproject.toml @@ -5,5 +5,7 @@ description = "Add your description here" readme = "README.md" requires-python = ">=3.11.9" dependencies = [ + "pandas>=2.3.2", "polars>=1.33.0", + "pyarrow>=21.0.0", ] diff --git a/tools/uv.lock b/tools/uv.lock index b97d2f0..fe4e65b 100644 --- a/tools/uv.lock +++ b/tools/uv.lock @@ -1,6 +1,132 @@ version = 1 revision = 2 requires-python = ">=3.11.9" +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version < '3.12'", +] + +[[package]] +name = "numpy" +version = "2.3.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d0/19/95b3d357407220ed24c139018d2518fab0a61a948e68286a25f1a4d049ff/numpy-2.3.3.tar.gz", hash = "sha256:ddc7c39727ba62b80dfdbedf400d1c10ddfa8eefbd7ec8dcb118be8b56d31029", size = 20576648, upload-time = "2025-09-09T16:54:12.543Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7a/45/e80d203ef6b267aa29b22714fb558930b27960a0c5ce3c19c999232bb3eb/numpy-2.3.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0ffc4f5caba7dfcbe944ed674b7eef683c7e94874046454bb79ed7ee0236f59d", size = 21259253, upload-time = "2025-09-09T15:56:02.094Z" }, + { url = "https://files.pythonhosted.org/packages/52/18/cf2c648fccf339e59302e00e5f2bc87725a3ce1992f30f3f78c9044d7c43/numpy-2.3.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e7e946c7170858a0295f79a60214424caac2ffdb0063d4d79cb681f9aa0aa569", size = 14450980, upload-time = "2025-09-09T15:56:05.926Z" }, + { url = "https://files.pythonhosted.org/packages/93/fb/9af1082bec870188c42a1c239839915b74a5099c392389ff04215dcee812/numpy-2.3.3-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:cd4260f64bc794c3390a63bf0728220dd1a68170c169088a1e0dfa2fde1be12f", size = 5379709, upload-time = "2025-09-09T15:56:07.95Z" }, + { url = "https://files.pythonhosted.org/packages/75/0f/bfd7abca52bcbf9a4a65abc83fe18ef01ccdeb37bfb28bbd6ad613447c79/numpy-2.3.3-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:f0ddb4b96a87b6728df9362135e764eac3cfa674499943ebc44ce96c478ab125", size = 6913923, upload-time = "2025-09-09T15:56:09.443Z" }, + { url = "https://files.pythonhosted.org/packages/79/55/d69adad255e87ab7afda1caf93ca997859092afeb697703e2f010f7c2e55/numpy-2.3.3-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:afd07d377f478344ec6ca2b8d4ca08ae8bd44706763d1efb56397de606393f48", size = 14589591, upload-time = "2025-09-09T15:56:11.234Z" }, + { url = "https://files.pythonhosted.org/packages/10/a2/010b0e27ddeacab7839957d7a8f00e91206e0c2c47abbb5f35a2630e5387/numpy-2.3.3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bc92a5dedcc53857249ca51ef29f5e5f2f8c513e22cfb90faeb20343b8c6f7a6", size = 16938714, upload-time = "2025-09-09T15:56:14.637Z" }, + { url = "https://files.pythonhosted.org/packages/1c/6b/12ce8ede632c7126eb2762b9e15e18e204b81725b81f35176eac14dc5b82/numpy-2.3.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:7af05ed4dc19f308e1d9fc759f36f21921eb7bbfc82843eeec6b2a2863a0aefa", size = 16370592, upload-time = "2025-09-09T15:56:17.285Z" }, + { url = "https://files.pythonhosted.org/packages/b4/35/aba8568b2593067bb6a8fe4c52babb23b4c3b9c80e1b49dff03a09925e4a/numpy-2.3.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:433bf137e338677cebdd5beac0199ac84712ad9d630b74eceeb759eaa45ddf30", size = 18884474, upload-time = "2025-09-09T15:56:20.943Z" }, + { url = "https://files.pythonhosted.org/packages/45/fa/7f43ba10c77575e8be7b0138d107e4f44ca4a1ef322cd16980ea3e8b8222/numpy-2.3.3-cp311-cp311-win32.whl", hash = "sha256:eb63d443d7b4ffd1e873f8155260d7f58e7e4b095961b01c91062935c2491e57", size = 6599794, upload-time = "2025-09-09T15:56:23.258Z" }, + { url = "https://files.pythonhosted.org/packages/0a/a2/a4f78cb2241fe5664a22a10332f2be886dcdea8784c9f6a01c272da9b426/numpy-2.3.3-cp311-cp311-win_amd64.whl", hash = "sha256:ec9d249840f6a565f58d8f913bccac2444235025bbb13e9a4681783572ee3caa", size = 13088104, upload-time = "2025-09-09T15:56:25.476Z" }, + { url = "https://files.pythonhosted.org/packages/79/64/e424e975adbd38282ebcd4891661965b78783de893b381cbc4832fb9beb2/numpy-2.3.3-cp311-cp311-win_arm64.whl", hash = "sha256:74c2a948d02f88c11a3c075d9733f1ae67d97c6bdb97f2bb542f980458b257e7", size = 10460772, upload-time = "2025-09-09T15:56:27.679Z" }, + { url = "https://files.pythonhosted.org/packages/51/5d/bb7fc075b762c96329147799e1bcc9176ab07ca6375ea976c475482ad5b3/numpy-2.3.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:cfdd09f9c84a1a934cde1eec2267f0a43a7cd44b2cca4ff95b7c0d14d144b0bf", size = 20957014, upload-time = "2025-09-09T15:56:29.966Z" }, + { url = "https://files.pythonhosted.org/packages/6b/0e/c6211bb92af26517acd52125a237a92afe9c3124c6a68d3b9f81b62a0568/numpy-2.3.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:cb32e3cf0f762aee47ad1ddc6672988f7f27045b0783c887190545baba73aa25", size = 14185220, upload-time = "2025-09-09T15:56:32.175Z" }, + { url = "https://files.pythonhosted.org/packages/22/f2/07bb754eb2ede9073f4054f7c0286b0d9d2e23982e090a80d478b26d35ca/numpy-2.3.3-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:396b254daeb0a57b1fe0ecb5e3cff6fa79a380fa97c8f7781a6d08cd429418fe", size = 5113918, upload-time = "2025-09-09T15:56:34.175Z" }, + { url = "https://files.pythonhosted.org/packages/81/0a/afa51697e9fb74642f231ea36aca80fa17c8fb89f7a82abd5174023c3960/numpy-2.3.3-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:067e3d7159a5d8f8a0b46ee11148fc35ca9b21f61e3c49fbd0a027450e65a33b", size = 6647922, upload-time = "2025-09-09T15:56:36.149Z" }, + { url = "https://files.pythonhosted.org/packages/5d/f5/122d9cdb3f51c520d150fef6e87df9279e33d19a9611a87c0d2cf78a89f4/numpy-2.3.3-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1c02d0629d25d426585fb2e45a66154081b9fa677bc92a881ff1d216bc9919a8", size = 14281991, upload-time = "2025-09-09T15:56:40.548Z" }, + { url = "https://files.pythonhosted.org/packages/51/64/7de3c91e821a2debf77c92962ea3fe6ac2bc45d0778c1cbe15d4fce2fd94/numpy-2.3.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d9192da52b9745f7f0766531dcfa978b7763916f158bb63bdb8a1eca0068ab20", size = 16641643, upload-time = "2025-09-09T15:56:43.343Z" }, + { url = "https://files.pythonhosted.org/packages/30/e4/961a5fa681502cd0d68907818b69f67542695b74e3ceaa513918103b7e80/numpy-2.3.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:cd7de500a5b66319db419dc3c345244404a164beae0d0937283b907d8152e6ea", size = 16056787, upload-time = "2025-09-09T15:56:46.141Z" }, + { url = "https://files.pythonhosted.org/packages/99/26/92c912b966e47fbbdf2ad556cb17e3a3088e2e1292b9833be1dfa5361a1a/numpy-2.3.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:93d4962d8f82af58f0b2eb85daaf1b3ca23fe0a85d0be8f1f2b7bb46034e56d7", size = 18579598, upload-time = "2025-09-09T15:56:49.844Z" }, + { url = "https://files.pythonhosted.org/packages/17/b6/fc8f82cb3520768718834f310c37d96380d9dc61bfdaf05fe5c0b7653e01/numpy-2.3.3-cp312-cp312-win32.whl", hash = "sha256:5534ed6b92f9b7dca6c0a19d6df12d41c68b991cef051d108f6dbff3babc4ebf", size = 6320800, upload-time = "2025-09-09T15:56:52.499Z" }, + { url = "https://files.pythonhosted.org/packages/32/ee/de999f2625b80d043d6d2d628c07d0d5555a677a3cf78fdf868d409b8766/numpy-2.3.3-cp312-cp312-win_amd64.whl", hash = "sha256:497d7cad08e7092dba36e3d296fe4c97708c93daf26643a1ae4b03f6294d30eb", size = 12786615, upload-time = "2025-09-09T15:56:54.422Z" }, + { url = "https://files.pythonhosted.org/packages/49/6e/b479032f8a43559c383acb20816644f5f91c88f633d9271ee84f3b3a996c/numpy-2.3.3-cp312-cp312-win_arm64.whl", hash = "sha256:ca0309a18d4dfea6fc6262a66d06c26cfe4640c3926ceec90e57791a82b6eee5", size = 10195936, upload-time = "2025-09-09T15:56:56.541Z" }, + { url = "https://files.pythonhosted.org/packages/7d/b9/984c2b1ee61a8b803bf63582b4ac4242cf76e2dbd663efeafcb620cc0ccb/numpy-2.3.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f5415fb78995644253370985342cd03572ef8620b934da27d77377a2285955bf", size = 20949588, upload-time = "2025-09-09T15:56:59.087Z" }, + { url = "https://files.pythonhosted.org/packages/a6/e4/07970e3bed0b1384d22af1e9912527ecbeb47d3b26e9b6a3bced068b3bea/numpy-2.3.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d00de139a3324e26ed5b95870ce63be7ec7352171bc69a4cf1f157a48e3eb6b7", size = 14177802, upload-time = "2025-09-09T15:57:01.73Z" }, + { url = "https://files.pythonhosted.org/packages/35/c7/477a83887f9de61f1203bad89cf208b7c19cc9fef0cebef65d5a1a0619f2/numpy-2.3.3-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:9dc13c6a5829610cc07422bc74d3ac083bd8323f14e2827d992f9e52e22cd6a6", size = 5106537, upload-time = "2025-09-09T15:57:03.765Z" }, + { url = "https://files.pythonhosted.org/packages/52/47/93b953bd5866a6f6986344d045a207d3f1cfbad99db29f534ea9cee5108c/numpy-2.3.3-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:d79715d95f1894771eb4e60fb23f065663b2298f7d22945d66877aadf33d00c7", size = 6640743, upload-time = "2025-09-09T15:57:07.921Z" }, + { url = "https://files.pythonhosted.org/packages/23/83/377f84aaeb800b64c0ef4de58b08769e782edcefa4fea712910b6f0afd3c/numpy-2.3.3-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:952cfd0748514ea7c3afc729a0fc639e61655ce4c55ab9acfab14bda4f402b4c", size = 14278881, upload-time = "2025-09-09T15:57:11.349Z" }, + { url = "https://files.pythonhosted.org/packages/9a/a5/bf3db6e66c4b160d6ea10b534c381a1955dfab34cb1017ea93aa33c70ed3/numpy-2.3.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5b83648633d46f77039c29078751f80da65aa64d5622a3cd62aaef9d835b6c93", size = 16636301, upload-time = "2025-09-09T15:57:14.245Z" }, + { url = "https://files.pythonhosted.org/packages/a2/59/1287924242eb4fa3f9b3a2c30400f2e17eb2707020d1c5e3086fe7330717/numpy-2.3.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:b001bae8cea1c7dfdb2ae2b017ed0a6f2102d7a70059df1e338e307a4c78a8ae", size = 16053645, upload-time = "2025-09-09T15:57:16.534Z" }, + { url = "https://files.pythonhosted.org/packages/e6/93/b3d47ed882027c35e94ac2320c37e452a549f582a5e801f2d34b56973c97/numpy-2.3.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8e9aced64054739037d42fb84c54dd38b81ee238816c948c8f3ed134665dcd86", size = 18578179, upload-time = "2025-09-09T15:57:18.883Z" }, + { url = "https://files.pythonhosted.org/packages/20/d9/487a2bccbf7cc9d4bfc5f0f197761a5ef27ba870f1e3bbb9afc4bbe3fcc2/numpy-2.3.3-cp313-cp313-win32.whl", hash = "sha256:9591e1221db3f37751e6442850429b3aabf7026d3b05542d102944ca7f00c8a8", size = 6312250, upload-time = "2025-09-09T15:57:21.296Z" }, + { url = "https://files.pythonhosted.org/packages/1b/b5/263ebbbbcede85028f30047eab3d58028d7ebe389d6493fc95ae66c636ab/numpy-2.3.3-cp313-cp313-win_amd64.whl", hash = "sha256:f0dadeb302887f07431910f67a14d57209ed91130be0adea2f9793f1a4f817cf", size = 12783269, upload-time = "2025-09-09T15:57:23.034Z" }, + { url = "https://files.pythonhosted.org/packages/fa/75/67b8ca554bbeaaeb3fac2e8bce46967a5a06544c9108ec0cf5cece559b6c/numpy-2.3.3-cp313-cp313-win_arm64.whl", hash = "sha256:3c7cf302ac6e0b76a64c4aecf1a09e51abd9b01fc7feee80f6c43e3ab1b1dbc5", size = 10195314, upload-time = "2025-09-09T15:57:25.045Z" }, + { url = "https://files.pythonhosted.org/packages/11/d0/0d1ddec56b162042ddfafeeb293bac672de9b0cfd688383590090963720a/numpy-2.3.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:eda59e44957d272846bb407aad19f89dc6f58fecf3504bd144f4c5cf81a7eacc", size = 21048025, upload-time = "2025-09-09T15:57:27.257Z" }, + { url = "https://files.pythonhosted.org/packages/36/9e/1996ca6b6d00415b6acbdd3c42f7f03ea256e2c3f158f80bd7436a8a19f3/numpy-2.3.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:823d04112bc85ef5c4fda73ba24e6096c8f869931405a80aa8b0e604510a26bc", size = 14301053, upload-time = "2025-09-09T15:57:30.077Z" }, + { url = "https://files.pythonhosted.org/packages/05/24/43da09aa764c68694b76e84b3d3f0c44cb7c18cdc1ba80e48b0ac1d2cd39/numpy-2.3.3-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:40051003e03db4041aa325da2a0971ba41cf65714e65d296397cc0e32de6018b", size = 5229444, upload-time = "2025-09-09T15:57:32.733Z" }, + { url = "https://files.pythonhosted.org/packages/bc/14/50ffb0f22f7218ef8af28dd089f79f68289a7a05a208db9a2c5dcbe123c1/numpy-2.3.3-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:6ee9086235dd6ab7ae75aba5662f582a81ced49f0f1c6de4260a78d8f2d91a19", size = 6738039, upload-time = "2025-09-09T15:57:34.328Z" }, + { url = "https://files.pythonhosted.org/packages/55/52/af46ac0795e09657d45a7f4db961917314377edecf66db0e39fa7ab5c3d3/numpy-2.3.3-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:94fcaa68757c3e2e668ddadeaa86ab05499a70725811e582b6a9858dd472fb30", size = 14352314, upload-time = "2025-09-09T15:57:36.255Z" }, + { url = "https://files.pythonhosted.org/packages/a7/b1/dc226b4c90eb9f07a3fff95c2f0db3268e2e54e5cce97c4ac91518aee71b/numpy-2.3.3-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:da1a74b90e7483d6ce5244053399a614b1d6b7bc30a60d2f570e5071f8959d3e", size = 16701722, upload-time = "2025-09-09T15:57:38.622Z" }, + { url = "https://files.pythonhosted.org/packages/9d/9d/9d8d358f2eb5eced14dba99f110d83b5cd9a4460895230f3b396ad19a323/numpy-2.3.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:2990adf06d1ecee3b3dcbb4977dfab6e9f09807598d647f04d385d29e7a3c3d3", size = 16132755, upload-time = "2025-09-09T15:57:41.16Z" }, + { url = "https://files.pythonhosted.org/packages/b6/27/b3922660c45513f9377b3fb42240bec63f203c71416093476ec9aa0719dc/numpy-2.3.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:ed635ff692483b8e3f0fcaa8e7eb8a75ee71aa6d975388224f70821421800cea", size = 18651560, upload-time = "2025-09-09T15:57:43.459Z" }, + { url = "https://files.pythonhosted.org/packages/5b/8e/3ab61a730bdbbc201bb245a71102aa609f0008b9ed15255500a99cd7f780/numpy-2.3.3-cp313-cp313t-win32.whl", hash = "sha256:a333b4ed33d8dc2b373cc955ca57babc00cd6f9009991d9edc5ddbc1bac36bcd", size = 6442776, upload-time = "2025-09-09T15:57:45.793Z" }, + { url = "https://files.pythonhosted.org/packages/1c/3a/e22b766b11f6030dc2decdeff5c2fb1610768055603f9f3be88b6d192fb2/numpy-2.3.3-cp313-cp313t-win_amd64.whl", hash = "sha256:4384a169c4d8f97195980815d6fcad04933a7e1ab3b530921c3fef7a1c63426d", size = 12927281, upload-time = "2025-09-09T15:57:47.492Z" }, + { url = "https://files.pythonhosted.org/packages/7b/42/c2e2bc48c5e9b2a83423f99733950fbefd86f165b468a3d85d52b30bf782/numpy-2.3.3-cp313-cp313t-win_arm64.whl", hash = "sha256:75370986cc0bc66f4ce5110ad35aae6d182cc4ce6433c40ad151f53690130bf1", size = 10265275, upload-time = "2025-09-09T15:57:49.647Z" }, + { url = "https://files.pythonhosted.org/packages/6b/01/342ad585ad82419b99bcf7cebe99e61da6bedb89e213c5fd71acc467faee/numpy-2.3.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:cd052f1fa6a78dee696b58a914b7229ecfa41f0a6d96dc663c1220a55e137593", size = 20951527, upload-time = "2025-09-09T15:57:52.006Z" }, + { url = "https://files.pythonhosted.org/packages/ef/d8/204e0d73fc1b7a9ee80ab1fe1983dd33a4d64a4e30a05364b0208e9a241a/numpy-2.3.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:414a97499480067d305fcac9716c29cf4d0d76db6ebf0bf3cbce666677f12652", size = 14186159, upload-time = "2025-09-09T15:57:54.407Z" }, + { url = "https://files.pythonhosted.org/packages/22/af/f11c916d08f3a18fb8ba81ab72b5b74a6e42ead4c2846d270eb19845bf74/numpy-2.3.3-cp314-cp314-macosx_14_0_arm64.whl", hash = "sha256:50a5fe69f135f88a2be9b6ca0481a68a136f6febe1916e4920e12f1a34e708a7", size = 5114624, upload-time = "2025-09-09T15:57:56.5Z" }, + { url = "https://files.pythonhosted.org/packages/fb/11/0ed919c8381ac9d2ffacd63fd1f0c34d27e99cab650f0eb6f110e6ae4858/numpy-2.3.3-cp314-cp314-macosx_14_0_x86_64.whl", hash = "sha256:b912f2ed2b67a129e6a601e9d93d4fa37bef67e54cac442a2f588a54afe5c67a", size = 6642627, upload-time = "2025-09-09T15:57:58.206Z" }, + { url = "https://files.pythonhosted.org/packages/ee/83/deb5f77cb0f7ba6cb52b91ed388b47f8f3c2e9930d4665c600408d9b90b9/numpy-2.3.3-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9e318ee0596d76d4cb3d78535dc005fa60e5ea348cd131a51e99d0bdbe0b54fe", size = 14296926, upload-time = "2025-09-09T15:58:00.035Z" }, + { url = "https://files.pythonhosted.org/packages/77/cc/70e59dcb84f2b005d4f306310ff0a892518cc0c8000a33d0e6faf7ca8d80/numpy-2.3.3-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ce020080e4a52426202bdb6f7691c65bb55e49f261f31a8f506c9f6bc7450421", size = 16638958, upload-time = "2025-09-09T15:58:02.738Z" }, + { url = "https://files.pythonhosted.org/packages/b6/5a/b2ab6c18b4257e099587d5b7f903317bd7115333ad8d4ec4874278eafa61/numpy-2.3.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:e6687dc183aa55dae4a705b35f9c0f8cb178bcaa2f029b241ac5356221d5c021", size = 16071920, upload-time = "2025-09-09T15:58:05.029Z" }, + { url = "https://files.pythonhosted.org/packages/b8/f1/8b3fdc44324a259298520dd82147ff648979bed085feeacc1250ef1656c0/numpy-2.3.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:d8f3b1080782469fdc1718c4ed1d22549b5fb12af0d57d35e992158a772a37cf", size = 18577076, upload-time = "2025-09-09T15:58:07.745Z" }, + { url = "https://files.pythonhosted.org/packages/f0/a1/b87a284fb15a42e9274e7fcea0dad259d12ddbf07c1595b26883151ca3b4/numpy-2.3.3-cp314-cp314-win32.whl", hash = "sha256:cb248499b0bc3be66ebd6578b83e5acacf1d6cb2a77f2248ce0e40fbec5a76d0", size = 6366952, upload-time = "2025-09-09T15:58:10.096Z" }, + { url = "https://files.pythonhosted.org/packages/70/5f/1816f4d08f3b8f66576d8433a66f8fa35a5acfb3bbd0bf6c31183b003f3d/numpy-2.3.3-cp314-cp314-win_amd64.whl", hash = "sha256:691808c2b26b0f002a032c73255d0bd89751425f379f7bcd22d140db593a96e8", size = 12919322, upload-time = "2025-09-09T15:58:12.138Z" }, + { url = "https://files.pythonhosted.org/packages/8c/de/072420342e46a8ea41c324a555fa90fcc11637583fb8df722936aed1736d/numpy-2.3.3-cp314-cp314-win_arm64.whl", hash = "sha256:9ad12e976ca7b10f1774b03615a2a4bab8addce37ecc77394d8e986927dc0dfe", size = 10478630, upload-time = "2025-09-09T15:58:14.64Z" }, + { url = "https://files.pythonhosted.org/packages/d5/df/ee2f1c0a9de7347f14da5dd3cd3c3b034d1b8607ccb6883d7dd5c035d631/numpy-2.3.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:9cc48e09feb11e1db00b320e9d30a4151f7369afb96bd0e48d942d09da3a0d00", size = 21047987, upload-time = "2025-09-09T15:58:16.889Z" }, + { url = "https://files.pythonhosted.org/packages/d6/92/9453bdc5a4e9e69cf4358463f25e8260e2ffc126d52e10038b9077815989/numpy-2.3.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:901bf6123879b7f251d3631967fd574690734236075082078e0571977c6a8e6a", size = 14301076, upload-time = "2025-09-09T15:58:20.343Z" }, + { url = "https://files.pythonhosted.org/packages/13/77/1447b9eb500f028bb44253105bd67534af60499588a5149a94f18f2ca917/numpy-2.3.3-cp314-cp314t-macosx_14_0_arm64.whl", hash = "sha256:7f025652034199c301049296b59fa7d52c7e625017cae4c75d8662e377bf487d", size = 5229491, upload-time = "2025-09-09T15:58:22.481Z" }, + { url = "https://files.pythonhosted.org/packages/3d/f9/d72221b6ca205f9736cb4b2ce3b002f6e45cd67cd6a6d1c8af11a2f0b649/numpy-2.3.3-cp314-cp314t-macosx_14_0_x86_64.whl", hash = "sha256:533ca5f6d325c80b6007d4d7fb1984c303553534191024ec6a524a4c92a5935a", size = 6737913, upload-time = "2025-09-09T15:58:24.569Z" }, + { url = "https://files.pythonhosted.org/packages/3c/5f/d12834711962ad9c46af72f79bb31e73e416ee49d17f4c797f72c96b6ca5/numpy-2.3.3-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0edd58682a399824633b66885d699d7de982800053acf20be1eaa46d92009c54", size = 14352811, upload-time = "2025-09-09T15:58:26.416Z" }, + { url = "https://files.pythonhosted.org/packages/a1/0d/fdbec6629d97fd1bebed56cd742884e4eead593611bbe1abc3eb40d304b2/numpy-2.3.3-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:367ad5d8fbec5d9296d18478804a530f1191e24ab4d75ab408346ae88045d25e", size = 16702689, upload-time = "2025-09-09T15:58:28.831Z" }, + { url = "https://files.pythonhosted.org/packages/9b/09/0a35196dc5575adde1eb97ddfbc3e1687a814f905377621d18ca9bc2b7dd/numpy-2.3.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:8f6ac61a217437946a1fa48d24c47c91a0c4f725237871117dea264982128097", size = 16133855, upload-time = "2025-09-09T15:58:31.349Z" }, + { url = "https://files.pythonhosted.org/packages/7a/ca/c9de3ea397d576f1b6753eaa906d4cdef1bf97589a6d9825a349b4729cc2/numpy-2.3.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:179a42101b845a816d464b6fe9a845dfaf308fdfc7925387195570789bb2c970", size = 18652520, upload-time = "2025-09-09T15:58:33.762Z" }, + { url = "https://files.pythonhosted.org/packages/fd/c2/e5ed830e08cd0196351db55db82f65bc0ab05da6ef2b72a836dcf1936d2f/numpy-2.3.3-cp314-cp314t-win32.whl", hash = "sha256:1250c5d3d2562ec4174bce2e3a1523041595f9b651065e4a4473f5f48a6bc8a5", size = 6515371, upload-time = "2025-09-09T15:58:36.04Z" }, + { url = "https://files.pythonhosted.org/packages/47/c7/b0f6b5b67f6788a0725f744496badbb604d226bf233ba716683ebb47b570/numpy-2.3.3-cp314-cp314t-win_amd64.whl", hash = "sha256:b37a0b2e5935409daebe82c1e42274d30d9dd355852529eab91dab8dcca7419f", size = 13112576, upload-time = "2025-09-09T15:58:37.927Z" }, + { url = "https://files.pythonhosted.org/packages/06/b9/33bba5ff6fb679aa0b1f8a07e853f002a6b04b9394db3069a1270a7784ca/numpy-2.3.3-cp314-cp314t-win_arm64.whl", hash = "sha256:78c9f6560dc7e6b3990e32df7ea1a50bbd0e2a111e05209963f5ddcab7073b0b", size = 10545953, upload-time = "2025-09-09T15:58:40.576Z" }, + { url = "https://files.pythonhosted.org/packages/b8/f2/7e0a37cfced2644c9563c529f29fa28acbd0960dde32ece683aafa6f4949/numpy-2.3.3-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:1e02c7159791cd481e1e6d5ddd766b62a4d5acf8df4d4d1afe35ee9c5c33a41e", size = 21131019, upload-time = "2025-09-09T15:58:42.838Z" }, + { url = "https://files.pythonhosted.org/packages/1a/7e/3291f505297ed63831135a6cc0f474da0c868a1f31b0dd9a9f03a7a0d2ed/numpy-2.3.3-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:dca2d0fc80b3893ae72197b39f69d55a3cd8b17ea1b50aa4c62de82419936150", size = 14376288, upload-time = "2025-09-09T15:58:45.425Z" }, + { url = "https://files.pythonhosted.org/packages/bf/4b/ae02e985bdeee73d7b5abdefeb98aef1207e96d4c0621ee0cf228ddfac3c/numpy-2.3.3-pp311-pypy311_pp73-macosx_14_0_arm64.whl", hash = "sha256:99683cbe0658f8271b333a1b1b4bb3173750ad59c0c61f5bbdc5b318918fffe3", size = 5305425, upload-time = "2025-09-09T15:58:48.6Z" }, + { url = "https://files.pythonhosted.org/packages/8b/eb/9df215d6d7250db32007941500dc51c48190be25f2401d5b2b564e467247/numpy-2.3.3-pp311-pypy311_pp73-macosx_14_0_x86_64.whl", hash = "sha256:d9d537a39cc9de668e5cd0e25affb17aec17b577c6b3ae8a3d866b479fbe88d0", size = 6819053, upload-time = "2025-09-09T15:58:50.401Z" }, + { url = "https://files.pythonhosted.org/packages/57/62/208293d7d6b2a8998a4a1f23ac758648c3c32182d4ce4346062018362e29/numpy-2.3.3-pp311-pypy311_pp73-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8596ba2f8af5f93b01d97563832686d20206d303024777f6dfc2e7c7c3f1850e", size = 14420354, upload-time = "2025-09-09T15:58:52.704Z" }, + { url = "https://files.pythonhosted.org/packages/ed/0c/8e86e0ff7072e14a71b4c6af63175e40d1e7e933ce9b9e9f765a95b4e0c3/numpy-2.3.3-pp311-pypy311_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e1ec5615b05369925bd1125f27df33f3b6c8bc10d788d5999ecd8769a1fa04db", size = 16760413, upload-time = "2025-09-09T15:58:55.027Z" }, + { url = "https://files.pythonhosted.org/packages/af/11/0cc63f9f321ccf63886ac203336777140011fb669e739da36d8db3c53b98/numpy-2.3.3-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:2e267c7da5bf7309670523896df97f93f6e469fb931161f483cd6882b3b1a5dc", size = 12971844, upload-time = "2025-09-09T15:58:57.359Z" }, +] + +[[package]] +name = "pandas" +version = "2.3.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "numpy" }, + { name = "python-dateutil" }, + { name = "pytz" }, + { name = "tzdata" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/79/8e/0e90233ac205ad182bd6b422532695d2b9414944a280488105d598c70023/pandas-2.3.2.tar.gz", hash = "sha256:ab7b58f8f82706890924ccdfb5f48002b83d2b5a3845976a9fb705d36c34dcdb", size = 4488684, upload-time = "2025-08-21T10:28:29.257Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7a/59/f3e010879f118c2d400902d2d871c2226cef29b08c09fb8dc41111730400/pandas-2.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1333e9c299adcbb68ee89a9bb568fc3f20f9cbb419f1dd5225071e6cddb2a743", size = 11563308, upload-time = "2025-08-21T10:26:56.656Z" }, + { url = "https://files.pythonhosted.org/packages/38/18/48f10f1cc5c397af59571d638d211f494dba481f449c19adbd282aa8f4ca/pandas-2.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:76972bcbd7de8e91ad5f0ca884a9f2c477a2125354af624e022c49e5bd0dfff4", size = 10820319, upload-time = "2025-08-21T10:26:59.162Z" }, + { url = "https://files.pythonhosted.org/packages/95/3b/1e9b69632898b048e223834cd9702052bcf06b15e1ae716eda3196fb972e/pandas-2.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b98bdd7c456a05eef7cd21fd6b29e3ca243591fe531c62be94a2cc987efb5ac2", size = 11790097, upload-time = "2025-08-21T10:27:02.204Z" }, + { url = "https://files.pythonhosted.org/packages/8b/ef/0e2ffb30b1f7fbc9a588bd01e3c14a0d96854d09a887e15e30cc19961227/pandas-2.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1d81573b3f7db40d020983f78721e9bfc425f411e616ef019a10ebf597aedb2e", size = 12397958, upload-time = "2025-08-21T10:27:05.409Z" }, + { url = "https://files.pythonhosted.org/packages/23/82/e6b85f0d92e9afb0e7f705a51d1399b79c7380c19687bfbf3d2837743249/pandas-2.3.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:e190b738675a73b581736cc8ec71ae113d6c3768d0bd18bffa5b9a0927b0b6ea", size = 13225600, upload-time = "2025-08-21T10:27:07.791Z" }, + { url = "https://files.pythonhosted.org/packages/e8/f1/f682015893d9ed51611948bd83683670842286a8edd4f68c2c1c3b231eef/pandas-2.3.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:c253828cb08f47488d60f43c5fc95114c771bbfff085da54bfc79cb4f9e3a372", size = 13879433, upload-time = "2025-08-21T10:27:10.347Z" }, + { url = "https://files.pythonhosted.org/packages/a7/e7/ae86261695b6c8a36d6a4c8d5f9b9ede8248510d689a2f379a18354b37d7/pandas-2.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:9467697b8083f9667b212633ad6aa4ab32436dcbaf4cd57325debb0ddef2012f", size = 11336557, upload-time = "2025-08-21T10:27:12.983Z" }, + { url = "https://files.pythonhosted.org/packages/ec/db/614c20fb7a85a14828edd23f1c02db58a30abf3ce76f38806155d160313c/pandas-2.3.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:3fbb977f802156e7a3f829e9d1d5398f6192375a3e2d1a9ee0803e35fe70a2b9", size = 11587652, upload-time = "2025-08-21T10:27:15.888Z" }, + { url = "https://files.pythonhosted.org/packages/99/b0/756e52f6582cade5e746f19bad0517ff27ba9c73404607c0306585c201b3/pandas-2.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1b9b52693123dd234b7c985c68b709b0b009f4521000d0525f2b95c22f15944b", size = 10717686, upload-time = "2025-08-21T10:27:18.486Z" }, + { url = "https://files.pythonhosted.org/packages/37/4c/dd5ccc1e357abfeee8353123282de17997f90ff67855f86154e5a13b81e5/pandas-2.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0bd281310d4f412733f319a5bc552f86d62cddc5f51d2e392c8787335c994175", size = 11278722, upload-time = "2025-08-21T10:27:21.149Z" }, + { url = "https://files.pythonhosted.org/packages/d3/a4/f7edcfa47e0a88cda0be8b068a5bae710bf264f867edfdf7b71584ace362/pandas-2.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:96d31a6b4354e3b9b8a2c848af75d31da390657e3ac6f30c05c82068b9ed79b9", size = 11987803, upload-time = "2025-08-21T10:27:23.767Z" }, + { url = "https://files.pythonhosted.org/packages/f6/61/1bce4129f93ab66f1c68b7ed1c12bac6a70b1b56c5dab359c6bbcd480b52/pandas-2.3.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:df4df0b9d02bb873a106971bb85d448378ef14b86ba96f035f50bbd3688456b4", size = 12766345, upload-time = "2025-08-21T10:27:26.6Z" }, + { url = "https://files.pythonhosted.org/packages/8e/46/80d53de70fee835531da3a1dae827a1e76e77a43ad22a8cd0f8142b61587/pandas-2.3.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:213a5adf93d020b74327cb2c1b842884dbdd37f895f42dcc2f09d451d949f811", size = 13439314, upload-time = "2025-08-21T10:27:29.213Z" }, + { url = "https://files.pythonhosted.org/packages/28/30/8114832daff7489f179971dbc1d854109b7f4365a546e3ea75b6516cea95/pandas-2.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:8c13b81a9347eb8c7548f53fd9a4f08d4dfe996836543f805c987bafa03317ae", size = 10983326, upload-time = "2025-08-21T10:27:31.901Z" }, + { url = "https://files.pythonhosted.org/packages/27/64/a2f7bf678af502e16b472527735d168b22b7824e45a4d7e96a4fbb634b59/pandas-2.3.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:0c6ecbac99a354a051ef21c5307601093cb9e0f4b1855984a084bfec9302699e", size = 11531061, upload-time = "2025-08-21T10:27:34.647Z" }, + { url = "https://files.pythonhosted.org/packages/54/4c/c3d21b2b7769ef2f4c2b9299fcadd601efa6729f1357a8dbce8dd949ed70/pandas-2.3.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:c6f048aa0fd080d6a06cc7e7537c09b53be6642d330ac6f54a600c3ace857ee9", size = 10668666, upload-time = "2025-08-21T10:27:37.203Z" }, + { url = "https://files.pythonhosted.org/packages/50/e2/f775ba76ecfb3424d7f5862620841cf0edb592e9abd2d2a5387d305fe7a8/pandas-2.3.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0064187b80a5be6f2f9c9d6bdde29372468751dfa89f4211a3c5871854cfbf7a", size = 11332835, upload-time = "2025-08-21T10:27:40.188Z" }, + { url = "https://files.pythonhosted.org/packages/8f/52/0634adaace9be2d8cac9ef78f05c47f3a675882e068438b9d7ec7ef0c13f/pandas-2.3.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4ac8c320bded4718b298281339c1a50fb00a6ba78cb2a63521c39bec95b0209b", size = 12057211, upload-time = "2025-08-21T10:27:43.117Z" }, + { url = "https://files.pythonhosted.org/packages/0b/9d/2df913f14b2deb9c748975fdb2491da1a78773debb25abbc7cbc67c6b549/pandas-2.3.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:114c2fe4f4328cf98ce5716d1532f3ab79c5919f95a9cfee81d9140064a2e4d6", size = 12749277, upload-time = "2025-08-21T10:27:45.474Z" }, + { url = "https://files.pythonhosted.org/packages/87/af/da1a2417026bd14d98c236dba88e39837182459d29dcfcea510b2ac9e8a1/pandas-2.3.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:48fa91c4dfb3b2b9bfdb5c24cd3567575f4e13f9636810462ffed8925352be5a", size = 13415256, upload-time = "2025-08-21T10:27:49.885Z" }, + { url = "https://files.pythonhosted.org/packages/22/3c/f2af1ce8840ef648584a6156489636b5692c162771918aa95707c165ad2b/pandas-2.3.2-cp313-cp313-win_amd64.whl", hash = "sha256:12d039facec710f7ba305786837d0225a3444af7bbd9c15c32ca2d40d157ed8b", size = 10982579, upload-time = "2025-08-21T10:28:08.435Z" }, + { url = "https://files.pythonhosted.org/packages/f3/98/8df69c4097a6719e357dc249bf437b8efbde808038268e584421696cbddf/pandas-2.3.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:c624b615ce97864eb588779ed4046186f967374185c047070545253a52ab2d57", size = 12028163, upload-time = "2025-08-21T10:27:52.232Z" }, + { url = "https://files.pythonhosted.org/packages/0e/23/f95cbcbea319f349e10ff90db488b905c6883f03cbabd34f6b03cbc3c044/pandas-2.3.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:0cee69d583b9b128823d9514171cabb6861e09409af805b54459bd0c821a35c2", size = 11391860, upload-time = "2025-08-21T10:27:54.673Z" }, + { url = "https://files.pythonhosted.org/packages/ad/1b/6a984e98c4abee22058aa75bfb8eb90dce58cf8d7296f8bc56c14bc330b0/pandas-2.3.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2319656ed81124982900b4c37f0e0c58c015af9a7bbc62342ba5ad07ace82ba9", size = 11309830, upload-time = "2025-08-21T10:27:56.957Z" }, + { url = "https://files.pythonhosted.org/packages/15/d5/f0486090eb18dd8710bf60afeaf638ba6817047c0c8ae5c6a25598665609/pandas-2.3.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b37205ad6f00d52f16b6d09f406434ba928c1a1966e2771006a9033c736d30d2", size = 11883216, upload-time = "2025-08-21T10:27:59.302Z" }, + { url = "https://files.pythonhosted.org/packages/10/86/692050c119696da19e20245bbd650d8dfca6ceb577da027c3a73c62a047e/pandas-2.3.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:837248b4fc3a9b83b9c6214699a13f069dc13510a6a6d7f9ba33145d2841a012", size = 12699743, upload-time = "2025-08-21T10:28:02.447Z" }, + { url = "https://files.pythonhosted.org/packages/cd/d7/612123674d7b17cf345aad0a10289b2a384bff404e0463a83c4a3a59d205/pandas-2.3.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:d2c3554bd31b731cd6490d94a28f3abb8dd770634a9e06eb6d2911b9827db370", size = 13186141, upload-time = "2025-08-21T10:28:05.377Z" }, +] [[package]] name = "polars" @@ -16,13 +142,94 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/58/13/824a81b43199202fc859c24515cd5b227930d6dce0dea488e4b415edbaba/polars-1.33.0-cp39-abi3-win_arm64.whl", hash = "sha256:c7d614644eda028907965f8203ac54b9a4f5b90303de2723bf1c1087433a0914", size = 35033820, upload-time = "2025-09-01T16:32:08.116Z" }, ] +[[package]] +name = "pyarrow" +version = "21.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ef/c2/ea068b8f00905c06329a3dfcd40d0fcc2b7d0f2e355bdb25b65e0a0e4cd4/pyarrow-21.0.0.tar.gz", hash = "sha256:5051f2dccf0e283ff56335760cbc8622cf52264d67e359d5569541ac11b6d5bc", size = 1133487, upload-time = "2025-07-18T00:57:31.761Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/94/dc/80564a3071a57c20b7c32575e4a0120e8a330ef487c319b122942d665960/pyarrow-21.0.0-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:c077f48aab61738c237802836fc3844f85409a46015635198761b0d6a688f87b", size = 31243234, upload-time = "2025-07-18T00:55:03.812Z" }, + { url = "https://files.pythonhosted.org/packages/ea/cc/3b51cb2db26fe535d14f74cab4c79b191ed9a8cd4cbba45e2379b5ca2746/pyarrow-21.0.0-cp311-cp311-macosx_12_0_x86_64.whl", hash = "sha256:689f448066781856237eca8d1975b98cace19b8dd2ab6145bf49475478bcaa10", size = 32714370, upload-time = "2025-07-18T00:55:07.495Z" }, + { url = "https://files.pythonhosted.org/packages/24/11/a4431f36d5ad7d83b87146f515c063e4d07ef0b7240876ddb885e6b44f2e/pyarrow-21.0.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:479ee41399fcddc46159a551705b89c05f11e8b8cb8e968f7fec64f62d91985e", size = 41135424, upload-time = "2025-07-18T00:55:11.461Z" }, + { url = "https://files.pythonhosted.org/packages/74/dc/035d54638fc5d2971cbf1e987ccd45f1091c83bcf747281cf6cc25e72c88/pyarrow-21.0.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:40ebfcb54a4f11bcde86bc586cbd0272bac0d516cfa539c799c2453768477569", size = 42823810, upload-time = "2025-07-18T00:55:16.301Z" }, + { url = "https://files.pythonhosted.org/packages/2e/3b/89fced102448a9e3e0d4dded1f37fa3ce4700f02cdb8665457fcc8015f5b/pyarrow-21.0.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8d58d8497814274d3d20214fbb24abcad2f7e351474357d552a8d53bce70c70e", size = 43391538, upload-time = "2025-07-18T00:55:23.82Z" }, + { url = "https://files.pythonhosted.org/packages/fb/bb/ea7f1bd08978d39debd3b23611c293f64a642557e8141c80635d501e6d53/pyarrow-21.0.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:585e7224f21124dd57836b1530ac8f2df2afc43c861d7bf3d58a4870c42ae36c", size = 45120056, upload-time = "2025-07-18T00:55:28.231Z" }, + { url = "https://files.pythonhosted.org/packages/6e/0b/77ea0600009842b30ceebc3337639a7380cd946061b620ac1a2f3cb541e2/pyarrow-21.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:555ca6935b2cbca2c0e932bedd853e9bc523098c39636de9ad4693b5b1df86d6", size = 26220568, upload-time = "2025-07-18T00:55:32.122Z" }, + { url = "https://files.pythonhosted.org/packages/ca/d4/d4f817b21aacc30195cf6a46ba041dd1be827efa4a623cc8bf39a1c2a0c0/pyarrow-21.0.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:3a302f0e0963db37e0a24a70c56cf91a4faa0bca51c23812279ca2e23481fccd", size = 31160305, upload-time = "2025-07-18T00:55:35.373Z" }, + { url = "https://files.pythonhosted.org/packages/a2/9c/dcd38ce6e4b4d9a19e1d36914cb8e2b1da4e6003dd075474c4cfcdfe0601/pyarrow-21.0.0-cp312-cp312-macosx_12_0_x86_64.whl", hash = "sha256:b6b27cf01e243871390474a211a7922bfbe3bda21e39bc9160daf0da3fe48876", size = 32684264, upload-time = "2025-07-18T00:55:39.303Z" }, + { url = "https://files.pythonhosted.org/packages/4f/74/2a2d9f8d7a59b639523454bec12dba35ae3d0a07d8ab529dc0809f74b23c/pyarrow-21.0.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:e72a8ec6b868e258a2cd2672d91f2860ad532d590ce94cdf7d5e7ec674ccf03d", size = 41108099, upload-time = "2025-07-18T00:55:42.889Z" }, + { url = "https://files.pythonhosted.org/packages/ad/90/2660332eeb31303c13b653ea566a9918484b6e4d6b9d2d46879a33ab0622/pyarrow-21.0.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:b7ae0bbdc8c6674259b25bef5d2a1d6af5d39d7200c819cf99e07f7dfef1c51e", size = 42829529, upload-time = "2025-07-18T00:55:47.069Z" }, + { url = "https://files.pythonhosted.org/packages/33/27/1a93a25c92717f6aa0fca06eb4700860577d016cd3ae51aad0e0488ac899/pyarrow-21.0.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:58c30a1729f82d201627c173d91bd431db88ea74dcaa3885855bc6203e433b82", size = 43367883, upload-time = "2025-07-18T00:55:53.069Z" }, + { url = "https://files.pythonhosted.org/packages/05/d9/4d09d919f35d599bc05c6950095e358c3e15148ead26292dfca1fb659b0c/pyarrow-21.0.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:072116f65604b822a7f22945a7a6e581cfa28e3454fdcc6939d4ff6090126623", size = 45133802, upload-time = "2025-07-18T00:55:57.714Z" }, + { url = "https://files.pythonhosted.org/packages/71/30/f3795b6e192c3ab881325ffe172e526499eb3780e306a15103a2764916a2/pyarrow-21.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:cf56ec8b0a5c8c9d7021d6fd754e688104f9ebebf1bf4449613c9531f5346a18", size = 26203175, upload-time = "2025-07-18T00:56:01.364Z" }, + { url = "https://files.pythonhosted.org/packages/16/ca/c7eaa8e62db8fb37ce942b1ea0c6d7abfe3786ca193957afa25e71b81b66/pyarrow-21.0.0-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:e99310a4ebd4479bcd1964dff9e14af33746300cb014aa4a3781738ac63baf4a", size = 31154306, upload-time = "2025-07-18T00:56:04.42Z" }, + { url = "https://files.pythonhosted.org/packages/ce/e8/e87d9e3b2489302b3a1aea709aaca4b781c5252fcb812a17ab6275a9a484/pyarrow-21.0.0-cp313-cp313-macosx_12_0_x86_64.whl", hash = "sha256:d2fe8e7f3ce329a71b7ddd7498b3cfac0eeb200c2789bd840234f0dc271a8efe", size = 32680622, upload-time = "2025-07-18T00:56:07.505Z" }, + { url = "https://files.pythonhosted.org/packages/84/52/79095d73a742aa0aba370c7942b1b655f598069489ab387fe47261a849e1/pyarrow-21.0.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:f522e5709379d72fb3da7785aa489ff0bb87448a9dc5a75f45763a795a089ebd", size = 41104094, upload-time = "2025-07-18T00:56:10.994Z" }, + { url = "https://files.pythonhosted.org/packages/89/4b/7782438b551dbb0468892a276b8c789b8bbdb25ea5c5eb27faadd753e037/pyarrow-21.0.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:69cbbdf0631396e9925e048cfa5bce4e8c3d3b41562bbd70c685a8eb53a91e61", size = 42825576, upload-time = "2025-07-18T00:56:15.569Z" }, + { url = "https://files.pythonhosted.org/packages/b3/62/0f29de6e0a1e33518dec92c65be0351d32d7ca351e51ec5f4f837a9aab91/pyarrow-21.0.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:731c7022587006b755d0bdb27626a1a3bb004bb56b11fb30d98b6c1b4718579d", size = 43368342, upload-time = "2025-07-18T00:56:19.531Z" }, + { url = "https://files.pythonhosted.org/packages/90/c7/0fa1f3f29cf75f339768cc698c8ad4ddd2481c1742e9741459911c9ac477/pyarrow-21.0.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:dc56bc708f2d8ac71bd1dcb927e458c93cec10b98eb4120206a4091db7b67b99", size = 45131218, upload-time = "2025-07-18T00:56:23.347Z" }, + { url = "https://files.pythonhosted.org/packages/01/63/581f2076465e67b23bc5a37d4a2abff8362d389d29d8105832e82c9c811c/pyarrow-21.0.0-cp313-cp313-win_amd64.whl", hash = "sha256:186aa00bca62139f75b7de8420f745f2af12941595bbbfa7ed3870ff63e25636", size = 26087551, upload-time = "2025-07-18T00:56:26.758Z" }, + { url = "https://files.pythonhosted.org/packages/c9/ab/357d0d9648bb8241ee7348e564f2479d206ebe6e1c47ac5027c2e31ecd39/pyarrow-21.0.0-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:a7a102574faa3f421141a64c10216e078df467ab9576684d5cd696952546e2da", size = 31290064, upload-time = "2025-07-18T00:56:30.214Z" }, + { url = "https://files.pythonhosted.org/packages/3f/8a/5685d62a990e4cac2043fc76b4661bf38d06efed55cf45a334b455bd2759/pyarrow-21.0.0-cp313-cp313t-macosx_12_0_x86_64.whl", hash = "sha256:1e005378c4a2c6db3ada3ad4c217b381f6c886f0a80d6a316fe586b90f77efd7", size = 32727837, upload-time = "2025-07-18T00:56:33.935Z" }, + { url = "https://files.pythonhosted.org/packages/fc/de/c0828ee09525c2bafefd3e736a248ebe764d07d0fd762d4f0929dbc516c9/pyarrow-21.0.0-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:65f8e85f79031449ec8706b74504a316805217b35b6099155dd7e227eef0d4b6", size = 41014158, upload-time = "2025-07-18T00:56:37.528Z" }, + { url = "https://files.pythonhosted.org/packages/6e/26/a2865c420c50b7a3748320b614f3484bfcde8347b2639b2b903b21ce6a72/pyarrow-21.0.0-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:3a81486adc665c7eb1a2bde0224cfca6ceaba344a82a971ef059678417880eb8", size = 42667885, upload-time = "2025-07-18T00:56:41.483Z" }, + { url = "https://files.pythonhosted.org/packages/0a/f9/4ee798dc902533159250fb4321267730bc0a107d8c6889e07c3add4fe3a5/pyarrow-21.0.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:fc0d2f88b81dcf3ccf9a6ae17f89183762c8a94a5bdcfa09e05cfe413acf0503", size = 43276625, upload-time = "2025-07-18T00:56:48.002Z" }, + { url = "https://files.pythonhosted.org/packages/5a/da/e02544d6997037a4b0d22d8e5f66bc9315c3671371a8b18c79ade1cefe14/pyarrow-21.0.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:6299449adf89df38537837487a4f8d3bd91ec94354fdd2a7d30bc11c48ef6e79", size = 44951890, upload-time = "2025-07-18T00:56:52.568Z" }, + { url = "https://files.pythonhosted.org/packages/e5/4e/519c1bc1876625fe6b71e9a28287c43ec2f20f73c658b9ae1d485c0c206e/pyarrow-21.0.0-cp313-cp313t-win_amd64.whl", hash = "sha256:222c39e2c70113543982c6b34f3077962b44fca38c0bd9e68bb6781534425c10", size = 26371006, upload-time = "2025-07-18T00:56:56.379Z" }, +] + +[[package]] +name = "python-dateutil" +version = "2.9.0.post0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "six" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", size = 342432, upload-time = "2024-03-01T18:36:20.211Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427", size = 229892, upload-time = "2024-03-01T18:36:18.57Z" }, +] + +[[package]] +name = "pytz" +version = "2025.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f8/bf/abbd3cdfb8fbc7fb3d4d38d320f2441b1e7cbe29be4f23797b4a2b5d8aac/pytz-2025.2.tar.gz", hash = "sha256:360b9e3dbb49a209c21ad61809c7fb453643e048b38924c765813546746e81c3", size = 320884, upload-time = "2025-03-25T02:25:00.538Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/81/c4/34e93fe5f5429d7570ec1fa436f1986fb1f00c3e0f43a589fe2bbcd22c3f/pytz-2025.2-py2.py3-none-any.whl", hash = "sha256:5ddf76296dd8c44c26eb8f4b6f35488f3ccbf6fbbd7adee0b7262d43f0ec2f00", size = 509225, upload-time = "2025-03-25T02:24:58.468Z" }, +] + +[[package]] +name = "six" +version = "1.17.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81", size = 34031, upload-time = "2024-12-04T17:35:28.174Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050, upload-time = "2024-12-04T17:35:26.475Z" }, +] + [[package]] name = "tools" version = "0.1.0" source = { virtual = "." } dependencies = [ + { name = "pandas" }, { name = "polars" }, + { name = "pyarrow" }, ] [package.metadata] -requires-dist = [{ name = "polars", specifier = ">=1.33.0" }] +requires-dist = [ + { name = "pandas", specifier = ">=2.3.2" }, + { name = "polars", specifier = ">=1.33.0" }, + { name = "pyarrow", specifier = ">=21.0.0" }, +] + +[[package]] +name = "tzdata" +version = "2025.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/95/32/1a225d6164441be760d75c2c42e2780dc0873fe382da3e98a2e1e48361e5/tzdata-2025.2.tar.gz", hash = "sha256:b60a638fcc0daffadf82fe0f57e53d06bdec2f36c4df66280ae79bce6bd6f2b9", size = 196380, upload-time = "2025-03-23T13:54:43.652Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5c/23/c7abc0ca0a1526a0774eca151daeb8de62ec457e77262b66b359c3c7679e/tzdata-2025.2-py2.py3-none-any.whl", hash = "sha256:1a403fada01ff9221ca8044d701868fa132215d84beb92242d9acd2147f667a8", size = 347839, upload-time = "2025-03-23T13:54:41.845Z" }, +] diff --git a/tools/verify_loaded_results.py b/tools/verify_loaded_results.py index dbad4f3..a3bd9c1 100644 --- a/tools/verify_loaded_results.py +++ b/tools/verify_loaded_results.py @@ -6,7 +6,7 @@ from typing import Sequence import polars as pl -from load_results import load_results_dataframe +from plot_scripts.load_results import load_results_dataframe # --- configure your intended grid here (use the *canonical* strings used in df) --- NETWORKS_EXPECTED = ["subter_LeNet", "subter_efficient"]