Skip to content
Back to skills

Part Segmentation Workflows

ASecurity

"ShapeNetPart part-segmentation training, evaluation, inference,

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

Security analysis

A100/100

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

Scanned September 8, 2026

npx -y skills add VectorSpaceLab/AREX-Skill --skill part-segmentation-workflows --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Part Segmentation Workflows?

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

Security grade badge for Part Segmentation Workflows
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vectorspacelab-part-segmentation-workflows/badge)](https://www.skillsdirectory.com/skills/vectorspacelab-part-segmentation-workflows)

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: part-segmentation-workflows
description: "ShapeNetPart part-segmentation training, evaluation, inference,
  data layout, and one-hot command workflow guidance for the pointnet2
  repository."
disable-model-invocation: true
metadata:
  disco-role: operating
license: NOASSERTION
---

# Part Segmentation Workflows

Use this sub-skill when the user asks about ShapeNetPart object part segmentation in this PointNet++ repository: training on the official ShapeNetPart normal dataset, evaluating a checkpoint, choosing the one-hot category-conditioned variant, or adapting the legacy single-category visualization path.

## Route first by workflow

- **All-category plain segmentation**: use `part_seg/train.py` with model `pointnet2_part_seg`; evaluate an existing checkpoint with `part_seg/evaluate.py`. Start with [references/workflows.md](references/workflows.md#all-category-plain-training-and-evaluation).
- **All-category one-hot segmentation**: use `part_seg/train_one_hot.py` with model `pointnet2_part_seg_msg_one_hot`; the dataset must return a per-shape category label in addition to per-point part labels. Start with [references/workflows.md](references/workflows.md#one-hot-category-conditioned-training).
- **Single-category visualization / test-time inference**: treat `part_seg/test.py` as a legacy reference, not a reliable drop-in script, because it has a `ROOT_DIR` bug and stale dataset/model assumptions. Start with [references/workflows.md](references/workflows.md#single-category-test-time-visualization).
- **Dataset diagnosis before training**: run the bundled validator in [scripts/validate_shapenetpart_layout.py](scripts/validate_shapenetpart_layout.py) and read [references/data-formats.md](references/data-formats.md).
- **Command construction**: prefer [scripts/build_part_seg_command.py](scripts/build_part_seg_command.py) over copying the original background shell snippets.

## Mandatory checks before suggesting a run

1. Confirm the user has the ShapeNetPart root with `synsetoffset2category.txt`, `train_test_split/*.json`, and category folders matching the intended loader. See [references/data-formats.md](references/data-formats.md#normal-all-category-layout-used-by-training-and-evaluation).
2. Confirm whether the user wants **plain** or **one-hot** training. Do not pass the one-hot model to `evaluate.py`; the source evaluator only builds the plain model interface.
3. Confirm the runtime can import TensorFlow 1.x and the PointNet++ custom ops needed by `pointnet_sa_module`, `pointnet_sa_module_msg`, and `pointnet_fp_module`. CPU-only validation is enough for data/command checks, but native model execution is a legacy CUDA/custom-op path.
4. For visualization requests, explain that `test.py` needs patching before use; do not present it as a verified runnable script. See [references/troubleshooting.md](references/troubleshooting.md#root_dir-and-stale-testpy-visualization-path).

## Bundled helpers

- [scripts/build_part_seg_command.py](scripts/build_part_seg_command.py) builds shell commands for plain training, one-hot training, plain evaluation, and legacy test visualization with safer defaults and workflow guards.
- [scripts/validate_shapenetpart_layout.py](scripts/validate_shapenetpart_layout.py) validates ShapeNetPart normal and legacy `points/points_label` layouts, split JSON membership, empty selected splits, and basic label/column schema.
- [scripts/smoke_shapenetpart_loader.py](scripts/smoke_shapenetpart_loader.py) creates a tiny temporary ShapeNetPart-style fixture and runs the validator; use it to check the bundled validator itself without requiring the real dataset.

## Evidence and limits

This sub-skill distills repository evidence from the README, `part_seg/command*.sh`, `part_seg/train*.py`, `part_seg/evaluate.py`, `part_seg/test.py`, `part_seg/part_dataset*.py`, and the two `pointnet2_part_seg*` model definitions. It intentionally does not copy the raw trainers because they are Python-2-era, checkpoint/data/GPU heavy, and contain repo-relative assumptions. Workflow-specific failure modes are in [references/troubleshooting.md](references/troubleshooting.md); data contracts are in [references/data-formats.md](references/data-formats.md).

Files in this skill

  • SKILL.md4.1 KB
  • references/data-formats.md6.8 KB
  • references/troubleshooting.md7.5 KB
  • references/workflows.md8 KB
  • scripts/build_part_seg_command.py9.2 KB
  • scripts/smoke_shapenetpart_loader.py3.7 KB
  • scripts/validate_shapenetpart_layout.py15.1 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…

Newsletter

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