Skip to content
Back to skills

Skill Image Tensor Inspector

ASecurity

Inspect any image-shaped tensor or array and report dtype, layout, range, and whether it looks raw, normalized, or standardized. Use when you need help with skill image tensor inspector.

  • 9 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 8, 2026
developmentgodebuggingbackend

Works with

  • cli

Security analysis

A100/100

Scanned September 8, 2026

npx -y skills add anubhavg-icpl/vibe --skill skill-image-tensor-inspector --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Skill Image Tensor Inspector?

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

Security grade badge for Skill Image Tensor Inspector
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/anubhavg-icpl-skill-image-tensor-inspector/badge)](https://www.skillsdirectory.com/skills/anubhavg-icpl-skill-image-tensor-inspector)

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: skill-image-tensor-inspector
description: Inspect any image-shaped tensor or array and report dtype, layout, range, and whether it looks raw, normalized, or standardized. Use when you need help with skill image tensor inspector.
license: CC-BY-NC-SA-4.0
phase: 4
lesson: 1
metadata:
  version: 1.0.0
  tags: [computer-vision, debugging, preprocessing, tensors]
---

# Image Tensor Inspector

A diagnostic skill for any point in a vision pipeline where you are holding an image-shaped array and need to know exactly what state it is in.

## When to use

- A pretrained model returns garbage predictions and you suspect the preprocessing.
- Migrating a pipeline between OpenCV and torchvision and the channel order is unclear.
- Stacking layers from multiple frameworks and the batch axis keeps appearing in the wrong place.
- Debugging a training loop where loss is stuck at `log(num_classes)`.

## Inputs

- `x`: any 2-D, 3-D, or 4-D array-like (NumPy, PyTorch, JAX).
- Optional `expected`: a dict of invariants to check against, e.g. `{"layout": "CHW", "range": "standardized"}`.

## Steps

1. **Resolve backend** — detect whether `x` is NumPy, Torch, or JAX. Convert to NumPy for inspection without altering the original.

2. **Classify rank**:
   - rank 2 -> single-channel image (H, W).
   - rank 3 -> `HWC` if the last axis is 1, 3, or 4 and is strictly smaller than the other two; otherwise `CHW`.
   - rank 4 -> prefer `NCHW` if axis 1 is in {1, 3, 4} **and** either axis 2 or axis 3 is larger than 16; otherwise prefer `NHWC`. Pure axis-1 check misclassifies small-image NHWC batches like `(3, 4, 224, 3)`.
   - Always flag ambiguous cases (e.g. `(1, 3, 3, 3)`) as `ambiguous` rather than guessing; require the caller to provide `expected`.

3. **Classify dtype and range**:
   - `uint8` in [0, 255] -> `raw`.
   - `float*` with min >= 0 and max <= 1.01 -> `normalized`.
   - `float*` with min < 0 and |mean| < 0.5 and 0.5 <= std <= 1.5 -> `standardized`.
   - Anything else -> `unusual`, print the histogram.

4. **Per-channel stats** — report mean and std per channel. Compare against ImageNet mean/std if the array looks standardized and surface a match confidence.

5. **Report** in this exact block:

```
[inspector]
  backend:   numpy | torch | jax
  rank:      2 | 3 | 4
  layout:    HW | HWC | CHW | NHWC | NCHW
  dtype:     <dtype>
  shape:     <shape>
  range:     raw | normalized | standardized | unusual
  min/max:   <min> / <max>
  per-channel mean: [ ... ]
  per-channel std:  [ ... ]
  likely source:    camera | PIL | OpenCV | torchvision | random init
  likely target:    display | training | inference
```

6. **Recommend next action** based on the `likely target`:
   - For `display`: transpose to HWC, clip, convert to uint8.
   - For `training`: standardize with dataset stats, transpose to CHW, add batch axis.
   - For `inference`: match the exact invariants in the model card.

## Rules

- Never mutate the input. Print diagnostics only.
- If `expected` is provided, flag every mismatch with `[expected X got Y]`.
- Call out silent-failure risks when the layout or channel order is ambiguous.
- Recommend one action at a time, not a list of options.

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.