EfficientNet-B7 deepfake detector
The EfficientNet-B7 checkpoint from Selim Seferbekov's DFDC solution, exported for Facetorch.
This repository contains immutable model artifacts used by Facetorch. Use the packaged Facetorch manifest to select a revision and artifact; do not treat mutable main or older unlisted files as a release contract.
Contract
| Field | Value |
|---|---|
| Model ID | deepfake-efficientnet-b7 |
| Architecture | TF EfficientNet-B7 Noisy Student |
| Input | 380 by 380 RGB face crop |
| Output | One binary logit per face; Facetorch applies sigmoid and a configurable decision threshold. |
| Dynamic shapes | Batch dimension 1 through 64. |
| Weights license | MIT |
Preprocessing: Resize to 380 by 380 and apply ImageNet mean [0.485, 0.456, 0.406] and standard deviation [0.229, 0.224, 0.225].
Release artifacts
| File | Format | Runtime | Devices | SHA-256 |
|---|---|---|---|---|
model-torch2.6.pt2 |
pt2 | >=2.6, <2.7 | cpu, cuda | 4520da731410d4a4a7917d4d1dc91e367e82a890a213e0f6318296b0e16974d1 |
model-torch2.11.pt2 |
pt2 | >=2.11, <2.12 | cpu, cuda | 97b49a70174c0d4f72d9d510d817bdc49a907af9af0242a6a1ba934a7cc9e4b7 |
model.pt |
torchscript | >=2.6, <2.12 | cpu | e36197ae83fa7c050e8ceba267a1f028f2d74d8ad805bf5d5037a26e8ca96c13 |
Facetorch v1 supports the Torch 2.6 and 2.11 cohort files listed in its manifest. The legacy TorchScript object is CPU-only and requires the explicit legacy opt-in. Files from unsupported cohorts are not part of the v1 release contract.
Loading the manifest-selected artifact
import torch
from huggingface_hub import hf_hub_download
from facetorch.artifacts import get_model_manifest
MODEL_ID = "deepfake-efficientnet-b7"
device = "cuda" if torch.cuda.is_available() else "cpu"
artifact = get_model_manifest().candidates(
MODEL_ID,
torch_version=torch.__version__,
device=device,
allow_legacy_models=False,
)[0]
path = hf_hub_download(
repo_id=artifact.repo_id,
revision=artifact.revision,
filename=artifact.filename,
)
model = torch.export.load(path).module().to(device).eval()
example = torch.randn(1, 3, 380, 380, device=device)
with torch.inference_mode():
output = model(example)
The random tensor above is only a loading smoke test. Use Facetorch's documented preprocessing for meaningful inference.
Provenance
| Upstream | Immutable revision | Role | License |
|---|---|---|---|
| https://github.com/selimsef/dfdc_deepfake_challenge | 89c6290490bac96b29193a4061b3db9dd3933e36 |
checkpoint publisher and architecture source | MIT |
| Upstream checkpoint | SHA-256 | Source |
|---|---|---|
final_777_DeepFakeClassifier_tf_efficientnet_b7_ns_0_31 |
00dd6cd9466cddfd7da7c333d8fecae81593307827093deaf4d7cdf704bc8bfa |
publisher location |
Mapping method: exact_tensor_equality_against_all_seven_author_release_checkpoints.
Result: The named checkpoint uniquely matched all 1,202 model tensors exactly.
The repository owner approved the mapping and redistribution record on 2026-08-23. Under the recorded policy, an author-published checkpoint in a permissively licensed repository with no separate checkpoint terms uses that repository license. MIT and Apache-2.0 have not been converted or treated as interchangeable. See LICENSE, THIRD_PARTY_NOTICES.md, and Facetorch's facetorch/models/governance.json.
Intended use
- Research and human-assisted screening for manipulated imagery.
Limitations and responsible use
- The score is not proof that media is authentic or manipulated and is vulnerable to domain shift and new generation methods.
- Use corroborating forensic evidence and human review.
- The checkpoint license does not grant rights to the DFDC or other training datasets.
- The artifact license does not itself license training datasets, input data, or a deployment's processing of personal data.
- Do not use model output as the sole basis for consequential decisions about a person.