Registered classes¶
Everything a config can name with type:, registry by registry, generated from the registries, from what each class declares about itself and from the shipped configs. A chip says which methods the slot applies to; the toolbox's own registries have none. The same tables in a terminal:
grasppanda components # every registry
grasppanda components --slot backbones # one registry, its columns explained
grasppanda components PTv3 # one class: options, configs, fits
grasppanda components --json # for scripts
Which class can replace which: Swap rules. What was measured for every option under every method: Does it run?.
How to read the tables
- Contract columns (between the name and the status) are the class attributes the config checker compares before anything is built. Each registry explains its own.
- Status is what has been proven.
tested: unit tests on CPU cover the class's contract and behaviour; for the stages of a ported method, the method's README says how it was compared with the reference implementation.weights-verified: additionally, weights released by the authors load strictly and the outputs match the official implementation; the measured difference is on Encoders checked against their authors' code.bridge: an adapter around a library installed as an optional extra; the library's own code runs, and the tests here cover the adapter (contract, shapes, gradients), not the library.—: the class declares no status. No status is a claim about grasp-detection accuracy. - Source is the paper, method or library the class implements, and where the code comes from: written for GraspPanda from the paper and the behaviour of the reference code (the ported methods; licences and commits of the references are in the method READMEs), a bridge to a library, or adapted from permissively licensed code (listed in
THIRD_PARTY_NOTICES.md). - Needs lists optional dependencies (
pip install -e ".[...]"). - Shipped configs are the runnable configs under
configs/whose resolved tree names the class.
Detectors¶
model — A complete method. Seed-based detectors fill the six slots below.
5 registered classes
required_inputs: Observation fields the detector reads; the dataset must provide them.needs_supervision: Fields of the training supervision the component reads (objectsare the dense label grids), each with the option that makes it read the field. The training dataset must serve every one; the config check compares.
| Component | required_inputs |
needs_supervision |
Status | Source | What it is | Shipped configs |
|---|---|---|---|---|---|---|
EconomicGrasp |
(points) |
— | tested |
EconomicGrasp (Wu et al., ECCV 2024) | Economic-supervision grasp detector; see the module docstring and economicgrasp.yaml. |
economicgrasp/economicgrasp_sunet14_g1b-kinect-to-gc6d-d435_10eeconomicgrasp/economicgrasp_sunet14_g1b-kinect_10eeconomicgrasp/economicgrasp_sunet14_g1b-realsense-to-gc6d-d435_10eeconomicgrasp/economicgrasp_sunet14_g1b-realsense_10eeconomicgrasp/economicgrasp_sunet14_gc6d-d435_10eexperimental/economicgrasp_ptv3_g1b-realsense_10eexperimental/finegrasp_ptv3_g1b-realsense_10efinegrasp/finegrasp_sunet14_g1b-realsense_10e |
GSNet |
(points) |
— | tested |
GSNet (Wang et al., ICCV 2021) | Graspness-based grasp detector; see the module docstring and gsnet.yaml. |
experimental/gsnet_litept_g1b-realsense_10eexperimental/gsnet_oacnns_g1b-realsense_10eexperimental/gsnet_pointnet2-fp_g1b-realsense_10eexperimental/gsnet_pointnext_g1b-realsense_10eexperimental/gsnet_ptv3_g1b-realsense_10eexperimental/gsnet_spunet_g1b-realsense_10egsnet/gsnet_sunet14_g1b-realsense-to-gc6d-d435_10egsnet/gsnet_sunet14_g1b-realsense_10egsnet/gsnet_sunet14_gc6d-d435_10e |
GraspNetBaseline |
(points) |
— | tested |
GraspNet-baseline (Fang et al., CVPR 2020) | The GraspNet-1Billion baseline; see the module docstring and graspnet_baseline.yaml. |
experimental/graspnet-baseline_sunet14-fps_g1b-realsense_18egraspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense-to-gc6d-d435_18egraspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e |
HGGD |
(depth, intrinsics, points, rgb) |
extras.view_grasps (always) |
tested |
HGGD (Chen et al., RA-L 2023) | Heat-map guided grasp detector; see the module docstring and hggd.yaml. |
experimental/hggd_dinov2-small-reg-depth-stem_g1b-realsense_15ehggd/hggd_r34w8_g1b-kinect_15ehggd/hggd_r34w8_g1b-realsense-to-gc6d-d435_15ehggd/hggd_r34w8_g1b-realsense_15e |
ScaleBalancedGrasp |
(points) |
— | tested |
Scale-Balanced-Grasp (Ma and Huang, CoRL 2022) | Scale-Balanced-Grasp; see the module docstring and scale_balanced_grasp.yaml. |
experimental/sbg_ptv3_g1b-realsense_18escale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense-to-gc6d-d435_18escale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e |
Scene encoders¶
model.backbone — Scene encoder: points to features, on every point or on a subsample. Seed-based · 5 methods Options
33 registered classes
output: Where the returned features live:dense= on every input point,subsampled= on a furthest-point subsample that records its parent. A proposal accepts one kind.
| Component | output |
Status | Source | What it is | Needs | Shipped configs |
|---|---|---|---|---|---|---|
ASSANet |
dense |
tested |
ASSANet (Qian et al., NeurIPS 2021), adapted from guochengqian/openpoints@bc778ec, MIT | ASSANet: PointNet++ with separable set abstraction, features on every input point. | — | — |
DGCNN |
dense |
tested |
DGCNN (Wang et al., ACM TOG 2019), adapted from antao97/dgcnn.pytorch@07d534c, MIT | Dynamic Graph CNN: EdgeConv over k-nearest-neighbour graphs, features on every point. | — | — |
DeLA |
dense |
tested |
DeLA (Chen et al., arXiv 2308.16532), adapted from Matrix-ASC/DeLA@0f427c3, MIT | DeLA: decoupled local aggregation on a grid pyramid, features on every input point. | — | — |
FeaturePropagation |
dense |
tested |
PointNet++ feature propagation (Qi et al., NeurIPS 2017) | Turn a subsampled backbone into a dense one by learned interpolation. |
— | experimental/gsnet_pointnet2-fp_g1b-realsense_10e |
FurthestPointSubsample |
subsampled |
tested |
PointNet++ furthest point sampling (Qi et al., NeurIPS 2017) | Turn a dense backbone into a subsampled one by furthest point sampling. |
— | experimental/graspnet-baseline_sunet14-fps_g1b-realsense_18eexperimental/sbg_ptv3_g1b-realsense_18e |
ImagePainted |
dense |
tested |
PointPainting (Vora et al., CVPR 2020), PointAugmenting (Wang et al., CVPR 2021); written here | Give a dense scene encoder image features sampled at the pixel of every point. |
— | — |
ImagePaintedSubsampled |
subsampled |
tested |
PointPainting (Vora et al., CVPR 2020), PointAugmenting (Wang et al., CVPR 2021); written here | Give a subsampled scene encoder image features sampled at the pixel of every point. |
— | — |
LitePT |
dense |
weights-verified |
LitePT (Yue et al., CVPR 2026) | LitePT encoder-decoder (official LitePT, Pointcept LitePT-v1). |
spconv-cu118 (or another spconv-* build) |
experimental/gsnet_litept_g1b-realsense_10e |
MinkUNet |
dense |
tested |
MinkUNet (Choy et al., CVPR 2019), adapted from NVIDIA/MinkowskiEngine@02fc608, MIT | Residual sparse U-Net of MinkowskiEngine (MinkUNet 14 to 101, Res16UNet), per-point output. | spconv-cu118 (or another spconv-* build) |
— |
OACNNs |
dense |
tested |
OA-CNNs (Peng et al., CVPR 2024), Pointcept oacnns-v1m1 | OA-CNNs encoder-decoder (Pointcept oacnns-v1m1), one feature per input point. |
spconv-cu118 (or another spconv-* build) |
experimental/gsnet_oacnns_g1b-realsense_10e |
OctFormer |
dense |
bridge |
OctFormer (Wang, ACM TOG / SIGGRAPH 2023); adapted from octree-nn/octformer@c2975ab, MIT; octree operators via ocnn | OctFormer encoder with a feature-pyramid head: features on every input point. | ocnn |
— |
PTv3 |
dense |
weights-verified |
Point Transformer V3 (Wu et al., CVPR 2024) | Point Transformer V3 encoder-decoder (Pointcept PT-v3m1). |
spconv-cu118 (or another spconv-* build) |
experimental/economicgrasp_ptv3_g1b-realsense_10eexperimental/finegrasp_ptv3_g1b-realsense_10eexperimental/gsnet_ptv3_g1b-realsense_10eexperimental/sbg_ptv3_g1b-realsense_18e |
PTv3Sonata |
dense |
weights-verified |
Sonata (Wu et al., CVPR 2025), Concerto (Zhang et al., NeurIPS 2025) | The PTv3 variant of Sonata and Concerto (Pointcept PT-v3m2). |
spconv-cu118 (or another spconv-* build) |
— |
PTv3Utonia |
dense |
weights-verified |
Utonia (Zhang et al., ICML 2026) | The PTv3 variant of Utonia (Pointcept PT-v3m3): PTv3Sonata plus RoPE. |
spconv-cu118 (or another spconv-* build) |
— |
PointMLP |
dense |
tested |
PointMLP (Ma et al., ICLR 2022), dense form, adapted from ma-xu/pointMLP-pytorch@1ab7f04, Apache-2.0 | PointMLP: residual MLP stages with a geometric affine module, features on every point. | — | — |
PointMamba |
subsampled |
bridge |
PointMamba (Liang et al., NeurIPS 2024), layout of LMD0311/PointMamba@80858e0 (Apache-2.0); mixer via mamba-ssm | Mamba state-space model over point-patch tokens in Hilbert order (PointMamba). | mamba-ssm |
— |
PointMetaBase |
dense |
tested |
PointMetaBase (Lin et al., CVPR 2023), adapted from linhaojia13/PointMetaBase@c364a67, MIT | PointMetaBase: set abstraction with the building block of PointMeta, per-point output. | — | — |
PointNeXt |
dense |
tested |
PointNeXt (Qian et al., NeurIPS 2022) | PointNeXt: PointNet++ with inverted residual MLP blocks, features on every input point. | — | experimental/gsnet_pointnext_g1b-realsense_10e |
PointNet2 |
subsampled |
weights-verified |
PointNet++ (Qi et al., NeurIPS 2017), GraspNet-baseline layout | PointNet++ (SSG) returning features on a furthest-point subsample of the scene. | — | experimental/gsnet_pointnet2-fp_g1b-realsense_10egraspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense-to-gc6d-d435_18egraspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e |
PointNet2Dense |
dense |
tested |
PointNet++ (Qi et al., NeurIPS 2017), segmentation layout | PointNet++ (SSG) propagated back to every input point. | — | — |
PointNet2MSG |
subsampled |
tested |
PointNet++ MSG (Qi et al., NeurIPS 2017), adapted from facebookresearch/votenet@2f6d6d3, MIT | PointNet++ with multi-scale grouping, features on a furthest-point subsample. | — | — |
PointNet2MSGDense |
dense |
tested |
PointNet++ MSG (Qi et al., NeurIPS 2017), segmentation layout, adapted from facebookresearch/votenet@2f6d6d3, MIT | PointNet++ with multi-scale grouping, propagated back to every input point. | — | — |
PointNet2Transformer |
subsampled |
weights-verified |
Scale-Balanced-Grasp (Ma and Huang, CoRL 2022) | PointNet++ set abstraction interleaved with point-transformer layers. | — | scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense-to-gc6d-d435_18escale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e |
PointTransformerV1 |
dense |
tested |
Point Transformer (Zhao et al., ICCV 2021); adapted from Pointcept/Pointcept@1342eda, MIT | Point Transformer (V1) U-Net with features on every input point. | — | — |
PointTransformerV2 |
dense |
tested |
Point Transformer V2 (Wu et al., NeurIPS 2022); adapted from Pointcept/Pointcept@1342eda, MIT | Point Transformer V2 U-Net with features on every input point. | — | — |
PointVector |
dense |
tested |
PointVector (Deng et al., CVPR 2023), adapted from guochengqian/openpoints@bc778ec, MIT | PointVector encoder-decoder (scene form) with features on every input point. | — | — |
PointViT |
subsampled |
tested |
Point-BERT (Yu et al., CVPR 2022) and Point-MAE (Pang et al., ECCV 2022) encoder; adapted from Pang-Yatian/Point-MAE@7445a68, MIT | Plain transformer over point-patch tokens (Point-BERT / Point-MAE encoder). | — | — |
PyGPointEncoder |
dense |
bridge |
PointNetConv / EdgeConv / PointTransformerConv / PointGNNConv via torch_geometric (Fey and Lenssen, ICLR-W 2019) | A stack of PyTorch Geometric point convolutions with features on every input point. | torch_geometric |
— |
RandLANet |
dense |
tested |
RandLA-Net (Hu et al., CVPR 2020), adapted from isl-org/Open3D-ML@a3d0f7a, MIT | RandLA-Net: random sub-sampling with attentive local aggregation, per-point output. | — | — |
SpUNet |
dense |
tested |
SpUNet of Pointcept, MinkUNet-34C layout (Choy et al., CVPR 2019) | Sparse residual U-Net of Pointcept (SpUNet-v1m1), one feature per input point. |
spconv-cu118 (or another spconv-* build) |
experimental/gsnet_spunet_g1b-realsense_10e |
SparseUNet14 |
dense |
tested |
MinkUNet14D (Choy et al., CVPR 2019), as GSNet, EconomicGrasp and FineGrasp use it | Sparse residual U-Net returning one feature per input point. | spconv-cu118 (or another spconv-* build) |
economicgrasp/economicgrasp_sunet14_g1b-kinect-to-gc6d-d435_10eeconomicgrasp/economicgrasp_sunet14_g1b-kinect_10eeconomicgrasp/economicgrasp_sunet14_g1b-realsense-to-gc6d-d435_10eeconomicgrasp/economicgrasp_sunet14_g1b-realsense_10eeconomicgrasp/economicgrasp_sunet14_gc6d-d435_10eexperimental/graspnet-baseline_sunet14-fps_g1b-realsense_18efinegrasp/finegrasp_sunet14_g1b-realsense_10egsnet/gsnet_sunet14_g1b-realsense-to-gc6d-d435_10egsnet/gsnet_sunet14_g1b-realsense_10egsnet/gsnet_sunet14_gc6d-d435_10e |
Uni3D |
subsampled |
bridge |
Uni3D (Zhou et al., ICLR 2024), layout of baaivision/Uni3D@64e03c3 (MIT); transformer blocks via timm | Uni3D point encoder: point-patch tokens through the blocks of a timm EVA ViT. |
timm |
— |
Volt |
dense |
tested |
Volt (Yilmaz et al., ECCV 2026, arXiv:2604.19609); adapted from YilmazKadir/Volt@8dcd608, MIT | Volt: global attention over voxel-patch tokens, features on every input point. | — | — |
Image encoders¶
model.image_encoder — Image encoder: an RGB or RGB-D image to feature maps (HGGD, point painting). HGGD only Options
4 registered classes
| Component | Status | Source | What it is | Needs | Shipped configs |
|---|---|---|---|---|---|
HFImageEncoder |
bridge |
Hugging Face Transformers (AutoBackbone / AutoModel), via transformers | Any Hugging Face vision model, through AutoBackbone or AutoModel, by its hub name. |
transformers |
— |
HGGDResidualEncoder |
tested |
HGGD (Chen et al., RA-L 2023) | HGGD's own image encoder: ResNet-34 block layout at base width 8, four input channels. | — | — |
TimmImageEncoder |
bridge |
PyTorch Image Models (the timm model zoo), via timm | Any timm model that returns feature maps (features_only), by its timm name. |
timm |
experimental/hggd_dinov2-small-reg-depth-stem_g1b-realsense_15e |
TorchvisionImageEncoder |
bridge |
The torchvision model zoo, via torchvision | A torchvision classification network as a pyramid encoder, by its torchvision name. | torchvision |
— |
Seed proposals¶
model.proposal — Scene features to seeds. Seed-based · 5 methods Options
4 registered classes
requires: The kind of scene features the proposal works on (dense,subsampled,any).seed_scores: Per-seed scores the stage predicts, supervises and stores on the seeds. A score has one owner per detector.needs_supervision: Fields of the training supervision the component reads (objectsare the dense label grids), each with the option that makes it read the field. The training dataset must serve every one; the config check compares.
| Component | requires |
seed_scores |
needs_supervision |
Status | Source | What it is | Shipped configs |
|---|---|---|---|---|---|---|---|
GraspnessFPS |
dense |
(graspness, objectness) |
point_labels.objectness (always), point_labels.graspness (always) |
tested |
GSNet (Wang et al., ICCV 2021) | Objectness + graspness per point, threshold, furthest point sampling. | economicgrasp/economicgrasp_sunet14_g1b-kinect-to-gc6d-d435_10eeconomicgrasp/economicgrasp_sunet14_g1b-kinect_10eeconomicgrasp/economicgrasp_sunet14_g1b-realsense-to-gc6d-d435_10eeconomicgrasp/economicgrasp_sunet14_g1b-realsense_10eeconomicgrasp/economicgrasp_sunet14_gc6d-d435_10eexperimental/economicgrasp_ptv3_g1b-realsense_10eexperimental/finegrasp_ptv3_g1b-realsense_10eexperimental/gsnet_litept_g1b-realsense_10eexperimental/gsnet_oacnns_g1b-realsense_10eexperimental/gsnet_pointnet2-fp_g1b-realsense_10eexperimental/gsnet_pointnext_g1b-realsense_10eexperimental/gsnet_ptv3_g1b-realsense_10eexperimental/gsnet_spunet_g1b-realsense_10efinegrasp/finegrasp_sunet14_g1b-realsense_10egsnet/gsnet_sunet14_g1b-realsense-to-gc6d-d435_10egsnet/gsnet_sunet14_g1b-realsense_10egsnet/gsnet_sunet14_gc6d-d435_10e |
SampledSeeds |
dense |
— | — | tested |
Dense-feature seed sampling as in GraspNet-baseline (Fang et al., CVPR 2020) with the samplers of 3DSSD (Yang et al., CVPR 2020) and others as options | Seeds picked by a sampler among all points of a dense encoder; nothing is scored. | — |
ScoredSeeds |
dense |
(graspness, objectness) |
point_labels.objectness (always), point_labels.graspness (always) |
tested |
GSNet (Wang et al., ICCV 2021) scorer with the selection rules of MultiGraspNet (product), DexGraspNet 2.0 (top fraction) and a swappable sampler | Objectness and graspness per point; the selecting score, the cut and the sampler are options. | — |
SubsampledSeeds |
subsampled |
— | — | tested |
GraspNet-baseline (Fang et al., CVPR 2020) | The backbone's subsample is the seed set; all seeds are real. | experimental/graspnet-baseline_sunet14-fps_g1b-realsense_18eexperimental/sbg_ptv3_g1b-realsense_18egraspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense-to-gc6d-d435_18egraspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18escale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense-to-gc6d-d435_18escale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e |
Seed samplers¶
model.proposal.sampler — Part of a proposal: which of the candidate points become seeds. Seed-based · 5 methods Options
11 registered classes
needs: What the sampler reads besides coordinates:scores(one value per candidate) and/orfeats(the scene features). The proposal that holds it must provide them.
| Component | needs |
Status | Source | What it is | Needs | Shipped configs |
|---|---|---|---|---|---|---|
FPS |
— | tested |
PointNet++ (Qi et al., NeurIPS 2017); grasppanda.ops.furthest_point_sample | Furthest point sampling on coordinates (D-FPS): seeds spread evenly over the candidates. | — | — |
FPSThenTopK |
(scores) |
tested |
Contact-GraspNet (Sundermeyer et al., ICRA 2021), selection rule; written from it | Furthest point sampling for coverage, then the best-scored of the rest. | — | — |
FeatureFPS |
(feats) |
tested |
3DSSD (Yang et al., CVPR 2020); written from the definition, conventions read in github.com/dvlab-research/3DSSD@8bc7605 (MIT) | Furthest point sampling in feature space (F-FPS): seeds that differ in what the encoder sees. | — | — |
FpsampleFPS |
— | bridge |
QuickFPS (Han et al., IEEE TCAD 2023) via fpsample 1.0 (github.com/leonardodalinky/fpsample, MIT) | Furthest point sampling on the CPU through fpsample, with the bucket-based QuickFPS. |
fpsample |
— |
FusionFPS |
(feats) |
tested |
3DSSD (Yang et al., CVPR 2020); written from the definition, conventions read in github.com/dvlab-research/3DSSD@8bc7605 (MIT) | Fusion sampling (FS): part of the seeds by F-FPS, the rest by D-FPS. | — | — |
RandomSampler |
— | tested |
GSNet (Wang et al., ICCV 2021), sampling ablation; RandLA-Net (Hu et al., CVPR 2020) | Uniformly random candidates without replacement: the baseline of every sampling ablation. | — | — |
ScoreNMS |
(scores) |
tested |
S4G (Qin et al., CoRL 2019), Algorithm 1; written from the paper | Greedy suppression on points: best score first, no two seeds closer than a radius. | — | — |
ScoreWeightedFPS |
(scores) |
tested |
SASA (Chen et al., AAAI 2022); written from the definition, conventions read in github.com/blakechen97/SASA@cd79f60 (Apache-2.0) | Semantics-guided furthest point sampling (S-FPS): spread seeds, prefer high scores. | — | — |
TopK |
(scores) |
tested |
IA-SSD (Zhang et al., CVPR 2022) and GraNet (Wang et al., IROS 2023); torch.sort | The best-scored candidates, wherever they are (top-k): no spatial spread at all. | — | — |
TorchClusterFPS |
— | bridge |
PointNet++ (Qi et al., NeurIPS 2017) via torch_cluster.fps (github.com/rusty1s/pytorch_cluster, MIT; Fey & Lenssen, PyTorch Geometric) | Furthest point sampling through torch_cluster.fps, the kernel PyTorch Geometric uses. |
torch-cluster |
— |
VoxelGridSampler |
— | tested |
Grid subsampling as in KPConv (Thomas et al., ICCV 2019); grasppanda.ops.voxelize | One candidate per occupied voxel: seeds on a regular grid, their number set by the scene. | — | — |
View stages¶
model.view — One approach direction per seed. Seed-based · 5 methods Options
8 registered classes
seed_scores: Per-seed scores the stage predicts, supervises and stores on the seeds. A score has one owner per detector.label_formats: Kinds of matched labels the view stage can compute its targets from.needs_matched: Optional fields of the matched labels the stage cannot work without; the assigner must return them.applies_seed_weights: Whether the losses honour a per-seed weight from the assigner. An assigner that returns weights is refused next to a stage that would ignore them.
| Component | seed_scores |
label_formats |
needs_matched |
applies_seed_weights |
Status | Source | What it is | Needs | Shipped configs |
|---|---|---|---|---|---|---|---|---|---|
DirectionViewStage |
— | (dense, compact) |
— | yes |
tested |
direct regression of the approach vector (ablation of GraspNet-1Billion, Fang et al., CVPR 2020; Generalizing-Grasp, Ma et al., CVPR 2024), optional von Mises-Fisher likelihood (vMF-Contact, Shi et al., ICRA 2025); written for GraspPanda | Regress the approach vector of every seed and snap it to the label lattice. | — | — |
HealpixViewStage |
— | (dense, compact) |
— | yes |
bridge |
HEALPix (Górski et al., ApJ 2005) via healpix (BSD-3-Clause) | Score the pixel centres of a HEALPix grid (through healpix). |
healpix |
— |
IcosphereViewStage |
— | (dense, compact) |
— | yes |
bridge |
icosphere lattice via trimesh (trimesh.creation.icosphere, MIT) | Score the vertices of a subdivided icosahedron (through trimesh). |
trimesh |
— |
LatticeViewStage |
— | (dense, compact) |
— | yes |
tested |
view scoring of GraspNet-1Billion (Fang et al., CVPR 2020) and GSNet (Wang et al., ICCV 2021) on a free lattice, written for GraspPanda; hemisphere template and angular class loss of RGB Matters (Gou et al., ICRA 2021), the loss adapted from GouMinghao/rgb_matters@2e176728f6, MIT | Score a Fibonacci lattice of any size; labels stay on their own lattice. | — | — |
ObjectnessViewStage |
(objectness) |
(dense) |
(on_object, view_width) |
yes |
tested |
GraspNet-baseline (Fang et al., CVPR 2020) | Classify every seed as object or background and choose its best template view. | — | experimental/graspnet-baseline_sunet14-fps_g1b-realsense_18eexperimental/sbg_ptv3_g1b-realsense_18egraspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense-to-gc6d-d435_18egraspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18escale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense-to-gc6d-d435_18escale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e |
RomaRotationViewStage |
— | (dense, compact) |
— | yes |
bridge |
rotation mappings via RoMa (Brégier, 3DV 2021; BSD-3-Clause): 6-D (Zhou et al., CVPR 2019), 9-D + SVD (Levinson et al., arXiv 2006.14616), quaternion, rotation vector | Regress a full rotation per seed through a mapping of the RoMa library. | roma |
— |
TemplateViewStage |
— | (dense, compact) |
— | yes |
tested |
GSNet (Wang et al., ICCV 2021) | Regress a score for each view of a Fibonacci template and choose one view. | — | economicgrasp/economicgrasp_sunet14_g1b-kinect-to-gc6d-d435_10eeconomicgrasp/economicgrasp_sunet14_g1b-kinect_10eeconomicgrasp/economicgrasp_sunet14_g1b-realsense-to-gc6d-d435_10eeconomicgrasp/economicgrasp_sunet14_g1b-realsense_10eeconomicgrasp/economicgrasp_sunet14_gc6d-d435_10eexperimental/economicgrasp_ptv3_g1b-realsense_10eexperimental/finegrasp_ptv3_g1b-realsense_10eexperimental/gsnet_litept_g1b-realsense_10eexperimental/gsnet_oacnns_g1b-realsense_10eexperimental/gsnet_pointnet2-fp_g1b-realsense_10eexperimental/gsnet_pointnext_g1b-realsense_10eexperimental/gsnet_ptv3_g1b-realsense_10eexperimental/gsnet_spunet_g1b-realsense_10efinegrasp/finegrasp_sunet14_g1b-realsense_10egsnet/gsnet_sunet14_g1b-realsense-to-gc6d-d435_10egsnet/gsnet_sunet14_g1b-realsense_10egsnet/gsnet_sunet14_gc6d-d435_10e |
TwoVectorViewStage |
— | (dense, compact) |
— | yes |
tested |
two-vector Gram-Schmidt frame: 6-D rotation representation (Zhou et al., CVPR 2019) and the approach/baseline parameterisation of Contact-GraspNet (Sundermeyer et al., ICRA 2021); written for GraspPanda | Regress two vectors per seed and orthonormalise them into a grasp frame. | — | — |
Assigners¶
model.assigner — Training only: seeds and chosen views to matched grasp labels. Seed-based · 5 methods Options
3 registered classes
label_format: Kind of matched labels:dense(angle × depth grids per view) orcompact(one grasp per point and view). Assigner and head bundle must agree.optional_outputs: Optional fields of the matched labels the assigner can return, each with the option that switches it on.needs_supervision: Fields of the training supervision the component reads (objectsare the dense label grids), each with the option that makes it read the field. The training dataset must serve every one; the config check compares.
| Component | label_format |
optional_outputs |
needs_supervision |
Status | Source | What it is | Shipped configs |
|---|---|---|---|---|---|---|---|
CompactLabelAssigner |
compact |
— | extras.compact_labels (always) |
tested |
EconomicGrasp (Wu et al., ECCV 2024) | Nearest annotated point per seed; its one grasp at the chosen view, if usable. | economicgrasp/economicgrasp_sunet14_g1b-kinect-to-gc6d-d435_10eeconomicgrasp/economicgrasp_sunet14_g1b-kinect_10eeconomicgrasp/economicgrasp_sunet14_g1b-realsense-to-gc6d-d435_10eeconomicgrasp/economicgrasp_sunet14_g1b-realsense_10eeconomicgrasp/economicgrasp_sunet14_gc6d-d435_10eexperimental/economicgrasp_ptv3_g1b-realsense_10eexperimental/finegrasp_ptv3_g1b-realsense_10efinegrasp/finegrasp_sunet14_g1b-realsense_10e |
NearestLabelAssigner |
dense |
on_object (with supervise: object_seeds), view_width (with view_widths: true) |
objects (always), point_labels.objectness (with supervise: object_seeds) |
tested |
Label matching of GraspNet-baseline and GSNet | Nearest annotated grasp point per seed, labels sliced at the chosen view. | experimental/graspnet-baseline_sunet14-fps_g1b-realsense_18eexperimental/gsnet_litept_g1b-realsense_10eexperimental/gsnet_oacnns_g1b-realsense_10eexperimental/gsnet_pointnet2-fp_g1b-realsense_10eexperimental/gsnet_pointnext_g1b-realsense_10eexperimental/gsnet_ptv3_g1b-realsense_10eexperimental/gsnet_spunet_g1b-realsense_10egraspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense-to-gc6d-d435_18egraspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18egsnet/gsnet_sunet14_g1b-realsense-to-gc6d-d435_10egsnet/gsnet_sunet14_g1b-realsense_10egsnet/gsnet_sunet14_gc6d-d435_10e |
ScaleBalancedAssigner |
dense |
on_object (with supervise: object_seeds), view_width (always), weight (always) |
objects (always), point_labels.objectness (with supervise: object_seeds), extras.scale_histogram (always) |
tested |
Scale-Balanced-Grasp (Ma and Huang, CoRL 2022) | Nearest-label matching plus a scale-balanced loss weight per seed. | experimental/sbg_ptv3_g1b-realsense_18escale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense-to-gc6d-d435_18escale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e |
Groupers¶
model.grouper — A local crop per seed, aligned with its approach. Seed-based · 5 methods Options
14 registered classes
support: What a crop gathers:seeds(the seeds and their learned features) orscene(raw scene geometry). Not the same crop at another resolution.out_axes: Named axes of the crop features. Must equal the head bundle'sin_axes.
| Component | support |
out_axes |
Status | Source | What it is | Needs | Shipped configs |
|---|---|---|---|---|---|---|---|
CylinderGroup |
seeds |
(seed, channel) |
tested |
GSNet (Wang et al., ICCV 2021) | One approach-aligned cylinder per seed, grouping among the seeds. | — | experimental/gsnet_litept_g1b-realsense_10eexperimental/gsnet_oacnns_g1b-realsense_10eexperimental/gsnet_pointnet2-fp_g1b-realsense_10eexperimental/gsnet_pointnext_g1b-realsense_10eexperimental/gsnet_ptv3_g1b-realsense_10eexperimental/gsnet_spunet_g1b-realsense_10egsnet/gsnet_sunet14_g1b-realsense-to-gc6d-d435_10egsnet/gsnet_sunet14_g1b-realsense_10egsnet/gsnet_sunet14_gc6d-d435_10e |
CylinderInteractionGroup |
seeds |
(seed, channel) |
tested |
EconomicGrasp (Wu et al., ECCV 2024) | CylinderGroup with self-attention among the neighbours of each crop. | — | economicgrasp/economicgrasp_sunet14_g1b-kinect-to-gc6d-d435_10eeconomicgrasp/economicgrasp_sunet14_g1b-kinect_10eeconomicgrasp/economicgrasp_sunet14_g1b-realsense-to-gc6d-d435_10eeconomicgrasp/economicgrasp_sunet14_g1b-realsense_10eeconomicgrasp/economicgrasp_sunet14_gc6d-d435_10eexperimental/economicgrasp_ptv3_g1b-realsense_10eexperimental/finegrasp_ptv3_g1b-realsense_10efinegrasp/finegrasp_sunet14_g1b-realsense_10e |
DepthCylinderGroup |
scene |
(seed, depth, channel) |
tested |
GraspNet-baseline (Fang et al., CVPR 2020) | Approach-aligned cylinders of increasing reach over the scene cloud. | — | experimental/graspnet-baseline_sunet14-fps_g1b-realsense_18egraspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense-to-gc6d-d435_18egraspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18escale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense-to-gc6d-d435_18escale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e |
DepthCylinderProjectionGroup |
scene |
(seed, depth, channel) |
tested |
Scale-Balanced-Grasp (Ma and Huang, CoRL 2022) crop with a projection of the seed feature added here | DepthCylinderGroup with a gated seed residual for an encoder of any width. | — | experimental/sbg_ptv3_g1b-realsense_18e |
DepthEmbedGroup |
seeds |
(seed, depth, channel) |
tested |
GraspPanda (axis adapter; no published model) | Give a (seed, channel) crop among the seeds a depth axis by a learned embedding. |
— | — |
DepthLocalGroup |
scene |
(seed, depth, channel) |
tested |
The depth-sliced crop of GraspNet-baseline (Fang et al., CVPR 2020) with the shapes and poolings of LocalGroup, written here on grasppanda.ops | A crop of the scene cloud, pooled once per insertion depth. | — | — |
DepthPoolGroup |
scene |
(seed, channel) |
tested |
GraspPanda (axis adapter; no published model) | Reduce the depth axis of a (seed, depth, channel) crop of the scene. |
— | — |
LocalGroup |
seeds |
(seed, channel) |
tested |
Parts from PointNet++ (Qi et al., NeurIPS 2017), DGCNN (Wang et al., TOG 2019), PointRCNN (Shi et al., CVPR 2019), RandLA-Net (Hu et al., CVPR 2020), Point Transformer (Zhao et al., ICCV 2021) and PointNeXt (Qian et al., NeurIPS 2022), written here on grasppanda.ops | A crop among the seeds whose shape, encoder and pooling are options. | — | — |
MultiRadiusGroup |
seeds |
(seed, channel) |
tested |
Multi-scale grouping of PointNet++ (Qi et al., NeurIPS 2017) on the seed crops of the grasp methods, written here | One crop per radius among the seeds, fused without attention. | — | — |
MultiScaleGroup |
seeds |
(seed, channel) |
tested |
FineGrasp (arXiv 2507.05978) | One crop per radius among the seeds, fused by ScaleAttentionFusion. | — | experimental/finegrasp_ptv3_g1b-realsense_10efinegrasp/finegrasp_sunet14_g1b-realsense_10e |
PyGConvGroup |
seeds |
(seed, channel) |
bridge |
PyTorch Geometric (Fey and Lenssen, 2019), MIT: PointNetConv, PointTransformerConv, EdgeConv, GATv2Conv, TransformerConv; via torch_geometric | A crop among the seeds, encoded by a message-passing layer of PyTorch Geometric. | torch_geometric |
— |
RoIAwareGroup |
seeds |
(seed, channel) |
tested |
Part-A² (Shi et al., TPAMI 2020), RoI-aware point cloud pooling; adapted from open-mmlab/OpenPCDet@233f849, Apache-2.0 | RoI-aware pooling (Part-A²) on the gripper-aligned box of every seed. | — | — |
RoIGridGroup |
seeds |
(seed, channel) |
tested |
PV-RCNN (Shi et al., CVPR 2020), RoI-grid pooling; adapted from open-mmlab/OpenPCDet@233f849, Apache-2.0 | RoI-grid pooling (PV-RCNN) on the gripper-aligned box of every seed. | — | — |
VoxelSetAbstractionGroup |
scene |
(seed, channel) |
tested |
PV-RCNN (Shi et al., CVPR 2020), voxel set abstraction; adapted from open-mmlab/OpenPCDet@233f849, Apache-2.0 | The keypoint feature of PV-RCNN: scene points at several radii, fused with the seed. | — | — |
Head bundles¶
model.head — Head bundle: prediction layers, target encoder, loss and decoder as one unit. Seed-based · 5 methods Options
4 registered classes
in_axes: Named axes of the crop features the head bundle expects.label_format: Kind of matched labels:dense(angle × depth grids per view) orcompact(one grasp per point and view). Assigner and head bundle must agree.score_kind: Meaning of the decoded grasp score. Scores of different kinds are not comparable.applies_seed_weights: Whether the losses honour a per-seed weight from the assigner. An assigner that returns weights is refused next to a stage that would ignore them.needs_supervision: Fields of the training supervision the component reads (objectsare the dense label grids), each with the option that makes it read the field. The training dataset must serve every one; the config check compares.
| Component | in_axes |
label_format |
score_kind |
applies_seed_weights |
needs_supervision |
Status | Source | What it is | Shipped configs |
|---|---|---|---|---|---|---|---|---|---|
DecoupledGridHead |
(seed, channel) |
dense |
predicted_quality |
yes |
— | tested |
after the grasp head of FGC-GraspNet (Lu et al., ICRA 2022), written here; width bins with the distribution focal loss of Generalized Focal Loss (Li et al., NeurIPS 2020) | Score grid plus separate angle, depth and width outputs per seed; one grasp per seed. | — |
EconomicHead |
(seed, channel) |
compact |
unspecified |
yes |
— | tested |
EconomicGrasp (Wu et al., ECCV 2024) | Angle, depth and quality classes plus a width per seed; one decoded grasp per seed. | economicgrasp/economicgrasp_sunet14_g1b-kinect-to-gc6d-d435_10eeconomicgrasp/economicgrasp_sunet14_g1b-kinect_10eeconomicgrasp/economicgrasp_sunet14_g1b-realsense-to-gc6d-d435_10eeconomicgrasp/economicgrasp_sunet14_g1b-realsense_10eeconomicgrasp/economicgrasp_sunet14_gc6d-d435_10eexperimental/economicgrasp_ptv3_g1b-realsense_10eexperimental/finegrasp_ptv3_g1b-realsense_10efinegrasp/finegrasp_sunet14_g1b-realsense_10e |
OperationHead |
(seed, depth, channel) |
dense |
predicted_quality_x_tolerance |
yes |
objects.tolerance (always) |
tested |
GraspNet-baseline (Fang et al., CVPR 2020) | Score, angle class, width and tolerance per (angle, depth); one grasp per seed. | experimental/graspnet-baseline_sunet14-fps_g1b-realsense_18eexperimental/sbg_ptv3_g1b-realsense_18egraspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense-to-gc6d-d435_18egraspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18escale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense-to-gc6d-d435_18escale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e |
SWADHead |
(seed, channel) |
dense |
predicted_quality |
yes |
— | tested |
GSNet (Wang et al., ICCV 2021) | Score and width grids per seed, regressed; one decoded grasp per seed. | experimental/gsnet_litept_g1b-realsense_10eexperimental/gsnet_oacnns_g1b-realsense_10eexperimental/gsnet_pointnet2-fp_g1b-realsense_10eexperimental/gsnet_pointnext_g1b-realsense_10eexperimental/gsnet_ptv3_g1b-realsense_10eexperimental/gsnet_spunet_g1b-realsense_10egsnet/gsnet_sunet14_g1b-realsense-to-gc6d-d435_10egsnet/gsnet_sunet14_g1b-realsense_10egsnet/gsnet_sunet14_gc6d-d435_10e |
Primitive losses¶
<stage>.<name>_loss — Primitive loss inside a stage. Seed-based · 5 methods Options
22 registered classes
accepts: Kinds of loss term the primitive fits:class(logits against class indices),unit(a target quality in [0, 1]),value(an unbounded target) orbins(logits against a fractional bin position). A stage names the kind of each of its loss options, and the config check refuses any other pairing.prediction: How the primitive reads the output of aunitterm: as thevalueitself or as alogit. A stage hands a logit on through its sigmoid.
| Component | accepts |
prediction |
Status | Source | What it is | Needs | Shipped configs |
|---|---|---|---|---|---|---|---|
BalancedL1 |
(value, unit) |
value |
tested |
Libra R-CNN (Pang et al., CVPR 2019); adapted from open-mmlab/mmdetection@cfd5d3a, Apache-2.0 | Balanced L1: Smooth-L1 with a larger gradient for small errors. | — | — |
BinaryCrossEntropy |
(unit) |
logit |
tested |
PyTorch binary_cross_entropy_with_logits | Sigmoid cross-entropy between a logit and a target in [0, 1], soft or binary. |
— | — |
ClassBalanced |
(class) |
value |
tested |
Class-Balanced Loss Based on Effective Number of Samples (Cui et al., CVPR 2019); the weight formula of the paper, written here | Class-balanced weighting: every class counts by the inverse of its effective number. | — | — |
CrossEntropy |
(class) |
value |
— | PyTorch cross_entropy | Softmax cross-entropy between (N, C) logits and (N,) class indices. |
— | economicgrasp/economicgrasp_sunet14_g1b-kinect-to-gc6d-d435_10eeconomicgrasp/economicgrasp_sunet14_g1b-kinect_10eeconomicgrasp/economicgrasp_sunet14_g1b-realsense-to-gc6d-d435_10eeconomicgrasp/economicgrasp_sunet14_g1b-realsense_10eeconomicgrasp/economicgrasp_sunet14_gc6d-d435_10eexperimental/economicgrasp_ptv3_g1b-realsense_10eexperimental/finegrasp_ptv3_g1b-realsense_10eexperimental/graspnet-baseline_sunet14-fps_g1b-realsense_18eexperimental/gsnet_litept_g1b-realsense_10eexperimental/gsnet_oacnns_g1b-realsense_10eexperimental/gsnet_pointnet2-fp_g1b-realsense_10eexperimental/gsnet_pointnext_g1b-realsense_10eexperimental/gsnet_ptv3_g1b-realsense_10eexperimental/gsnet_spunet_g1b-realsense_10eexperimental/sbg_ptv3_g1b-realsense_18efinegrasp/finegrasp_sunet14_g1b-realsense_10egraspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense-to-gc6d-d435_18egraspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18egsnet/gsnet_sunet14_g1b-realsense-to-gc6d-d435_10egsnet/gsnet_sunet14_g1b-realsense_10egsnet/gsnet_sunet14_gc6d-d435_10escale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense-to-gc6d-d435_18escale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e |
DiceLoss |
(class) |
value |
bridge |
V-Net (Milletari et al., arXiv 1606.04797), via kornia.losses | Dice loss: one minus the overlap of predicted and labelled classes over the set. | kornia |
— |
DistributionFocal |
(bins) |
value |
tested |
Generalized Focal Loss (Li et al., NeurIPS 2020); adapted from open-mmlab/mmdetection@cfd5d3a, Apache-2.0 | Distribution focal loss: cross-entropy to the two bins around a continuous target. | — | — |
FocalLoss |
(class, unit) |
logit |
bridge |
Focal Loss for Dense Object Detection (Lin et al., ICCV 2017), via torchvision.ops | Sigmoid focal loss: cross-entropy that turns down well-classified elements. | torchvision |
— |
GHMC |
(unit, class) |
logit |
tested |
Gradient Harmonized Single-stage Detector (Li et al., AAAI 2019); adapted from open-mmlab/mmdetection@cfd5d3a, Apache-2.0 | Gradient harmonising, classification form: sigmoid cross-entropy re-weighted so that every range of gradient norms contributes alike. | — | — |
GHMR |
(value, unit) |
value |
tested |
Gradient Harmonized Single-stage Detector (Li et al., AAAI 2019); adapted from open-mmlab/mmdetection@cfd5d3a, Apache-2.0 | Gradient harmonising, regression form: a smooth L1 re-weighted so that every range of gradient norms contributes alike. | — | — |
Huber |
(value, unit) |
value |
tested |
PyTorch huber_loss | Huber penalty: quadratic below delta, linear with slope delta above. |
— | — |
L1 |
(value, unit) |
value |
— | PyTorch l1_loss | Absolute error. | — | — |
LabelSmoothingCrossEntropy |
(class) |
value |
tested |
Rethinking the Inception Architecture (Szegedy et al., CVPR 2016), via PyTorch cross_entropy | Softmax cross-entropy with label smoothing and, optionally, a factor per class. | — | — |
LovaszSoftmaxLoss |
(class) |
value |
bridge |
The Lovász-Softmax loss (Berman et al., CVPR 2018), via kornia.losses | Lovász-Softmax: a convex surrogate of the mean intersection-over-union of the set. | kornia |
— |
MSE |
(value, unit) |
value |
— | PyTorch mse_loss | Squared error. | — | experimental/graspnet-baseline_sunet14-fps_g1b-realsense_18eexperimental/sbg_ptv3_g1b-realsense_18egraspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense-to-gc6d-d435_18egraspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18escale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense-to-gc6d-d435_18escale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e |
Poly1CrossEntropy |
(class) |
value |
tested |
PolyLoss (Leng et al., ICLR; arXiv 2204.12511); the Poly-1 formula of the paper on PyTorch cross_entropy | Poly-1 loss: cross-entropy plus epsilon x (1 - p_t). |
— | — |
QualityFocal |
(unit) |
logit |
tested |
Generalized Focal Loss (Li et al., NeurIPS 2020); adapted from open-mmlab/mmdetection@cfd5d3a, Apache-2.0 | Quality focal loss: sigmoid cross-entropy to a soft target, focused on large errors. | — | — |
RobustLoss |
(value, unit) |
value |
bridge |
A General and Adaptive Robust Loss Function (Barron, CVPR 2019), special cases, via kornia.losses | Robust regression penalties of kornia: Charbonnier, Welsch, Cauchy, Geman-McClure. | kornia |
— |
SmoothL1 |
(value, unit) |
value |
— | PyTorch smooth_l1_loss | Huber-style penalty: quadratic below beta, linear above. |
— | economicgrasp/economicgrasp_sunet14_g1b-kinect-to-gc6d-d435_10eeconomicgrasp/economicgrasp_sunet14_g1b-kinect_10eeconomicgrasp/economicgrasp_sunet14_g1b-realsense-to-gc6d-d435_10eeconomicgrasp/economicgrasp_sunet14_g1b-realsense_10eeconomicgrasp/economicgrasp_sunet14_gc6d-d435_10eexperimental/economicgrasp_ptv3_g1b-realsense_10eexperimental/finegrasp_ptv3_g1b-realsense_10eexperimental/graspnet-baseline_sunet14-fps_g1b-realsense_18eexperimental/gsnet_litept_g1b-realsense_10eexperimental/gsnet_oacnns_g1b-realsense_10eexperimental/gsnet_pointnet2-fp_g1b-realsense_10eexperimental/gsnet_pointnext_g1b-realsense_10eexperimental/gsnet_ptv3_g1b-realsense_10eexperimental/gsnet_spunet_g1b-realsense_10eexperimental/sbg_ptv3_g1b-realsense_18efinegrasp/finegrasp_sunet14_g1b-realsense_10egraspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense-to-gc6d-d435_18egraspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18egsnet/gsnet_sunet14_g1b-realsense-to-gc6d-d435_10egsnet/gsnet_sunet14_g1b-realsense_10egsnet/gsnet_sunet14_gc6d-d435_10escale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense-to-gc6d-d435_18escale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e |
SoftmaxFocalLoss |
(class) |
value |
bridge |
Focal Loss for Dense Object Detection (Lin et al., ICCV 2017), via kornia.losses | Softmax focal loss: (1 - p_t)^gamma x cross-entropy over mutually exclusive classes. |
kornia |
— |
TopK |
(class, unit, value, bins) |
value |
tested |
Online Hard Example Mining (Shrivastava et al., CVPR 2016); top-k of the penalties as in Contact-GraspNet (Sundermeyer et al., ICRA 2021), written here | Online hard example mining: only the hardest fraction of the elements counts. | — | — |
UncertaintyWeighted |
(class, unit, value, bins) |
value |
tested |
Multi-Task Learning Using Uncertainty to Weigh Losses (Kendall et al., CVPR 2018); the weighting formula as in LibMTL (UW), one log-variance per wrapped term, written here | Uncertainty weighting: a learned factor on the term, which pays for being small. | — | — |
Varifocal |
(unit) |
logit |
tested |
VarifocalNet (Zhang et al., CVPR 2021); adapted from open-mmlab/mmdetection@cfd5d3a, Apache-2.0 | Varifocal loss: positives weighted by their target quality, negatives focused. | — | — |
Post-processors¶
evaluation.variants.<name>[i] — Predictions to predictions at inference time. All 6 methods Options
14 registered classes
| Component | Status | Source | What it is | Needs | Shipped configs |
|---|---|---|---|---|---|
ApproachAngleFilter |
tested |
Generic; filter_approach_direction of GPD (ten Pas et al., arXiv 1706.09911), approach_steering of the AnyGrasp SDK, the gravity cone of ThinkGrasp (github.com/H-Freax/ThinkGrasp) |
Keep grasps that approach within a cone about a reference direction. | — | — |
FurthestGraspSampling |
tested |
Generic, on grasppanda.ops.furthest_point_sample; the idea is the grasp selection of Contact-GraspNet (Sundermeyer et al., ICRA 2021) | Pick grasps that are spread over the scene: furthest point sampling of grasp points. | — | — |
GraspNMS |
tested |
Grasp NMS rule of graspnetAPI | Keep the best grasp of every cluster of near-duplicates. | — | experimental/hggd_dinov2-small-reg-depth-stem_g1b-realsense_15ehggd/hggd_r34w8_g1b-kinect_15ehggd/hggd_r34w8_g1b-realsense-to-gc6d-d435_15ehggd/hggd_r34w8_g1b-realsense_15e |
GripperCentering |
tested |
Generic, written here from the description in AnyGrasp (Fang et al., arXiv 2212.08333, section IV-D) | Shift each grasp along its closing axis so that both fingers travel equally far. | — | — |
GripperLimits |
tested |
Generic; max_gripper_width of the AnyGrasp SDK, min_aperture/max_aperture of GPD (arXiv 1706.09911) |
Keep the grasps a real gripper can execute: opening and insertion depth in range. | — | — |
GripperMeshCollisionFilter |
bridge |
Bridge to trimesh (Dawson-Haggerty et al., github.com/mikedh/trimesh, MIT): mesh loading, body split, watertightness, convex hull and box primitives; the point-cloud-against-gripper-mesh check of GraspGen (Murali et al., arXiv 2507.13097) as a containment test | Remove grasps at which a gripper mesh would contain observed points. | trimesh |
— |
MaskFilter |
tested |
Generic; filter_grasps of Contact-GraspNet (Sundermeyer et al., ICRA 2021) and apply_object_mask of the AnyGrasp SDK |
Keep the grasps on a target: those near a point of a named mask of the observation. | — | — |
ModelFreeCollisionFilter |
tested |
Collision filter of the GraspNet-baseline and HGGD test scripts | Remove grasps that collide with the observed cloud. | — | economicgrasp/economicgrasp_sunet14_g1b-kinect-to-gc6d-d435_10eeconomicgrasp/economicgrasp_sunet14_g1b-kinect_10eeconomicgrasp/economicgrasp_sunet14_g1b-realsense-to-gc6d-d435_10eeconomicgrasp/economicgrasp_sunet14_g1b-realsense_10eeconomicgrasp/economicgrasp_sunet14_gc6d-d435_10eexperimental/economicgrasp_ptv3_g1b-realsense_10eexperimental/finegrasp_ptv3_g1b-realsense_10eexperimental/graspnet-baseline_sunet14-fps_g1b-realsense_18eexperimental/gsnet_litept_g1b-realsense_10eexperimental/gsnet_oacnns_g1b-realsense_10eexperimental/gsnet_pointnet2-fp_g1b-realsense_10eexperimental/gsnet_pointnext_g1b-realsense_10eexperimental/gsnet_ptv3_g1b-realsense_10eexperimental/gsnet_spunet_g1b-realsense_10eexperimental/hggd_dinov2-small-reg-depth-stem_g1b-realsense_15eexperimental/sbg_ptv3_g1b-realsense_18efinegrasp/finegrasp_sunet14_g1b-realsense_10egraspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense-to-gc6d-d435_18egraspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18egsnet/gsnet_sunet14_g1b-realsense-to-gc6d-d435_10egsnet/gsnet_sunet14_g1b-realsense_10egsnet/gsnet_sunet14_gc6d-d435_10ehggd/hggd_r34w8_g1b-kinect_15ehggd/hggd_r34w8_g1b-realsense-to-gc6d-d435_15ehggd/hggd_r34w8_g1b-realsense_15escale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense-to-gc6d-d435_18escale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e |
ScoreThreshold |
tested |
Generic; choose_fn: better_than_threshold of 6-DOF GraspNet (ICCV 2019) |
Keep grasps whose score reaches a threshold. | — | — |
TablePlaneFilter |
tested |
Generic; the table test of the ZeroGrasp collision detector (Iwase et al., CVPR 2025) with a plane fitted to the cloud instead of a calibrated table frame | Remove grasps whose gripper would reach into the table. | — | — |
ToFrame |
tested |
Generic; GraspGroup.transform with a calibration from the config | Express the grasps in another frame, for example the robot base. | — | — |
TopK |
tested |
Generic; the top-k step of AnyGrasp (Fang et al., T-RO, arXiv 2212.08333, section IV-D) and of GPD | Keep the k best-scoring grasps, best first. |
— | — |
WidthFromCloud |
tested |
Generic; the idea of the contact-based width refinement of ZeroGrasp (Iwase et al., arXiv 2504.10857), on the sensor cloud alone | Set each opening to the extent of the scene between the fingers plus a clearance. | — | — |
WorkspaceFilter |
tested |
Generic; the workspace limits of GPD (ten Pas et al., arXiv 1706.09911) and AnyGrasp SDK | Keep grasps whose grasp point lies inside an axis-aligned box. | — | — |
Datasets¶
data.<split>.dataset — Frames with optional supervision.
2 registered classes
| Component | Status | Source | What it is | Shipped configs |
|---|---|---|---|---|
GraspClutter6D |
tested |
GraspClutter6D (arXiv 2504.06866) | GraspClutter6D frames as point clouds with optional supervision. | economicgrasp/economicgrasp_sunet14_g1b-kinect-to-gc6d-d435_10eeconomicgrasp/economicgrasp_sunet14_g1b-realsense-to-gc6d-d435_10eeconomicgrasp/economicgrasp_sunet14_gc6d-d435_10egraspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense-to-gc6d-d435_18egsnet/gsnet_sunet14_g1b-realsense-to-gc6d-d435_10egsnet/gsnet_sunet14_gc6d-d435_10ehggd/hggd_r34w8_g1b-realsense-to-gc6d-d435_15escale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense-to-gc6d-d435_18e |
GraspNet1B |
tested |
GraspNet-1Billion (Fang et al., CVPR 2020) | GraspNet-1Billion frames as point clouds with optional supervision. | economicgrasp/economicgrasp_sunet14_g1b-kinect-to-gc6d-d435_10eeconomicgrasp/economicgrasp_sunet14_g1b-kinect_10eeconomicgrasp/economicgrasp_sunet14_g1b-realsense-to-gc6d-d435_10eeconomicgrasp/economicgrasp_sunet14_g1b-realsense_10eexperimental/economicgrasp_ptv3_g1b-realsense_10eexperimental/finegrasp_ptv3_g1b-realsense_10eexperimental/graspnet-baseline_sunet14-fps_g1b-realsense_18eexperimental/gsnet_litept_g1b-realsense_10eexperimental/gsnet_oacnns_g1b-realsense_10eexperimental/gsnet_pointnet2-fp_g1b-realsense_10eexperimental/gsnet_pointnext_g1b-realsense_10eexperimental/gsnet_ptv3_g1b-realsense_10eexperimental/gsnet_spunet_g1b-realsense_10eexperimental/hggd_dinov2-small-reg-depth-stem_g1b-realsense_15eexperimental/sbg_ptv3_g1b-realsense_18efinegrasp/finegrasp_sunet14_g1b-realsense_10egraspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense-to-gc6d-d435_18egraspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18egsnet/gsnet_sunet14_g1b-realsense-to-gc6d-d435_10egsnet/gsnet_sunet14_g1b-realsense_10ehggd/hggd_r34w8_g1b-kinect_15ehggd/hggd_r34w8_g1b-realsense-to-gc6d-d435_15ehggd/hggd_r34w8_g1b-realsense_15escale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense-to-gc6d-d435_18escale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e |
Transforms¶
data.<split>.dataset.preprocess[i] / .transforms[i] — Preprocessing and augmentation steps of a dataset.
16 registered classes
| Component | Status | Source | What it is | Shipped configs |
|---|---|---|---|---|
ConstantFeatures |
— | GSNet (Wang et al., ICCV 2021) | Give every point the same input feature vector (value repeated channels times). |
economicgrasp/economicgrasp_sunet14_g1b-kinect-to-gc6d-d435_10eeconomicgrasp/economicgrasp_sunet14_g1b-kinect_10eeconomicgrasp/economicgrasp_sunet14_g1b-realsense-to-gc6d-d435_10eeconomicgrasp/economicgrasp_sunet14_g1b-realsense_10eeconomicgrasp/economicgrasp_sunet14_gc6d-d435_10eexperimental/economicgrasp_ptv3_g1b-realsense_10eexperimental/gsnet_litept_g1b-realsense_10eexperimental/gsnet_oacnns_g1b-realsense_10eexperimental/gsnet_pointnet2-fp_g1b-realsense_10eexperimental/gsnet_pointnext_g1b-realsense_10eexperimental/gsnet_ptv3_g1b-realsense_10eexperimental/gsnet_spunet_g1b-realsense_10egsnet/gsnet_sunet14_g1b-realsense-to-gc6d-d435_10egsnet/gsnet_sunet14_g1b-realsense_10egsnet/gsnet_sunet14_gc6d-d435_10e |
CoordinateFeatures |
tested |
FineGrasp (arXiv 2507.05978) | Put the coordinates of every point in front of its input features. | experimental/finegrasp_ptv3_g1b-realsense_10efinegrasp/finegrasp_sunet14_g1b-realsense_10e |
DepthNormals |
tested |
FineGrasp (arXiv 2507.05978) | Give every point the surface normal of its pixel as input features. | experimental/finegrasp_ptv3_g1b-realsense_10efinegrasp/finegrasp_sunet14_g1b-realsense_10e |
DepthToCloud |
— | GraspPanda | Back-project the depth image into an organised cloud; valid where depth > 0. | economicgrasp/economicgrasp_sunet14_g1b-kinect-to-gc6d-d435_10eeconomicgrasp/economicgrasp_sunet14_g1b-kinect_10eeconomicgrasp/economicgrasp_sunet14_g1b-realsense-to-gc6d-d435_10eeconomicgrasp/economicgrasp_sunet14_g1b-realsense_10eeconomicgrasp/economicgrasp_sunet14_gc6d-d435_10eexperimental/economicgrasp_ptv3_g1b-realsense_10eexperimental/finegrasp_ptv3_g1b-realsense_10eexperimental/graspnet-baseline_sunet14-fps_g1b-realsense_18eexperimental/gsnet_litept_g1b-realsense_10eexperimental/gsnet_oacnns_g1b-realsense_10eexperimental/gsnet_pointnet2-fp_g1b-realsense_10eexperimental/gsnet_pointnext_g1b-realsense_10eexperimental/gsnet_ptv3_g1b-realsense_10eexperimental/gsnet_spunet_g1b-realsense_10eexperimental/hggd_dinov2-small-reg-depth-stem_g1b-realsense_15eexperimental/sbg_ptv3_g1b-realsense_18efinegrasp/finegrasp_sunet14_g1b-realsense_10egraspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense-to-gc6d-d435_18egraspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18egsnet/gsnet_sunet14_g1b-realsense-to-gc6d-d435_10egsnet/gsnet_sunet14_g1b-realsense_10egsnet/gsnet_sunet14_gc6d-d435_10ehggd/hggd_r34w8_g1b-kinect_15ehggd/hggd_r34w8_g1b-realsense-to-gc6d-d435_15ehggd/hggd_r34w8_g1b-realsense_15escale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense-to-gc6d-d435_18escale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e |
FilterObjects |
— | GSNet (Wang et al., ICCV 2021) | Drop object instances that are barely visible in the current point set. | experimental/graspnet-baseline_sunet14-fps_g1b-realsense_18eexperimental/gsnet_litept_g1b-realsense_10eexperimental/gsnet_oacnns_g1b-realsense_10eexperimental/gsnet_pointnet2-fp_g1b-realsense_10eexperimental/gsnet_pointnext_g1b-realsense_10eexperimental/gsnet_ptv3_g1b-realsense_10eexperimental/gsnet_spunet_g1b-realsense_10eexperimental/sbg_ptv3_g1b-realsense_18egraspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense-to-gc6d-d435_18egraspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18egsnet/gsnet_sunet14_g1b-realsense-to-gc6d-d435_10egsnet/gsnet_sunet14_g1b-realsense_10egsnet/gsnet_sunet14_gc6d-d435_10escale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense-to-gc6d-d435_18escale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e |
NoWorkspace |
— | GraspPanda | Keep every pixel with valid depth. | experimental/hggd_dinov2-small-reg-depth-stem_g1b-realsense_15ehggd/hggd_r34w8_g1b-kinect_15ehggd/hggd_r34w8_g1b-realsense-to-gc6d-d435_15ehggd/hggd_r34w8_g1b-realsense_15e |
RandomDropout |
tested |
Qi et al., PointNet++ (arXiv 1706.02413); adapted from Pointcept/Pointcept@1342eda, MIT | With probability prob remove a fraction ratio of the points, labels included. |
— |
RandomFlip |
— | GraspNet-1Billion reference pipelines | Mirror the scene along a camera axis with probability prob. |
economicgrasp/economicgrasp_sunet14_g1b-kinect-to-gc6d-d435_10eeconomicgrasp/economicgrasp_sunet14_g1b-kinect_10eeconomicgrasp/economicgrasp_sunet14_g1b-realsense-to-gc6d-d435_10eeconomicgrasp/economicgrasp_sunet14_g1b-realsense_10eeconomicgrasp/economicgrasp_sunet14_gc6d-d435_10eexperimental/economicgrasp_ptv3_g1b-realsense_10eexperimental/finegrasp_ptv3_g1b-realsense_10eexperimental/graspnet-baseline_sunet14-fps_g1b-realsense_18eexperimental/gsnet_litept_g1b-realsense_10eexperimental/gsnet_oacnns_g1b-realsense_10eexperimental/gsnet_pointnet2-fp_g1b-realsense_10eexperimental/gsnet_pointnext_g1b-realsense_10eexperimental/gsnet_ptv3_g1b-realsense_10eexperimental/gsnet_spunet_g1b-realsense_10eexperimental/sbg_ptv3_g1b-realsense_18efinegrasp/finegrasp_sunet14_g1b-realsense_10egraspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense-to-gc6d-d435_18egraspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18egsnet/gsnet_sunet14_g1b-realsense-to-gc6d-d435_10egsnet/gsnet_sunet14_g1b-realsense_10egsnet/gsnet_sunet14_gc6d-d435_10escale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense-to-gc6d-d435_18escale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e |
RandomJitter |
tested |
Qi et al., PointNet++ (arXiv 1706.02413); adapted from Pointcept/Pointcept@1342eda, MIT | Add clipped Gaussian noise to every input point (sensor noise). | — |
RandomRotation |
— | GraspNet-1Billion reference pipelines | Rotate the scene about a camera axis by a uniform angle in [-max_angle, max_angle). |
experimental/graspnet-baseline_sunet14-fps_g1b-realsense_18eexperimental/gsnet_litept_g1b-realsense_10eexperimental/gsnet_oacnns_g1b-realsense_10eexperimental/gsnet_pointnet2-fp_g1b-realsense_10eexperimental/gsnet_pointnext_g1b-realsense_10eexperimental/gsnet_ptv3_g1b-realsense_10eexperimental/gsnet_spunet_g1b-realsense_10eexperimental/sbg_ptv3_g1b-realsense_18egraspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense-to-gc6d-d435_18egraspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18egsnet/gsnet_sunet14_g1b-realsense-to-gc6d-d435_10egsnet/gsnet_sunet14_g1b-realsense_10egsnet/gsnet_sunet14_gc6d-d435_10escale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense-to-gc6d-d435_18escale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e |
RandomSample |
— | GraspNet-1Billion reference pipelines | Reduce the cloud to exactly num_points points. |
economicgrasp/economicgrasp_sunet14_g1b-kinect-to-gc6d-d435_10eeconomicgrasp/economicgrasp_sunet14_g1b-kinect_10eeconomicgrasp/economicgrasp_sunet14_g1b-realsense-to-gc6d-d435_10eeconomicgrasp/economicgrasp_sunet14_g1b-realsense_10eeconomicgrasp/economicgrasp_sunet14_gc6d-d435_10eexperimental/economicgrasp_ptv3_g1b-realsense_10eexperimental/finegrasp_ptv3_g1b-realsense_10eexperimental/graspnet-baseline_sunet14-fps_g1b-realsense_18eexperimental/gsnet_litept_g1b-realsense_10eexperimental/gsnet_oacnns_g1b-realsense_10eexperimental/gsnet_pointnet2-fp_g1b-realsense_10eexperimental/gsnet_pointnext_g1b-realsense_10eexperimental/gsnet_ptv3_g1b-realsense_10eexperimental/gsnet_spunet_g1b-realsense_10eexperimental/hggd_dinov2-small-reg-depth-stem_g1b-realsense_15eexperimental/sbg_ptv3_g1b-realsense_18efinegrasp/finegrasp_sunet14_g1b-realsense_10egraspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense-to-gc6d-d435_18egraspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18egsnet/gsnet_sunet14_g1b-realsense-to-gc6d-d435_10egsnet/gsnet_sunet14_g1b-realsense_10egsnet/gsnet_sunet14_gc6d-d435_10ehggd/hggd_r34w8_g1b-kinect_15ehggd/hggd_r34w8_g1b-realsense-to-gc6d-d435_15ehggd/hggd_r34w8_g1b-realsense_15escale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense-to-gc6d-d435_18escale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e |
RandomShift |
tested |
Pointcept (Wu et al.), RandomShift; adapted from Pointcept/Pointcept@1342eda, MIT | Translate the scene by a uniform offset per camera axis; object poses move along. | — |
SampleGraspLabels |
— | GraspNet-1Billion reference pipelines | Read the dense grasp labels of every remaining object, on a subset of its points. | experimental/graspnet-baseline_sunet14-fps_g1b-realsense_18eexperimental/gsnet_litept_g1b-realsense_10eexperimental/gsnet_oacnns_g1b-realsense_10eexperimental/gsnet_pointnet2-fp_g1b-realsense_10eexperimental/gsnet_pointnext_g1b-realsense_10eexperimental/gsnet_ptv3_g1b-realsense_10eexperimental/gsnet_spunet_g1b-realsense_10eexperimental/sbg_ptv3_g1b-realsense_18egraspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense-to-gc6d-d435_18egraspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18egsnet/gsnet_sunet14_g1b-realsense-to-gc6d-d435_10egsnet/gsnet_sunet14_g1b-realsense_10egsnet/gsnet_sunet14_gc6d-d435_10escale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense-to-gc6d-d435_18escale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e |
SegmentationBoxWorkspace |
— | GraspNet-baseline (Fang et al., CVPR 2020) | Crop to the bounding box of the ground-truth foreground. | economicgrasp/economicgrasp_sunet14_g1b-kinect-to-gc6d-d435_10eeconomicgrasp/economicgrasp_sunet14_g1b-kinect_10eeconomicgrasp/economicgrasp_sunet14_g1b-realsense-to-gc6d-d435_10eeconomicgrasp/economicgrasp_sunet14_g1b-realsense_10eexperimental/economicgrasp_ptv3_g1b-realsense_10eexperimental/finegrasp_ptv3_g1b-realsense_10eexperimental/graspnet-baseline_sunet14-fps_g1b-realsense_18eexperimental/gsnet_litept_g1b-realsense_10eexperimental/gsnet_oacnns_g1b-realsense_10eexperimental/gsnet_pointnet2-fp_g1b-realsense_10eexperimental/gsnet_pointnext_g1b-realsense_10eexperimental/gsnet_ptv3_g1b-realsense_10eexperimental/gsnet_spunet_g1b-realsense_10eexperimental/sbg_ptv3_g1b-realsense_18efinegrasp/finegrasp_sunet14_g1b-realsense_10egraspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense-to-gc6d-d435_18egraspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18egsnet/gsnet_sunet14_g1b-realsense-to-gc6d-d435_10egsnet/gsnet_sunet14_g1b-realsense_10escale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense-to-gc6d-d435_18escale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e |
SegmentationRectWorkspace |
— | graspclutter6dAPI | Crop to the image rectangle around the ground-truth foreground. | economicgrasp/economicgrasp_sunet14_g1b-kinect-to-gc6d-d435_10eeconomicgrasp/economicgrasp_sunet14_g1b-realsense-to-gc6d-d435_10eeconomicgrasp/economicgrasp_sunet14_gc6d-d435_10egraspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense-to-gc6d-d435_18egsnet/gsnet_sunet14_g1b-realsense-to-gc6d-d435_10egsnet/gsnet_sunet14_gc6d-d435_10escale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense-to-gc6d-d435_18e |
TableBoxWorkspace |
— | GraspPanda | Crop to a fixed box in the table frame. | — |
Evaluators¶
evaluation.evaluator — Benchmark protocol: prediction dumps to scores.
2 registered classes
| Component | Status | Source | What it is | Shipped configs |
|---|---|---|---|---|
GraspClutter6DEvaluator |
— | graspclutter6dAPI | GraspClutter6D single-view evaluation; see the module docstring for the protocol. | economicgrasp/economicgrasp_sunet14_g1b-kinect-to-gc6d-d435_10eeconomicgrasp/economicgrasp_sunet14_g1b-realsense-to-gc6d-d435_10eeconomicgrasp/economicgrasp_sunet14_gc6d-d435_10egraspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense-to-gc6d-d435_18egsnet/gsnet_sunet14_g1b-realsense-to-gc6d-d435_10egsnet/gsnet_sunet14_gc6d-d435_10ehggd/hggd_r34w8_g1b-realsense-to-gc6d-d435_15escale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense-to-gc6d-d435_18e |
GraspNet1BEvaluator |
— | graspnetAPI 1.2.x (Fang et al., CVPR 2020) | GraspNet-1Billion single-view evaluation, value-compatible with graspnetAPI 1.2.x. |
economicgrasp/economicgrasp_sunet14_g1b-kinect_10eeconomicgrasp/economicgrasp_sunet14_g1b-realsense_10eexperimental/economicgrasp_ptv3_g1b-realsense_10eexperimental/finegrasp_ptv3_g1b-realsense_10eexperimental/graspnet-baseline_sunet14-fps_g1b-realsense_18eexperimental/gsnet_litept_g1b-realsense_10eexperimental/gsnet_oacnns_g1b-realsense_10eexperimental/gsnet_pointnet2-fp_g1b-realsense_10eexperimental/gsnet_pointnext_g1b-realsense_10eexperimental/gsnet_ptv3_g1b-realsense_10eexperimental/gsnet_spunet_g1b-realsense_10eexperimental/hggd_dinov2-small-reg-depth-stem_g1b-realsense_15eexperimental/sbg_ptv3_g1b-realsense_18efinegrasp/finegrasp_sunet14_g1b-realsense_10egraspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18egsnet/gsnet_sunet14_g1b-realsense_10ehggd/hggd_r34w8_g1b-kinect_15ehggd/hggd_r34w8_g1b-realsense_15escale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e |
Hooks¶
hooks[i] — Extra behaviour around the training loop. All 6 methods Options
13 registered classes
| Component | Status | Source | What it is | Needs | Shipped configs |
|---|---|---|---|---|---|
AdaptiveGradClipHook |
bridge |
Brock et al. (arXiv 2102.06171), via timm.utils.adaptive_clip_grad | Adaptive gradient clipping: bound each unit's gradient by a fraction of its weight norm. | optim |
— |
BNMomentumHook |
— | BN momentum schedule of the PointNet++-based methods | Decays the momentum of every batch-norm layer in steps of epochs. | — | experimental/graspnet-baseline_sunet14-fps_g1b-realsense_18eexperimental/hggd_dinov2-small-reg-depth-stem_g1b-realsense_15eexperimental/sbg_ptv3_g1b-realsense_18egraspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense-to-gc6d-d435_18egraspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18ehggd/hggd_r34w8_g1b-kinect_15ehggd/hggd_r34w8_g1b-realsense-to-gc6d-d435_15ehggd/hggd_r34w8_g1b-realsense_15escale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense-to-gc6d-d435_18escale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e |
CheckpointHook |
— | GraspPanda | Writes checkpoints/epoch_NNNN.pth and checkpoints/best.pth. |
— | — |
EMAHook |
tested |
Tarvainen and Valpola, NeurIPS 2017 (arXiv 1703.01780), via torch.optim.swa_utils | Exponential moving average of the weights, with warm-up of the decay. | — | — |
EpochSignalHook |
— | GraspPanda | Calls model.on_train_epoch(epoch, max_epochs) before every epoch. |
— | experimental/hggd_dinov2-small-reg-depth-stem_g1b-realsense_15ehggd/hggd_r34w8_g1b-kinect_15ehggd/hggd_r34w8_g1b-realsense-to-gc6d-d435_15ehggd/hggd_r34w8_g1b-realsense_15e |
EvaluationHook |
— | GraspPanda | Predicts on data.val and scores every variant of evaluation.variants. |
— | — |
FreezeHook |
tested |
Howard and Ruder, ACL 2018 (arXiv 1801.06146): gradual unfreezing | Freeze sub-modules for the first epochs (or for the whole run), then release them. | — | — |
SWAHook |
tested |
Izmailov et al., UAI 2018 (arXiv 1803.05407), via torch.optim.swa_utils | Stochastic weight averaging: the equal-weight mean of the weights after late epochs. | — | — |
ScheduleFreeHook |
tested |
Defazio et al., The Road Less Scheduled (arXiv 2405.15682), via schedulefree | Switch a schedule-free optimizer between its training point and its average. | — | — |
StageTimerHook |
— | GraspPanda | Times the forward pass of each stage (direct child module) of the detector. | — | — |
TensorBoardLoggerHook |
— | GraspPanda | Writes scalars to <run dir>/tensorboard: train/* by iteration, eval/* by epoch. |
tensorboard |
— |
TextLoggerHook |
— | GraspPanda | Prints one line per interval to the console and to log.txt. |
— | — |
WandbLoggerHook |
— | GraspPanda | Logs scalars to Weights & Biases; the run is named after the run directory. | wandb |
— |
Optimizers¶
optimizer — Every optimizer of torch.optim, by its class name. All 6 methods Options
Named by class, whatever the installed PyTorch provides; grasppanda components --slot optimizers lists them.
4 registered classes
| Component | Status | Source | What it is | Needs | Shipped configs |
|---|---|---|---|---|---|
ParamGroups |
tested |
Bao et al., BEiT (arXiv 2106.08254): layer-wise decay as in timm.optim | Parameter groups for any optimizer: per-module rates, layer-wise decay, no decay on 1-D. | — | — |
PytorchOptimizer |
bridge |
Kim, pytorch_optimizer (kozistr/pytorch_optimizer), via the library | Any optimizer of pytorch_optimizer by its name (prodigy, ademamix, soap, …). |
optim |
— |
ScheduleFree |
bridge |
Defazio et al., The Road Less Scheduled (arXiv 2405.15682), via schedulefree | A schedule-free optimizer: no learning-rate schedule, the iterates are averaged instead. | optim |
— |
TimmOptimizer |
bridge |
Wightman, PyTorch Image Models (timm.optim), via timm | Any optimizer of timm by its name (lamb, adan, adopt, lion, mars, …). |
optim |
— |
Schedulers¶
scheduler — Every scheduler of torch.optim.lr_scheduler, by its class name. All 6 methods Options
Named by class, whatever the installed PyTorch provides; grasppanda components --slot schedulers lists them.
2 registered classes
| Component | Status | Source | What it is | Needs | Shipped configs |
|---|---|---|---|---|---|
TimmSchedule |
bridge |
Wightman, PyTorch Image Models (timm.scheduler), via timm | A schedule of timm.scheduler by name: cosine, tanh, polynomial, step, multi-step. |
optim |
— |
WarmupCosineLR |
tested |
FineGrasp (arXiv 2507.05978) | Linear warm-up, then a cosine: the schedule of the FineGrasp reference. | — | experimental/finegrasp_ptv3_g1b-realsense_10efinegrasp/finegrasp_sunet14_g1b-realsense_10e |