From ded5bb62c49be75f93399d855f144ef1425617e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=CB=B6=F0=9D=9E=A2=E2=A4=AC=E2=AB=92=E2=B5=96s=E1=90=BC?= =?UTF-8?q?=CB=B6?= <91800957+exdysa@users.noreply.github.com> Date: Mon, 2 Feb 2026 17:58:12 -0500 Subject: [PATCH 1/4] ~Switch models with evail, fix imports type checking, patch VAEModel path, cleanup --- negate/__init__.py | 4 +-- negate/__main__.py | 68 +++++++++++++++++++++++++++++++++------------- negate/datasets.py | 21 ++++++-------- negate/extract.py | 5 ++-- negate/save.py | 18 +++++------- negate/track.py | 16 ++++++----- negate/train.py | 6 ++-- pyproject.toml | 31 ++++----------------- 8 files changed, 87 insertions(+), 82 deletions(-) diff --git a/negate/__init__.py b/negate/__init__.py index 45e22b7..e81f415 100644 --- a/negate/__init__.py +++ b/negate/__init__.py @@ -1,9 +1,9 @@ # SPDX-License-Identifier: MPL-2.0 AND LicenseRef-Commons-Clause-License-Condition-1.0 # - +# ruff: noqa from negate.datasets import build_datasets, dataset_to_nparray, generate_dataset from negate.extract import FeatureExtractor, DeviceName, features, VAEModel -from negate.train import TrainResult, grade, get_time, model_path +from negate.train import TrainResult, grade, generate_datestamp_path, datestamped_folder, get_time, model_path from negate.track import in_console, on_graph from negate.save import save_model, save_to_onnx from negate.residuals import Residual diff --git a/negate/__main__.py b/negate/__main__.py index 1e6c61d..5ce92df 100644 --- a/negate/__main__.py +++ b/negate/__main__.py @@ -4,7 +4,7 @@ from pathlib import Path import numpy as np -from negate import TrainResult, build_datasets, features, generate_dataset, grade, in_console, save_to_onnx, on_graph, VAEModel +from negate import TrainResult, build_datasets, features, generate_dataset, grade, in_console, save_to_onnx, on_graph, VAEModel, datestamped_folder, model_path def evaluate(prediction: np.ndarray, ground_truth: np.ndarray) -> None: @@ -25,7 +25,7 @@ def evaluate(prediction: np.ndarray, ground_truth: np.ndarray) -> None: print(f"Genuine: {genu_cnt} Synthetic: {synth_cnt}") -def predict(image_path: Path, vae_type: VAEModel = VAEModel.MITSUA_FP16, true_label: int | None = None) -> np.ndarray: +def predict(image_path: Path, vae_type: VAEModel, true_label: int | None = None) -> np.ndarray: """Predict synthetic or original for given image. (0 = genuine, 1 = synthetic)\n :param image_path: Path to image file or folder. :param vae_type: VAE model to use for feature extraction. @@ -34,24 +34,41 @@ def predict(image_path: Path, vae_type: VAEModel = VAEModel.MITSUA_FP16, true_la from datasets import Dataset import onnxruntime as ort from onnxruntime import SparseTensor + from onnxruntime.capi.onnxruntime_pybind11_state import InvalidArgument, Fail as ONNXRuntimeError - print(f"{'Evaluation' if true_label is not None else 'Detection'} selected.") - - models_location = Path(__file__).parent.parent / "models" - model_file = models_location / "negate.onnx" - - if not model_file.exists(): - raise FileNotFoundError(f"Model file not found: {model_file}. Please run 'train' first to create the model.") + model_file_path_named = model_path / "negate.onnx" + if not model_file_path_named.exists(): + raise FileNotFoundError(f"Model file not found: {str(model_file_path_named)}. Please run 'train' first to create the model.") + else: + model_file_path_named = str(model_file_path_named) + print(f"""{"Evaluation" if true_label is not None else "Detection"} selected. +Checking path '{image_path}' with {vae_type.value}""") dataset: Dataset = generate_dataset(image_path) features_dataset: Dataset = features(dataset, vae_type) - features_array = np.array(features_dataset["features"]).astype(np.float32) # type: ignore[arg-type] - session = ort.InferenceSession(str(model_file)) + session = ort.InferenceSession(model_file_path_named) + print(f"Model '{model_file_path_named}' loaded.") input_name = session.get_inputs()[0].name - result: SparseTensor = session.run(None, {input_name: features_array})[0] # type: ignore - print(result) + try: + result: SparseTensor = session.run(None, {input_name: features_array.astype(np.float32)})[0] # type: ignore + print(result) + except (InvalidArgument, ONNXRuntimeError) as error_log: + match error_log: + case _ if "Expected: 16384" in str(error_log): + print( + """Training feature extractor does not match current feature extractor " + {vae_type.value}" : {err_log}""", + ) + predict(image_path, VAEModel.MITSUA_FP16, true_label) + case _ if "Expected: 65536" in str(error_log): + print(f"Training feature extractor does not match current feature extractor {vae_type.value} : {error_log}") + predict(image_path, VAEModel.FLUX2_FP32, true_label) + case _ if "Expected: 131072" in str(error_log): + print(f"Training feature extractor does not match current feature extractor {vae_type.value} : {error_log}") + predict(image_path, VAEModel.GLM_BF16, true_label) + match true_label: case None: for prediction in result: # type: ignore @@ -66,8 +83,10 @@ def predict(image_path: Path, vae_type: VAEModel = VAEModel.MITSUA_FP16, true_la def training_run(vae_type: VAEModel, file_or_folder_path: Path | None = None) -> None: - """Train model using dataset at path.\n - :param path: Dataset root.""" + """Train \n + # XGB00st\n + model using dataset at path.\n + :param path: Dataset root folder.""" from datasets import Dataset print("Training selected.") @@ -90,12 +109,12 @@ def main() -> None: subparsers = parser.add_subparsers(dest="cmd", required=True) train_parser = subparsers.add_parser("train", help="Train model on the dataset in the provided path or `assets/`. The resulting model will be saved to disk.") - train_parser.add_argument("path", help="Dataset path", nargs="?", default=None) + train_parser.add_argument("path", help="Genunie/Human-original dataset path", nargs="?", default=None) train_parser.add_argument( "-m", "--model", choices=[m.value for m in VAEModel], - default=VAEModel.MITSUA_FP16, + default=VAEModel.GLM_BF16.value, help="Change the VAE model to use for training to a supported HuggingFace repo. Accuracy and memory use decrease from left to right", ) check_parser = subparsers.add_parser( @@ -115,12 +134,23 @@ def main() -> None: dataset_location: Path | None = Path(args.path) else: dataset_location: Path | None = None + datestamped_folder.mkdir(parents=True, exist_ok=True) + vae_type = VAEModel(args.model) - training_run(file_or_folder_path=dataset_location, vae_type=vae_type) + training_run( + vae_type=vae_type, + file_or_folder_path=dataset_location, + ) case "check": if args.path is None: raise ValueError("Check requires an image path.") - predict(Path(args.path), true_label=args.label) + import json + + results_file_path = model_path / "results.json" + with open(results_file_path) as result_metadata: + train_metadata = json.load(result_metadata) + vae_type = VAEModel(train_metadata["vae_type"]) + predict(Path(args.path), vae_type=vae_type, true_label=args.label) case _: raise NotImplementedError diff --git a/negate/datasets.py b/negate/datasets.py index 5de86b8..86a3be8 100644 --- a/negate/datasets.py +++ b/negate/datasets.py @@ -22,10 +22,11 @@ def detect_nans(dataset: Dataset) -> Dataset: return dataset -def load_remote_dataset(repo: str, folder_path: Path, label: int) -> Dataset: +def load_remote_dataset(repo: str, folder_path: Path, label: int = 1) -> Dataset: """Load a remote dataset and attach a default label.\n :param repo: Repository ID of the dataset. :param folder_path: Local path to cache the dataset. + :param label: The default label to assign to all images in the dataset :return: Dataset with a ``label`` column added and NaNs removed.""" remote_dataset = load_dataset(repo, cache_dir=str(folder_path), split="train").cast_column("image", Image(decode=True)) @@ -41,6 +42,7 @@ def generate_dataset(input_path: Path) -> Dataset: from PIL import Image as PillowImage + print(f"Using local images from {input_path}") validated_paths = [] valid_extensions = {".jpg", ".webp", ".jpeg", ".png", ".tif", ".tiff"} if input_path.is_dir(): @@ -55,6 +57,8 @@ def generate_dataset(input_path: Path) -> Dataset: validated_paths.append({"image": str(img_path)}) elif input_path.is_file() and input_path.suffix.lower() in valid_extensions: validated_paths.append({"image": str(input_path)}) + else: + raise ValueError(f"Invalid path {input_path}") dataset = Dataset.from_list(validated_paths) # NaN Prevention: decode separately @@ -80,19 +84,10 @@ def build_datasets(input_folder: Path | None = None) -> Dataset: original_input_folder = Path(__file__).parent.parent / "assets" original_input_folder.mkdir(parents=True, exist_ok=True) - slice_dataset = load_remote_dataset("exdysa/nano-banana-pro-generated-1k-clone", synthetic_input_folder, 1) - rnd_synthetic_dataset = load_remote_dataset("exdysa/rnd_synthetic_img", synthetic_input_folder, 1) - - # Check if assets folder has images, otherwise use placeholder dataset - valid_extensions = {".jpg", ".webp", ".jpeg", ".png", ".tif", ".tiff"} - has_images = original_input_folder.exists() and any(f.is_file() and f.suffix.lower() in valid_extensions for f in original_input_folder.iterdir()) + slice_dataset = load_remote_dataset("exdysa/nano-banana-pro-generated-1k-clone", synthetic_input_folder) + rnd_synthetic_dataset = load_remote_dataset("exdysa/rnd_synthetic_img", synthetic_input_folder) - if has_images: - print(f"Using local images from {original_input_folder}") - original_dataset = generate_dataset(original_input_folder) - else: - print(f"No images found in {original_input_folder}, using placeholder dataset 'darkshapes/a_slice'") - original_dataset = load_remote_dataset("darkshapes/a_slice", original_input_folder, 0) + original_dataset = generate_dataset(original_input_folder) dataset = concatenate_datasets([slice_dataset, rnd_synthetic_dataset, original_dataset]) return dataset diff --git a/negate/extract.py b/negate/extract.py index bfdd76d..2f58bd6 100644 --- a/negate/extract.py +++ b/negate/extract.py @@ -31,7 +31,8 @@ class VAEInfo: VAEModel.FLUX1_FP32: VAEInfo(VAEModel.FLUX1_FP32, "autoencoders.autoencoder_kl.AutoencoderKL"), VAEModel.FLUX1_FP16: VAEInfo(VAEModel.FLUX1_FP16, "autoencoders.autoencoder_kl.AutoencoderKL"), VAEModel.FLUX2_FP32: VAEInfo(VAEModel.FLUX2_FP32, "autoencoders.autoencoder_kl_flux2.AutoencoderKLFlux2"), - VAEModel.FLUX2_FP16: VAEInfo(VAEModel.FLUX1_FP16, "autoencoders.autoencoder_kl_flux2.AutoencoderKLFlux2"), + VAEModel.FLUX2_FP16: VAEInfo(VAEModel.FLUX2_FP16, "autoencoders.autoencoder_kl_flux2.AutoencoderKLFlux2"), + VAEModel.SANA_FP16: VAEInfo(VAEModel.SANA_FP16, "autoencoders.autoencoder_dc.AutoencoderDC"), VAEModel.SANA_FP32: VAEInfo(VAEModel.SANA_FP32, "autoencoders.autoencoder_dc.AutoencoderDC"), } @@ -130,7 +131,7 @@ def batch_extract(self, dataset: Dataset): batch_tensor = torch.stack([color_tensor, *patch_stack]).to(self.device, dtype=self.dtype) with torch.no_grad(): - if self.model.enum != VAEModel.SANA_FP32: # type: ignore can't access encode + if self.model.enum != VAEModel.SANA_FP32 and self.model.enum != VAEModel.SANA_FP16: # type: ignore can't access encode latents_2_dim_h_w = self.vae.encode(batch_tensor).latent_dist.sample() # type: ignore can't access encode mean_latent = latents_2_dim_h_w.mean(dim=0).cpu().float().numpy() else: diff --git a/negate/save.py b/negate/save.py index 63d59aa..8c6349a 100644 --- a/negate/save.py +++ b/negate/save.py @@ -1,7 +1,7 @@ # SPDX-License-Identifier: MPL-2.0 AND LicenseRef-Commons-Clause-License-Condition-1.0 # -from negate import TrainResult, model_path +from negate import TrainResult, generate_datestamp_path, model_path def save_metadata(train_result: TrainResult, file_name: str = "negate") -> str: @@ -15,7 +15,7 @@ def save_metadata(train_result: TrainResult, file_name: str = "negate") -> str: scale_pos_weight: float = train_result.scale_pos_weight seed: int = train_result.seed - metadata_file_name = model_path(f"{file_name}_metadata.npz") + metadata_file_name = generate_datestamp_path(f"{file_name}_metadata.npz") np.savez(metadata_file_name, seed=seed, scale_pos_weight=scale_pos_weight) return metadata_file_name @@ -33,11 +33,11 @@ def save_model(train_result: TrainResult, file_name: str = "negate") -> None: model: Booster = train_result.model pca: PCA = train_result.pca - pca_file_name = model_path(f"{file_name}_pca.pkl") + pca_file_name = generate_datestamp_path(f"{file_name}_pca.pkl") with open(pca_file_name, "wb") as f: pickle.dump(pca, f) - negate_xgb_file_name = model_path(f"{file_name}.json") + negate_xgb_file_name = generate_datestamp_path(f"{file_name}.json") model.save_model(negate_xgb_file_name) metadata_file_name = save_metadata(train_result) @@ -68,22 +68,18 @@ def save_to_onnx(train_result: TrainResult, file_name: str = "negate"): name="input", format=ModelInputFormat.FORMAT_NONE, # Used for TensorRT ) - negate_onnx_file_name = model_path(f"{file_name}.onnx") + negate_onnx_file_name = generate_datestamp_path(f"{file_name}.onnx") onnx_model = ONNXConverter.from_xgboost(model, inputs=[input_shape], opset=12) onnx.save(onnx_model, negate_onnx_file_name) initial_pca_types = [("input", FloatTensorType([None, num_features]))] negate_pca_onnx_raw = convert_sklearn(pca, initial_types=initial_pca_types) negate_pca_onnx = ONNXConverter.optim_onnx(negate_pca_onnx_raw) # type: ignore[arg-type] - pca_file_name = model_path(f"{file_name}_pca.onnx") + pca_file_name = generate_datestamp_path(f"{file_name}_pca.onnx") onnx.save(negate_pca_onnx, pca_file_name) metadata_file_name = save_metadata(train_result) - models_dir = Path(__file__).parent.parent / "models" - models_dir.mkdir(parents=True, exist_ok=True) - - for src in (negate_onnx_file_name, pca_file_name, metadata_file_name): - shutil.copy(src, models_dir / Path(src).name) # type: ignore no overloads + shutil.copy(negate_onnx_file_name, model_path / Path(negate_onnx_file_name).name) # type: ignore no overloads print(f"Models saved to disk. {pca_file_name} {negate_onnx_file_name} {metadata_file_name}") diff --git a/negate/track.py b/negate/track.py index 2f71807..0439a87 100644 --- a/negate/track.py +++ b/negate/track.py @@ -1,12 +1,14 @@ # SPDX-License-Identifier: MPL-2.0 AND LicenseRef-Commons-Clause-License-Condition-1.0 # -from negate import TrainResult, VAEModel, get_time, model_path +from negate import TrainResult, VAEModel, get_time, generate_datestamp_path, model_path def in_console(train_result: TrainResult, vae_type: VAEModel) -> None: """Print diagnostics and plots for a trained model.\n :param train_result: Result object from training.""" + from pathlib import Path + import shutil import json from pprint import pprint @@ -61,11 +63,11 @@ def in_console(train_result: TrainResult, vae_type: VAEModel) -> None: } pprint(results) - results_file = model_path("results.json") + results_file = generate_datestamp_path("results.json") result_format = {k: str(v) for k, v in results.items()} with open(results_file, "tw", encoding="utf-8") as out_file: json.dump(result_format, out_file, ensure_ascii=False, indent=4, sort_keys=True) - + shutil.copy(results_file, model_path / Path(results_file).name) # type: ignore no overloads separator = lambda: print("=" * 60) separator() print("CLASSIFICATION RESULTS") @@ -104,7 +106,7 @@ def on_graph(train_result: TrainResult) -> None: plt.ylabel("Explained Variance Ratio") plt.title("First 20 Components") plt.tight_layout() - plt.savefig(model_path("score_explained_variance.png")) + plt.savefig(generate_datestamp_path("score_explained_variance.png")) plt.show() cm = confusion_matrix(train_result.y_test, y_pred) @@ -125,7 +127,7 @@ def on_graph(train_result: TrainResult) -> None: ax.set_ylabel("Actual") ax.set_title("Confusion Matrix") fig.colorbar(cax) - plt.savefig(model_path("score_confusion_matrix.png")) + plt.savefig(generate_datestamp_path("score_confusion_matrix.png")) plt.show() plt.figure(figsize=(10, 5)) @@ -143,7 +145,7 @@ def on_graph(train_result: TrainResult) -> None: plt.title("PCA Transformed Data") plt.colorbar(label="Prediction") plt.tight_layout() - plt.savefig(model_path("pca_transform_map.png")) + plt.savefig(generate_datestamp_path("pca_transform_map.png")) plt.show() import seaborn as sns @@ -171,5 +173,5 @@ def on_graph(train_result: TrainResult) -> None: ) ax.set_title(f"Feature Correlation Heatmap (PCA Components)\nRange: [{vmin:.3e}, {vmax:.3e}]") plt.tight_layout() - figure.savefig(model_path("correlation_heatmap.png")) + figure.savefig(generate_datestamp_path("correlation_heatmap.png")) plt.show() diff --git a/negate/train.py b/negate/train.py index 870fb71..2c4fed1 100644 --- a/negate/train.py +++ b/negate/train.py @@ -12,9 +12,9 @@ from xgboost import Booster get_time = lambda: datetime.now().strftime("%Y%m%d_%H%M%S") -folder = Path("models", get_time()) -folder.mkdir(parents=True, exist_ok=True) -model_path = lambda file_name: str(folder / file_name) +datestamped_folder = Path("models", get_time()) +generate_datestamp_path = lambda file_name: str(datestamped_folder / file_name) +model_path = Path(__file__).parent.parent / "models" @dataclass diff --git a/pyproject.toml b/pyproject.toml index b2bb723..b618b7f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,9 +6,7 @@ requires = ["setuptools", "setuptools_scm"] build-backend = "setuptools.build_meta" [project] -authors = [ - { name = "darkshapes", email = "91800957+exdysa@users.noreply.github.com" }, -] +authors = [{ name = "darkshapes", email = "91800957+exdysa@users.noreply.github.com" }] name = "negate" description = "Synthetic image detector" readme = "README.md" @@ -54,12 +52,7 @@ dependencies = [ "xgboost>=3.1.3", ] [dependency-groups] -dev = [ - "pyright>=1.1.408", - "pytest>=9.0.2", - "pytest-asyncio>=1.3.0", - "ruff>=0.14.13", -] +dev = ["pyright>=1.1.408", "pytest>=9.0.2", "pytest-asyncio>=1.3.0", "ruff>=0.14.13"] [project.optional-dependencies] # -- frameworks -- @@ -80,15 +73,7 @@ torch-backend = "auto" prerelease = "allow" preview = true - -conflicts = [ - [ - { extra = "cpu" }, - { extra = "mps" }, - { extra = "rocm" }, - { extra = "cuda" }, - ], -] +conflicts = [[{ extra = "cpu" }, { extra = "mps" }, { extra = "rocm" }, { extra = "cuda" }]] [[tool.uv.index]] name = "pytorch-cpu" @@ -107,13 +92,9 @@ explicit = true [tool.uv.sources] -torchvision = [ - { index = "pytorch-cpu", extra = "mps", marker = "sys_platform == 'darwin'" }, -] +torchvision = [{ index = "pytorch-cpu", extra = "mps", marker = "sys_platform == 'darwin'" }] -torch = [ - { index = "pytorch-cpu", extra = "mps", marker = "sys_platform == 'darwin'" }, -] +torch = [{ index = "pytorch-cpu", extra = "mps", marker = "sys_platform == 'darwin'" }] [tool.setuptools_scm] write_to = "_version.py" @@ -141,7 +122,7 @@ ignore-paths = ["^tests/.*$", "test_.*$"] disable = ["C0415"] [tool.pyright] -include = ["nnll"] +include = ["negate"] exclude = [ "^tests/.*$", "**/__pycache__", # cache directories From 3ffe39f5845fb10d6020bf97b70c81f4a379d048 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=CB=B6=F0=9D=9E=A2=E2=A4=AC=E2=AB=92=E2=B5=96s=E1=90=BC?= =?UTF-8?q?=CB=B6?= <91800957+exdysa@users.noreply.github.com> Date: Tue, 3 Feb 2026 00:24:39 -0500 Subject: [PATCH 2/4] +auraequivae, break things --- _version.py | 6 +- negate/__main__.py | 39 ++++--- negate/ae.py | 285 +++++++++++++++++++++++++++++++++++++++++++++ negate/extract.py | 130 ++++++++++++++------- negate/save.py | 3 +- pyproject.toml | 1 + uv.lock | 11 ++ 7 files changed, 410 insertions(+), 65 deletions(-) create mode 100644 negate/ae.py diff --git a/_version.py b/_version.py index aac473e..bf13d14 100644 --- a/_version.py +++ b/_version.py @@ -28,7 +28,7 @@ commit_id: COMMIT_ID __commit_id__: COMMIT_ID -__version__ = version = '0.1.dev41+g786446a62.d20260131' -__version_tuple__ = version_tuple = (0, 1, 'dev41', 'g786446a62.d20260131') +__version__ = version = '0.1.dev57+gded5bb62c.d20260203' +__version_tuple__ = version_tuple = (0, 1, 'dev57', 'gded5bb62c.d20260203') -__commit_id__ = commit_id = 'g786446a62' +__commit_id__ = commit_id = 'gded5bb62c' diff --git a/negate/__main__.py b/negate/__main__.py index 5ce92df..feaf455 100644 --- a/negate/__main__.py +++ b/negate/__main__.py @@ -2,9 +2,11 @@ # from pathlib import Path +from typing import Any + import numpy as np -from negate import TrainResult, build_datasets, features, generate_dataset, grade, in_console, save_to_onnx, on_graph, VAEModel, datestamped_folder, model_path +from negate import TrainResult, VAEModel, build_datasets, datestamped_folder, features, generate_dataset, grade, in_console, model_path, on_graph, save_to_onnx def evaluate(prediction: np.ndarray, ground_truth: np.ndarray) -> None: @@ -18,24 +20,22 @@ def evaluate(prediction: np.ndarray, ground_truth: np.ndarray) -> None: acc = float(np.mean(prediction == ground_truth)) - genu_cnt = int(np.sum(ground_truth == 0)) - synth_cnt = int(np.sum(ground_truth == 1)) - print(f"Accuracy: {acc:.2%}") - print(f"Genuine: {genu_cnt} Synthetic: {synth_cnt}") -def predict(image_path: Path, vae_type: VAEModel, true_label: int | None = None) -> np.ndarray: +def predict(image_path: Path, vae_type: VAEModel, metadata: dict[str, Any], true_label: int | None = None) -> np.ndarray: """Predict synthetic or original for given image. (0 = genuine, 1 = synthetic)\n :param image_path: Path to image file or folder. :param vae_type: VAE model to use for feature extraction. - :return: Prediction array. - """ - from datasets import Dataset + :return: Prediction array.""" + import onnxruntime as ort + from datasets import Dataset from onnxruntime import SparseTensor - from onnxruntime.capi.onnxruntime_pybind11_state import InvalidArgument, Fail as ONNXRuntimeError + from onnxruntime.capi.onnxruntime_pybind11_state import Fail as ONNXRuntimeError + from onnxruntime.capi.onnxruntime_pybind11_state import InvalidArgument + pca_file_path_named = model_path / "negate_pca.onnx" model_file_path_named = model_path / "negate.onnx" if not model_file_path_named.exists(): raise FileNotFoundError(f"Model file not found: {str(model_file_path_named)}. Please run 'train' first to create the model.") @@ -48,19 +48,26 @@ def predict(image_path: Path, vae_type: VAEModel, true_label: int | None = None) features_dataset: Dataset = features(dataset, vae_type) features_array = np.array(features_dataset["features"]).astype(np.float32) # type: ignore[arg-type] + session_pca = ort.InferenceSession(pca_file_path_named) + input_name_pca = session_pca.get_inputs()[0].name + features_pca = session_pca.run(None, {input_name_pca: features_array})[0] + + scale_pos_weight = metadata["scale_pos_weight"] + print(metadata["scale_pos_weight"]) + scale_pos_weight = float(scale_pos_weight) + input_name = ort.get_available_providers()[0] + features_model = features_pca.astype(np.float32) + session = ort.InferenceSession(model_file_path_named) print(f"Model '{model_file_path_named}' loaded.") input_name = session.get_inputs()[0].name try: - result: SparseTensor = session.run(None, {input_name: features_array.astype(np.float32)})[0] # type: ignore + result: SparseTensor = session.run(None, {input_name: features_model})[0] # type: ignore print(result) except (InvalidArgument, ONNXRuntimeError) as error_log: match error_log: case _ if "Expected: 16384" in str(error_log): - print( - """Training feature extractor does not match current feature extractor " - {vae_type.value}" : {err_log}""", - ) + print(f"Training feature extractor does not match current feature extractor{vae_type.value} : {error_log}") predict(image_path, VAEModel.MITSUA_FP16, true_label) case _ if "Expected: 65536" in str(error_log): print(f"Training feature extractor does not match current feature extractor {vae_type.value} : {error_log}") @@ -150,7 +157,7 @@ def main() -> None: with open(results_file_path) as result_metadata: train_metadata = json.load(result_metadata) vae_type = VAEModel(train_metadata["vae_type"]) - predict(Path(args.path), vae_type=vae_type, true_label=args.label) + predict(Path(args.path), vae_type=vae_type, metadata=train_metadata, true_label=args.label) case _: raise NotImplementedError diff --git a/negate/ae.py b/negate/ae.py new file mode 100644 index 0000000..a05cc43 --- /dev/null +++ b/negate/ae.py @@ -0,0 +1,285 @@ +# Take from FLUX + +# changes +# + head dim, num_heads +# ~ 64 ch +# ~ forward std dev fixed 0.1 +# ~ b (h d) x y -> b h (x y) d +# - middle block processing hs and append +# - upscale +# - scale.shift + +import math + +import torch +import torch.nn.functional as F + +from einops import rearrange +from torch import Tensor, nn +from safetensors.torch import load_file + + +def swish(x: Tensor) -> Tensor: + return x * torch.sigmoid(x) + + +class AttnBlock(nn.Module): + def __init__(self, in_channels: int): + super().__init__() + self.in_channels = in_channels + + self.head_dim = 64 + self.num_heads = in_channels // self.head_dim + self.norm = nn.GroupNorm(num_groups=32, num_channels=in_channels, eps=1e-6, affine=True) + self.qkv = nn.Conv2d(in_channels, in_channels * 3, kernel_size=1, bias=False) + self.proj_out = nn.Conv2d(in_channels, in_channels, kernel_size=1, bias=False) + nn.init.normal_(self.proj_out.weight, std=0.2 / math.sqrt(in_channels)) + + def attention(self, h_: Tensor) -> Tensor: + h_ = self.norm(h_) + qkv = self.qkv(h_) + q, k, v = qkv.chunk(3, dim=1) + b, c, h, w = q.shape + q = rearrange(q, "b (h d) x y -> b h (x y) d", h=self.num_heads, d=self.head_dim) + k = rearrange(k, "b (h d) x y -> b h (x y) d", h=self.num_heads, d=self.head_dim) + v = rearrange(v, "b (h d) x y -> b h (x y) d", h=self.num_heads, d=self.head_dim) + h_ = F.scaled_dot_product_attention(q, k, v) + h_ = rearrange(h_, "b h (x y) d -> b (h d) x y", x=h, y=w) + return h_ + + def forward(self, x: Tensor) -> Tensor: + return x + self.proj_out(self.attention(x)) + + +class ResnetBlock(nn.Module): + def __init__(self, in_channels: int, out_channels: int): + super().__init__() + self.in_channels = in_channels + out_channels = in_channels if out_channels is None else out_channels + self.out_channels = out_channels + self.norm1 = nn.GroupNorm(num_groups=32, num_channels=in_channels, eps=1e-6, affine=True) + self.conv1 = nn.Conv2d(in_channels, out_channels, kernel_size=3, stride=1, padding=1) + self.norm2 = nn.GroupNorm(num_groups=32, num_channels=out_channels, eps=1e-6, affine=True) + self.conv2 = nn.Conv2d(out_channels, out_channels, kernel_size=3, stride=1, padding=1) + if self.in_channels != self.out_channels: + self.nin_shortcut = nn.Conv2d(in_channels, out_channels, kernel_size=1, stride=1, padding=0) + + def forward(self, x): + h = x + h = self.norm1(h) + h = swish(h) + h = self.conv1(h) + h = self.norm2(h) + h = swish(h) + h = self.conv2(h) + if self.in_channels != self.out_channels: + x = self.nin_shortcut(x) + return x + h + + +class Downsample(nn.Module): + def __init__(self, in_channels: int): + super().__init__() + self.conv = nn.Conv2d(in_channels, in_channels, kernel_size=3, stride=2, padding=0) + + def forward(self, x: Tensor): + pad = (0, 1, 0, 1) + x = nn.functional.pad(x, pad, mode="constant", value=0) + x = self.conv(x) + return x + + +class Upsample(nn.Module): + def __init__(self, in_channels: int): + super().__init__() + self.conv = nn.Conv2d(in_channels, in_channels, kernel_size=3, stride=1, padding=1) + + def forward(self, x: Tensor): + x = nn.functional.interpolate(x, scale_factor=2.0, mode="nearest") + x = self.conv(x) + return x + + +class Encoder(nn.Module): + def __init__( + self, + resolution: int, + in_channels: int, + ch: int, + ch_mult: list[int], + num_res_blocks: int, + z_channels: int, + ): + super().__init__() + self.ch = ch + self.num_resolutions = len(ch_mult) + self.num_res_blocks = num_res_blocks + self.resolution = resolution + self.in_channels = in_channels + self.conv_in = nn.Conv2d(in_channels, self.ch, kernel_size=3, stride=1, padding=1) + curr_res = resolution + in_ch_mult = (1,) + tuple(ch_mult) + self.in_ch_mult = in_ch_mult + self.down = nn.ModuleList() + block_in = self.ch + for i_level in range(self.num_resolutions): + block = nn.ModuleList() + attn = nn.ModuleList() + block_in = ch * in_ch_mult[i_level] + block_out = ch * ch_mult[i_level] + for _ in range(self.num_res_blocks): + block.append(ResnetBlock(in_channels=block_in, out_channels=block_out)) + block_in = block_out + down = nn.Module() + down.block = block + down.attn = attn + if i_level != self.num_resolutions - 1: + down.downsample = Downsample(block_in) + curr_res = curr_res // 2 + self.down.append(down) + self.mid = nn.Module() + self.mid.block_1 = ResnetBlock(in_channels=block_in, out_channels=block_in) + self.mid.attn_1 = AttnBlock(block_in) + self.mid.block_2 = ResnetBlock(in_channels=block_in, out_channels=block_in) + self.norm_out = nn.GroupNorm(num_groups=32, num_channels=block_in, eps=1e-6, affine=True) + self.conv_out = nn.Conv2d(block_in, z_channels, kernel_size=3, stride=1, padding=1) + + def forward(self, x: Tensor) -> Tensor: + h = self.conv_in(x) + for i_level in range(self.num_resolutions): + for i_block in range(self.num_res_blocks): + h = self.down[i_level].block[i_block](h) + if len(self.down[i_level].attn) > 0: + h = self.down[i_level].attn[i_block](h) + if i_level != self.num_resolutions - 1: + h = self.down[i_level].downsample(h) + h = self.mid.block_1(h) + h = self.mid.attn_1(h) + h = self.mid.block_2(h) + h = self.norm_out(h) + h = swish(h) + h = self.conv_out(h) + return h + + +class Decoder(nn.Module): + def __init__( + self, + ch: int, + out_ch: int, + ch_mult: list[int], + num_res_blocks: int, + in_channels: int, + resolution: int, + z_channels: int, + ): + super().__init__() + self.ch = ch + self.num_resolutions = len(ch_mult) + self.num_res_blocks = num_res_blocks + self.resolution = resolution + self.in_channels = in_channels + self.ffactor = 2 ** (self.num_resolutions - 1) + block_in = ch * ch_mult[self.num_resolutions - 1] + curr_res = resolution // 2 ** (self.num_resolutions - 1) + self.z_shape = (1, z_channels, curr_res, curr_res) + self.conv_in = nn.Conv2d(z_channels, block_in, kernel_size=3, stride=1, padding=1) + self.mid = nn.Module() + self.mid.block_1 = ResnetBlock(in_channels=block_in, out_channels=block_in) + self.mid.attn_1 = AttnBlock(block_in) + self.mid.block_2 = ResnetBlock(in_channels=block_in, out_channels=block_in) + self.up = nn.ModuleList() + for i_level in reversed(range(self.num_resolutions)): + block = nn.ModuleList() + attn = nn.ModuleList() + block_out = ch * ch_mult[i_level] + for _ in range(self.num_res_blocks + 1): + block.append(ResnetBlock(in_channels=block_in, out_channels=block_out)) + block_in = block_out + up = nn.Module() + up.block = block + up.attn = attn + if i_level != 0: + up.upsample = Upsample(block_in) + curr_res = curr_res * 2 + self.up.insert(0, up) + self.norm_out = nn.GroupNorm(num_groups=32, num_channels=block_in, eps=1e-6, affine=True) + self.conv_out = nn.Conv2d(block_in, out_ch, kernel_size=3, stride=1, padding=1) + + def forward(self, z: Tensor) -> Tensor: + h = self.conv_in(z) + h = self.mid.block_1(h) + h = self.mid.attn_1(h) + h = self.mid.block_2(h) + for i_level in reversed(range(self.num_resolutions)): + for i_block in range(self.num_res_blocks + 1): + h = self.up[i_level].block[i_block](h) + if len(self.up[i_level].attn) > 0: + h = self.up[i_level].attn[i_block](h) + if i_level != 0: + h = self.up[i_level].upsample(h) + h = self.norm_out(h) + h = swish(h) + h = self.conv_out(h) + return h + + +class DiagonalGaussian(nn.Module): + def __init__(self, sample: bool = True, chunk_dim: int = 1): + super().__init__() + self.sample = sample + self.chunk_dim = chunk_dim + + def forward(self, z: Tensor) -> Tensor: + mean = z + if self.sample: + std = 0.1 + return mean * (1 + std * torch.randn_like(mean)) + else: + return mean + + +class VAE(nn.Module): + def __init__(self, resolution, in_channels, ch, out_ch, ch_mult, num_res_blocks, z_channels): + super().__init__() + self.encoder = Encoder( + resolution=resolution, + in_channels=in_channels, + ch=ch, + ch_mult=ch_mult, + num_res_blocks=num_res_blocks, + z_channels=z_channels, + ) + self.decoder = Decoder( + resolution=resolution, + in_channels=in_channels, + ch=ch, + out_ch=out_ch, + ch_mult=ch_mult, + num_res_blocks=num_res_blocks, + z_channels=z_channels, + ) + self.reg = DiagonalGaussian() + + def forward(self, x: Tensor) -> Tensor: + z = self.encoder(x) + z_s = self.reg(z) + decz = self.decoder(z_s) + return decz, z + + +if __name__ == "__main__": + vae = VAE( + resolution=256, + in_channels=3, + ch=64, + out_ch=3, + ch_mult=[1, 2, 4, 4], + num_res_blocks=2, + z_channels=16, + ) + device = "cuda" if torch.cuda.is_available() else "mps" if torch.mps.is_available() else "cpu" + vae.eval().to(device) + x = torch.randn(1, 3, 256, 256).to(device) + decz, z = vae(x) + print(decz.shape, z.shape) diff --git a/negate/extract.py b/negate/extract.py index 2f58bd6..7b5c72f 100644 --- a/negate/extract.py +++ b/negate/extract.py @@ -4,6 +4,7 @@ from enum import Enum from dataclasses import dataclass from datasets import Dataset +from PIL.Image import Image class VAEModel(str, Enum): @@ -11,6 +12,7 @@ class VAEModel(str, Enum): SANA_FP32 = "exdysa/dc-ae-f32c32-sana-1.1-diffusers" SANA_FP16 = "exdysa/dc-ae-f32c32-sana-1.1-diffusers" + AURAEQUI_BF16 = "exdysa/AuraEquiVAE-SAFETENSORS" GLM_BF16 = "zai-org/GLM-Image" FLUX2_FP32 = "black-forest-labs/FLUX.2-dev" FLUX2_FP16 = "black-forest-labs/FLUX.2-klein-4B" @@ -27,6 +29,7 @@ class VAEInfo: MODEL_MAP = { VAEModel.MITSUA_FP16: VAEInfo(VAEModel.MITSUA_FP16, "autoencoders.autoencoder_kl.AutoencoderKL"), + VAEModel.AURAEQUI_BF16: VAEInfo(VAEModel.AURAEQUI_BF16, "ae.VAE"), VAEModel.GLM_BF16: VAEInfo(VAEModel.GLM_BF16, "autoencoders.autoencoder_kl.AutoencoderKL"), VAEModel.FLUX1_FP32: VAEInfo(VAEModel.FLUX1_FP32, "autoencoders.autoencoder_kl.AutoencoderKL"), VAEModel.FLUX1_FP16: VAEInfo(VAEModel.FLUX1_FP16, "autoencoders.autoencoder_kl.AutoencoderKL"), @@ -59,21 +62,34 @@ class FeatureExtractor: def __init__(self, vae_type: VAEModel, device: DeviceName, dtype: torch.dtype) -> None: """Set up the extractor with a VAE model.\n - :param model: Repository ID of the VAE. + :param vae_type: VAEModel ID of the VAE. :param device: Target device. :param dtype: Data type for tensors.""" from diffusers.models.autoencoders.vae import AutoencoderMixin - from negate import Residual # `B̴̨̒e̷w̷͇̃ȁ̵͈r̸͔͛ę̵͂ ̷̫̚t̵̻̐h̶̜͒ȩ̸̋ ̵̪̄ő̷̦ù̵̥r̷͇̂o̷̫͑b̷̲͒ò̷̫r̴̢͒ô̵͍s̵̩̈́` #type: ignore + from negate import Residual, ae # `B̴̨̒e̷w̷͇̃ȁ̵͈r̸͔͛ę̵͂ ̷̫̚t̵̻̐h̶̜͒ȩ̸̋ ̵̪̄ő̷̦ù̵̥r̷͇̂o̷̫͑b̷̲͒ò̷̫r̴̢͒ô̵͍s̵̩̈́` #type: ignore - self.device = device + self.device = device.value self.dtype = dtype self.model: VAEInfo = MODEL_MAP[vae_type] - self.vae: AutoencoderMixin | None = None + self.vae: AutoencoderMixin | ae.VAE | None = None self.residual_transform = Residual() if self.vae is None: self.create_vae() + def aura_equi_vae(self, vae_path: str): + """Processing specifically for AuraEquiVAE + :param vae_path: The path to the VAE model directory""" + import os + from negate.ae import VAE + from safetensors.torch import load_file + + vae = VAE(resolution=256, in_channels=3, ch=256, out_ch=3, ch_mult=[1, 2, 4, 4], num_res_blocks=2, z_channels=16).to(self.device).bfloat16() + vae_file = os.path.join(vae_path, "vae_epoch_3_step_49501_bf16.safetensors") + state_dict = load_file(vae_file) + vae.load_state_dict(state_dict) + return vae + def create_vae(self): """Download and load the VAE from the model repo.""" @@ -83,31 +99,52 @@ def create_vae(self): from huggingface_hub.errors import LocalEntryNotFoundError from huggingface_hub import snapshot_download - autoencoder_cls = getattr(autoencoders, self.model.module.split(".")[-1]) + autoencoder_cls = getattr(autoencoders, self.model.module.split(".")[-1], None) try: - vae_model = autoencoder_cls.from_pretrained(self.model.enum.value, torch_dtype=self.dtype, local_files_only=True).to(self.device.value) - except (LocalEntryNotFoundError, OSError): + vae_model = autoencoder_cls.from_pretrained(self.model.enum.value, torch_dtype=self.dtype, local_files_only=True).to(self.device) + except (LocalEntryNotFoundError, OSError, AttributeError): print("Downloading model...") - vae_path: str = snapshot_download(self.model.enum.value, allow_patterns=["vae/*"]) # type: ignore - vae_path = os.path.join(vae_path, "vae") - vae_model = autoencoder_cls.from_pretrained(vae_path, torch_dtype=self.dtype, local_files_only=True).to(self.device.value) + vae_path: str = snapshot_download(self.model.enum.value, allow_patterns=["vae/*"]) # type: ignore + vae_path = os.path.join(vae_path, "vae") + if self.model.enum == VAEModel.AURAEQUI_BF16: + vae_model = self.aura_equi_vae(vae_path) + else: + vae_model = autoencoder_cls.from_pretrained(vae_path, torch_dtype=self.dtype, local_files_only=True).to(self.device) vae_model.eval() self.vae = vae_model - def cleanup(self) -> None: - """Free the VAE and GPU memory.""" + def _extract_generic(self, batch: "torch.Tensor"): + """Encode with standard Diffusers VAE and return mean latent.\n + :param batch: Tensor of image + patches. + :return: NumPy mean latent.""" - import gc + latent = self.vae.encode(batch).latent_dist.sample() # type: ignore + return latent.mean(dim=0).cpu().float().numpy() - import torch + def _extract_special(self, batch: "torch.Tensor", image: Image): + """Handle SANA and AuraEqui models.\n + :param batch: Tensor of image + patches. + :param img: Original PIL image. + :return: NumPy mean latent.""" - device = self.device - if device != "cpu": - gpu = getattr(torch, device) - gpu.empty_cache() - del self.vae - gc.collect() + from diffusers.models.autoencoders.vae import DiagonalGaussianDistribution + import torch + from torch import Tensor + + if self.model.enum == VAEModel.AURAEQUI_BF16: + latent: Tensor = self.vae.encoder(batch) + latent = latent.clamp(-8.0, 8.0) + mean = torch.mean(latent, dim=0).cpu().float() + else: + latent: Tensor = self.vae.encode(batch) # type: ignore + mean = torch.mean(latent.latent, dim=0).cpu().float() # type: ignore + + logvar = torch.zeros_like(mean).cpu().float() + params = torch.cat([mean, logvar], dim=1) + dist = DiagonalGaussianDistribution(params) + sample = dist.sample() + return sample.mean(dim=0).cpu().float().numpy() def batch_extract(self, dataset: Dataset): """Extract VAE features from a batch of images. @@ -121,35 +158,38 @@ def batch_extract(self, dataset: Dataset): patch_stack = [] for image in dataset["image"]: - color_image = image.convert("RGB") - color_tensor = self.transform(color_image) - patches = self.residual_transform.crop_select(image, size=768, top_k=1) - for patch in patches: - patch_image = patch.convert("RGB") - patch_tensor = self.transform(patch_image) - patch_stack.append(patch_tensor) - - batch_tensor = torch.stack([color_tensor, *patch_stack]).to(self.device, dtype=self.dtype) + rgb = image.convert("RGB") + col = self.transform(rgb) + for patches in self.residual_transform.crop_select(image, size=768, top_k=1): + patch_stack.append(self.transform(patches.convert("RGB"))) + + batch = torch.stack([col, *patch_stack]).to(self.device, self.dtype) with torch.no_grad(): - if self.model.enum != VAEModel.SANA_FP32 and self.model.enum != VAEModel.SANA_FP16: # type: ignore can't access encode - latents_2_dim_h_w = self.vae.encode(batch_tensor).latent_dist.sample() # type: ignore can't access encode - mean_latent = latents_2_dim_h_w.mean(dim=0).cpu().float().numpy() - else: - from diffusers.models.autoencoders.vae import DiagonalGaussianDistribution - - latent = self.vae.encode(batch_tensor) # # type: ignore can't access encode - mean_latent = torch.mean(latent.latent, dim=0).cpu().float() # distribution with mean - logvar_latent = torch.zeros_like(mean_latent).cpu().float() # & logvar - params = torch.cat([mean_latent, logvar_latent], dim=1) - distribution = DiagonalGaussianDistribution(params) - sample = distribution.sample() - mean_latent = sample.mean(dim=0).cpu().float().numpy() - feature_vec = mean_latent.flatten() - - features_list.append(feature_vec) + match self.model.enum: + case VAEModel.SANA_FP32 | VAEModel.SANA_FP16 | VAEModel.AURAEQUI_BF16: + mean_latent = self._extract_special(batch, image) + case _: + mean_latent = self._extract_generic(batch) + + features_list.append(mean_latent.flatten()) return {"features": features_list} + def cleanup(self) -> None: + """Free the VAE and GPU memory.""" + + import gc + + import torch + + if self.device != "cpu": + gpu = getattr(torch, self.device) + gpu.empty_cache() + del gpu + del self.vae + del self.device + gc.collect() + def __enter__(self) -> "FeatureExtractor": return self diff --git a/negate/save.py b/negate/save.py index 8c6349a..2a2c54a 100644 --- a/negate/save.py +++ b/negate/save.py @@ -80,6 +80,7 @@ def save_to_onnx(train_result: TrainResult, file_name: str = "negate"): metadata_file_name = save_metadata(train_result) - shutil.copy(negate_onnx_file_name, model_path / Path(negate_onnx_file_name).name) # type: ignore no overloads + for src in (negate_onnx_file_name, pca_file_name): + shutil.copy(src, model_path / Path(src).name) # type: ignore no overloads print(f"Models saved to disk. {pca_file_name} {negate_onnx_file_name} {metadata_file_name}") diff --git a/pyproject.toml b/pyproject.toml index b618b7f..be0be7f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -31,6 +31,7 @@ dependencies = [ "accelerate>=1.12.0", "datasets>=4.5.0", "diffusers>=0.36.0", + "einops>=0.8.2", "huggingface-hub>=1.3.2", "matplotlib>=3.10.8", "mongoengine>=0.29.1", diff --git a/uv.lock b/uv.lock index 907c388..52ee3b2 100644 --- a/uv.lock +++ b/uv.lock @@ -414,6 +414,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/ba/5a/18ad964b0086c6e62e2e7500f7edc89e3faa45033c71c1893d34eed2b2de/dnspython-2.8.0-py3-none-any.whl", hash = "sha256:01d9bbc4a2d76bf0db7c1f729812ded6d912bd318d3b1cf81d30c0f845dbf3af", size = 331094, upload-time = "2025-09-07T18:57:58.071Z" }, ] +[[package]] +name = "einops" +version = "0.8.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/2c/77/850bef8d72ffb9219f0b1aac23fbc1bf7d038ee6ea666f331fa273031aa2/einops-0.8.2.tar.gz", hash = "sha256:609da665570e5e265e27283aab09e7f279ade90c4f01bcfca111f3d3e13f2827", size = 56261, upload-time = "2026-01-26T04:13:17.638Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2a/09/f8d8f8f31e4483c10a906437b4ce31bdf3d6d417b73fe33f1a8b59e34228/einops-0.8.2-py3-none-any.whl", hash = "sha256:54058201ac7087911181bfec4af6091bb59380360f069276601256a76af08193", size = 65638, upload-time = "2026-01-26T04:13:18.546Z" }, +] + [[package]] name = "filelock" version = "3.20.3" @@ -1041,6 +1050,7 @@ dependencies = [ { name = "accelerate" }, { name = "datasets" }, { name = "diffusers" }, + { name = "einops" }, { name = "huggingface-hub" }, { name = "matplotlib" }, { name = "mongoengine" }, @@ -1097,6 +1107,7 @@ requires-dist = [ { name = "accelerate", specifier = ">=1.12.0" }, { name = "datasets", specifier = ">=4.5.0" }, { name = "diffusers", specifier = ">=0.36.0" }, + { name = "einops", specifier = ">=0.8.2" }, { name = "huggingface-hub", specifier = ">=1.3.2" }, { name = "matplotlib", specifier = ">=3.10.8" }, { name = "mongoengine", specifier = ">=0.29.1" }, From 2534ffd375d7de4c82ed3988c41dd2c690ea7a5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=CB=B6=F0=9D=9E=A2=E2=A4=AC=E2=AB=92=E2=B5=96s=E1=90=BC?= =?UTF-8?q?=CB=B6?= <91800957+exdysa@users.noreply.github.com> Date: Tue, 3 Feb 2026 21:48:40 -0500 Subject: [PATCH 3/4] +config, -auraequivae, --- .gitignore | 3 +- README.md | 21 +- config/config.yaml | 23 + negate/__init__.py | 6 +- negate/__main__.py | 146 ++++-- negate/ae.py | 285 ----------- negate/config.py | 52 ++ negate/datasets.py | 17 - negate/extract.py | 110 +++-- negate/residuals.py | 32 +- negate/save.py | 27 +- negate/track.py | 125 +++-- negate/train.py | 46 +- results/combined_plots.png | Bin 0 -> 304966 bytes results/pca_transform_map.png | Bin 143174 -> 0 bytes results/results.json | 20 - results/score_confusion_matrix.png | Bin 15311 -> 0 bytes results/score_explained_variance.png | Bin 35240 -> 0 bytes results/vae_comparison.txt | 706 +++++++++++++++++++++++++++ tests/test_import.py | 14 +- tests/test_vae_map.py | 1 - 21 files changed, 1081 insertions(+), 553 deletions(-) create mode 100644 config/config.yaml delete mode 100644 negate/ae.py create mode 100644 negate/config.py create mode 100644 results/combined_plots.png delete mode 100644 results/pca_transform_map.png delete mode 100644 results/results.json delete mode 100644 results/score_confusion_matrix.png delete mode 100644 results/score_explained_variance.png create mode 100644 results/vae_comparison.txt diff --git a/.gitignore b/.gitignore index a7c63c9..7a51b52 100644 --- a/.gitignore +++ b/.gitignore @@ -18,4 +18,5 @@ models/* results/features_residual/ results/residual_analysis/ -results/features_updated/ \ No newline at end of file +results/features_updated/ +.demo.ipynb diff --git a/README.md b/README.md index 219372a..d9e23d0 100644 --- a/README.md +++ b/README.md @@ -26,9 +26,7 @@ This repo provides a simple command‑line interface to invoke the tool and exam Future work includes the development of an automated testing framework and evaluation suite, expanding the scope of research to include wider diversity of synthetic and original human-generated datasets, benchmarking against comparable methods, and exploring additional model architectures. -![Bar and grid graph comparing variance of the synthetic and real images](results/score_explained_variance.png) -![Graph comparing before and after pca transform operation of dataset](results/pca_transform_map.png) -![Graph comparing confusion matrix of the synthetic and real images](results/score_confusion_matrix.png) +![Bar and grid graph comparing variance of the synthetic and real images](results/combined_plots.png) ## Requirements @@ -69,32 +67,33 @@ Set-ExecutionPolicy Bypass -Scope Process -Force; .venv\Scripts\Activate.ps1 Basic Syntax: ```sh -usage: negate [-h] {train,check} ... +usage: negate [-h] {train,check,compare} ... Negate CLI positional arguments: - {train,check} - train Train model on the dataset in the provided path or `assets/`. The resulting model will be saved to disk. - check Check whether an image at the provided path is synthetic or original. + {train,check,compare} + train Train model on the dataset in the provided path or `assets/`. The resulting model will be saved to disk. + check Check whether an image at the provided path is synthetic or original. + compare Run extraction and training using all possible VAE. options: - -h, --help show this help message and exit + -h, --help show this help message and exit ``` Training syntax: ```sh usage: negate train [-h] - [-m {exdysa/dc-ae-f32c32-sana-1.1-diffusers,zai-org/GLM-Image,black-forest-labs/FLUX.2-dev,black-forest-labs/FLUX.2-klein-4B,Tongyi-MAI/Z-Image,Freepik/F-Lite-Texture,exdysa/mitsua-vae-SAFETENSORS}] + [-m {exdysa/dc-ae-f32c32-sana-1.1-diffusers,black-forest-labs/FLUX.2-dev,black-forest-labs/FLUX.2-klein-4B,Tongyi-MAI/Z-Image,Freepik/F-Lite-Texture,exdysa/mitsua-vae-SAFETENSORS}] [path] positional arguments: - path Dataset path + path Genunie/Human-original dataset path options: -h, --help show this help message and exit - -m, --model {exdysa/dc-ae-f32c32-sana-1.1-diffusers,zai-org/GLM-Image,black-forest-labs/FLUX.2-dev,black-forest-labs/FLUX.2-klein-4B,Tongyi-MAI/Z-Image,Freepik/F-Lite-Texture,exdysa/mitsua-vae-SAFETENSORS} + -m, --model {exdysa/dc-ae-f32c32-sana-1.1-diffusers,black-forest-labs/FLUX.2-dev,black-forest-labs/FLUX.2-klein-4B,Tongyi-MAI/Z-Image,Freepik/F-Lite-Texture,exdysa/mitsua-vae-SAFETENSORS} Change the VAE model to use for training to a supported HuggingFace repo. Accuracy and memory use decrease from left to right ``` diff --git a/config/config.yaml b/config/config.yaml new file mode 100644 index 0000000..8ec8f3c --- /dev/null +++ b/config/config.yaml @@ -0,0 +1,23 @@ +# Advanced Configuration for Negate CLI +batch_size: 4 # Feature extraction batch size, zero to disable batching +cache_features: true # enable mode +vae_tiling: false # Enable VAE tiling +vae_slicing: false # Enable VAE scaling +patch_size: 768 # Patch resolution +top_k: 1 # Number of top patches to keep +use_onnx: false # True → ONNX, False → native XGBoost +dtype: bfloat16 # vae dtype +default_vae: "Freepik/F-Lite-Texture" # Model path + +train: + n_components: 0.95 # Training PCA num components + num_boost_round: 200 # Boosted training rounds + early_stopping_rounds: 10 # Early stop training + colsample_bytree: 0.8 + eval_metric: ["logloss", "aucpr"] + learning_rate: 0.1 + max_depth: 4 + objective: "binary:logistic" + subsample: 0.8 + scale_pos_weight: null + seed: 0 diff --git a/negate/__init__.py b/negate/__init__.py index e81f415..47695e3 100644 --- a/negate/__init__.py +++ b/negate/__init__.py @@ -1,9 +1,11 @@ # SPDX-License-Identifier: MPL-2.0 AND LicenseRef-Commons-Clause-License-Condition-1.0 # # ruff: noqa -from negate.datasets import build_datasets, dataset_to_nparray, generate_dataset + +from negate.config import negate_options as negate_opt +from negate.datasets import build_datasets, generate_dataset from negate.extract import FeatureExtractor, DeviceName, features, VAEModel from negate.train import TrainResult, grade, generate_datestamp_path, datestamped_folder, get_time, model_path from negate.track import in_console, on_graph -from negate.save import save_model, save_to_onnx +from negate.save import save_models, save_to_onnx from negate.residuals import Residual diff --git a/negate/__main__.py b/negate/__main__.py index feaf455..530df82 100644 --- a/negate/__main__.py +++ b/negate/__main__.py @@ -1,81 +1,115 @@ # SPDX-License-Identifier: MPL-2.0 AND LicenseRef-Commons-Clause-License-Condition-1.0 # +"""Negate CLI entry point for training and inference.\n +:returns: None.""" + from pathlib import Path from typing import Any import numpy as np -from negate import TrainResult, VAEModel, build_datasets, datestamped_folder, features, generate_dataset, grade, in_console, model_path, on_graph, save_to_onnx +from negate import ( + TrainResult, + VAEModel, + build_datasets, + negate_opt, + datestamped_folder, + features, + generate_dataset, + generate_datestamp_path, + grade, + in_console, + model_path, + on_graph, + save_models, + save_to_onnx, +) + + +def run_native(features_array) -> np.ndarray: + """Run inference using XGBoost with PCA pre-processing.\n + :param features_array: Feature array.\n + :param scale_pos_weight: Weight for positive class.\n + :return: Prediction array.""" + import pickle + import xgboost as xgb -def evaluate(prediction: np.ndarray, ground_truth: np.ndarray) -> None: - """Print accuracy and class distribution.\n - :param prediction: Model outputs (0 = genuine, 1 = synthetic).\n - :param ground_truth: Ground-truth labels.\n - :return: None.""" + model_file_path_named = model_path / "negate.ubj" - prediction = prediction.astype(int) - ground_truth = ground_truth.astype(int) + if not model_file_path_named.exists(): + raise FileNotFoundError(f"Model file not found: {str(model_file_path_named)}. Please run 'train' first to create the model.") + else: + model_file_path_named = str(model_file_path_named) - acc = float(np.mean(prediction == ground_truth)) + pca_file_path_named = model_path / "negate_pca.pkl" + with open(pca_file_path_named, "rb") as pca_file: + pca = pickle.load(pca_file) - print(f"Accuracy: {acc:.2%}") + features_pca = pca.transform(features_array) + model = xgb.Booster() + model.load_model(model_file_path_named) + + result = model.predict(xgb.DMatrix(features_pca)) + + return result -def predict(image_path: Path, vae_type: VAEModel, metadata: dict[str, Any], true_label: int | None = None) -> np.ndarray: - """Predict synthetic or original for given image. (0 = genuine, 1 = synthetic)\n - :param image_path: Path to image file or folder. - :param vae_type: VAE model to use for feature extraction. - :return: Prediction array.""" +def run_onnx(features_array) -> Any: + """Run inference using ONNX Runtime with PCA pre-processing.\n + :param features_array: Feature array.\n + :return: Prediction array.""" import onnxruntime as ort - from datasets import Dataset - from onnxruntime import SparseTensor from onnxruntime.capi.onnxruntime_pybind11_state import Fail as ONNXRuntimeError from onnxruntime.capi.onnxruntime_pybind11_state import InvalidArgument - pca_file_path_named = model_path / "negate_pca.onnx" model_file_path_named = model_path / "negate.onnx" if not model_file_path_named.exists(): raise FileNotFoundError(f"Model file not found: {str(model_file_path_named)}. Please run 'train' first to create the model.") else: model_file_path_named = str(model_file_path_named) - print(f"""{"Evaluation" if true_label is not None else "Detection"} selected. -Checking path '{image_path}' with {vae_type.value}""") - - dataset: Dataset = generate_dataset(image_path) - features_dataset: Dataset = features(dataset, vae_type) - features_array = np.array(features_dataset["features"]).astype(np.float32) # type: ignore[arg-type] - session_pca = ort.InferenceSession(pca_file_path_named) - input_name_pca = session_pca.get_inputs()[0].name - features_pca = session_pca.run(None, {input_name_pca: features_array})[0] + # pca_file_path_named = model_path / "negate_pca.onnx" + # session_pca = ort.InferenceSession(pca_file_path_named) + # input_name_pca = session_pca.get_inputs()[0].name + # features_pca = session_pca.run(None, {input_name_pca: features_array})[0] - scale_pos_weight = metadata["scale_pos_weight"] - print(metadata["scale_pos_weight"]) - scale_pos_weight = float(scale_pos_weight) - input_name = ort.get_available_providers()[0] - features_model = features_pca.astype(np.float32) + # input_name = ort.get_available_providers()[0] + features_model = features_array.astype(np.float32) # type: ignore session = ort.InferenceSession(model_file_path_named) print(f"Model '{model_file_path_named}' loaded.") input_name = session.get_inputs()[0].name try: - result: SparseTensor = session.run(None, {input_name: features_model})[0] # type: ignore - print(result) + result = session.run(None, {input_name: features_model})[0] # type: ignore + return result except (InvalidArgument, ONNXRuntimeError) as error_log: - match error_log: - case _ if "Expected: 16384" in str(error_log): - print(f"Training feature extractor does not match current feature extractor{vae_type.value} : {error_log}") - predict(image_path, VAEModel.MITSUA_FP16, true_label) - case _ if "Expected: 65536" in str(error_log): - print(f"Training feature extractor does not match current feature extractor {vae_type.value} : {error_log}") - predict(image_path, VAEModel.FLUX2_FP32, true_label) - case _ if "Expected: 131072" in str(error_log): - print(f"Training feature extractor does not match current feature extractor {vae_type.value} : {error_log}") - predict(image_path, VAEModel.GLM_BF16, true_label) + import sys + + print(error_log) + sys.exit() + + +def predict(image_path: Path, vae_type: VAEModel, true_label: int | None = None) -> np.ndarray: + """Predict synthetic or original for given image. (0 = genuine, 1 = synthetic)\n + :param image_path: Path to image file or folder. + :param vae_type: VAE model to use for feature extraction. + :return: Prediction array.""" + from datasets import Dataset + print(f"""{"Evaluation" if true_label is not None else "Detection"} selected. +Checking path '{image_path}' with {vae_type.value}""") + + dataset: Dataset = generate_dataset(image_path) + features_dataset: Dataset = features(dataset, vae_type) + features_array = np.array(features_dataset["features"], dtype=np.float32) # type: ignore[arg-type] + + result = run_onnx(features_array) if negate_opt.use_onnx else run_native(features_array) + + thresh = 0.5 + predictions = (result > thresh).astype(int) match true_label: case None: for prediction in result: # type: ignore @@ -84,14 +118,16 @@ def predict(image_path: Path, vae_type: VAEModel, metadata: dict[str, Any], true else: print("image is SYNTHETIC") case _: - evaluate(result, np.array([true_label])) # type: ignore + ground_truth = np.full(predictions.shape, true_label, dtype=int) + acc = float(np.mean(predictions == ground_truth)) + print(f"Accuracy: {acc:.2%}") - return result # type: ignore[return-value] + return result, predictions # type: ignore[return-value] -def training_run(vae_type: VAEModel, file_or_folder_path: Path | None = None) -> None: +def training_run(vae_type: VAEModel, file_or_folder_path: Path | None = None, compare: bool = False) -> None: """Train \n - # XGB00st\n + # xgb00OOst\n model using dataset at path.\n :param path: Dataset root folder.""" from datasets import Dataset @@ -101,6 +137,7 @@ def training_run(vae_type: VAEModel, file_or_folder_path: Path | None = None) -> features_dataset: Dataset = features(dataset, vae_type) train_result: TrainResult = grade(features_dataset) save_to_onnx(train_result) + save_models(train_result, compare) in_console(train_result, vae_type) on_graph(train_result) @@ -121,9 +158,10 @@ def main() -> None: "-m", "--model", choices=[m.value for m in VAEModel], - default=VAEModel.GLM_BF16.value, - help="Change the VAE model to use for training to a supported HuggingFace repo. Accuracy and memory use decrease from left to right", + default=negate_opt.default_vae, + help=f"Change the VAE model to use for training to a supported HuggingFace repo (default {negate_opt.default_vae}). Accuracy and memory use decrease from left to right", ) + check_parser = subparsers.add_parser( "check", help="Check whether an image at the provided path is synthetic or original.", @@ -132,7 +170,7 @@ def main() -> None: label_grp = check_parser.add_mutually_exclusive_group() label_grp.add_argument("-s", "--synthetic", action="store_const", const=1, dest="label", help="Mark image as synthetic (label = 1) for evaluation.") label_grp.add_argument("-g", "--genuine", action="store_const", const=0, dest="label", help="Mark image as genuine (label = 0) for evaluation.") - + subparsers.add_parser("compare", help="Run extraction and training using all possible VAE.") args = parser.parse_args(argv[1:]) match args.cmd: @@ -157,7 +195,11 @@ def main() -> None: with open(results_file_path) as result_metadata: train_metadata = json.load(result_metadata) vae_type = VAEModel(train_metadata["vae_type"]) - predict(Path(args.path), vae_type=vae_type, metadata=train_metadata, true_label=args.label) + predict(Path(args.path), vae_type=vae_type, true_label=args.label) + case "compare": + for model in VAEModel: + _regenerate = generate_datestamp_path("test") + training_run(vae_type=VAEModel(model.value), compare=True) case _: raise NotImplementedError diff --git a/negate/ae.py b/negate/ae.py deleted file mode 100644 index a05cc43..0000000 --- a/negate/ae.py +++ /dev/null @@ -1,285 +0,0 @@ -# Take from FLUX - -# changes -# + head dim, num_heads -# ~ 64 ch -# ~ forward std dev fixed 0.1 -# ~ b (h d) x y -> b h (x y) d -# - middle block processing hs and append -# - upscale -# - scale.shift - -import math - -import torch -import torch.nn.functional as F - -from einops import rearrange -from torch import Tensor, nn -from safetensors.torch import load_file - - -def swish(x: Tensor) -> Tensor: - return x * torch.sigmoid(x) - - -class AttnBlock(nn.Module): - def __init__(self, in_channels: int): - super().__init__() - self.in_channels = in_channels - - self.head_dim = 64 - self.num_heads = in_channels // self.head_dim - self.norm = nn.GroupNorm(num_groups=32, num_channels=in_channels, eps=1e-6, affine=True) - self.qkv = nn.Conv2d(in_channels, in_channels * 3, kernel_size=1, bias=False) - self.proj_out = nn.Conv2d(in_channels, in_channels, kernel_size=1, bias=False) - nn.init.normal_(self.proj_out.weight, std=0.2 / math.sqrt(in_channels)) - - def attention(self, h_: Tensor) -> Tensor: - h_ = self.norm(h_) - qkv = self.qkv(h_) - q, k, v = qkv.chunk(3, dim=1) - b, c, h, w = q.shape - q = rearrange(q, "b (h d) x y -> b h (x y) d", h=self.num_heads, d=self.head_dim) - k = rearrange(k, "b (h d) x y -> b h (x y) d", h=self.num_heads, d=self.head_dim) - v = rearrange(v, "b (h d) x y -> b h (x y) d", h=self.num_heads, d=self.head_dim) - h_ = F.scaled_dot_product_attention(q, k, v) - h_ = rearrange(h_, "b h (x y) d -> b (h d) x y", x=h, y=w) - return h_ - - def forward(self, x: Tensor) -> Tensor: - return x + self.proj_out(self.attention(x)) - - -class ResnetBlock(nn.Module): - def __init__(self, in_channels: int, out_channels: int): - super().__init__() - self.in_channels = in_channels - out_channels = in_channels if out_channels is None else out_channels - self.out_channels = out_channels - self.norm1 = nn.GroupNorm(num_groups=32, num_channels=in_channels, eps=1e-6, affine=True) - self.conv1 = nn.Conv2d(in_channels, out_channels, kernel_size=3, stride=1, padding=1) - self.norm2 = nn.GroupNorm(num_groups=32, num_channels=out_channels, eps=1e-6, affine=True) - self.conv2 = nn.Conv2d(out_channels, out_channels, kernel_size=3, stride=1, padding=1) - if self.in_channels != self.out_channels: - self.nin_shortcut = nn.Conv2d(in_channels, out_channels, kernel_size=1, stride=1, padding=0) - - def forward(self, x): - h = x - h = self.norm1(h) - h = swish(h) - h = self.conv1(h) - h = self.norm2(h) - h = swish(h) - h = self.conv2(h) - if self.in_channels != self.out_channels: - x = self.nin_shortcut(x) - return x + h - - -class Downsample(nn.Module): - def __init__(self, in_channels: int): - super().__init__() - self.conv = nn.Conv2d(in_channels, in_channels, kernel_size=3, stride=2, padding=0) - - def forward(self, x: Tensor): - pad = (0, 1, 0, 1) - x = nn.functional.pad(x, pad, mode="constant", value=0) - x = self.conv(x) - return x - - -class Upsample(nn.Module): - def __init__(self, in_channels: int): - super().__init__() - self.conv = nn.Conv2d(in_channels, in_channels, kernel_size=3, stride=1, padding=1) - - def forward(self, x: Tensor): - x = nn.functional.interpolate(x, scale_factor=2.0, mode="nearest") - x = self.conv(x) - return x - - -class Encoder(nn.Module): - def __init__( - self, - resolution: int, - in_channels: int, - ch: int, - ch_mult: list[int], - num_res_blocks: int, - z_channels: int, - ): - super().__init__() - self.ch = ch - self.num_resolutions = len(ch_mult) - self.num_res_blocks = num_res_blocks - self.resolution = resolution - self.in_channels = in_channels - self.conv_in = nn.Conv2d(in_channels, self.ch, kernel_size=3, stride=1, padding=1) - curr_res = resolution - in_ch_mult = (1,) + tuple(ch_mult) - self.in_ch_mult = in_ch_mult - self.down = nn.ModuleList() - block_in = self.ch - for i_level in range(self.num_resolutions): - block = nn.ModuleList() - attn = nn.ModuleList() - block_in = ch * in_ch_mult[i_level] - block_out = ch * ch_mult[i_level] - for _ in range(self.num_res_blocks): - block.append(ResnetBlock(in_channels=block_in, out_channels=block_out)) - block_in = block_out - down = nn.Module() - down.block = block - down.attn = attn - if i_level != self.num_resolutions - 1: - down.downsample = Downsample(block_in) - curr_res = curr_res // 2 - self.down.append(down) - self.mid = nn.Module() - self.mid.block_1 = ResnetBlock(in_channels=block_in, out_channels=block_in) - self.mid.attn_1 = AttnBlock(block_in) - self.mid.block_2 = ResnetBlock(in_channels=block_in, out_channels=block_in) - self.norm_out = nn.GroupNorm(num_groups=32, num_channels=block_in, eps=1e-6, affine=True) - self.conv_out = nn.Conv2d(block_in, z_channels, kernel_size=3, stride=1, padding=1) - - def forward(self, x: Tensor) -> Tensor: - h = self.conv_in(x) - for i_level in range(self.num_resolutions): - for i_block in range(self.num_res_blocks): - h = self.down[i_level].block[i_block](h) - if len(self.down[i_level].attn) > 0: - h = self.down[i_level].attn[i_block](h) - if i_level != self.num_resolutions - 1: - h = self.down[i_level].downsample(h) - h = self.mid.block_1(h) - h = self.mid.attn_1(h) - h = self.mid.block_2(h) - h = self.norm_out(h) - h = swish(h) - h = self.conv_out(h) - return h - - -class Decoder(nn.Module): - def __init__( - self, - ch: int, - out_ch: int, - ch_mult: list[int], - num_res_blocks: int, - in_channels: int, - resolution: int, - z_channels: int, - ): - super().__init__() - self.ch = ch - self.num_resolutions = len(ch_mult) - self.num_res_blocks = num_res_blocks - self.resolution = resolution - self.in_channels = in_channels - self.ffactor = 2 ** (self.num_resolutions - 1) - block_in = ch * ch_mult[self.num_resolutions - 1] - curr_res = resolution // 2 ** (self.num_resolutions - 1) - self.z_shape = (1, z_channels, curr_res, curr_res) - self.conv_in = nn.Conv2d(z_channels, block_in, kernel_size=3, stride=1, padding=1) - self.mid = nn.Module() - self.mid.block_1 = ResnetBlock(in_channels=block_in, out_channels=block_in) - self.mid.attn_1 = AttnBlock(block_in) - self.mid.block_2 = ResnetBlock(in_channels=block_in, out_channels=block_in) - self.up = nn.ModuleList() - for i_level in reversed(range(self.num_resolutions)): - block = nn.ModuleList() - attn = nn.ModuleList() - block_out = ch * ch_mult[i_level] - for _ in range(self.num_res_blocks + 1): - block.append(ResnetBlock(in_channels=block_in, out_channels=block_out)) - block_in = block_out - up = nn.Module() - up.block = block - up.attn = attn - if i_level != 0: - up.upsample = Upsample(block_in) - curr_res = curr_res * 2 - self.up.insert(0, up) - self.norm_out = nn.GroupNorm(num_groups=32, num_channels=block_in, eps=1e-6, affine=True) - self.conv_out = nn.Conv2d(block_in, out_ch, kernel_size=3, stride=1, padding=1) - - def forward(self, z: Tensor) -> Tensor: - h = self.conv_in(z) - h = self.mid.block_1(h) - h = self.mid.attn_1(h) - h = self.mid.block_2(h) - for i_level in reversed(range(self.num_resolutions)): - for i_block in range(self.num_res_blocks + 1): - h = self.up[i_level].block[i_block](h) - if len(self.up[i_level].attn) > 0: - h = self.up[i_level].attn[i_block](h) - if i_level != 0: - h = self.up[i_level].upsample(h) - h = self.norm_out(h) - h = swish(h) - h = self.conv_out(h) - return h - - -class DiagonalGaussian(nn.Module): - def __init__(self, sample: bool = True, chunk_dim: int = 1): - super().__init__() - self.sample = sample - self.chunk_dim = chunk_dim - - def forward(self, z: Tensor) -> Tensor: - mean = z - if self.sample: - std = 0.1 - return mean * (1 + std * torch.randn_like(mean)) - else: - return mean - - -class VAE(nn.Module): - def __init__(self, resolution, in_channels, ch, out_ch, ch_mult, num_res_blocks, z_channels): - super().__init__() - self.encoder = Encoder( - resolution=resolution, - in_channels=in_channels, - ch=ch, - ch_mult=ch_mult, - num_res_blocks=num_res_blocks, - z_channels=z_channels, - ) - self.decoder = Decoder( - resolution=resolution, - in_channels=in_channels, - ch=ch, - out_ch=out_ch, - ch_mult=ch_mult, - num_res_blocks=num_res_blocks, - z_channels=z_channels, - ) - self.reg = DiagonalGaussian() - - def forward(self, x: Tensor) -> Tensor: - z = self.encoder(x) - z_s = self.reg(z) - decz = self.decoder(z_s) - return decz, z - - -if __name__ == "__main__": - vae = VAE( - resolution=256, - in_channels=3, - ch=64, - out_ch=3, - ch_mult=[1, 2, 4, 4], - num_res_blocks=2, - z_channels=16, - ) - device = "cuda" if torch.cuda.is_available() else "mps" if torch.mps.is_available() else "cpu" - vae.eval().to(device) - x = torch.randn(1, 3, 256, 256).to(device) - decz, z = vae(x) - print(decz.shape, z.shape) diff --git a/negate/config.py b/negate/config.py new file mode 100644 index 0000000..7d9c4f1 --- /dev/null +++ b/negate/config.py @@ -0,0 +1,52 @@ +from typing import NamedTuple + + +class NegateConfig(NamedTuple): + """YAML config values.\n + :param patch_size: Patch width for residuals.\n + :param top_k: Number of patches.\n + :param vae_tiling: Enable tiling.\n + :param vae_slicing: Enable slicing.\n + :param use_onnx: Use ONNX for inference.\n + :param use_gpu: Use GPU if available.\n + :return: Config instance.""" # noqa: D401 + + batch_size: int + cache_features: bool + default_vae: str + dtype: str + n_components: float + num_boost_round: int + patch_size: int + top_k: int + use_onnx: bool + vae_slicing: bool + vae_tiling: bool + early_stopping_rounds: int + colsample_bytree: float + eval_metric: list + learning_rate: float + max_depth: int + objective: str + subsample: float + scale_pos_weight: float | None + seed: int + + +def load_config_options() -> NegateConfig: + """Load YAML configuration options.\n + :return: Config dict.""" + + from pathlib import Path + + import yaml + + config_path = Path(__file__).parent.parent / "config" / "config.yaml" + with open(config_path, "r") as config_file: + data = yaml.safe_load(config_file) + train_cfg = data.pop("train", {}) + data.update(train_cfg) + return NegateConfig(**data) + + +negate_options = load_config_options() diff --git a/negate/datasets.py b/negate/datasets.py index 86a3be8..ca9f0ab 100644 --- a/negate/datasets.py +++ b/negate/datasets.py @@ -3,7 +3,6 @@ from pathlib import Path -import numpy as np from datasets import Dataset, Image, concatenate_datasets, load_dataset @@ -91,19 +90,3 @@ def build_datasets(input_folder: Path | None = None) -> Dataset: dataset = concatenate_datasets([slice_dataset, rnd_synthetic_dataset, original_dataset]) return dataset - - -def dataset_to_nparray(dataset: Dataset, column_names: list[str] | None = None) -> np.ndarray: - """Convert Dataset to ndarray.\n - :param dataset: HuggingFace Dataset of images. - :param columns: Columns to keep. If None all columns are used. - :return: Array of shape (n_samples, n_features) or (n_samples,) if a single column.""" - - if column_names is None: - column_names = dataset.column_names - - data = {name: dataset[name] for name in column_names} - - if len(column_names) == 1: - return np.array(data[column_names[0]]) - return np.vstack([np.array(data[name]) for name in column_names]).T diff --git a/negate/extract.py b/negate/extract.py index 7b5c72f..49622b3 100644 --- a/negate/extract.py +++ b/negate/extract.py @@ -1,24 +1,26 @@ # SPDX-License-Identifier: MPL-2.0 AND LicenseRef-Commons-Clause-License-Condition-1.0 # -from enum import Enum from dataclasses import dataclass +from enum import Enum +from pathlib import Path + from datasets import Dataset from PIL.Image import Image +from negate.config import negate_options as negate_opt + class VAEModel(str, Enum): """Choose the name and size of the VAE model to use for extraction.""" SANA_FP32 = "exdysa/dc-ae-f32c32-sana-1.1-diffusers" - SANA_FP16 = "exdysa/dc-ae-f32c32-sana-1.1-diffusers" - AURAEQUI_BF16 = "exdysa/AuraEquiVAE-SAFETENSORS" - GLM_BF16 = "zai-org/GLM-Image" - FLUX2_FP32 = "black-forest-labs/FLUX.2-dev" - FLUX2_FP16 = "black-forest-labs/FLUX.2-klein-4B" - FLUX1_FP32 = "Tongyi-MAI/Z-Image" - FLUX1_FP16 = "Freepik/F-Lite-Texture" - MITSUA_FP16 = "exdysa/mitsua-vae-SAFETENSORS" + SANA_FP16 = "exdysa/dc-ae-f32c32-sana-1.1-diffusers" # dc_ae 'accuracy': 0.8235294117647058, + FLUX2_FP32 = "black-forest-labs/FLUX.2-dev" # f2 dev 'accuracy': 0.9313725490196079, + FLUX2_FP16 = "black-forest-labs/FLUX.2-klein-4B" # f2 klein 'accuracy': 0.9215686274509803, + FLUX1_FP32 = "Tongyi-MAI/Z-Image" # zimage 'accuracy': 0.9411764705882353, + FLUX1_FP16 = "Freepik/F-Lite-Texture" # flite 'accuracy': 0.9509803921568627, + MITSUA_FP16 = "exdysa/mitsua-vae-SAFETENSORS" # mitsua 'accuracy': 0.9509803921568627, @dataclass @@ -29,8 +31,6 @@ class VAEInfo: MODEL_MAP = { VAEModel.MITSUA_FP16: VAEInfo(VAEModel.MITSUA_FP16, "autoencoders.autoencoder_kl.AutoencoderKL"), - VAEModel.AURAEQUI_BF16: VAEInfo(VAEModel.AURAEQUI_BF16, "ae.VAE"), - VAEModel.GLM_BF16: VAEInfo(VAEModel.GLM_BF16, "autoencoders.autoencoder_kl.AutoencoderKL"), VAEModel.FLUX1_FP32: VAEInfo(VAEModel.FLUX1_FP32, "autoencoders.autoencoder_kl.AutoencoderKL"), VAEModel.FLUX1_FP16: VAEInfo(VAEModel.FLUX1_FP16, "autoencoders.autoencoder_kl.AutoencoderKL"), VAEModel.FLUX2_FP32: VAEInfo(VAEModel.FLUX2_FP32, "autoencoders.autoencoder_kl_flux2.AutoencoderKLFlux2"), @@ -66,50 +66,37 @@ def __init__(self, vae_type: VAEModel, device: DeviceName, dtype: torch.dtype) - :param device: Target device. :param dtype: Data type for tensors.""" - from diffusers.models.autoencoders.vae import AutoencoderMixin - from negate import Residual, ae # `B̴̨̒e̷w̷͇̃ȁ̵͈r̸͔͛ę̵͂ ̷̫̚t̵̻̐h̶̜͒ȩ̸̋ ̵̪̄ő̷̦ù̵̥r̷͇̂o̷̫͑b̷̲͒ò̷̫r̴̢͒ô̵͍s̵̩̈́` #type: ignore + from negate import Residual # `B̴̨̒e̷w̷͇̃ȁ̵͈r̸͔͛ę̵͂ ̷̫̚t̵̻̐h̶̜͒ȩ̸̋ ̵̪̄ő̷̦ù̵̥r̷͇̂o̷̫͑b̷̲͒ò̷̫r̴̢͒ô̵͍s̵̩̈́` #type: ignore + self.residual_transform = Residual(patch_size=negate_opt.patch_size, top_k=negate_opt.top_k) self.device = device.value self.dtype = dtype self.model: VAEInfo = MODEL_MAP[vae_type] - self.vae: AutoencoderMixin | ae.VAE | None = None - self.residual_transform = Residual() - if self.vae is None: + if not hasattr(self, "vae"): self.create_vae() - def aura_equi_vae(self, vae_path: str): - """Processing specifically for AuraEquiVAE - :param vae_path: The path to the VAE model directory""" - import os - from negate.ae import VAE - from safetensors.torch import load_file - - vae = VAE(resolution=256, in_channels=3, ch=256, out_ch=3, ch_mult=[1, 2, 4, 4], num_res_blocks=2, z_channels=16).to(self.device).bfloat16() - vae_file = os.path.join(vae_path, "vae_epoch_3_step_49501_bf16.safetensors") - state_dict = load_file(vae_file) - vae.load_state_dict(state_dict) - return vae - def create_vae(self): """Download and load the VAE from the model repo.""" import os from diffusers.models import autoencoders - from huggingface_hub.errors import LocalEntryNotFoundError from huggingface_hub import snapshot_download + from huggingface_hub.errors import LocalEntryNotFoundError + + if negate_opt.vae_tiling: + self.vae.enable_tiling() + if negate_opt.vae_slicing: + self.vae.enable_slicing() autoencoder_cls = getattr(autoencoders, self.model.module.split(".")[-1], None) try: - vae_model = autoencoder_cls.from_pretrained(self.model.enum.value, torch_dtype=self.dtype, local_files_only=True).to(self.device) + vae_model = autoencoder_cls.from_pretrained(self.model.enum.value, torch_dtype=self.dtype, local_files_only=True).to(self.device) # type: ignore except (LocalEntryNotFoundError, OSError, AttributeError): print("Downloading model...") vae_path: str = snapshot_download(self.model.enum.value, allow_patterns=["vae/*"]) # type: ignore vae_path = os.path.join(vae_path, "vae") - if self.model.enum == VAEModel.AURAEQUI_BF16: - vae_model = self.aura_equi_vae(vae_path) - else: - vae_model = autoencoder_cls.from_pretrained(vae_path, torch_dtype=self.dtype, local_files_only=True).to(self.device) + vae_model = autoencoder_cls.from_pretrained(vae_path, torch_dtype=self.dtype, local_files_only=True).to(self.device) # type: ignore vae_model.eval() self.vae = vae_model @@ -128,17 +115,12 @@ def _extract_special(self, batch: "torch.Tensor", image: Image): :param img: Original PIL image. :return: NumPy mean latent.""" - from diffusers.models.autoencoders.vae import DiagonalGaussianDistribution import torch + from diffusers.models.autoencoders.vae import DiagonalGaussianDistribution from torch import Tensor - if self.model.enum == VAEModel.AURAEQUI_BF16: - latent: Tensor = self.vae.encoder(batch) - latent = latent.clamp(-8.0, 8.0) - mean = torch.mean(latent, dim=0).cpu().float() - else: - latent: Tensor = self.vae.encode(batch) # type: ignore - mean = torch.mean(latent.latent, dim=0).cpu().float() # type: ignore + latent: Tensor = self.vae.encode(batch) # type: ignore + mean = torch.mean(latent.latent, dim=0).cpu().float() # type: ignore logvar = torch.zeros_like(mean).cpu().float() params = torch.cat([mean, logvar], dim=1) @@ -160,13 +142,13 @@ def batch_extract(self, dataset: Dataset): for image in dataset["image"]: rgb = image.convert("RGB") col = self.transform(rgb) - for patches in self.residual_transform.crop_select(image, size=768, top_k=1): + for patches in self.residual_transform.crop_select(image): patch_stack.append(self.transform(patches.convert("RGB"))) batch = torch.stack([col, *patch_stack]).to(self.device, self.dtype) with torch.no_grad(): match self.model.enum: - case VAEModel.SANA_FP32 | VAEModel.SANA_FP16 | VAEModel.AURAEQUI_BF16: + case VAEModel.SANA_FP32 | VAEModel.SANA_FP16: mean_latent = self._extract_special(batch, image) case _: mean_latent = self._extract_generic(batch) @@ -198,6 +180,30 @@ def __exit__(self, exc_type, exc, tb) -> None: self.cleanup() +def feature_cache(dataset: Dataset, vae_type: VAEModel) -> Path: + """Generate cache filename based on dataset fingerprint and VAE model.\n + Dataset fingerprint automatically changes when data changes. + + :param dataset: The incoming dataset to be processed. + :param vae_type: The VAE model typeselectedfor feature extraction. + :returns: Location to cache results of feature extraction""" + + import hashlib + + cache_dir = Path(".cache/features") # was here + cache_dir.mkdir(parents=True, exist_ok=True) + + dataset_hash = dataset._fingerprint if hasattr(dataset, "_fingerprint") else hashlib.md5(str(dataset).encode()).hexdigest()[:8] + vae_name = vae_type.value.split("/")[-1].replace("-", "_") + cache_file = cache_dir / f"features_{vae_name}_{dataset_hash}.arrow" + + if cache_file.exists(): + print(f"Using cached features from {cache_file}") + else: + print(f"Extracting features (will cache to {cache_file})") + return cache_file + + def features(dataset: Dataset, vae_type: VAEModel) -> Dataset: """Generate a feature dataset from images.\n :param dataset: Dataset containing images. @@ -207,17 +213,23 @@ def features(dataset: Dataset, vae_type: VAEModel) -> Dataset: import torch device = DeviceName.CUDA if torch.cuda.is_available() else DeviceName.MPS if torch.mps.is_available() else DeviceName.CPU - dtype = torch.bfloat16 - # was here + dtype = getattr(torch, negate_opt.dtype) + kwargs = {} + match negate_opt: + case opt if opt.batch_size > 0: + kwargs.setdefault("batch_size", opt.batch_size) + case opt if opt.cache_features: + cache_file_name = str(feature_cache(dataset, vae_type)) + kwargs.setdefault("cache_file_name", cache_file_name) with FeatureExtractor(vae_type, device, dtype) as extractor: features_dataset = dataset.map( extractor.batch_extract, - batched=True, - batch_size=4, + batched=negate_opt.batch_size > 0, remove_columns=["image"], desc="Extracting features...", + **kwargs, ) features_dataset.set_format(type="numpy", columns=["features", "label"]) diff --git a/negate/residuals.py b/negate/residuals.py index 726005d..55878f0 100644 --- a/negate/residuals.py +++ b/negate/residuals.py @@ -9,12 +9,14 @@ class Residual: - def __init__(self, dtype: np.typing.DTypeLike = np.float32): + def __init__(self, top_k: int, patch_size: int = 512, dtype: np.typing.DTypeLike = np.float32) -> None: """Initialize residual class for residual image processing.\n :param dtype: dtype for internal numpy conversion. return: None.""" self.dtype = dtype + self.top_k = top_k + self.patch_size = patch_size def __call__(self, image: Image) -> Image: """Create a 3-channel residual from a grayscale image.\n @@ -128,7 +130,7 @@ def image_from_fourier(self, masked_spectrum: NDArray, fourier_shift: NDArray, m return fromarray(reconstructed_uint8, mode="L").convert("RGB") - def mask_patches(self, numeric_image: NDArray, size: int): + def mask_patches(self, numeric_image: NDArray): """Crop patches and compute freq divergence.\n :return: List of (divergence, patch Image). :param numeric_image: Image converted into an array. @@ -137,17 +139,17 @@ def mask_patches(self, numeric_image: NDArray, size: int): from PIL.Image import fromarray metrics: list[tuple[float, Image]] = [] - + patch_size = self.patch_size h, w = numeric_image.shape - nx = (w + size - 1) // size - ny = (h + size - 1) // size + nx = (w + patch_size - 1) // patch_size + ny = (h + patch_size - 1) // patch_size for iy in range(ny): for ix in range(nx): - x0 = ix * size - y0 = iy * size - patch_arr = numeric_image[y0 : y0 + size, x0 : x0 + size] - if patch_arr.shape != (size, size): - pad = np.zeros((size, size), dtype=self.dtype) + x0 = ix * patch_size + y0 = iy * patch_size + patch_arr = numeric_image[y0 : y0 + patch_size, x0 : x0 + patch_size] + if patch_arr.shape != (patch_size, patch_size): + pad = np.zeros((patch_size, patch_size), dtype=self.dtype) pad[: patch_arr.shape[0], : patch_arr.shape[1]] = patch_arr patch_arr = pad @@ -163,12 +165,7 @@ def mask_patches(self, numeric_image: NDArray, size: int): metrics.append((div, patch_img)) return metrics - def crop_select( - self, - image: Image, - size: int, - top_k: int = 5, - ) -> list[Image]: + def crop_select(self, image: Image) -> list[Image]: """Crop image into patches, compute freq-divergence, return most extreme patches.\n :param image: PIL image to process. :param size: Patch dimension. @@ -179,11 +176,12 @@ def crop_select( gray = image.convert("L") numeric_image = np.array(gray, dtype=self.dtype) - metrics: list[tuple[float, Image]] = self.mask_patches(numeric_image, size=size) + metrics: list[tuple[float, Image]] = self.mask_patches(numeric_image) metrics.sort(key=lambda x: x[0], reverse=True) chosen: list[Image] = [] + top_k = self.top_k chosen.extend([p for _, p in metrics[:top_k]]) # high diverges chosen.extend([p for _, p in metrics[-top_k:]]) # low diverges diff --git a/negate/save.py b/negate/save.py index 2a2c54a..c31b93f 100644 --- a/negate/save.py +++ b/negate/save.py @@ -1,6 +1,9 @@ # SPDX-License-Identifier: MPL-2.0 AND LicenseRef-Commons-Clause-License-Condition-1.0 # +import shutil +from pathlib import Path + from negate import TrainResult, generate_datestamp_path, model_path @@ -20,27 +23,34 @@ def save_metadata(train_result: TrainResult, file_name: str = "negate") -> str: return metadata_file_name -def save_model(train_result: TrainResult, file_name: str = "negate") -> None: +def save_models(train_result: TrainResult, compare: bool, file_name: str = "negate") -> None: """Persist a trained model and its PCA transformer.\n :param train_result: Training output containing model, PCA and metadata. :param file_name: Base name for the files written to the *models* folder. :return: None""" + import pickle from sklearn.decomposition import PCA from xgboost import Booster + datestamp_path = generate_datestamp_path(file_name) + model: Booster = train_result.model pca: PCA = train_result.pca - - pca_file_name = generate_datestamp_path(f"{file_name}_pca.pkl") + pca_file_name = datestamp_path + "_pca.pkl" with open(pca_file_name, "wb") as f: pickle.dump(pca, f) - negate_xgb_file_name = generate_datestamp_path(f"{file_name}.json") + negate_xgb_file_name = datestamp_path + ".ubj" model.save_model(negate_xgb_file_name) metadata_file_name = save_metadata(train_result) + + if not compare: + for src in (negate_xgb_file_name, pca_file_name): + shutil.copy(src, model_path / Path(src).name) # type: ignore no overloads + print(f"Models saved to disk. {pca_file_name} {negate_xgb_file_name} {metadata_file_name}") @@ -49,15 +59,14 @@ def save_to_onnx(train_result: TrainResult, file_name: str = "negate"): :param train_result: Training output containing the XGBoost model. :param file_name: Base name for the ONNX file.""" - import shutil - from pathlib import Path - import onnx from skl2onnx import convert_sklearn from skl2onnx.common.data_types import FloatTensorType from negate.to_onnx import DataType, IOShape, ModelInputFormat, ONNXConverter + datestamp_path = generate_datestamp_path(file_name) + model = train_result.model num_features = train_result.feature_matrix.shape[1] pca = train_result.pca @@ -68,14 +77,14 @@ def save_to_onnx(train_result: TrainResult, file_name: str = "negate"): name="input", format=ModelInputFormat.FORMAT_NONE, # Used for TensorRT ) - negate_onnx_file_name = generate_datestamp_path(f"{file_name}.onnx") + negate_onnx_file_name = datestamp_path + ".onnx" onnx_model = ONNXConverter.from_xgboost(model, inputs=[input_shape], opset=12) onnx.save(onnx_model, negate_onnx_file_name) initial_pca_types = [("input", FloatTensorType([None, num_features]))] negate_pca_onnx_raw = convert_sklearn(pca, initial_types=initial_pca_types) negate_pca_onnx = ONNXConverter.optim_onnx(negate_pca_onnx_raw) # type: ignore[arg-type] - pca_file_name = generate_datestamp_path(f"{file_name}_pca.onnx") + pca_file_name = datestamp_path + "_pca.onnx" onnx.save(negate_pca_onnx, pca_file_name) metadata_file_name = save_metadata(train_result) diff --git a/negate/track.py b/negate/track.py index 0439a87..e550e7b 100644 --- a/negate/track.py +++ b/negate/track.py @@ -2,6 +2,7 @@ # from negate import TrainResult, VAEModel, get_time, generate_datestamp_path, model_path +import matplotlib.pyplot as plt def in_console(train_result: TrainResult, vae_type: VAEModel) -> None: @@ -78,11 +79,10 @@ def in_console(train_result: TrainResult, vae_type: VAEModel) -> None: def on_graph(train_result: TrainResult) -> None: """Save and show PCA variance plots for a trained model.\n :param train_result: Result object from training.""" - - import matplotlib.pyplot as plt import numpy as np from numpy.typing import NDArray from sklearn.metrics import confusion_matrix + import seaborn as sns X_train: NDArray = train_result.X_train X_train_pca = train_result.X_train_pca @@ -92,73 +92,69 @@ def on_graph(train_result: TrainResult) -> None: y_pred = (y_pred_proba > 0.5).astype(int) pca = train_result.pca - plt.figure(figsize=(10, 5)) - plt.subplot(1, 2, 1) - plt.plot(np.cumsum(pca.explained_variance_ratio_), color="aqua") - plt.xlabel("Number of Components") - plt.ylabel("Cumulative Explained Variance") - plt.title("PCA Explained Variance") - plt.grid(True) - - plt.subplot(1, 2, 2) - plt.bar(range(min(20, len(pca.explained_variance_ratio_))), pca.explained_variance_ratio_[:20], color="aqua") - plt.xlabel("Component") - plt.ylabel("Explained Variance Ratio") - plt.title("First 20 Components") - plt.tight_layout() - plt.savefig(generate_datestamp_path("score_explained_variance.png")) - plt.show() - - cm = confusion_matrix(train_result.y_test, y_pred) - fig, ax = plt.subplots() - cax = ax.imshow(cm, interpolation="nearest", cmap="Reds") - ax.set_xticks(np.arange(cm.shape[1])) - ax.set_yticks(np.arange(cm.shape[0])) - ax.set_xticklabels(["Real", "Synthetic"]) - ax.set_yticklabels(["Real", "Synthetic"]) - plt.setp(ax.get_xticklabels(), rotation=45, ha="right") + # Create a single figure with 6 subplots (2 rows × 3 columns) + fig, axes = plt.subplots(2, 3, figsize=(18, 12)) + ax_cum = axes[0, 0] + ax_bar = axes[0, 1] + ax_conf = axes[0, 2] + ax_orig = axes[1, 0] + ax_pca = axes[1, 1] + ax_heat = axes[1, 2] + + # 1. Cumulative explained variance + ax_cum.plot(np.cumsum(pca.explained_variance_ratio_), color="aqua") + ax_cum.set_xlabel("Number of Components") + ax_cum.set_ylabel("Cumulative Explained Variance") + ax_cum.set_title("PCA Explained Variance") + ax_cum.grid(True) + + # 2. First 20 components + ax_bar.bar( + range(min(20, len(pca.explained_variance_ratio_))), + pca.explained_variance_ratio_[:20], + color="aqua", + ) + ax_bar.set_xlabel("Component") + ax_bar.set_ylabel("Explained Variance Ratio") + ax_bar.set_title("First 20 Components") + # 3. Confusion matrix + cm = confusion_matrix(train_result.y_test, y_pred) + cax = ax_conf.imshow(cm, interpolation="nearest", cmap="Reds") + ax_conf.set_xticks(np.arange(cm.shape[1])) + ax_conf.set_yticks(np.arange(cm.shape[0])) + ax_conf.set_xticklabels(["Real", "Synthetic"]) + ax_conf.set_yticklabels(["Real", "Synthetic"]) + plt.setp(ax_conf.get_xticklabels(), rotation=45, ha="right") for i in range(cm.shape[0]): for j in range(cm.shape[1]): - ax.text(j, i, cm[i, j], ha="center", va="center", color="black") - - ax.set_xlabel("Predicted") - ax.set_ylabel("Actual") - ax.set_title("Confusion Matrix") - fig.colorbar(cax) - plt.savefig(generate_datestamp_path("score_confusion_matrix.png")) - plt.show() - - plt.figure(figsize=(10, 5)) - plt.subplot(1, 2, 1) - plt.scatter(X_train[:, 0], X_train[:, 1], c=y_plot, cmap="coolwarm", edgecolor="k") - plt.xlabel("Feature 1") - plt.ylabel("Feature 2") - plt.title("Original Data (First Two Features)") - plt.colorbar(label="Prediction") - - plt.subplot(1, 2, 2) - plt.scatter(X_train_pca[:, 0], X_train_pca[:, 1], c=y_plot, cmap="coolwarm", edgecolor="k") - plt.xlabel("Principal Component 1") - plt.ylabel("Principal Component 2") - plt.title("PCA Transformed Data") - plt.colorbar(label="Prediction") - plt.tight_layout() - plt.savefig(generate_datestamp_path("pca_transform_map.png")) - plt.show() - - import seaborn as sns - + ax_conf.text(j, i, cm[i, j], ha="center", va="center", color="black") + ax_conf.set_xlabel("Predicted") + ax_conf.set_ylabel("Actual") + ax_conf.set_title("Confusion Matrix") + fig.colorbar(cax, ax=ax_conf) + + # 4. Original data scatter + ax_orig.scatter(X_train[:, 0], X_train[:, 1], c=y_plot, cmap="coolwarm", edgecolor="k") + ax_orig.set_xlabel("Feature 1") + ax_orig.set_ylabel("Feature 2") + ax_orig.set_title("Original Data (First Two Features)") + # ax_orig.colorbar(label="Prediction") + + # 5. PCA transformed scatter + ax_pca.scatter(X_train_pca[:, 0], X_train_pca[:, 1], c=y_plot, cmap="coolwarm", edgecolor="k") + ax_pca.set_xlabel("Principal Component 1") + ax_pca.set_ylabel("Principal Component 2") + ax_pca.set_title("PCA Transformed Data") + # ax_pca.colorbar(label="Prediction") + + # 6. Correlation heatmap corr = np.corrcoef(X_train_pca, rowvar=False) upper_triangle_mask = np.triu(np.ones_like(corr, dtype=bool)) - - # Get actual min/max from the lower triangle (excluding diagonal) lower_triangle = corr[np.tril_indices_from(corr, k=-1)] vmin = lower_triangle.min() vmax = lower_triangle.max() - - figure, ax = plt.subplots(figsize=(12, 10)) cmap = sns.diverging_palette(20, 230, as_cmap=True) sns.heatmap( corr, @@ -170,8 +166,9 @@ def on_graph(train_result: TrainResult) -> None: square=True, linewidths=0.5, cbar_kws={"shrink": 0.5}, + ax=ax_heat, ) - ax.set_title(f"Feature Correlation Heatmap (PCA Components)\nRange: [{vmin:.3e}, {vmax:.3e}]") - plt.tight_layout() - figure.savefig(generate_datestamp_path("correlation_heatmap.png")) - plt.show() + ax_heat.set_title(f"Feature Correlation Heatmap (PCA Components)\nRange: [{vmin:.3e}, {vmax:.3e}]") + + plt.tight_layout(pad=0.5) + plt.savefig(generate_datestamp_path("combined_plots.png")) diff --git a/negate/train.py b/negate/train.py index 2c4fed1..30dac90 100644 --- a/negate/train.py +++ b/negate/train.py @@ -11,24 +11,31 @@ from sklearn.decomposition import PCA from xgboost import Booster +from negate.config import negate_options as negate_opt + get_time = lambda: datetime.now().strftime("%Y%m%d_%H%M%S") datestamped_folder = Path("models", get_time()) -generate_datestamp_path = lambda file_name: str(datestamped_folder / file_name) model_path = Path(__file__).parent.parent / "models" +def generate_datestamp_path(file_name) -> str: + datestamped_folder.mkdir(parents=True, exist_ok=True) + generated_path = str(datestamped_folder / file_name) + return generated_path + + @dataclass class TrainingParameters: """Container holding main model parameters""" - colsample_bytree: float = 0.8 - eval_metric: list = field(default_factory=lambda: ["logloss", "aucpr"]) - learning_rate: float = 0.1 - max_depth: int = 4 - objective: str = "binary:logistic" - scale_pos_weight: float | None = None - seed: int | None = None - subsample: float = 0.8 + seed: int = negate_opt.seed + colsample_bytree: float = negate_opt.colsample_bytree + eval_metric: list = field(default_factory=lambda: negate_opt.eval_metric) + learning_rate: float = negate_opt.learning_rate + max_depth: int = negate_opt.max_depth + objective: str = negate_opt.objective + scale_pos_weight: float | None = negate_opt.scale_pos_weight + subsample: float = negate_opt.subsample @dataclass @@ -41,7 +48,7 @@ class TrainResult: model: Booster num_features: int pca: PCA - scale_pos_weight: float + scale_pos_weight: float | None seed: int X_train_pca: NDArray X_train: NDArray @@ -58,26 +65,25 @@ def grade(features_dataset: Dataset) -> TrainResult: from numpy.random import default_rng from sklearn.model_selection import train_test_split - feature_matrix = np.array([sample["features"] for sample in features_dataset]).astype(np.float32) # type: ignore no overloads + feature_matrix = np.asarray([sample["features"] for sample in features_dataset], dtype=np.float32) # type: ignore labels = np.array([sample["label"] for sample in features_dataset]) # type: ignore no overloads rng = default_rng(1) random_state = lambda: int(np.round(rng.random() * 0xFFFFFFFF)) seed = random_state() - X_train, X_test, y_train, y_test = train_test_split(feature_matrix, labels, test_size=0.2, stratify=labels, random_state=seed) + params = TrainingParameters( + seed=seed, + ) + X_train, X_test, y_train, y_test = train_test_split(feature_matrix, labels, test_size=0.2, stratify=labels, random_state=params.seed) - pca: PCA = PCA(n_components=0.95, random_state=seed) # dimensionality .95 + pca: PCA = PCA(n_components=0.95, random_state=params.seed) # dimensionality .95 X_train_pca = pca.fit_transform(X_train) X_test_pca = pca.transform(X_test) - scale_pos_weight = np.sum(y_train == 0) / np.sum(y_train == 1) + params.scale_pos_weight = np.sum(y_train == 0) / np.sum(y_train == 1) d_matrix_train = xgb.DMatrix(X_train_pca, label=y_train) d_matrix_test = xgb.DMatrix(X_test_pca, label=y_test) - params = TrainingParameters( - scale_pos_weight=scale_pos_weight, - seed=seed, - ) training_parameters = asdict(params) evaluation_parameters = [(d_matrix_train, "train"), (d_matrix_test, "test")] evaluation_result = {} @@ -91,11 +97,11 @@ def grade(features_dataset: Dataset) -> TrainResult: pca=pca, d_matrix_test=d_matrix_test, # type: ignore model=model, - scale_pos_weight=scale_pos_weight, + scale_pos_weight=params.scale_pos_weight, X_train_pca=X_train_pca, y_test=y_test, # type: ignore labels=labels, feature_matrix=feature_matrix, - seed=seed, + seed=params.seed, num_features=model.num_features(), ) diff --git a/results/combined_plots.png b/results/combined_plots.png new file mode 100644 index 0000000000000000000000000000000000000000..9031ac1321b224a51c41c4b9cbedd1034698d5e3 GIT binary patch literal 304966 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�F>0=3B& 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 z

