Views
No views yet
DualTowerFusionModel - a multimodal deep-learning model that classifies an email as legitimate or phishing from its text, embedded images (e.g. spoofed logos), and structural metadata.| Tower | Input | Output |
|---|---|---|
| Text CNN | Email subject + body (tokenized via vocab_text_1.json) | 256-d |
| Image CNN | Embedded images | 512-d |
| Metadata MLP | 20 structural signals | 20 → 64-d |
512 → 256 → 128 → 2 → {legitimate, phishing}.| Metric | Value |
|---|---|
| Accuracy | 99.45% |
| AUC-ROC | 0.999 |
| Precision | 99.5% |
| Recall | 99.4% |
| F1 | 99.4% |
best_fusion_model.pth - trained weights (plain state_dict).vocab_text_1.json - text-tower vocabulary (stoi).state_dict; load into the DualTowerFusionModel definition (see project src/fusion_models.py).1from huggingface_hub import hf_hub_download
2import torch
3
4weights = hf_hub_download("vishalpatil-18/heron-phishing", "best_fusion_model.pth")
5vocab = hf_hub_download("vishalpatil-18/heron-phishing", "vocab_text_1.json")
6
7model = DualTowerFusionModel() # from src/fusion_models.py
8model.load_state_dict(torch.load(weights, weights_only=True, map_location="cpu"))
9model.eval()