Route for SSD Keras model building, compilation, training, and fine-tuning.
Scanned 9/9/2026
Install to Claude Code
npx -y skills add VectorSpaceLab/AREX-Skill --skill training --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Training?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/vectorspacelab-training-67315cf2)More formats (shields.io, HTML) on the badges page.
---
name: training
description: "Route for SSD Keras model building, compilation, training, and fine-tuning."
metadata:
disco-role: operating
disable-model-invocation: true
license: Apache 2.0
---
# Training
Use this route when the task is about building a trainable SSD model, loading pretrained weights, compiling the loss, wiring the encoder, or running a fitting loop.
## What this route covers
- building SSD300, SSD512, or SSD7-style trainable models
- loading pretrained VGG or SSD weights by name
- compiling with `SSDLoss`
- creating `SSDInputEncoder` instances that match the model anchors
- fitting on VOC, CSV, or synthetic data batches
- adapting classifier weights when the class count changes
- using the SSD7 template as a starting point for alternate backbones
## What this route excludes
- dataset parsing details and augmentation internals
- decoding predictions
- VOC / COCO evaluation
Send those tasks to `data-preparation` or `inference-evaluation`.
## First things to check
1. Open `references/model-architecture.md` to confirm the model / encoder / loss contract.
2. Open `references/workflows.md` for the notebook-derived training sequence.
3. Open `references/compatibility.md` if the old TensorFlow / Keras stack is not importing.
4. Run `scripts/smoke.py` for a tiny synthetic model / encoder / train-step check.
## Typical training workflow
### 1. Pick the model family
- `ssd_300` is the canonical path and matches the main Pascal VOC / COCO notebook recipes.
- `ssd_512` uses the same design at a larger input size.
- `build_model` is the smaller SSD7 template and is the best smoke path or custom-backbone starting point.
### 2. Match the anchor settings
The model builder and the encoder must agree on:
- scales
- aspect ratios
- steps
- offsets
- variances
- coordinate convention
- coordinate normalization
If these drift apart, the model will build but the targets or decoded boxes will be wrong.
### 3. Load pretrained weights carefully
- Use `load_weights(..., by_name=True)` when the source weights were saved with a different head shape.
- If the source and target class counts differ, adapt the classifier weights with `sample_tensors` before loading them.
- The weight-sampling tutorial is the right reference when you are reusing a pretrained detector with a new class list.
### 4. Compile and fit
- Use `SSDLoss.compute_loss` as the model loss.
- Keep the optimizer settings consistent with the notebook recipe when you need to reproduce the historical results.
- Feed the model from `DataGenerator` through the data-preparation route.
- Keep an eye on early training instability: `OOM` and `NaN` are the two common failure modes.
### 5. Save and resume
- Save the whole model when you need to reload custom layers later.
- If you resume training, keep the loss, encoder, and model config exactly aligned with the original run.
## Fine-tuning / transfer learning
When the class set changes, do not edit the pretrained weights by hand.
Instead:
1. Inspect the source classifier kernel and bias shapes.
2. Select the classes to keep.
3. Use `sample_tensors` to sub-sample or up-sample the classifier tensors consistently.
4. Load the adapted weights into the new model head.
## Useful source objects
- `ssd_300`
- `ssd_512`
- `build_model`
- `SSDLoss`
- `SSDInputEncoder`
- `sample_tensors`
- `AnchorBoxes`
- `L2Normalization`
- `DecodeDetections`
- `DecodeDetectionsFast`
## Script path
- `scripts/smoke.py` — builds a small model, encodes a synthetic batch, runs one training step, and exercises the weight-sampling utility.
## Quick decision guide
- Need the canonical VOC / COCO recipe? Start with `ssd_300`.
- Need a faster smoke path or a custom backbone template? Start with `build_model`.
- Need to change the class count on pretrained weights? Stay in this route and use `sample_tensors` before loading the new head.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!