ResNet-50 facial representation model

The FLR ResNet-50 VGGFace 1M checkpoint from the Facial Representation Learning project.

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 embed-resnet50
Architecture ResNet-50 facial representation network
Input 244 by 244 RGB face crop
Output A normalized 128-dimensional representation and 3,000 projection logits.
Dynamic shapes Batch dimension 1 through 64.
Weights license MIT

Preprocessing: Resize to 244 by 244 and apply mean [0.485, 0.456, 0.406] and standard deviation [0.228, 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 46031346afc7a4455ed028b869ab7d023d7221b2dd0225158b6682b1ac55aac9
model-torch2.11.pt2 pt2 >=2.11, <2.12 cpu, cuda 926b3f0a86b27a74a885c7fa47dbe7ca0837c1030181cc13f25ade5b48268e81
model.pt torchscript >=2.6, <2.12 cpu 3911c73efe902ca0810bf5ced0b8a9bbaa84356860131ec3cb61eb1493e43807

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 = "embed-resnet50"
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, 244, 244, 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/1adrianb/unsupervised-face-representation 8bdb3cc7fddbee147d7188c0bda103272238d1bb checkpoint publisher and primary model source MIT
https://github.com/cydonia999/VGGFace2-pytorch c6e10f277b31b972c78fac68a40464a36a46a10d Facetorch native architecture attribution MIT
Upstream checkpoint SHA-256 Source
flr_r50_vgg_face_1m.pth ee6757ae2d135d4b81c0c03f4cc9d28fb96f6444b4214a4e9d5726839674ae49 publisher location

Mapping method: exact_tensor_equality_after_module_prefix_removal.

Result: 328 of 328 tensors matched 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.

Papers

Intended use

  • Research feature extraction after consent, privacy, and task-specific review.

Limitations and responsible use

  • Embedding distance is not calibrated identity evidence and may encode demographic or dataset biases.
  • The model returns a normalized 128-dimensional representation plus 3,000 projection logits; it is not a 2,048-dimensional SENet embedding.
  • The checkpoint license does not grant rights to VGGFace2 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.
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support