Skip to content
Back to skills

Evaluation Inference

ASecurity

"Evaluate GeoSeg benchmark tiles and run CUDA inference on UAVid

  • 247 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 8, 2026
datapythonbash

Works with

  • cli

Security analysis

A100/100

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

Scanned September 8, 2026

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

Installs into .claude/skills of the current project.

Are you the author of Evaluation Inference?

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

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

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: evaluation-inference
description: "Evaluate GeoSeg benchmark tiles and run CUDA inference on UAVid
  sequences or large remote-sensing images with checkpoint-aware TTA and mask
  output handling."
disable-model-invocation: true
metadata:
  disco-role: operating
license: GPL 3.0
---

# Evaluation and inference

Use this route after selecting a compatible GeoSeg config and checkpoint. Run
the bundled preflight before any GPU entry point. For actual execution, use the
bundled root wrapper [`run_geoseg_entrypoint.py`](../../scripts/run_geoseg_entrypoint.py)
with an explicit user-supplied GeoSeg checkout; it preserves the checkout as
the process root while keeping the skill itself self-contained. This sub-skill
is reference-only for the GPU entry points: the checkout contains no datasets
or model checkpoints, and all three routes require CUDA.

## Choose one route

- **Benchmark tile evaluation:** the Vaihingen, Potsdam, or LoveDA tile
  evaluator entry point. These load `config.test_dataset`, predict each
  prepared tile, optionally compute `Evaluator` metrics, and write PNG masks.
  See [CLI reference](references/cli-reference.md) and [tile
  workflow](references/workflows.md#1-benchmark-tile-evaluation).
- **UAVid sequence inference:** the UAVid sequence entry point. Use when the
  input is a UAVid-style directory of sequences containing `Images/`; it writes
  one `Labels/` directory per sequence. See [the UAVid
  workflow](references/workflows.md#2-uavid-sequence-inference).
- **Huge-image inference:** the huge-image entry point. Use for a flat folder
  of `.tif`, `.png`, or `.jpg` images. It bottom/right pads each image,
  predicts non-overlapping tiles in row-major order, stitches them, crops back
  to the original height and width, and writes one output per input image. See
  [the huge-image workflow](references/workflows.md#3-huge-image-inference).

Do not use a tile evaluator for unsplit huge images, and do not pass a UAVid
sequence root to the flat-folder huge-image route.

## Required preflight

1. Read the selected config and verify `num_classes`, model family, dataset
   roots, and the checkpoint convention
   `os.path.join(config.weights_path, config.test_weights_name + ".ckpt")`.
   Relative config paths are resolved from the process working directory.
   The usual checkpoint locations are `model_weights/<dataset>/...`; these
   files are external and absent from the checkout.
2. Prepare the input layout described in [the output/workflow references](references/workflows.md)
   and use the matching dataset/config. Vaihingen and Potsdam use six classes;
   LoveDA uses seven; UAVid uses eight.
3. Confirm a CUDA-capable PyTorch runtime. The verified inspection runtime used
   Python 3.8, torch 2.0.1+cu118, and an NVIDIA A100 (compute capability 8.0).
   CPU is suitable for static checks and preprocessing only, not truthful
   execution of these entry points.
4. Choose TTA deliberately. Omit `-t` for no TTA; use `-t lr` for the script's
   horizontal+vertical flip wrapper or `-t d4` for its script-specific
   multiscale/flip composition. Do not pass the literal string `None`.
5. Decide indexed versus RGB output. Tile evaluators accept `--rgb`; UAVid
   sequence inference always emits the UAVid palette, and huge-image inference
   always maps the selected `-d` palette. Validate the mapping in
   [output formats](references/output-formats.md) before submitting masks.

A safe, dependency-free preflight is the operational first step when its
checks match the workflow. Run it from the GeoSeg repository root (or replace
paths with absolute paths):

```bash
python <path-to-this-skill>/sub-skills/evaluation-inference/scripts/validate_inference_inputs.py \
  --mode huge --image-path /abs/data/vaihingen/test_images \
  --config /abs/GeoSeg/config/vaihingen/dcswin.py \
  --output-path /abs/results/vaihingen/dcswin_huge \
  --dataset pv --check-padding
```

It does not import GeoSeg, load data, download anything, test CUDA, create
output directories, or prove checkpoint tensor compatibility. Treat its
warnings as a prompt to inspect the references, not as permission to run
without a checkpoint. The exact original entry-point flags and defaults are
preserved in [CLI reference](references/cli-reference.md); execute those flags
through the future wrapper or a user-supplied checkout path only after this
preflight succeeds.

## Sibling routes

- Prepare or repair dataset folders and masks with
  [data-preparation](../data-preparation/SKILL.md).
- Select a model, class count, and config/checkpoint pairing with
  [model-and-config](../model-and-config/SKILL.md).
- Resolve dependency, CUDA, data, output, and shape failures with
  [troubleshooting](references/troubleshooting.md).

Files in this skill

  • SKILL.md4.7 KB
  • references/cli-reference.md5.7 KB
  • references/output-formats.md4.8 KB
  • references/troubleshooting.md8.1 KB
  • references/workflows.md7.6 KB
  • scripts/validate_inference_inputs.py14.6 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.