MagFace plus UNPG ResNet-100 verifier
MagFace ResNet-100 trained with Unified Negative Pair Generation and exported for face-similarity research.
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 | verify-magface |
| Architecture | MagFace IResNet-100 with UNPG training |
| Input | 112 by 112 RGB face crop |
| Output | One 512-dimensional embedding per face. |
| Dynamic shapes | Batch dimension 1 through 64. |
| Weights license | Apache-2.0 |
Preprocessing: Resize to 112 by 112 and apply ImageNet mean [0.485, 0.456, 0.406] and standard deviation [0.229, 0.224, 0.225], matching the Facetorch contract.
Release artifacts
| File | Format | Runtime | Devices | SHA-256 |
|---|
model-torch2.6.pt2 | pt2 | >=2.6, <2.7 | cpu, cuda | d6977f226493a55f72a54c57906998b8b814721a7560030e07c216fb9c9a6de1 |
model-torch2.11.pt2 | pt2 | >=2.11, <2.12 | cpu, cuda | 3298c38e5cb26aa00bac8128627f365dd47f57345a034e8b33f3742cde63f6eb |
model.pt | torchscript | >=2.6, <2.12 | cpu | 0c54aab654369235b25c4df96214cf9fda23c8535a48eb5c9a0c8a03c79601dc |
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
1import torch
2from huggingface_hub import hf_hub_download
3from facetorch.artifacts import get_model_manifest
4
5MODEL_ID = "verify-magface"
6device = "cuda" if torch.cuda.is_available() else "cpu"
7artifact = get_model_manifest().candidates(
8 MODEL_ID,
9 torch_version=torch.__version__,
10 device=device,
11 allow_legacy_models=False,
12)[0]
13path = hf_hub_download(
14 repo_id=artifact.repo_id,
15 revision=artifact.revision,
16 filename=artifact.filename,
17)
18model = torch.export.load(path).module().to(device).eval()
19example = torch.randn(1, 3, 112, 112, device=device)
20with torch.inference_mode():
21 output = model(example)
The random tensor above is only a loading smoke test. Use Facetorch's documented preprocessing for meaningful inference.
Provenance
| Upstream checkpoint | SHA-256 | Source |
|---|
MagFace+UNPG ResNet-100 checkpoint | Unavailable from expired source | publisher location |
Mapping method: founder_attested_chain_of_custody_corroborated_by_repository_history_and_negative_control.
Result: The founder confirmed acquisition from the author repository; Facetorch commit afff284236bdbf4cdd6271944791d085baca963c introduced the model as MagFace+UNPG on 2022-08-31; the immutable TorchScript archive identifies models.iresnet.IResNet; and all 925 comparable tensors differ from the authors' plain MagFace R100 checkpoint, excluding accidental substitution with that baseline.
Evidence limitation: No current byte-for-byte comparison to the expired author download is possible; this chain-of-custody method is intentionally disclosed on the model card.
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.
Papers
Intended use
- Consent-based research on face-similarity embeddings with independently calibrated thresholds.
Limitations and responsible use
- Similarity is not proof of identity and false matches or non-matches can cause serious harm.
- The original author checkpoint URL is no longer downloadable, so provenance relies on the disclosed founder-attested chain of custody rather than current tensor equality.
- The checkpoint license does not grant rights to MS1MV2 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.