Die Oberfläche ist lokalisiert; Skill-Beschreibungen und -Dokumente werden per KI automatisch in Ihre Sprache übersetzt. Code, Befehle, Pfade und Fachbegriffe bleiben im Original, maßgeblich ist das Dokument des Autors.
Skills entdecken
Daten und Forschung · SKILL.md

datasets-transforms

datasets-transforms

Use Torch Points3D dataset factories, point-cloud data layouts, transforms, filters, collate modes, and safe dataset preflight helpers.

Independent GitHub snapshot · Automated classification · Original documentation governs

Skill-Dokumentation

GitHub

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 for factory signatures, config fields, collate modes, and common transform patterns.
  • Read data layouts for ShapeNet, S3DIS, ScanNet, ModelNet, SemanticKITTI, object detection, panoptic, and registration data expectations.
  • Read dataset/transform troubleshooting for class lookup failures, invalid transform names, missing features, multiscale constraints, and download/layout blocks.
  • Run transform_config_smoke.py to validate an OmegaConf-style transform or data-config class lookup without training.
  • Run 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:

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:

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

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

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.
  • For train/eval commands, checkpoints, logging, and config composition across task/models/data/model_name, use training-evaluation.
  • For registration-specific pair data, descriptor outputs, FPS utility behavior, and 3DMatch/KITTI/ETH evaluation, use registration-workflows.

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.
Gespeicherte Skills