Skip to content
Back to skills

Datasets Transforms

ASecurity

"Use Torch Points3D dataset factories, point-cloud data layouts,

  • 247 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 9, 2026
toolspythonbashapibackend

Works with

  • api

Security analysis

A100/100

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

Scanned September 9, 2026

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

Installs into .claude/skills of the current project.

Are you the author of Datasets Transforms?

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

Security grade badge for Datasets Transforms
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vectorspacelab-datasets-transforms/badge)](https://www.skillsdirectory.com/skills/vectorspacelab-datasets-transforms)

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: datasets-transforms
description: "Use Torch Points3D dataset factories, point-cloud data layouts,
  transforms, filters, collate modes, and safe dataset preflight helpers."
disable-model-invocation: true
metadata:
  disco-role: operating
license: NOASSERTION
---

# Torch Points3D Datasets and Transforms

Use this sub-skill when the user asks about Torch Points3D data configs,
`torch_geometric.data.Data` fields, dataset class resolution, transform/filter
YAML, collate behavior, data layout preflights, or adding a dataset to the
framework.

## Read First

- Read [dataset and transform reference](references/dataset-and-transform-reference.md) for factory signatures, config fields, collate modes, and common transform patterns.
- Read [data layouts](references/data-layouts.md) for ShapeNet, S3DIS, ScanNet, ModelNet, SemanticKITTI, object detection, panoptic, and registration data expectations.
- Read [dataset/transform troubleshooting](references/troubleshooting.md) for class lookup failures, invalid transform names, missing features, multiscale constraints, and download/layout blocks.
- Run [transform_config_smoke.py](scripts/transform_config_smoke.py) to validate an OmegaConf-style transform or data-config class lookup without training.
- Run [check_scannet_layout.py](scripts/check_scannet_layout.py) to inspect a ScanNet raw scene directory without downloading missing files.

## Main Workflows

### Resolve a dataset class from config

Torch Points3D dataset configs use two required selectors:

```yaml
task: segmentation
class: shapenet.ShapeNetDataset
dataroot: data
```

The factory imports `torch_points3d.datasets.<task>.<module>` and searches for a
case-insensitive subclass of `BaseDataset` matching the class name. Use the
transform smoke helper with `--data-config` to check class resolution before
instantiating datasets that may download or preprocess data.

### Validate transform YAML

Transforms are OmegaConf objects with a `transform` name plus optional `params`
and `lparams`:

```yaml
- transform: GridSampling3D
  params:
    size: 0.1
- transform: Center
```

Torch Points3D first looks in `torch_points3d.core.data_transform`, then in
`torch_geometric.transforms`. Use:

```bash
python sub-skills/datasets-transforms/scripts/transform_config_smoke.py \
  --transforms-yaml '[{"transform":"GridSampling3D","params":{"size":0.1}},{"transform":"Center"}]'
```

### Choose a point-cloud data format

- Dense format: fixed-size tensors collated into `[B, N, C]`; used by dense APIs such as PointNet2 and RSConv.
- PyG sparse/message-passing format: variable-size point clouds concatenated with a `batch` vector; used by many PyG and registration utilities.
- Partial-dense format: KPConv-style fixed neighbor slots; supports `precompute_multi_scale` only for `PARTIAL_DENSE` models.
- Sparse convolution format: quantized coordinates/features for MinkowskiEngine or torchsparse backends.

### Add or adapt a dataset

Follow the framework convention: create a `BaseDataset` subclass under the task
family (`segmentation`, `classification`, `registration`, `object_detection`, or
`panoptic`), define train/test/val dataset attributes, and implement
`get_tracker`. Then create a matching data config with `task`, `class`,
`dataroot`, and transforms.

## Boundary Rules

- For model constructor choices and forward smoke tests, use [model-apis](../model-apis/SKILL.md).
- For train/eval commands, checkpoints, logging, and config composition across `task`/`models`/`data`/`model_name`, use [training-evaluation](../training-evaluation/SKILL.md).
- For registration-specific pair data, descriptor outputs, FPS utility behavior, and 3DMatch/KITTI/ETH evaluation, use [registration-workflows](../registration-workflows/SKILL.md).

## Safety Checklist

- Do not instantiate large dataset classes until data size, license, credentials, and preprocessing side effects are acceptable.
- Use config/class/transform smoke checks before `Trainer` setup.
- Keep transform names exact and pass OmegaConf containers rather than plain dictionaries to `instantiate_transform`.
- When `precompute_multi_scale=True`, confirm the model convolution type is `PARTIAL_DENSE`; other conv types raise `NotImplementedError`.

Files in this skill

  • SKILL.md4.1 KB
  • references/data-layouts.md3.7 KB
  • references/dataset-and-transform-reference.md4.6 KB
  • references/troubleshooting.md3.4 KB
  • scripts/check_scannet_layout.py2.9 KB
  • scripts/transform_config_smoke.py4.5 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.