Skip to content
Back to skills

Conversion

ASecurity

"Guides TensorFlow YOLOv3 checkpoint conversion, COCO

  • 247 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 9, 2026
datapythonbashnode

Security analysis

A100/100

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

Scanned September 9, 2026

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

Installs into .claude/skills of the current project.

Are you the author of Conversion?

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

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

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: conversion
description: "Guides TensorFlow YOLOv3 checkpoint conversion, COCO
  initialization, Darknet weight pitfalls, and graph freezing to PB inference
  models."
disable-model-invocation: true
metadata:
  disco-role: operating
license: NOASSERTION
---

# TensorFlow YOLOv3 conversion operating guide

Use this sub-skill when a user asks to convert pretrained YOLOv3 weights, initialize training from COCO, freeze a TensorFlow checkpoint, diagnose `convert_weight.py` / `freeze_graph.py`, or decide whether the bundled Darknet conversion scripts are safe to run.

## Boundaries

- Owns checkpoint and weight conversion plus freezing a TensorFlow 1.x graph to a `.pb` file.
- Routes running image/video inference with the final `.pb` to the inference sub-skill.
- Routes training after COCO initialization to the training sub-skill.
- Routes dataset, class-name, and anchor-file preparation to the data-preparation sub-skill.
- Does not claim that direct Darknet `.weights` conversion works unmodified; the bundled direct-conversion scripts have known source bugs.

## Required working assumptions

- Run repository scripts from the repository root so relative config paths such as `./data/classes/coco.names`, `./data/anchors/basline_anchors.txt`, and `./checkpoint/...` resolve correctly.
- Use a TensorFlow 1.x-compatible environment. TensorFlow 1.15.x CPU is sufficient for conversion/freezing if the checkpoint and graph are compatible; legacy `tensorflow-gpu==1.11.0` is optional and difficult on modern CUDA hardware.
- Default conversion inputs and outputs are:
  - original release checkpoint prefix: `./checkpoint/yolov3_coco.ckpt` (`cfg.YOLO.ORIGINAL_WEIGHT`)
  - converted/demo checkpoint prefix: `./checkpoint/yolov3_coco_demo.ckpt` (`cfg.YOLO.DEMO_WEIGHT`)
  - frozen graph output: `./yolov3_coco.pb`
  - freeze output nodes: `input/input_data`, `pred_sbbox/concat_2`, `pred_mbbox/concat_2`, `pred_lbbox/concat_2`

## Fast operating path

1. Read [conversion workflows](references/workflows.md) for the exact COCO release checkpoint, `--train_from_coco`, and freeze flows.
2. Run the safe preflight checker before expensive or destructive commands:

   ```bash
   python sub-skills/conversion/scripts/check_conversion_inputs.py --repo-root .
   ```

3. If creating custom-class training initialization from COCO, update the class-name config first, then use:

   ```bash
   python convert_weight.py --train_from_coco
   ```

   This intentionally skips the output head variables (`conv_sbbox`, `conv_mbbox`, `conv_lbbox`) and saves randomly initialized heads into `cfg.YOLO.DEMO_WEIGHT`.

4. If creating a COCO demo PB, use the release checkpoint flow, run `python convert_weight.py`, then run `python freeze_graph.py`.
5. If the user supplies Darknet `.weights`, consult [conversion troubleshooting](references/troubleshooting.md) before running anything; prefer the release checkpoint flow or patch a copy of the direct conversion scripts first.

## Safety checklist

- Confirm checkpoint prefixes have `.meta`, `.index`, and at least one `.data-*` shard before restore.
- Confirm class-name and anchor files are present and match the graph/class-count intent.
- For `freeze_graph.py`, use output node names without `:0`; inference code fetches the same tensors with `:0` suffix.
- Keep generated checkpoints and PB files in user-selected working paths; do not copy large model artifacts into this skill directory.

Files in this skill

  • SKILL.md3.4 KB
  • references/troubleshooting.md5.8 KB
  • references/workflows.md5.3 KB
  • scripts/check_conversion_inputs.py15 KB

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…