Skip to content
Back to skills

Model Api

ASecurity

"Use when working with RobustVideoMatting MattingNetwork APIs,

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

Works with

  • api

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 model-api --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Model Api?

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

Security grade badge for Model Api
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vectorspacelab-model-api-3f9ce3fa/badge)](https://www.skillsdirectory.com/skills/vectorspacelab-model-api-3f9ce3fa)

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: model-api
description: "Use when working with RobustVideoMatting MattingNetwork APIs,
  recurrent states, model variants, refiners, tensor shapes, and safe synthetic
  forward checks."
disable-model-invocation: true
metadata:
  disco-role: operating
license: GPL 3.0
---

# RobustVideoMatting Model API

Use this sub-skill when the task is about constructing or calling the RVM PyTorch
model itself rather than converting videos, preparing training data, or running
evaluation metrics.

## Read this when

- The user asks how to instantiate `MattingNetwork` with `mobilenetv3` or
  `resnet50`.
- The task mentions recurrent states, ConvGRU memory, `downsample_ratio`,
  `segmentation_pass`, foreground/alpha tensor shapes, or channel/rank errors.
- You need a safe import/forward smoke test before writing inference or training
  code.
- You need to decide whether to use `deep_guided_filter` or
  `fast_guided_filter` as the refiner.

Route other tasks elsewhere:

- Video/image conversion, checkpoints, TorchHub, TorchScript, ONNX, TensorFlow,
  or CoreML usage: [inference-workflows](../inference-workflows/SKILL.md).
- Dataset layouts, `DATA_PATHS`, training stages, losses, or augmentations:
  [training-data](../training-data/SKILL.md).
- LR/HR metric evaluation or speed benchmarking:
  [evaluation-tools](../evaluation-tools/SKILL.md).

## Core workflow

1. Ensure the RVM source modules are importable as `model` and that PyTorch and
   TorchVision are installed. If in doubt, run the bundled smoke helper:

   ```bash
   python scripts/rvm_model_smoke.py --repo-root /path/to/RobustVideoMatting --variant mobilenetv3 --device cpu
   ```

2. Instantiate the model without downloading backbone weights unless the user
   explicitly wants that side effect:

   ```python
   from model import MattingNetwork

   model = MattingNetwork(variant="mobilenetv3").eval()
   # or: MattingNetwork(variant="resnet50")
   ```

3. Feed RGB tensors normalized to `0..1` in channel-first format:

   - single frame/batch: `[B, C, H, W]`
   - chunked sequence: `[B, T, C, H, W]`

4. Recycle all four recurrent states in temporal order:

   ```python
   rec = [None] * 4
   fgr, pha, *rec = model(src, *rec, downsample_ratio=0.25)
   ```

5. Validate the output contract. Matting mode returns foreground `fgr`, alpha
   `pha`, and four recurrent states. `segmentation_pass=True` returns
   segmentation logits plus recurrent states, not foreground/alpha.

## Bundled references and scripts

- Read [references/api-reference.md](references/api-reference.md) for verified
  constructor and forward signatures, tensor ranks, output shapes, recurrent
  state details, model variants, and architecture notes.
- Read [references/troubleshooting.md](references/troubleshooting.md) when
  shape errors, invalid variants, device/dtype mismatches, recurrent-state
  misuse, pretrained downloads, or segmentation-pass confusion appear.
- Run [scripts/rvm_model_smoke.py](scripts/rvm_model_smoke.py) for a safe
  synthetic forward pass on CPU or CUDA. It is adapted from the repo's speed
  test but intentionally avoids benchmarks, downloads, and training.

## Decision points

- Prefer `mobilenetv3` for most inference and smoke tests because it is the
  smaller recommended variant. Use `resnet50` when the user explicitly wants
  the larger model with modest quality improvement.
- Keep `refiner="deep_guided_filter"` unless the task specifically asks for the
  faster guided-filter refiner or export behavior.
- Use 5D input chunks (`[B,T,C,H,W]`) to improve parallelism while preserving
  temporal recurrence across chunks. Carry only the returned four state tensors
  into the next chunk.
- Do not use a CPU smoke test as proof of GPU speed, CUDA memory behavior, or
  high-resolution evaluation performance. Route those questions to
  [evaluation-tools](../evaluation-tools/SKILL.md).

## Acceptance check for model API answers

A good answer for this surface names the exact tensor rank/order, explains the
four recurrent states, states whether the call returns fgr/pha or segmentation
logits, includes a small validation snippet or smoke command, and routes any
conversion/training/evaluation work to the owning sub-skill.

Files in this skill

  • SKILL.md4.1 KB
  • references/api-reference.md4.6 KB
  • references/troubleshooting.md3.9 KB
  • scripts/rvm_model_smoke.py4.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.