| | import os |
| | import sys |
| | import torch |
| | import textwrap |
| |
|
| | |
| | current_dir = os.path.dirname(os.path.abspath(__file__)) |
| | project_root = os.path.dirname(os.path.dirname(current_dir)) |
| | model_root = os.path.join(project_root, "model") |
| | sys.path.insert(0, model_root) |
| |
|
| | from src.models import DeepfakeDetector |
| |
|
| | def count_parameters(model): |
| | return sum(p.numel() for p in model.parameters() if p.requires_grad) |
| |
|
| | def fmt_params(num): |
| | return f"{num/1e6:.2f}M" |
| |
|
| | def main(): |
| | print("📦 Instantiating Mark-V Architecture...") |
| | model = DeepfakeDetector(pretrained=False) |
| | |
| | total = count_parameters(model) |
| | rgb = count_parameters(model.rgb_branch) |
| | freq = count_parameters(model.freq_branch) |
| | patch = count_parameters(model.patch_branch) |
| | vit = count_parameters(model.vit_branch) |
| | |
| | print("\n" + "="*40) |
| | print("📊 MODEL PARAMETER COUNT (Mark-V)") |
| | print("="*40) |
| | print(f"Total Parameters: {fmt_params(total)}") |
| | print("-" * 40) |
| | print(f" • RGB Branch (EffNet-V2-S): {fmt_params(rgb)}") |
| | print(f" • ViT Branch (Swin-V2-T): {fmt_params(vit)}") |
| | print(f" • Frequency Branch: {fmt_params(freq)}") |
| | print(f" • Patch Branch: {fmt_params(patch)}") |
| | print("="*40 + "\n") |
| |
|
| | if __name__ == "__main__": |
| | main() |
| |
|