Skip to content
Back to skills

Facenet

ASecurity

"Use davidsandberg/facenet for TensorFlow 1.x face recognition

  • 247 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 8, 2026
testingpythonbashdebuggingapi

Works with

  • api

Security analysis

A100/100

Pro scans all 20 files and shows the line behind each finding

Scanned September 8, 2026

npx -y skills add VectorSpaceLab/AREX-Skill --skill facenet --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Facenet?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Facenet
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vectorspacelab-facenet/badge)](https://www.skillsdirectory.com/skills/vectorspacelab-facenet)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: facenet
description: "Use davidsandberg/facenet for TensorFlow 1.x face recognition
  workflows: MTCNN alignment, embeddings, classification, LFW evaluation,
  training, and model export."
metadata:
  disco-role: operating
disable-model-invocation: true
license: MIT
---

# Facenet Repo Skill

Use this skill when a task involves David Sandberg's TensorFlow 1.x FaceNet repository: aligning face images with MTCNN, extracting embeddings, comparing faces, training an SVM classifier, evaluating on LFW pairs, training FaceNet models, or exporting checkpoints to frozen graphs.

## First checks

1. Treat Facenet as a source-style TensorFlow 1.x project, not a modern packaged library with console entry points.
2. Prefer a Python environment that can import TensorFlow 1.x APIs (`tf.Session`, `tf.Graph`, `tf.train`, and `tf.contrib.slim`). TensorFlow 2.x without compatibility shims is not enough.
3. Ensure Facenet modules are importable as modules such as `facenet`, `lfw`, `compare`, `classifier`, `train_softmax`, `train_tripletloss`, `freeze_graph`, `align.detect_face`, and `models.inception_resnet_v1`.
4. Run [`scripts/check_facenet_environment.py`](scripts/check_facenet_environment.py) to verify imports, TensorFlow version, and common dependency availability before planning a workflow.
5. Read [`references/compatibility-and-install.md`](references/compatibility-and-install.md) when installing or debugging the old TensorFlow/Python dependency stack.

## Install/inspect

For faithful historical execution, use the repository's documented TensorFlow 1.7/Python 2.7 or 3.5 environment. On modern hosts, use an isolated Python 3.7-era environment with a compatible TensorFlow 1.x build, NumPy/SciPy/scikit-learn/OpenCV/h5py/Pillow, and a compatible `protobuf<3.20`; do not install into the interpreter running the agent. Because this repo has no packaging metadata, make its source modules importable before running module-style commands. The root checker is the minimum read-only verification:

```bash
python scripts/check_facenet_environment.py --json
```

## Route by task

- **Dataset layout, image preprocessing, and MTCNN alignment**: read [`sub-skills/data-and-alignment/SKILL.md`](sub-skills/data-and-alignment/SKILL.md) for class-folder datasets, `pairs.txt` basics, `prewhiten`/crop/flip behavior, and alignment command construction.
- **Embeddings, comparison, classifiers, and clustering**: read [`sub-skills/embeddings-and-classification/SKILL.md`](sub-skills/embeddings-and-classification/SKILL.md) for model-backed embedding extraction, `compare`, SVM classifier, `.npy` exports, DBSCAN, and contributed recognition examples.
- **LFW and verification metrics**: read [`sub-skills/evaluation/SKILL.md`](sub-skills/evaluation/SKILL.md) for `validate_on_lfw`, pair-file validation, ROC/VAL/FAR/AUC/EER interpretation, and fixed-standardization warnings.
- **Training and model definitions**: read [`sub-skills/training/SKILL.md`](sub-skills/training/SKILL.md) for softmax/triplet training commands, model definitions, loss functions, learning-rate schedules, logging, and checkpoint outputs.
- **Model files, checkpoints, and frozen graphs**: read [`sub-skills/model-export-and-checkpoints/SKILL.md`](sub-skills/model-export-and-checkpoints/SKILL.md) for accepted model path formats, `load_model`, checkpoint selection, tensor names, and `freeze_graph` workflows.

## Common Facenet objects and conventions

- A class-folder dataset is `data_dir/person_name/image.ext`; labels are assigned by sorted directory order.
- The main embedding tensor is usually `embeddings:0`, input images are `input:0`, and inference mode is controlled by `phase_train:0`.
- A checkpoint model directory must contain exactly one `.meta` file plus checkpoint state or `model-*.ckpt-*` files.
- A frozen graph is a `.pb` file that `facenet.load_model` imports directly.
- Pretrained models named in the README commonly use image size `160`; newer 2018 models require fixed image standardization for comparable LFW results.

## Default handoff order

For a new end-to-end request, use this order unless the user already supplies validated artifacts:

1. Run the environment checker and confirm TF1 imports.
2. Validate the class-folder or LFW data layout.
3. Inspect the checkpoint directory or frozen graph signature.
4. Build the narrowest workflow command with the owning sub-skill helper.
5. Run a bounded help/fixture/model smoke before any long, networked, or hardware-interactive job.
6. Record output directories, model path, image size, standardization mode, batch size, and seed so later comparisons are reproducible.

If a request crosses multiple routes, keep each artifact explicit: raw data, aligned data, model/checkpoint, classifier pickle, embeddings, metrics, and logs should not be silently mixed.

## Safety and scope

- Full training, LFW benchmarks, and pretrained comparison usually require external datasets or model downloads. Treat them as skip-network or skip-expensive unless the user supplies assets and approves runtime cost.
- Webcam recognition in contributed scripts needs a camera/display plus hard-coded model/classifier assumptions. Document it or adapt it carefully; do not start an infinite webcam loop as a smoke test.
- Do not use TensorFlow 2.x behavior to infer Facenet correctness without checking TF1 compatibility.
- The generated skill excludes the experimental VAE/generative branch and broad `tmp/` experiments unless the user explicitly asks for those historical utilities.

## References

- [`references/repo-provenance.md`](references/repo-provenance.md) records the source commit, evidence paths, and generation baseline.
- [`references/repo-routing-metadata.json`](references/repo-routing-metadata.json) is structured metadata for managed repo-skill routing.
- [`references/troubleshooting.md`](references/troubleshooting.md) covers cross-cutting install/import/model/data failures.

Files in this skill

  • SKILL.md5.8 KB
  • references/compatibility-and-install.md3.1 KB
  • references/repo-provenance.md2.8 KB
  • references/repo-routing-metadata.json328 B
  • references/troubleshooting.md2.9 KB
  • scripts/check_facenet_environment.py2.9 KB
  • sub-skills/data-and-alignment/SKILL.md4.3 KB
  • sub-skills/data-and-alignment/references/alignment-workflows.md2.1 KB
  • sub-skills/data-and-alignment/references/data-formats.md2.2 KB
  • sub-skills/data-and-alignment/references/troubleshooting.md1.9 KB
  • sub-skills/data-and-alignment/scripts/build_alignment_command.py1.3 KB
  • sub-skills/data-and-alignment/scripts/validate_facenet_dataset.py4.3 KB
  • sub-skills/embeddings-and-classification/SKILL.md4.2 KB
  • sub-skills/embeddings-and-classification/references/cli-reference.md1.5 KB
  • sub-skills/embeddings-and-classification/references/contributed-workflows.md2.1 KB
  • sub-skills/embeddings-and-classification/references/troubleshooting.md1.7 KB
  • sub-skills/embeddings-and-classification/references/workflows.md3.3 KB
  • sub-skills/embeddings-and-classification/scripts/build_classifier_command.py1.3 KB
  • sub-skills/embeddings-and-classification/scripts/build_cluster_command.py1.3 KB
  • sub-skills/embeddings-and-classification/scripts/build_compare_command.py860 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.