>^k9U%YZQ=TB5W0+MMZYyya@Up_q613WD6smjLkrS(XMCU(&GXxcr^o$T zyy)=023M?)$g$aZ+a+(|&|-H0(gsg>ayR1xP?IBgM$BoBqQppcZ+2^Hs{9D$@Q8F* z4v`ZL$Xp3J>D#~_3W-xzR;gk4U0TLZ3rOTL7at+_!h~Cs8M@VST`;Wq(}N{?IlGp* zT|20YgRX(-Y`66wk%F|M;u}z94hO;YuhG@IzO5;|X-O5-p}BIy+LaXFcv?&Awxkrz z_QnLBK`-G8x!Sv1p=CdrC(WUlYrrW{Y*PQghW+6L=lJ`vP-&DPQj%ur$xMce&d4tq zQ?8-&tuVHKc8^=AK!UIpzF2^!zRO=DNq9J=RKOJOXttf&!78E(sL`SBa+tm}8+O97 z19V~p(J*P+9Ya(4|F{d8>I_zdSaPnbAA&+qE!O61DcsacUpp^EbShQ!djtvzBd!19 zT?&$B68WLyty;<2zv?mglZE-r77Wi)g!4j=a%55s33)XQwB=H0Ry{>2rv5_tYg99p z)itjwwo%Um7Jjg97#Cf!A*=Fuo+I_cPvg+#Qyoy8O`JYeODhOAfMT_~i5>g(F979* zs0@yhHdgF#*0*BD%0Jl<~SXrA2j>b5!%h$F#z8WKGJORcod3pu){me1-UlSzHIGiwbb zr3KG^*P54(Qb^5h3_EU=)YSE(O7!%-NQfc1ecycA@82?0rBiV#2J?=A>PRW!>2k7u zTsmeL;2HJ|57!*)+6PQimKvRyUoYx3*{nSZ1*V7A6M{eupOmHTLVo=BxyLGC1tXmM zt{?g`!JXF-v2kHo?{$H8H@^vY4P}jDB0Fui*7XDF*)_0Pkj-E2TSAr3{%l~e)l(>j zm4B6|>n9-pjRy+!Purx<&dyH2H)OTic|YzA9=w3BFUs?YNb#uQ4p%~_!OvN6F6#DH zRnzRzTea7T4-E>?^}0W7dWmZMy9$*p13T$XpN@w!nG``OoVh}E(PSTu@4AN94hgVD zF3?m1%KvhIpb8%U4k;h}-vvVi>-KRFwtG4pPR`gAFF!vi0KPHU%>&(I+lT+?v%I^2%xJVoURIG*RaXW{|dJ#ai$=el@@y`{EpBrWv4_DqP(oS zMZWSrcl@yK2cn?SlGv3y+i?`LdprW~6~Au#&#uX01~5he_;joQ7I;3-tFAj#BDRGm z*jugOAxR|{J|RYGg+S>>g)FX7y)Tm5u{^)bM$)=@)=-3!En61MWy=%buqcdC@Y&+j zD9fn$&3^(DUioS4!+v#VjS~dZY5QPYX${$u#!hRb=We59{D+e9)}!PMw@k_hW2pB< zZ=(6zUbh(pzz=q>3{fr#aulCrd)!-ImS#A^!OTW`EWH^^NJh z3)`E@)z?@Lk=P8F>r7Fu0k9=q-pqLH+{mB?b>&=;2JKnmagwZhHu3Bt@2pt7=SD2R zpAPX82ptusGr6YHE7ZeaBJXgRl7*rO1#V)7@XC|NB zlgeqEA8ZgDkwviH??tR?@@}9H0iM&g=VccOWFkzl=ONV3nrD}MqZmE`v_1iD>UrmS5%r3zuf*u6&eZBD|G~yI8@=4EzLwFJiAxfk`Ggf$ zp|+CGia+^BQc$Af5D``2y)7*NUnB|xA8vN~k&5(nyK~Q-#ZqHC-)|WQ31)pYjAL#eRFnNLue$fr6 zE>?^Ebm!*a$jVkMcaO8!#AvEk8xu2nM>PP)A-Ta(F{^uGt zh8x9lBMMo6dRke$0b0J#b#iKQqS^xIDzotF|5o0Z_7J*&BQ5L;iXyCX zuiUXh3rFBY1c2DZ_@iqdAF+L=nX^#O0NZTxPX02D91s37fxKyCMc0na8iN_L92SKO zHk9xfvz*7JZw-yd@|r)sbVTqU{o(h514o(%P2~R#yA4#eJicyJZ8z3 zZ`YQM>B&kQk{cR7lfdN0JSK;J{0iRmjoB%&hSLiL<;UjJNVOWObD!3<>!GebxAyY8 zR;nnm>H#XB$vJP!zhL)${;FyocD2ha+P$A9QZEgZcy}1n6%3z*q4%^$S%@QU6r$q% zHg0*9(2?nFRn1w@0qD%o$_U=_X9QSl=l}tMU0_x*6Mt3~3OoXeQj3Er zm?VZu@ywPgA)m&3qK>8}*o8~Q`~3cCT$GOjhtxRVcE#vqwUTY>mDp$USGz%rsX-!^ z^y_RT0cbu3sAsW@)99`O!9@(KF#R$dt0=k&HC6pF<)C9sK)9g|$Bi&S2>;OijW&V5 zhx@^Q=bYGC7S;6Q~9&Hv@h9u{n-jO`de% z2OI}U2HCX?Cf&TF%74{u#G&ieijTrO=`6mS0M78AEM`i(>y~oh)XD%V9R|I6Ok8uE zP90TIF)sL~l%m<$2gS;IWOaQf2>&A)?P+RU=Hm^OB&xgA`+j2a>!Z&Nzf=ZRzyOx% zc7W{7rg^lxFoR3RcK$ZJh~2KkTjb(uy$)zOQ5iRfJD)gIZkZbbtr`nZ?;Lu)?1_#u zoN6{_RueZ&$551zZ|$z5s-kJ+&tQ40oeKkvgoY>HU0}|Z6UC1`SVCuAKA$&AM!3TY zdn*N>Q+F{FD7zb4SVqgmmF?P#JxT&r8Ew6b8=MnZf4M%XC(9)mImPO?7{T&yf38)$ z=-Ec%eCTpFi0?r+H;i|?2DT@vhKEKWDTdJi=)|>G15p^?x0d1>-biERJ5)i;m2U;cGjdi2>THh(4HGAw9v3tIg8&P-L&=|!s z#<59b^r&;$Zme3ocxai9^CG)VO6=)=3WPranlnhpf3Bn--h$qE)2C9_Vt1KdJK-rG zbn47H^8SC1lD__`tQ^NVw*$wcGY*aIND3jK>kgw|iW8HeaNG9t0=btH3|CC%N zK`lD{pc@>!(+`$E9k&IphcQHwi!60`XTp{vC7wj#oHOeZL|yLB)kn4G3(i<{Lu&JJ=)5+;t?~<44E`1ssR&roLFf2HKUIJ{$T`4Q6r)8HU!wO z+DNb?92$I#gye3DoF%>jrX#ZSdh2n>q-s zOo$z~EomRhwp50_9{Tx@b#Q`>v+iIowL;l8wp}86y z&i)e&s|@-~oqL&^+XiRhubl4wNWAPcK85>IdPid*tMA~(9nqh7!AW4gDPCx>#7pEYUpB$0NJtUB zj?vi`khr9a;qsA9zPx?+k}ZDRnkhZDZ>{Uw+dC||ZA(!F)iiIt40iK?i}Se?$E0^fwW)9r%IK`<%JLPCUq8b}(s7>R=MVC8!SRH9@Z;bwzR!)iNH*c;Z~O4X!8# z#f{y?y$L1qU<&RIzmcVN^bz+Ke(AWvLH^Y$(?=8$exhJ*$E~lwR5F9Ik7qI%f}-19 z`s*`5q?Ot5p;S1~qF+g>(5OEGf8b{xd$sSeR$kPAk|kBXkr4_Vi(=RLOJZ@dXgDsZ zuzb8!rG)go++D~m?eHLIt8X{{mo5XIyv@n>61-14$}~BWc>a# zBU)x@WeLDDB8hCAL{4Zu9~vEvfklk8^iwRp5LPnoHN&wPJq2}(Jsvl2=n+9C`yScOq+K$}78z>##i z(L}4Mj8_syL`;oga-nO#6*0!tDuS`s;HP@DdzlF0>C(UB2B8yxqGtypRk$b=Wiop- z9@?&}F>yy(Tl7G6E zC;hN+6I4o}*?z|e1N*l>PXxZfq|V65D9si2P(bZ$!kzM#>1=!i0ucg8qIp}<-+^%k z9Af}3VZXa02oNa2!iFI~HZ7Sr)@#kDew9dD5}b9}IlBnC%^SO8(mG}J;z+AH+Zkv* z{Wb_@6xE<1m5S(i?MaL?$)pn|Kdr}+HxT!0pW4k#AI3*tu4wYpUOZ`xj$+{NzOcCszjcgmkyJ{ zy*Im)QpVcSBmi*QAW%Kjf_ieW(o|WfZpWBOcIyZf(VMd7e{7|*PbZ~vl|>GP(D5z* z)LKk4&JKC?DsKcRzB2V0Wrh64!`tCB>O1}Vi{Pr#3Zi4Iqm7?9SzKxKcLUTbKIyhP z5sYSkR^-m*M>=CYVX{KE#8NTBZTI{SoW@po7Hcj=mo7&HFY(*$_YYAuqoC-5sl@HX zN(DORay{|(EY$!Ny5D8=m$b?KNkjJHeSFzt!(yKNyVvD&ReGJO#j2J9PK}I5twZ&5 zMcUTUKi)$u%BiGhSc*6U)b>==hTSY6(eD9;C+8cTYWLyzfJ14r*Ix`*6}5(A<)W0? zMsZ@#%DT;&y2O;}64f&{Dmq=(9MITL(cJ+TF=nI_rxOtj@^%E9-HBv8V=RW2nla}u?r3&i> z!QSp7AP$=ruLs4)GglO53i#^f>3yCis9tp^#+@3Eu9pBX!OzU_LlPZ9@kSpJFA^Shp}=v@ft!)OJimg4jpEd$#%Gms49JG}qnn8h*S*M8Yc#JAf_= zwo(+0nS62WV1f_?V&=UN<3r=Ky+j!6SLhAiRvuP>_b2l~+a=h*MR?6k+2`Vgd9vSRmJ%*`%WeMu(!L_=~q!2QWGW~-~prqSuGI{vg zmbYhJPS@^siV3&^6>5CPn-hfOO?dU!1{QO;Td>lIic(TiR(~lc7^~jD*o5PS!wXuI z7jWoQ4UR`FBq5f-$2<}l_h*aUa@OS7Vr*T4@dXkvHqbegtbkW-@){ zE-xbYGR%VM)!Yz7NQAbI&IZV^GHBX?-M+e%aGg^>h8AwY1xL2;lPMwH>^C$}TFW>c z3Sa;x15{ZYdjw?UiHgnqU*{!czESYxbb%&4z=9&6kU11!J|+Ve+4h&>4CNep2-&{G zH*ds%i#YTx=O@B!sMo6p3o&vEQQW~hq5Fz?UIba(j^*QBoA)9i22=X`N+L|gKJE){ zloA782+>TT*Fya8OW5WSVKB9?D*9kPlufrbSon87`MDDlBrp?2C`M&7J(YR!g{F4U&~lhdPyIhI{VUaLAcQ`1^FlL|tDzSi>9_hw z%8fSL?9I8;!s|-&R>mh>)mnPSTjRT)h?5ga7Vn?#+1mF#N8dxzgFlsXWLewY>TGuk z9`41=H(JvZa()dv@w}eUs4-P5X?bHWD%s0Xm^<*3FP(Ay++?4Zaau^6KOtSI7N23> zyfHk$$JZY6b+QhYf#Cy2%Q=&eBL4TZg%5=WWp6?|-Fz9upyln;xm=%k&-oJEy=NAu zyZ&@|f2yc_`{;7_*d}|NIC*zaymA3%)oCNOHj3Nsbn`NVMVD>-=oelBHHNGyVap!n zaFm|>!U)}Mx96w5t}5e9TH&$Scjd1w2y7Chcjs$2ESK&Q1^~Mx8n%ARfP;69%3Nl= zV$y;fYOzH%C?uHq_H?oja2jjAOkj>+wXf2|ms7hSK{V<5fMQ)on-01!0*7AHC`}>Q z@Z{ncUe9nSM$N+L?UDX1#s?j?o(}I2zM@EqO-tQsJwC4i&)g2E3jfYvQ7d+csEHGs z%0T@3#zv^Fs(1_G^OQ~u<;rW|RqnIxn5Gdf&D#(=JOzcHwLcB?R$0}y1jQ#pK0iW| zZ~>kDC9-`fe2sBdQe1AvUieA`0=u{RmhV_9I@ILZobYluK0`yQeD6ix86U4iQKjgk zUYc;Lh0kt*Z5f+rK}xk$n#UjBL|eO61cw0WjD|*-zKMfFD4POkGd08vOUZ(%GZJoN z^4jJyZdtfS9HuWREbM}xrXL8R1r&I)R++L)9kCLOt@vdA=0QS2#=T9Y4J-_TxmY6} zPiQhM>Ne{`vBFMBW1Frhm-vfD{ zF=uKB*b{cv$|CIr5uUDvrd6B>X^qNSYS*MijwRAouhOAh*mw5-Kt=f;2%7FFMl;; zT*H=~*N%`{YB0(4q6q@xr|mk~y{{Uv%6E>#72<=UrlxrBv1A% zN+2(E+>DQZ>roSg-9onuiHmYg42gbo%Y^?I#&UX{L6c>|r*NY!H$jmxI)VluZA$e^ zJ|-bTfJGo5%`BXa#$HgeAB`C{CyFpQ7#VNxgM@V-txEA~NsdoISqlk6<#54UPPE-J z@~_j)h%U!}01r#tzR0lsF09$%wLqkeT}ml_9M6D>sPTAcZw)BPwHKo8@zRW#Wr5ia z@t+1HgJTk9$)Rsn+{B-Wx+e-gxGlp-)l$d5amEL8c7yX_A>s7(n1>~wM<`+Gt^$q# z@``M$!D$1dIp(58>f~~-H$``(`IVuODSf4?(kdFilw0|Cz4i{(Z9NSK#P$-^O0v+u z^D08TXBqaZsCqMQPDt+$cJ$>HdRUpooJWWct$t8)QYerDr|v@Kw-gwQgXHsrdduH% z8OA02J}<7{>5}h1$}ZAmIyFFHZVcxe^{&?`B-V8P+o5&CrZ(1*t{FIns!vG<*I7H* z&m^G9wN;k~Iir+@ox74!A8?lLlu)(P{dK)ORVJ(7w3~6bTK3WWp)s?8R_A)3q8J(f> zVRdy@)s`TEqUh9@K}TuFL+Td`Ke<1|7EPI}w$hbz6z2F0?M7@Z7=F+cvrw5ZY^&Ms zG=J;(rM!LIv4}O*_f-}vUkjE%&CnYnW>}Ke6YyYLHs*?w5wW`CmmWQc|CvK=tppO*npNHkd$4g$2k&({cHnndIGz&An0EQF@OE z3;(GX4q1$GYi2&wwTqWRA86R#U=a;dYB-b8EppfjITi&2+I_Bk2~QSm<7540ODrOU zI}v_#!TRSo_f(qm-fejKh_9vH;3&cer-h|TyXKY_gZ@bYpl$Q$7RskJgC(PI#O3w* z8@GJj-5aVUb_ZPG>7mAeZMujHOrj|`onMdC4_CSDH|GDLI3`d36?xB&jA$9 z`vehR1Hq<{lM|baYCM{)h+Pevpq@45qgsOz)s2TozW1WbJP5uzN_izv&i|6jw1aTr ziS)nmq8BxSes>zr0@EVjIPbgjHgWJhL9Gi3j{(3Lf+8{pLU>w9RJUXhdG9Rrv(*d1 z1S%*b#AqU4ERD~T1C5No(p8=&&G~G^yp8kWwG}I*2k3$yXhg}|v#2ZnFvfIur^avZ zuC4j2n2qIr*~bN85u=(ja(=at_2vdYGM|U|1}Ida!|ZS@>bf8rEHS8ak>XW@z`ILk zs~Oc<^2fA%@>s;D~}nAKr;>$dD7y>`fa98GV)v@0*{8apw-cr^ef) zs@>G0P2!R{hJcwuzEQjR2z?eN?C?xh*jYoTnes_1l-Nt4GyuDGXITz%lT=8ETZ|+f ze+L7JNQg$bLl2wEtDG607!RSRM zjEZ+=`nH;$Abl>lww7*RgJzJK>zmJkwCVRR9doeB^uY7ROrVrNzV1d*_#UQbX|jI2 z5*7r$nq6&4DvSzNl5F5#tIfgUYvp#7G71rPrRVXRg$D}L@tnv0i*tBe7s0@u^iB3# zToO+E>h%iqb~ar>mGv-3+I43&TSu5J(q0?{G8DiV#iSqB?^RkivJDR|Jo4LcTlJ0}vFRavyX=YPMK1 zBb|z@A3!W%7|G#`RZEwK42@2zdgAwpZ-TV_t?ob|wAl+&9$DLmvenO*a_}$6j?Oqz z28T2|4$68W$Pig83`R|RR$|%iO#i#_x-k2Sf*iOaG-pgugwaE({Iie9qbz6C<&M|JELJ-HtTXSr_^}bqi!ncM&T2xw?u2GahZRjXLsn=976`ivgA#n{zAG-vq5BEshH&y8V3tZW_W z%*~wZqm_Zp3D6USVr6Azvz$E$uj84{-ka~>dl8A@=HpnL*#JFaD70;^X(aBA=Z5%8 zs*VbA&kDWGBeeYI`m*Z*jq7o8zeB`ce zT0<);P|SX3^kYUpJ)A3CWlK*DgRdx={6y3tKr^3`R7S#*uoz zr0(MCQX@XqF^KO5e%v2Qu6V~k1BJ8yP|3+h_4Ljr`#C{vMX6|YKcFzJ_>l*>LB~2I zzLqZ6^}dI4bNhXP$CMacYKx~Sp>jb?F4#mC1yjvFw?l#V>Wpl)Mg<4)cmA$zq+Sv~ zRVl$4zx}8o3%bfd&uaOmm>aWw^}vA`9`C_w!MU7M^YPh;tVF$-##AJ8S`ht%QF~1+vt3IJwY+;LTL`jiWGJFtpo!a`KV{m|{ zzdCT-DKP?hW+J&`NmKpD6@V;pofin4sY(Q(sx-@>8>NVS(I1jP1S!42ISClx4fIeU6TS&T{VWidW#&xZ3NOA^_kyw%27!9 zy||XurT5&6JT-3XpjHdkPXl-0K82?)nv;{T_TfM97>n0d3VY5dF8XCV52r8)*-6q6 z9~?5-4ZeB*O+GxR8q?#w%i$kXkd5ixFoI~GjjD2h#g3eT}X(5piFbDK@?B}Z0 zdL*A)oeW(B6+E_!g^*}b%%P?+hfo0miO8jKrDDL zLn@S7{FeQc&WgnH>+hUIoan+q3jD!^TpZiLq6NgAne)$Ce7^E3P}>Jv5hweu$dB@8 zbomB^Iyp23E%>oa|x;+shr*Ikl&eJOppKrg{So(Qa@g*ZL5bJ2Er3jH_zzzup zfp&+ojEU+yf>tx5$yyV+$O%ubWpv%H@7*q*s94!We;GxUghL3$-P0 zyBw-w@RG_@i;n?5cnXP_pxD?k%Y`o>{fg>trEEG6Nu<^)s<%n@G}QaSVoTbJ4jUTG zQmtza+(SJ&1<5Q}=i5)CoA@j56>2XooPJpUB?MS2VfIntOM{?;9X5tEZX){B4+Ezv z)LNbaJSkGY&cQXj=En~cq3>YfQBy8?W>;)H+i0z$UZ$3`Nu}*Fmi@O>b6XvXUzJCyFOOZjEe!l|j1uuQnF5}mR*87nUZ73#Y zRJouQ1hfVf*(22r(KtwFWcQ-G38|SdGW6d1|3PAClY)e#K3*TMNC55TLNjpXS^gFo z(`rC5H&i@{E5|4rzkf6{9x!kF3y2=A9ZuR)luvdF7brHS~3~ zWGf34PWSFh|Lc)f2bR`LESSZLS6w`i7d^!&3kdU755NnR-wy53<3a`pu^DfS3b&NC zU#4(iWjg?LZd!1O;OPzVx-89;olLMdTr@D$!GU!Tmy~OZ0aFy?ftbT!^`v;-P@XQ) zZ$B7iv?HK*^K-wYZ}0qp;Xs>tNjBc76GAp6+?VmCm`mQcSYi-&7hsveTgv-CccT_y z_%GCdSpz%pg)@<5aLqVe3|)+{QcWka@y#JPg z?~Q3WYt@xpF=w}a!yH&AI|dDL<>^AG$KgM~e`CWWj^Uv%Sb!L@q6yn z6TfBX826t2J5LOizh?FsYZNK;9YtE_;o`LX)5`NxsHK1E8Z_+p2(64$4v@)6V!Jq; zAxiAXj6x4ZHNMu-__PQ ziC9dkr7#pQC|U>BhLbEkcyvt^P|Q}ZbkPwzzvk+XhwU5_p%_I%bwBKi#~4_n;9Ar5 zLGbj6W~4+sFpW=23M!q)NBQ>`Ro-wy zWY~pBUZpMI=T%mAOZVbTj*1j74a6H=R)YV#&y4Jg$DpUY4Oa@#3oA7gTA0}M7y8zu zEcqvw>)o(X5*j8JR=VxT9=m0HT3lCo7&sY^LeCYp``(X|%>S9M*+W4>As7-Y!MkHN z{sndt8yWW4vRVAzgq{#zf*JChSb|8NDvqw{2m9Q-w*pw#)xU*}E|`&ioBz`I$H1KJ z>VHlV%Wec1^m5|6gF}!nBxpd@^Yu?NvyFa7L|*=DZM#`Tzg{io*A+LEc8%(#Y9(mM zn==*qIj|~D6}2cYY(I5a&J`aeg$kMlGuc)ta;hMJhAhB`rgh4}>W?jog z9bdeJe0Xef?lFIvcWZXv*9ASrHrxFm8&4(Z8@spuXaoD#@SLMm16|+eGC2hg)%zOo zO%~XtgnCQVBovtrOOA^T*tbg%Gs+=mXGMl?uJiYmlY(;KyI{Yj%v8>%{VI53W6#C| zX6fe{@_IqctNcHX@e;sIlCHWPsp`v54<@mdy-V#Qo-eJmSvI6DJpn#w5xDEwKRFt( zQkjjGbJ?F2&}^a&O?9NyAViKZXjhG3+ou^GpHF}I5`b{;S9)^-!l55Ax+64%r1+}! zy)SW|vObXw!`cRR`<;WnCT70onUYdPmU%h|qO-V5A#v=e!?n>AKGgyh+r#yWSXxF# zu1xBv>`_W~IHSkMT>`zh)KF=rfmh2I|G1L{PF%VMelHg_mxFj1_8F5l zLTHOI`_`N+&I8Qt9)B|j4sLOJCFYY>A${5JrpJ}XH$h%*NxP^rnXgRD#NYDW;wEg2 z_6&VzVNtfJ^YpdX;Lm$SNBa((e)6LWKfnKH$&5L3=VInRq4Aeo?l5qo4Vh<;=1u7$ zF2yav#nX*QN-mZ04SoWNuyT1=-AspnL%Vc3#U~14blVYepR3opKV5=v-wh37n@R6E z{wx$${`aC!I+h26%F3bGJEl_Tm4yWY&;l~upn;?^2<&{zen5a^=UHhb{{zw=@R5~z zN5fk@IIMcYVO2zVP6!i&DV3?ahE~^iw`=@uIO~0X! zD?I`G&*B+Dg;i}kQ#n0wH52&_UPmS@S>18SD*ZC5PgdD74;n&Q8g*Y?1ZRURfjc@1 z2(2zQ+G;#5lLiy$G<@|Jn5&|n9ypYmu2LgjzGg)I zy3ws3Xcz#zqtW1aW$GaMfd0M4o6;~1ZeOf)hTau zva29)-adEKto%PC!u~o~)AYNpJcj+LYWfN}E=TRy>6eUXy?C^t&qE@9*UNkU9)x7HKf)cU%lFnbR4|MS7uB(3aZ zwqlF=3lekKi4q@HHv5gtz-sSWZ>{q_2SO|+R~S&T8(!x4^3TQ!6r>2H@%WhGeIGPMVSF{m7b^U3 z!AWdpIE=46HRu)Zyk^Fo@tyaezl4!`)Cp(=Gst4Tv)dUb=Ti#>Zzg8N%j${>dVs*X znH=S-YI5BE-t5YVpw6)@D?|xgD8%2gYP}cLU;2GTUa=srR9ML0Btth%X20Htm|`Fe zCDf{*cvkx3Q1V#)!mGsfHzB)4P5Hxidk%gAPSKbLOFZU+l*nXihIy5{S{b}4lgjW4WJ;{O~?x3}`B(94^=;Y?If53BQ>YyMFU2muC4 zU4EH;?LmE2B)zgRnQPo)Ypc18&990F3%)E8w*SZ|UXx?3=djD@W;vGdZX1()$xdIt zIq-Yj`#i-+H`WXF57d35Tqs+HyL4HKRkil?E1`d-Mo*B_rRNbCK@Q$&e>u-@5kHd zBKnytU2vO$M(ZfUxTWQIe5P>YbYV7fza^v&7?c5Y$ESXt=Km|8m!tO3h^$ z{IV$7S-`F0Ys!)l(i~u=ihwYF#+1)+=i6vwI$U0XQtEK1Mb(VrEc_YNQF2bdOA14| zAk%V%FcbPJ$8YM7N$CAxL-atCuRozs`;5Y&JR&H(-l!5sTW(V`DO8k5T?`HKR4AY4#7EP4ufOY~^igMFd45qUc&tndpP?SB*&gU0_8(If z)4-=R{^W7-wK;VcwljjvUnA{n+t?ADPbetXP;lLld-{BC_rN(uCyW9*3dxQ8dRu+cMP+4CXew_%9_Qi_Q?}Z<%zr4(r>JBH0bLY_)twnFMy|n*sU=vK(MzrI z3oU4n$e93hnwU5pWJ9B^E>-9QV#|8(D8xs+3344nBO~3fL|ec<-DOrF@mdd%5a z)#}u}zq%iewcy1nNZ!!Sj_1{Zkc|x~ zAzSGfCD(8gZ7)jS?z2rkD*xuU2A-<#h*~%DQ9YF_TQ#Fm8nDiKN)oD!^M(Q}alh$T zcNWl!zl?$#Yru4$V5@f*1VX@Wq1szifmk|u;u^T$>S{`O@S!)2c>a9+yR{AsnLwmg zerWNX!f#x1M9cV~IAAD{jsU&$A75utI2rZDY)8>hx#)3gJ^_7qQyNI#qbADpUHM*p zhaL*Ak6cbS`TG~v)zy`DR@gi;X&pNPhi3dNm9XD33A+DtgvwF`o@?mm*}s1i(x2NH zGY=>;Kc~1%jPg;(MMs%!WxB4kYsmJ-3bRp!R901;0wy`z*KvflGCVK37{6~S)}`l@ z7$mLedFUE~0ETYPgasmF$RDV`Nmr8`h99}}-krqY_XHaa&QIKcMq~t9z_SC7&wAUM zSuQr;TT0{FH^WJy;BwFCu-G>+U<@opTppVUi)O!dei-1^g_L7zGa{9M=HdISC1fle zRho8(N=_h4AGP|Y$4296_k@nD)byLUd3|65_UcPk|?l8fc zCBmQQ)L56^%JdZ$Pci~VJlpk#Oa$~+4#g(Ug*u{yk7C~xmMPmt?~~7L78`5=2TN(# zHW}7v=HYchX>yU=dQac|1>0dfOETNjt?W1@w3|=Piu2C zIqLwSg&LeilO|MA8Gjz$mD}r|9V+Uirt&hUU_-xt*tGIXCyNB`WOO87SB_4anFP7n z?Z@E~qVJKX$7^i%-HU@$4$C$N)r{J$JWvd(J49N3+-2OM$ooz4MZrQG7o6F0!Y%SZiZQCuo zWqawl_WwQadsE%leVyll&rxf=L>q<2gO;f+1hoZTmicqGQ*N9&8{}jrAh7@jiR{I2tY>uM}%}M zmHBRs zaBBp?$xU)z_zwBujk`=c4WURen<54ziG9@48xlxG-5_S}WVqWoS=z-jH+0Aj`kc&3 zwbiKDFcD!nACscH?X50g&{gTo&9w1yWBh0#@y~oqZ1bVuv1yhltj9s*R)5Q4%8e(%yeJe?OO`-n>6qF6C2ni(^2C z#gxK2e-WKhi`Iz`s@osNq@7k8`Fe3h>~5cU1mdlw1HfSl%mYj!2)z9<@gZvu6mfQo z;pihkYK3_BG8pc>mCQz&Ocb*aHVC{fFSOSY^koEHnznyAkCz-l70sTMj|=ykyW$(k zFo`4>5Cm->ebBCRq0tUgzut$(mgjT)u>vqAg8}ZU$XX2$bvKXQQv&8b7t6oFkoK+b z9xtad^pJvCSep-H)HD5KVGaO3eC*1#sKe93%-=7sn=98}Z>ISKa_D%d1(2ks@X5&nEk@@7 zw&SZLiYP38pMnzfSSfW1h_V;!jp8y=+~(K%r3~5u5TTM0w)EjqCY)I1zllonf!1auVD`yq*Wa@qv)mw5LFp%SJt)-mE^ms7?%!`wiL%mVgI> zjD-igNxO1+0_=(QH}(@#%*brsfWz}O>E@ZqS6sxeO=u0fa0_p)H+yo*295nKr?CIf z2kR|%1LaEXNM5z3*V^OEqi3tov9^))vH63*? zqaHt1wYdOzg$~TtdNfVjiwdGPsMeOq*4zSR!G$i}A)Lwchq6-3^nnRoRhNA2hYaK3 zONQMlXNo8FSoNGqa*BU>M9;pRbVkX?X4@Qd9E)R>YP@ob{4yTKRYj9M_RKZ z^-;7Iw{ESJHcHn{35@ltYc89AC*9N!IU~&qX>L`7dfh4I-aL8}(7jKVwrP=3uLxP! zZJ#PkE(*b_LKZ1lxf|~$3hR>R!0&C6(93Ln(0pp+`($%&^@fta~C zh7!Y7aqCQ@ylp@>0!~Vi&6x}zLS!+pV_~XcmTR>v^zZ~qW* zYS`b|S%baw-HcDb9RiKU3$N#?A0|drr6S-C3l&C0{l+iMr!EIO)C{Ls?R@Kxbu-873OnZ+qM z{53V(M66DOq87i1!Sk#PQ|rx_48Iy~YJrYT1&BQ2^VK25M4 zL4*^JHSUyeK9wH)D`2tI^rFrC#mW3#Mm=%C^WNR6Ik6DUd#UQ2`s?lUjmad9m<$ry zB*W&emM=;SL0V*QuMp>t0&_$a?_cfTWRa|eO&UKyRJy7b`7vt)0SF^TkiIK|{a96tpzWzb}SEiAW@Y_;`K z-t~xo%&{h|PsROj?~a9=8F+Yjq6X=!@iQ<&@i}e9+VIeKPdDL!`>IFV7_3(#(Z5|_ za;`Gjw!&PGbS>__cGz!436ip6q36ID3QRhOUBKYrm-BTle6W^3b@?PTS9o0CBN%iz zF|97j#U&)5o4;?4!}8cY@vIKZJUJRVps2FW@&upTSgy~y(A1dCWD9V+T@sM@OHtqv zphZYfXX+JR@aOe!5VF9t&|>~jNK-jxW6%0mPYhKj^f^4|$=qi(GTM!~b^U8k!LAdvJ9_C-8?{a| z|MC@&wk=q5qtHu!60LggknC@zf)nr+UaZN4dMf)IVq|#dsTYxus3QPE?C|*6(^Qji zM>ies&RM2q=c|HZ=j(^pN|z4|YXhrtmjt3W zt2qMjulr_+ARIJ&@oKTF_1GnHH#Q+JZoP-NSiu!c1K#Da|J$*C!UY|3QlddV9;4FHuK8rWtejiCJ^MkJ~NB^59~;4Wvr;EwQy(PoV{?M#{G-?<@FGa z`WsotmA@mzrB$_@)^#$;MGQ;HE3MxJY>ah!JQ4TM(029@gGtFlOb$ll#mx!kd8boZ z3RXNOsQ)W7gp2t;yeUDj$^Li-fMQJ`^OjkHh9ifSz|wzbI4y^1giU^=4cE*v@AD-kvcfke7wxgBNQ**_$|)Q#aYNR}1t)fSz6!W{8xL`0AI!S~4f*+cDxwl)J+e zgS~HE($^1nf%Zl5*R0g{b3feOU3m#AO>U0o0?~9beIAxHQa=amOV@vt%w2sM(jV-S zRZXk1Y?*EX%4L+xdGCOZ$}&+1tlpef-bO&gdqKc>2Q4yWRf`Se!V$L1SaFT79YDcJ4T5Qwaau5Mx~M<<-@g1$hK z;J*Wlo#^QQ1WAeWBuXhnk%giSd9tjNRKKKK5n~gRReKfz0YYGI$gJ6$X}mb<&&lN_ z7|cxebp?ClsL97w&!@RoFsnY})}RfSnKG);=YH(h`u%tzNHCg_&!?WxE~jLl83_A5 z-*>9qI}(n5?;NV0BPD3)szsy2nF@p6loW%SO zVb|I^$T%6nfaNXv!rAc&>EWdPt1|*Z*h|LhR2Cabpl~?+$fL)nL9Z7w=)F!mj#{nP z!U*Iu%O{w>&(@;i&v4jp5!h)r_wWDw&sF_y&f1jnP!gnlLI;gDIjFr%4F`m$MHj(z`HX z+w+!&y#tL%lf!Zjz!EY3y`LuvT_>@yHyl6##vv8oU+>#t$J{`@;Vqv0tnqmoxY^;> zU@p`?tt#wO-4C-Aweltr(T0qnC=uV~Y6g@6DB(ITHx@ZXExJjfs%} zkXD8{$y4o>V+x517Ef`}SHaZgqV2l7$S?{9)IJ)M{c5f_XOG#;Mk3+KY^0=MjEvtM z9IV1<5u?$kV(q6zZJ&*V)EW-+`z@3s7D66Q$zT5XB-@xUDp!CIwJHTjJF6Z-n z@Ou0zWBu1vB~w;M6EM*2bdRU8wrvCtpICTYXcbdA>egK;b&i7E2iWeRWwQW zf#zomB$1;<`>rOgD~=H*18q(fNKq?-+?R#+50(j%&ipJ~e2BJF5$O{Co6HtSK-FjO zW+q5chJe?*qPADJ@sOWLO->#@KWO4<%mVh;n-VN$2I2IXwg z6AaG|{oS@Mf~O)=c6Is?(SseRD}8oVJ#fx5&&ZhgP?br&G$C;OkL2e{7xe#h8^Vt3 zb-P)ClH=s5ErzR?oP(rvvDxMbAGs?gjn#KET5OGiDlmW(+F;$(dac+s=h_Re9%0O@ zF{iJ_b6*Qn91*@uRQ3?Mf@EJ+GzQ?|gB(WSfiQEj%nvv$!OzpuyvW>!+uI zG`5nR%kP<{3@6;v3lsR4AMd-Wc@Fx9#|0c=i0=?{%JKA6nZAC9Zxg-bz?|mKko{Tl zQ=ClHg<5rGtk5BhO64!)R4qUMV>;=A=P{Do+nfvG@~y@n3N9E4>w5-dr)X!%yDlt;G*?j}l z9oy;3Z4yll7owG~o{GC=pLZAFu%J(6ueY_G)x36Pq`TH=%hp`WLtVU*rXzIH`Vxit zRa*UWs#d~O##T5HJeq68yo405JzAP@C#C-SyCy0We(!R7-e^ z=!E$>=&;p{bD%iiv3gyqR|x01w%<|*0rvSEGFOfzfueQN!?M8d4~ESi<(u^V-htJ; z*>0rBIa_REE~p@fy#)>gzSVT14)!Xjn0;23;&v#Ow7F8 z%+`P`6S8Xht2gHF*zV74)vxbZ050xV0_G?AcaE#d?CfS(FT;ffK)77{ID zwF7r@qFj-AVn5rE9zQM9LTFMZu6Rr@SU|0|z-6ESbH$bv3#zOB>)~usSKU!s3R}G4 z{%uSc9CJoajz0QVAS60lG{;Iq+&wTeYv^GMJom!p?dB+@6w>*kk7SH{)Du*Ir4C2r0|tBZq-gJ1Hvk5;GymNSs_$^QLP* ztB1BCRxWws%7nQk*@0&P*9b;{%?|^Ztd69ZY^c%0i1_sZ7Sh5)avB<3sj1kT{>Ijq zkUG==F%B*PrcbUC_Vr#(b>+5S>PE^>x&!YJ1>szYz z`2W!yoqYSfuuN+sCTw=^!~1wr{MwVd_v^+<=yxV2oqBDIL;X?_3@WcFs`wE)?kC}_ zhxy9&u2SUBEJ?aWy9O{s-uLhj!YAfmXNoMrG*6GP(xYe`r#!sQa}NXaJ8Sd5sNh9) z-u~V(of8y8>9I*y$zTD5=VWp7eqUHE3zl3zMW9=g1^hmHcv$ACrAR}lq)<1;MA>0H zn)xwC2RrMT0`$3y(Hv2IgOhNyNqGOj!V``h%Z=hS%H#;qC!<7(zQ}+zAu$jlKil!- zRT&;xIT}mA7ou;ibB>vy#kqqK45O+w@175H^^@3x_=~uBLvbvEFqB)WA>$QX%f01B z4?iL{(vRUK^mmkZQ+)c~Jic?od}b~gr20eFrPAM){6JA_xa1T?7mJNK?Wvcf2;LXl zXI89sF!cQ|TYzc=Do}3?>!c?@gO5#D^ z0&2W;>8ddW?cxXc*5TjU&l7u3pOxC(PwT(zG5CVE)MVhxsf%-&t{~ZBMkpBJA0oq9s6j57zkzrI z6;HJG1`3!lXa6m$LB)niJ27d7sFPk^9Uf`}aC4>BQ_7026x;T?5@>C2XXPM`MsFfX z!D;_Y%;qb-iMXVSY_CcFKY^K5-%N?;LyMSIKR;l$)>0-Irk+1nj+s`--Tip|wu?5d zV@ux;#Y(Bc+)hlQBwy}ftk$`_Vj>j2`;{#>X0S?!%e9T&9xp74N~HY91ZHhLgTe88 zX>JyvsNlrMqn=CT7g}yt6HaGyM-wPR@f~?GH#mq|_ag%Nm-?4Q+ind08p9mSAb!Y= z%*cb41^4G`um(07B(Y;npo3$6TIYRJl+}XN7=bb;3e{tcE*` zn29%Pv);nuE^PfyTyh$ivpyULz&EGqo%_%CyBI7=svo%77+EV`-5}?6+Hs>a$0}PR&IoD<=3P-67h6AA4TBBY1qWS+& z2MRTBgW%E~mPZ4Asv6_Hes%z)4AYkhaM$$~`vokn@0(%}TX?x`a($iIf z`V*h7`TX40-P3bmqnl$~olcHKRrzMO$zF4yFLG2YQJMeW>3vl&-qmR+0`o!N4^TfF zmC)w8KWK03e%};QIIh2u`y5K7g9J3$Hq<^1PFt>Q5YGNw4zE z5+DsyL7hg=Uva&+YU>>q`aPiPg-n8IZD~(XN>hw|_0x?9Mh>MP#pon}x9T@;kHm)n zNFML+K46bg)azFQ!cl*}2;jEkCog}DO8Epe7J8NHw$U~aT#WD-r=$*I=q6{H6Oaw@ zy7E7!S&*{P!K1soHBM+)vdoK5isz?>E*XOt-(}nSbYqi6s>LoeBYD&YJc3?380qKY zS^}6Rm15We0r#{m9Ae1On`6I2Wcl!*y4G@ztZ~n74sV$mEcVVA4{2c;1L}Ndf-O>6 zR4md1rx>Xp=xfi_nMih)dk`84cFod>aeUT18KJjmACTp98BZn(Pb$xrjsbtBym1)8n15$9F4=sTG zkn@i8`7BzHnezW1S8TCi3c))!e!cAX?5Cb6m9BLXJ}g{TeQ3*Ee4J;TCY|b#B6;DP zpCADMurw5%@SY|x^N(;lO1Ri$qtV*o1$-J<)ylu3^Bc^DEAT|j_4(xjhtnA`BsA;a zWr2583Vp=pu#r9fYB7P-%c&V=?KBvwoIJ2}5xX^z-@i zet124V*~Ywz_wrr3>jzB!YTjIP;6jObNKd;M9dqGPP46q%W=;2^+F4hd>C(Z;z7r8 zzs>jl{`k=K(SU^B0&R7smY8xXA+7AJZY3j-5cfng6+DrKW*TP z-)ea;0T`}P7~DFt+xBiDYK5viCJrLBcL&}t$;*{dqB+b>ywoVsudx!;~+5Ao9nGU#xBKmPfAm#e< z1WO$C9S-DBo!n4qxzgc-#iUb{h+;~687yIJ2qf{!`w84y33Sof%Ux9!{1s}AeotBF z^WfX#7z42}U_u(?oBow}JH(OzS2rtju1Jfk7*ZL#j?U@M88bRwlr||Mx^D|ooDZ|b zieCz=X?W*&3mi~18|+@~VMTzV8Ne)0SiOzsFZ}PTh5ZG%W*ws;PAUMH|%Gy znt{kY2)WT+Fzj;w3q1+zM6u4Ukx00Syaj(3r2U)oBUZ4O7%$0 z`z$gh%v%klyI1+UIy+^&vo%}36RLK&{W+fvbqj2;48YJ2-Yhp=#*iGOTO|Wz;Qj5u z>V(BnUSPrgk&6aaTCauz_ER1mN&sOdL;KaVtcto}gS|F+-&xIs(hL9 znbMfo{0Z)w0`!rN&0nw9V=Ymu*sisng>cUgH zMfPo=oeEa(B+IrOy`MJS zCXY7e=T)v;Pu+9A0-;{PiMShnAuPEc)2{b`1(Zn1>2PluJEhayT?a|JIa;IFfd^z$ zN3wb(`5ukg(Ofp30)AEg{FCBsQFCa)X1eqMVPp_{%ultz)9oK^X8}b zgTv*6;MG`K!+`{m@#+<|(_Ez|2awxK6o>#fBU1J~EcnR`E6-O&p3Vn&YnITxNr~>U6ria}vr(eVnh#b3bp7 zyL6B``5azD8?`PPn}d*?zr`x@j$SvDoZLm;xGb<0sX*Y_3Q~)~1yQBqV3?2ox`*f^ zVyiYVp>3Y0M8INtL&P+S+3GaOdr?qwH_YXYbFH}C?lCB7T?aUD4e~{If@PYr>5eaz zVZgY+qtn1{lv8K1vpPJP;w${)v(FQe1m!1w(KSF<8;fvVZ}x%E3B3i_VNn~E)L(}5 z#FxsK>dfwnRW$K&S)&50l^3ra&sSKMQ-w(QsK?1D@TLA;2Od&@2?XBo6t?tf9?!$8!a%Kd7)F$&5zLNNH(7zp}|4JMA(sbzp<2XDm9O8jyf8%nW6PAwR`<-2Oem zfKhBZDuGdxHbm_TxiD3oClh`ibfjb7t>vput-G9W6k#~ zAxAIyjn|)^wdduJ4uPO|80OC8B*Scvfq}%9D%EwvuWGe>VCEiyf4sAzW4FiUUa$4V zCB(pN--8*s#wQZw+xGl=)u5OKbBOoO`w3H=c$Y#=WVwnBU&mcNDF!$I!(*FXHwnj3 zlGVA~F6vT41f+NiKnv~g0iHTE$n=eJ5U6dS1AE@CbrV8ds)Z31tF~~q1m(wFB`Rin ze@?(~SdSsp<%$l;Tn~WR@)eU}JqX=W+^BFZ+a6lOr7O*dg3{ zW~V9@L9rh0o0x#HZUWV@D36X$hjfHP%|l_%FL_M%yABjb7kx)8-BiTKFf(G}L28sj zUplTp8U&oS6~|Y5q1P8+Z9ucmn1TofvVUk54g%VHw9=!oS&&sPs~M!P`{rrKzM&!vH#H|bKl`s$C1gV5B;jsjkbaQ{;(0E`zR?gZV9 zwYi&~V^xABe*T3{fs`nL$Ia9cyhBiB`EWK*RJN0U5k&<^ai$JZ?#j-|bG`E`_j;20 zPX$WZlJ)w&-B@gL%#V!3x@K1_CSO;uVm&eqKVMYtQ9tQ7_ZQ zMJ5sy+nCbpcu8^wZ@+u59*-qFrr0O629lYdjn18Nx4`3x#N97rG< z_b^-PKBF&30mMT%$@m-0IoDq}{&JF{`bC~hN+qQSQy0WkbDJ`yfua6SF8=FzCmY@q z!-q{-dz1(v9#Q`*-#$lhrNf7+8)Z`|qh(PqP$AOlSvqRypiFh8DSNaJXjz$Dw7Xj7 z)(Vr)f%Bj^{+j7E`9?{u9{$stP&m0>Uw`YGnlFq)9+!;Y5IsLTZjWitU^Q%l8HtR~ z%jGO)e3@I+uOS3y4^4mmbtbO!vnqj5lmk zBaSdXiVOMH^>rw~HoVL+YH?OuE|uAT32an9v6__KH+T45`sIM=g1mf0Ionk^;wT>@ z=>Gq^&ia&vGH1U65(ilIe+9%rlMnMENT1v)-YNi>dYZR)AIFPfM|BsnZz-hnzd)>6 zrS9S~g$DQ3A#E!BU>I+W1 zI*azljD+0+k~h0-8p5lgVIcMoq@cTejv8M&?|9;X$u9nLJnnvjB37 z-yirU>Ddv3#5&vDn}Y$8%=c{E>FNOpXv??%$Oi5%3Zqua|M;c7TbSELXD+JIV;ILF zfe~`+X#N}_H#JGanHlYS;+9OlC>Dp`!g4ew8m`ooDi1~PDiY=Owz zP73}d5G0Kntg1!b4Go98Rn>hs!CRD@q|J2lU?hTom>2#2UMg>-T6W^$Q+prKFoJ;b z4O+5U?w>D40J1-I`@eX!2KB|ndU=6YjuItI4*Dq3{dN4nbIg+np?KdrN}JdDPh3?j zm3_=r9ITQbKg5MQ{V^C{4x!tb;z>n^dtl=I4`M{I3Kl!19w#OM%0DuA*4MA^_p0W4 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

=Ps{;vVQ!b1S+00Dfu+9t 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

    >jx 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%0Avd85k}t#%EF_0V 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


    ^51__c$@G%OnMxEVMwh-+Y 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 diff --git a/results/score_explained_variance.png b/results/score_explained_variance.png deleted file mode 100644 index bcfb2ba02617e9b80bd96b1f5f8cbb535c7cf3ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35240 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 diff --git a/results/vae_comparison.txt b/results/vae_comparison.txt new file mode 100644 index 0000000..0a9f27c --- /dev/null +++ b/results/vae_comparison.txt @@ -0,0 +1,706 @@ +{'accuracy': 0.8235294117647058, + 'best_iter': 32, + 'best_score': 0.9447935070036866, + 'cumulative:': array([0.32039887, 0.37570587, 0.4090894 , 0.436353 , 0.44910192, + 0.46047893, 0.4705638 , 0.4795027 , 0.48775637, 0.49585357, + 0.50377613, 0.5113055 , 0.5186545 , 0.52593285, 0.5329015 , + 0.539597 , 0.5461374 , 0.5525876 , 0.55888116, 0.56508017, + 0.5712244 , 0.57724464, 0.5830629 , 0.5887853 , 0.59437275, + 0.59993416, 0.6053227 , 0.61063474, 0.61582214, 0.6209211 , + 0.62599427, 0.63095903, 0.6358681 , 0.6406707 , 0.64545375, + 0.6501189 , 0.6547675 , 0.659283 , 0.6637747 , 0.66820705, + 0.67259544, 0.6769708 , 0.68126285, 0.6854735 , 0.68963486, + 0.69374937, 0.6977799 , 0.70176166, 0.7056897 , 0.709554 , + 0.7133815 , 0.7171504 , 0.72091293, 0.7246123 , 0.72825223, + 0.7318754 , 0.7354328 , 0.73897654, 0.7424681 , 0.7459095 , + 0.7493197 , 0.7526981 , 0.7560446 , 0.7593642 , 0.76262933, + 0.7658778 , 0.7691024 , 0.7722846 , 0.7754338 , 0.7785385 , + 0.78160787, 0.7846422 , 0.78762335, 0.79057777, 0.7935175 , + 0.7963818 , 0.799237 , 0.8020655 , 0.8048832 , 0.80764866, + 0.81039196, 0.8131009 , 0.81579715, 0.8184613 , 0.8210898 , + 0.8236765 , 0.8262456 , 0.8287908 , 0.8313098 , 0.8337678 , + 0.83620983, 0.8386336 , 0.84102917, 0.8433846 , 0.84568655, + 0.8479637 , 0.85022783, 0.8524689 , 0.8546968 , 0.8568957 , + 0.85904723, 0.8611882 , 0.8633105 , 0.86540455, 0.867487 , + 0.86954474, 0.8715774 , 0.87358457, 0.87557405, 0.87754464, + 0.87949663, 0.88143903, 0.88336784, 0.88526374, 0.8871446 , + 0.88901025, 0.89084035, 0.89265585, 0.8944312 , 0.8961898 , + 0.89793426, 0.89964986, 0.9013583 , 0.9030427 , 0.90468526, + 0.9063262 , 0.9079446 , 0.9095402 , 0.9111285 , 0.9127047 , + 0.9142477 , 0.91576916, 0.9172699 , 0.91875887, 0.9202242 , + 0.9216819 , 0.9231232 , 0.9245376 , 0.92593247, 0.92731655, + 0.92867297, 0.9300219 , 0.9313516 , 0.9326673 , 0.93395793, + 0.93523085, 0.9364834 , 0.9377117 , 0.93892545, 0.9401313 , + 0.9413293 , 0.9425155 , 0.94368446, 0.94484085, 0.9459849 , + 0.94712096, 0.9482242 , 0.9493191 , 0.95039463], dtype=float32), + 'explained_var': np.float32(0.9503943), + 'f1_macro': 0.8224371373307543, + 'f1_weighted': 0.823256343156218, + 'feature_shape': (510, 256), + 'imbalance_ratio': np.float64(0.895910780669145), + 'label_dist': {'real': 241, + 'real_pct': np.float64(47.25490196078431), + 'synthetic': 269, + 'synthetic_pct': np.float64(52.74509803921569)}, + 'labels_shape': (510,), + 'n_components': np.int64(159), + 'original_dim': 256, + 'pca_dim': 159, + 'roc_auc': 0.9251543209876544, + 'scale_pos_weight': np.float64(0.8976744186046511), + 'seed': 2198257139, + 'timestamp': '20260203_113430', + 'vae_type': 'exdysa/dc-ae-f32c32-sana-1.1-diffusers'} +============================================================ +CLASSIFICATION RESULTS +============================================================ + precision recall f1-score support + + Real 0.83 0.79 0.81 48 + Synthetic 0.82 0.85 0.84 54 + + accuracy 0.82 102 + macro avg 0.82 0.82 0.82 102 +weighted avg 0.82 0.82 0.82 102 + +Training selected. +Resolving data files: 100%|████████████████████████████████████████████████████████████████████████████████████████████████| 200/200 [00:00<00:00, 69591.90it/s] +Resolving data files: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████| 69/69 [00:00<00:00, 50218.11it/s] +Using local images from /Users/e6d64/Documents/GitHub/darkshapes/negate/assets +Downloading model... +Fetching 2 files: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████| 2/2 [00:00<00:00, 4728.64it/s] +Download complete: : 0.00B [00:00, ?B/s] | 0/2 [00:00 from negate.extract import VAEModel, MODEL_MAP -import pytest def test_vae_model_map_entries() -> None: From a3f76e823c16735e62690dce5547f38efd584838 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=CB=B6=F0=9D=9E=A2=E2=A4=AC=E2=AB=92=E2=B5=96s=E1=90=BC?= =?UTF-8?q?=CB=B6?= <91800957+exdysa@users.noreply.github.com> Date: Tue, 3 Feb 2026 21:51:19 -0500 Subject: [PATCH 4/4] ~patch import --- negate/__main__.py | 2 +- tests/test_import.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/negate/__main__.py b/negate/__main__.py index 530df82..86424a7 100644 --- a/negate/__main__.py +++ b/negate/__main__.py @@ -13,7 +13,6 @@ TrainResult, VAEModel, build_datasets, - negate_opt, datestamped_folder, features, generate_dataset, @@ -21,6 +20,7 @@ grade, in_console, model_path, + negate_opt, on_graph, save_models, save_to_onnx, diff --git a/tests/test_import.py b/tests/test_import.py index 9d7c330..13811ef 100644 --- a/tests/test_import.py +++ b/tests/test_import.py @@ -9,7 +9,7 @@ def test_main_import(): TrainResult, VAEModel, build_datasets, - config_settings, + negate_opt, datestamped_folder, features, generate_dataset,