# akhildragon-07/deep_learning architecture

> Architecture diagram of the GitHub repository akhildragon-07/deep_learning, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-13). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/akhildragon-07/deep_learning
- Repository: https://github.com/akhildragon-07/deep_learning

## Overview

RMS-AV is a PyTorch research system for audio-visual deepfake detection, with audio-only, video-only, standard-fusion, and reliability-aware fusion models. Its main workflow prepares identity-safe data, trains models, evaluates clean and modality-missing cases, and serves predictions through an upload-oriented dashboard or standalone inference engine. A separate LAV-DF pipeline adds dataset inspection, matched preprocessing, training, evaluation, and inference. The graph follows documented capabilities and indexed imports; unsampled implementation details and undocumented runtime links are intentionally omitted.

Main entry points: [`dataset.py`](https://github.com/akhildragon-07/deep_learning/blob/main/dataset.py) (Pilot Dataset Loader), [`lavdf_pipeline/train.py`](https://github.com/akhildragon-07/deep_learning/blob/main/lavdf_pipeline/train.py) (LAV-DF Trainer), [`model.py`](https://github.com/akhildragon-07/deep_learning/blob/main/model.py) (RMS-AV and Baselines), [`train.py`](https://github.com/akhildragon-07/deep_learning/blob/main/train.py) (Pilot Trainer)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_data["Data Preparation"]
  node_pilotdata[("Pilot Dataset")]
  node_pilotprep["Pilot Dataset Loader<br/>[dataset.py]"]
end

subgraph group_rms["RMS-AV Core"]
  node_rmsmodel["RMS-AV and Baselines<br/>[model.py]"]
  node_reliability["Reliability Gate"]
  node_pgabn["PG-ABN Model<br/>[model_pgabn.py]"]
end

subgraph group_experiments["Training and Evaluation"]
  node_pilottrain["Pilot Trainer<br/>[train.py]"]
  node_pgabntrain["PG-ABN Trainer<br/>[train_pgabn.py]"]
  node_piloteval["Pilot Evaluator<br/>[evaluate.py]"]
end

subgraph group_serving["Prediction Serving"]
  node_inference["Inference Engine<br/>[inference.py]"]
  node_dashboard["Upload Dashboard<br/>[app.py]"]
end

subgraph group_lavdf["LAV-DF Pipeline"]
  node_lavdfinspect["LAV-DF Inspector<br/>[inspect_lavdf.py]"]
  node_lavdfdata["LAV-DF Dataset<br/>[dataset.py]"]
  node_lavdfprep["LAV-DF Preprocessing<br/>[preprocessing.py]"]
  node_lavdftrain["LAV-DF Trainer<br/>[train.py]"]
  node_lavdfeval["LAV-DF Evaluator<br/>[evaluate.py]"]
  node_lavdfmodel["LAV-DF Models<br/>[model.py]"]
  node_lavdfinference["LAV-DF Inference<br/>[inference.py]"]
end

node_researcher(("Researcher"))

node_researcher -->|"prepares data"| node_pilotprep
node_pilotdata -->|"loads samples"| node_pilotprep
node_pilotprep -.->|"supplies batches"| node_pilottrain
node_pilottrain -->|"builds model"| node_rmsmodel
node_pilottrain -->|"loads dataset"| node_pilotprep
node_rmsmodel -->|"uses gate"| node_reliability
node_rmsmodel -->|"imports model"| node_pgabn
node_researcher -->|"trains models"| node_pilottrain
node_researcher -->|"evaluates models"| node_piloteval
node_piloteval -->|"loads model"| node_rmsmodel
node_piloteval -->|"loads dataset"| node_pilotprep
node_pgabntrain -->|"builds model"| node_pgabn
node_pgabntrain -->|"loads dataset"| node_pilotprep
node_researcher -.->|"audits dataset"| node_lavdfinspect
node_lavdfinspect -.->|"inspects annotations"| node_lavdfdata
node_lavdfdata -->|"extracts modalities"| node_lavdfprep
node_lavdftrain -->|"loads dataset"| node_lavdfdata
node_lavdftrain -->|"uses preprocessing"| node_lavdfprep
node_lavdftrain -->|"builds model"| node_lavdfmodel
node_researcher -->|"trains models"| node_lavdftrain
node_lavdfeval -->|"loads dataset"| node_lavdfdata
node_lavdfeval -->|"loads model"| node_lavdfmodel
node_researcher -->|"evaluates models"| node_lavdfeval
node_dashboard -->|"requests predictions"| node_inference
node_researcher -.->|"uploads media"| node_dashboard
node_researcher -.->|"submits media"| node_inference
node_lavdfinference -->|"loads model"| node_lavdfmodel
node_lavdfinference -->|"preprocesses media"| node_lavdfprep

click node_pilotdata "https://github.com/akhildragon-07/deep_learning/tree/main/teammates"
click node_pilotprep "https://github.com/akhildragon-07/deep_learning/blob/main/dataset.py"
click node_lavdfinspect "https://github.com/akhildragon-07/deep_learning/blob/main/lavdf_pipeline/inspect_lavdf.py"
click node_lavdfdata "https://github.com/akhildragon-07/deep_learning/blob/main/lavdf_pipeline/dataset.py"
click node_lavdfprep "https://github.com/akhildragon-07/deep_learning/blob/main/lavdf_pipeline/preprocessing.py"
click node_rmsmodel "https://github.com/akhildragon-07/deep_learning/blob/main/model.py"
click node_reliability "https://github.com/akhildragon-07/deep_learning/blob/main/reliability_gate.py"
click node_pgabn "https://github.com/akhildragon-07/deep_learning/blob/main/model_pgabn.py"
click node_pilottrain "https://github.com/akhildragon-07/deep_learning/blob/main/train.py"
click node_pgabntrain "https://github.com/akhildragon-07/deep_learning/blob/main/train_pgabn.py"
click node_piloteval "https://github.com/akhildragon-07/deep_learning/blob/main/evaluate.py"
click node_lavdftrain "https://github.com/akhildragon-07/deep_learning/blob/main/lavdf_pipeline/train.py"
click node_lavdfeval "https://github.com/akhildragon-07/deep_learning/blob/main/lavdf_pipeline/evaluate.py"
click node_lavdfmodel "https://github.com/akhildragon-07/deep_learning/blob/main/lavdf_pipeline/model.py"
click node_inference "https://github.com/akhildragon-07/deep_learning/blob/main/inference.py"
click node_dashboard "https://github.com/akhildragon-07/deep_learning/blob/main/app.py"
click node_lavdfinference "https://github.com/akhildragon-07/deep_learning/blob/main/lavdf_pipeline/inference.py"

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_pilotdata,node_pilotprep toneBlue
class node_rmsmodel,node_reliability,node_pgabn toneAmber
class node_pilottrain,node_pgabntrain,node_piloteval toneMint
class node_inference,node_dashboard toneRose
class node_lavdfinspect,node_lavdfdata,node_lavdfprep,node_lavdftrain,node_lavdfeval,node_lavdfmodel,node_lavdfinference,node_researcher toneIndigo
```

## Components

### Data Preparation

- [Pilot Dataset](https://github.com/akhildragon-07/deep_learning/tree/main/teammates): `teammates`
- [Pilot Dataset Loader](https://github.com/akhildragon-07/deep_learning/blob/main/dataset.py): `dataset.py`

### RMS-AV Core

- [RMS-AV and Baselines](https://github.com/akhildragon-07/deep_learning/blob/main/model.py): `model.py`
- [Reliability Gate](https://github.com/akhildragon-07/deep_learning/blob/main/reliability_gate.py): `reliability_gate.py`
- [PG-ABN Model](https://github.com/akhildragon-07/deep_learning/blob/main/model_pgabn.py): `model_pgabn.py`

### Training and Evaluation

- [Pilot Trainer](https://github.com/akhildragon-07/deep_learning/blob/main/train.py): `train.py`
- [PG-ABN Trainer](https://github.com/akhildragon-07/deep_learning/blob/main/train_pgabn.py): `train_pgabn.py`
- [Pilot Evaluator](https://github.com/akhildragon-07/deep_learning/blob/main/evaluate.py): `evaluate.py`

### Prediction Serving

- [Inference Engine](https://github.com/akhildragon-07/deep_learning/blob/main/inference.py): `inference.py`
- [Upload Dashboard](https://github.com/akhildragon-07/deep_learning/blob/main/app.py): `app.py`

### LAV-DF Pipeline

- [LAV-DF Inspector](https://github.com/akhildragon-07/deep_learning/blob/main/lavdf_pipeline/inspect_lavdf.py): `lavdf_pipeline/inspect_lavdf.py`
- [LAV-DF Dataset](https://github.com/akhildragon-07/deep_learning/blob/main/lavdf_pipeline/dataset.py): `lavdf_pipeline/dataset.py`
- [LAV-DF Preprocessing](https://github.com/akhildragon-07/deep_learning/blob/main/lavdf_pipeline/preprocessing.py): `lavdf_pipeline/preprocessing.py`
- [LAV-DF Trainer](https://github.com/akhildragon-07/deep_learning/blob/main/lavdf_pipeline/train.py): `lavdf_pipeline/train.py`
- [LAV-DF Evaluator](https://github.com/akhildragon-07/deep_learning/blob/main/lavdf_pipeline/evaluate.py): `lavdf_pipeline/evaluate.py`
- [LAV-DF Models](https://github.com/akhildragon-07/deep_learning/blob/main/lavdf_pipeline/model.py): `lavdf_pipeline/model.py`
- [LAV-DF Inference](https://github.com/akhildragon-07/deep_learning/blob/main/lavdf_pipeline/inference.py): `lavdf_pipeline/inference.py`

### Other components

- **Researcher**

## Connections

- Researcher → Pilot Dataset Loader: prepares data (evidence: `README.md`)
- Pilot Dataset → Pilot Dataset Loader: loads samples (evidence: `README.md`)
- Pilot Dataset Loader → Pilot Trainer: supplies batches (evidence: `train.py`)
- Pilot Trainer → RMS-AV and Baselines: builds model (evidence: `train.py`)
- Pilot Trainer → Pilot Dataset Loader: loads dataset (evidence: `train.py`)
- RMS-AV and Baselines → Reliability Gate: uses gate (evidence: `model.py`)
- RMS-AV and Baselines → PG-ABN Model: imports model (evidence: `model.py`)
- Researcher → Pilot Trainer: trains models (evidence: `README.md`)
- Researcher → Pilot Evaluator: evaluates models (evidence: `README.md`)
- Pilot Evaluator → RMS-AV and Baselines: loads model (evidence: `evaluate.py`)
- Pilot Evaluator → Pilot Dataset Loader: loads dataset (evidence: `evaluate.py`)
- PG-ABN Trainer → PG-ABN Model: builds model (evidence: `train_pgabn.py`)
- PG-ABN Trainer → Pilot Dataset Loader: loads dataset (evidence: `train_pgabn.py`)
- Researcher → LAV-DF Inspector: audits dataset
- LAV-DF Inspector → LAV-DF Dataset: inspects annotations
- LAV-DF Dataset → LAV-DF Preprocessing: extracts modalities (evidence: `lavdf_pipeline/dataset.py`)
- LAV-DF Trainer → LAV-DF Dataset: loads dataset (evidence: `lavdf_pipeline/train.py`)
- LAV-DF Trainer → LAV-DF Preprocessing: uses preprocessing (evidence: `lavdf_pipeline/train.py`)
- LAV-DF Trainer → LAV-DF Models: builds model (evidence: `lavdf_pipeline/train.py`)
- Researcher → LAV-DF Trainer: trains models (evidence: `lavdf_pipeline/train.py`)
- LAV-DF Evaluator → LAV-DF Dataset: loads dataset (evidence: `lavdf_pipeline/evaluate.py`)
- LAV-DF Evaluator → LAV-DF Models: loads model (evidence: `lavdf_pipeline/evaluate.py`)
- Researcher → LAV-DF Evaluator: evaluates models (evidence: `lavdf_pipeline/evaluate.py`)
- Upload Dashboard → Inference Engine: requests predictions (evidence: `app.py`)
- Researcher → Upload Dashboard: uploads media
- Researcher → Inference Engine: submits media
- LAV-DF Inference → LAV-DF Models: loads model (evidence: `lavdf_pipeline/inference.py`)
- LAV-DF Inference → LAV-DF Preprocessing: preprocesses media (evidence: `lavdf_pipeline/inference.py`)
