# dranzerd/inference-time-image-compression- architecture

> Architecture diagram of the GitHub repository dranzerd/inference-time-image-compression-, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/dranzerd/inference-time-image-compression-
- Repository: https://github.com/dranzerd/inference-time-image-compression-

## Overview

This repository is a research codebase comparing image-compression variants and neural-network approaches for binary chest-X-ray classification (effusion versus healthy). The intended workflow is to prepare image/split data, train a classifier, evaluate predictions, and retain metrics; cross-validation repeats training and evaluation across folds. The tree also contains a WebP compression utility and stored reports. The README is only a title, and several model/dataset implementations were not sampled, so links for those branches are limited to what their paths support.

Main entry points: [`MLP/dataset/dataset.py`](https://github.com/dranzerd/inference-time-image-compression-/blob/main/MLP/dataset/dataset.py) (MLP dataset), [`MLP/train.py`](https://github.com/dranzerd/inference-time-image-compression-/blob/main/MLP/train.py) (MLP training), [`MLP/evaluate.py`](https://github.com/dranzerd/inference-time-image-compression-/blob/main/MLP/evaluate.py) (MLP evaluation), [`MLP/models/mlp.py`](https://github.com/dranzerd/inference-time-image-compression-/blob/main/MLP/models/mlp.py) (MLP classifier)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_prep["Data preparation"]
  node_compression["WebP compression<br/>[compress_webP.py]"]
  node_mlp_splits["MLP split data"]
  node_deit_splits["DeiT fold data"]
  node_resnet_splits["ResNet fold data"]
end

subgraph group_mlp["MLP workflow"]
  node_mlp_dataset["MLP dataset<br/>[dataset.py]"]
  node_mlp_model["MLP classifier<br/>[mlp.py]"]
  node_mlp_train["MLP training<br/>[train.py]"]
  node_mlp_cv["MLP cross-validation<br/>[run_5fold.py]"]
end

subgraph group_vision["Vision workflows"]
  node_deit_train["DeiT training<br/>[train_latest.py]"]
  node_deit_model["DeiT model<br/>[model.py]"]
  node_deit_cv["DeiT fold runner<br/>[run_kfold.py]"]
  node_resnet_train["ResNet training<br/>[train_latest.py]"]
  node_resnet_model["ResNet model<br/>[model.py]"]
  node_resnet_cv["ResNet fold runner<br/>[run_kfold.py]"]
end

subgraph group_analysis["Evaluation and results"]
  node_mlp_eval["MLP evaluation<br/>[evaluate.py]"]
  node_mlp_fold_eval["MLP fold evaluation<br/>[evaluate_fold.py]"]
  node_deit_eval["DeiT evaluation<br/>[eval_latest.py]"]
  node_resnet_eval["ResNet evaluation<br/>[eval_latest.py]"]
  node_deit_reports["DeiT reports"]
  node_resnet_reports["ResNet reports"]
  node_mlp_results["MLP results"]
end

node_researcher(("Researcher"))

node_researcher -->|"runs"| node_compression
node_researcher -->|"runs"| node_mlp_train
node_researcher -->|"runs"| node_mlp_cv
node_researcher -->|"runs"| node_deit_cv
node_researcher -->|"runs"| node_resnet_cv
node_researcher -->|"runs"| node_mlp_eval
node_compression -->|"reads split references"| node_mlp_splits
node_mlp_train -->|"creates datasets"| node_mlp_dataset
node_mlp_train -->|"trains"| node_mlp_model
node_mlp_train -->|"writes results"| node_mlp_results
node_mlp_dataset -->|"reads CSV"| node_mlp_splits
node_mlp_dataset -.->|"reads local images"| node_researcher
node_mlp_cv -->|"uses"| node_mlp_dataset
node_mlp_cv -->|"trains folds"| node_mlp_model
node_mlp_fold_eval -->|"loads fold data"| node_mlp_dataset
node_mlp_fold_eval -->|"evaluates"| node_mlp_model
node_mlp_fold_eval -->|"writes metrics"| node_mlp_results
node_mlp_eval -->|"loads test data"| node_mlp_dataset
node_mlp_eval -->|"evaluates"| node_mlp_model
node_mlp_eval -->|"writes metrics"| node_mlp_results
node_deit_cv -->|"dispatches folds"| node_deit_train
node_deit_cv -->|"dispatches evaluation"| node_deit_eval
node_deit_train -->|"uses fold data"| node_deit_splits
node_deit_eval -->|"uses fold data"| node_deit_splits
node_deit_eval -->|"writes reports"| node_deit_reports
node_resnet_cv -->|"dispatches folds"| node_resnet_train
node_resnet_cv -->|"dispatches evaluation"| node_resnet_eval
node_resnet_train -->|"uses fold data"| node_resnet_splits
node_resnet_eval -->|"uses fold data"| node_resnet_splits
node_resnet_eval -->|"writes reports"| node_resnet_reports

click node_compression "https://github.com/dranzerd/inference-time-image-compression-/blob/main/MLP/compression/compress_webP.py"
click node_mlp_splits "https://github.com/dranzerd/inference-time-image-compression-/tree/main/MLP/data"
click node_deit_splits "https://github.com/dranzerd/inference-time-image-compression-/tree/main/DeiT"
click node_resnet_splits "https://github.com/dranzerd/inference-time-image-compression-/tree/main/ResNet18"
click node_mlp_dataset "https://github.com/dranzerd/inference-time-image-compression-/blob/main/MLP/dataset/dataset.py"
click node_mlp_model "https://github.com/dranzerd/inference-time-image-compression-/blob/main/MLP/models/mlp.py"
click node_mlp_train "https://github.com/dranzerd/inference-time-image-compression-/blob/main/MLP/train.py"
click node_mlp_cv "https://github.com/dranzerd/inference-time-image-compression-/blob/main/MLP/cross_validation/run_5fold.py"
click node_deit_train "https://github.com/dranzerd/inference-time-image-compression-/blob/main/DeiT/train_latest.py"
click node_deit_model "https://github.com/dranzerd/inference-time-image-compression-/blob/main/DeiT/model.py"
click node_deit_cv "https://github.com/dranzerd/inference-time-image-compression-/blob/main/DeiT/run_kfold.py"
click node_resnet_train "https://github.com/dranzerd/inference-time-image-compression-/blob/main/ResNet18/train_latest.py"
click node_resnet_model "https://github.com/dranzerd/inference-time-image-compression-/blob/main/ResNet18/model.py"
click node_resnet_cv "https://github.com/dranzerd/inference-time-image-compression-/blob/main/ResNet18/run_kfold.py"
click node_mlp_eval "https://github.com/dranzerd/inference-time-image-compression-/blob/main/MLP/evaluate.py"
click node_mlp_fold_eval "https://github.com/dranzerd/inference-time-image-compression-/blob/main/MLP/cross_validation/evaluate_fold.py"
click node_deit_eval "https://github.com/dranzerd/inference-time-image-compression-/blob/main/DeiT/eval_latest.py"
click node_resnet_eval "https://github.com/dranzerd/inference-time-image-compression-/blob/main/ResNet18/eval_latest.py"
click node_deit_reports "https://github.com/dranzerd/inference-time-image-compression-/tree/main/DeiT/reports_googlephotos_deit_s"
click node_resnet_reports "https://github.com/dranzerd/inference-time-image-compression-/tree/main/ResNet18/reports_googlephotos"
click node_mlp_results "https://github.com/dranzerd/inference-time-image-compression-/tree/main/MLP/results"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_compression,node_mlp_splits,node_deit_splits,node_resnet_splits toneBlue
class node_mlp_dataset,node_mlp_model,node_mlp_train,node_mlp_cv toneAmber
class node_deit_train,node_deit_model,node_deit_cv,node_resnet_train,node_resnet_model,node_resnet_cv toneMint
class node_mlp_eval,node_mlp_fold_eval,node_deit_eval,node_resnet_eval,node_deit_reports,node_resnet_reports,node_mlp_results toneRose
class node_researcher toneIndigo
```

## Components

### Data preparation

- [WebP compression](https://github.com/dranzerd/inference-time-image-compression-/blob/main/MLP/compression/compress_webP.py): `MLP/compression/compress_webP.py`
- [MLP split data](https://github.com/dranzerd/inference-time-image-compression-/tree/main/MLP/data): `MLP/data`
- [DeiT fold data](https://github.com/dranzerd/inference-time-image-compression-/tree/main/DeiT): `DeiT`
- [ResNet fold data](https://github.com/dranzerd/inference-time-image-compression-/tree/main/ResNet18): `ResNet18`

### MLP workflow

- [MLP dataset](https://github.com/dranzerd/inference-time-image-compression-/blob/main/MLP/dataset/dataset.py): `MLP/dataset/dataset.py`
- [MLP classifier](https://github.com/dranzerd/inference-time-image-compression-/blob/main/MLP/models/mlp.py): `MLP/models/mlp.py`
- [MLP training](https://github.com/dranzerd/inference-time-image-compression-/blob/main/MLP/train.py): `MLP/train.py`
- [MLP cross-validation](https://github.com/dranzerd/inference-time-image-compression-/blob/main/MLP/cross_validation/run_5fold.py): `MLP/cross_validation/run_5fold.py`

### Vision workflows

- [DeiT training](https://github.com/dranzerd/inference-time-image-compression-/blob/main/DeiT/train_latest.py): `DeiT/train_latest.py`
- [DeiT model](https://github.com/dranzerd/inference-time-image-compression-/blob/main/DeiT/model.py): `DeiT/model.py`
- [DeiT fold runner](https://github.com/dranzerd/inference-time-image-compression-/blob/main/DeiT/run_kfold.py): `DeiT/run_kfold.py`
- [ResNet training](https://github.com/dranzerd/inference-time-image-compression-/blob/main/ResNet18/train_latest.py): `ResNet18/train_latest.py`
- [ResNet model](https://github.com/dranzerd/inference-time-image-compression-/blob/main/ResNet18/model.py): `ResNet18/model.py`
- [ResNet fold runner](https://github.com/dranzerd/inference-time-image-compression-/blob/main/ResNet18/run_kfold.py): `ResNet18/run_kfold.py`

### Evaluation and results

- [MLP evaluation](https://github.com/dranzerd/inference-time-image-compression-/blob/main/MLP/evaluate.py): `MLP/evaluate.py`
- [MLP fold evaluation](https://github.com/dranzerd/inference-time-image-compression-/blob/main/MLP/cross_validation/evaluate_fold.py): `MLP/cross_validation/evaluate_fold.py`
- [DeiT evaluation](https://github.com/dranzerd/inference-time-image-compression-/blob/main/DeiT/eval_latest.py): `DeiT/eval_latest.py`
- [ResNet evaluation](https://github.com/dranzerd/inference-time-image-compression-/blob/main/ResNet18/eval_latest.py): `ResNet18/eval_latest.py`
- [DeiT reports](https://github.com/dranzerd/inference-time-image-compression-/tree/main/DeiT/reports_googlephotos_deit_s): `DeiT/reports_googlephotos_deit_s`
- [ResNet reports](https://github.com/dranzerd/inference-time-image-compression-/tree/main/ResNet18/reports_googlephotos): `ResNet18/reports_googlephotos`
- [MLP results](https://github.com/dranzerd/inference-time-image-compression-/tree/main/MLP/results): `MLP/results`

### Other components

- **Researcher**

## Connections

- Researcher → WebP compression: runs
- Researcher → MLP training: runs
- Researcher → MLP cross-validation: runs
- Researcher → DeiT fold runner: runs
- Researcher → ResNet fold runner: runs
- Researcher → MLP evaluation: runs
- WebP compression → MLP split data: reads split references
- MLP training → MLP dataset: creates datasets
- MLP training → MLP classifier: trains
- MLP training → MLP results: writes results
- MLP dataset → MLP split data: reads CSV
- MLP dataset → Researcher: reads local images
- MLP cross-validation → MLP dataset: uses
- MLP cross-validation → MLP classifier: trains folds
- MLP fold evaluation → MLP dataset: loads fold data
- MLP fold evaluation → MLP classifier: evaluates
- MLP fold evaluation → MLP results: writes metrics
- MLP evaluation → MLP dataset: loads test data
- MLP evaluation → MLP classifier: evaluates
- MLP evaluation → MLP results: writes metrics
- DeiT fold runner → DeiT training: dispatches folds
- DeiT fold runner → DeiT evaluation: dispatches evaluation
- DeiT training → DeiT fold data: uses fold data
- DeiT evaluation → DeiT fold data: uses fold data
- DeiT evaluation → DeiT reports: writes reports
- ResNet fold runner → ResNet training: dispatches folds
- ResNet fold runner → ResNet evaluation: dispatches evaluation
- ResNet training → ResNet fold data: uses fold data
- ResNet evaluation → ResNet fold data: uses fold data
- ResNet evaluation → ResNet reports: writes reports
